Forum: Mikrocontroller und Digitale Elektronik ADNS8030 an Atmega 32 (SPI) + MAX3378


von Robert (Gast)


Angehängte Dateien:

Lesenswert?

Hallo.
Ich möchte ein ADNS-8030 Sensor (zu finden z.B. in Logitech Mäusen) mit 
einem Atmega32 auslesen. Den Atmega32 verwende ich auf dem RN-Control 
Board, der Sensor wird per SPI-Interface angesteuert. Ich wollte mich 
erkundigen, ob jemand schon mal so ein ähnliches Projekt gemacht hat und 
mir vielleicht Hilfe geben kann: Das Software ist geschrieben und der 
Mikrocontroller sendet auch die richtigen Daten (wenn ich das Datenblatt 
richtig verstanden habe), jedoch gibt der ADNS8030 nichts zurück.
Als Clock hab ich 500kHz eingestellt, laut Oszi klappt die Übertragung 
von Adressen/Befehlen.
Verkabelt ist das Ganze meines Erachtens richtig (MISO-MISO, MOSI-MOSI, 
SCLK-SCLK, SS-SS, Reset und VCC). Da der Atmega 5 V gibt und der 
ADNS8030 aber auf 3,3V Logik setzt, verwende ich einen MAX3378 um die 
Signale umzusetzen (ThreeState auf High; SS,MOSI,SCLK 5V->3,3V; MISO 
3,3V->5V - mit Oszi geprüft, scheint zu gehen).

Dabei ist mit jedoch aufgefallen, dass der MAX3378 permanent 5V auf die 
MISO-Leitung gibt (Rückleitung vom Sensor in den MC). Nur wenn ich den 
Eingang von Max3378 direkt auf Ground lege, gibt er 0 Volt (MISO Leitung 
müsste Standardmäßig auf 0V sein, nur wenn er sendet, dann anderen 
Pegel). Wie kann ich dieses Problem vermeiden?

Ein anderes Problem ist wie gesagt, dass der Sensor keine Daten zurück 
liefert. Sende ich zum Beispiel die Adresse 0x00 (MSB ist ja sowieso 
Null - bedeutet Lesekommando für Register 0x00=Product_ID), sieht das 
Signal folgendermaßen aus: SS geht auf Low während der Übertragung, SCLK 
gibt 8 mal den Takt (danach wieder high), MOSI ist Low während SCLK den 
Takt gibt -> 8 Nullen werden übertragen - soweit stimmt es ja 
eigentlich. Das Ganze kommt auch am Sensor an, aber es folgt keine 
Reaktion - interessant wäre, ob es ein Merkmal gibt, woran man erkennt, 
ob der Sensor überhaupt funktioniert.

Falls jemand das Projekt interessant findet oder ähnliche Probleme hat 
und mir helfen könnte, kann er sich gerne auch den Quellcode ansehen - 
ich hänge die Dateien als Zip mit ran. Ich programmiere mit WinAvr.
Sitze da jetzt schon ne ganze Weile dran, also ich wäre für jede Hilfe 
dankbar.

Viele Grüße,
Robert

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.