ADC 'ADS7823' auslesen...

OP #304188
Lesenswert?
• ▲
▼
Ich hab versucht den 12Bit ADC 'ADS7823' mit I²C Interface
auszulesen...
Die Schreib-Adresse, das Command-Byte und die Lese-Adresse werden
korrekt Acknowledged... beim Auslesen der ersten 8 Bit bekomm ich
allerdings ein negatives Acknowledge zurück und der gelieferte Wert
ändert sich auch nur im Bereich von 0 bis 0,7V... von 0,7V bis 5V tut
sich bei den 4 Bits nichtsmehr...
Und alle weiteren Datenpakete die ich auslese sind voller Nullen... war
nach dem Not-Acknowledged zwar zu erwarten... aber ich hab keine Ahnung
warum das so ist...
Ich denke nicht, dass ich den Chip zu schnell ansteuere... immerhin hat
mein Board nur einen 11MHz Quarz und ich hab auch zusätzliche
Warteschleifen eingebaut... außerdem funkioniert mein I²C LCD
mittlerweile einwandfrei...

Kann mir jemand helfen?
Danke, Thomas...
Angehängte Dateien:
Gast #304190
Lesenswert?
• ▲
▼
Hab jetzt noch mal ins Datenblatt gesehen.
Laut diesem, muss der Master dem Slave (ADC) nach den ersten 8Bit ein
ACK geben und nicht umgekehrt. Dann können die nächsten 8 Bit
ausgelesen werden.

Gruß Andreas
OP #304191
Lesenswert?
• ▲
▼
Hi Andreas,

Hab das im Datenblatt natürlich auch gelesen... komisch, ich dachte am
Anfang schon, das sei ein Schreibfehler ^^"
Das heißt ich muss ein mir noch ein Unterprogramm zum Acknowledge
senden schreiben?!
Sehr komisch... aber ich werds mal versuchen

Ciao Thomas
Gast #304193
Lesenswert?
• ▲
▼
Also die I²C-Schittstelle ist an und für sich byteorientiert, da werden
keine Wörter ausgetauscht.
Laut Datenblatt (SBAS180B von TI) muss der Master beim Lesen der 16Bit
nach 8Bit ein Ack + senden und nach dem 16. ein noAck gefolgt von einem
Stop.
Das ist eigentlich auch bei I2C-EEPROMs so üblich.

Gruß Andreas
OP #304194
Lesenswert?
• ▲
▼
Hmmm... funktioniert aber irgendwie trotzdem nicht...

Wenn ich eine '1' als neuntes Bit rübersende ändert sich nichts, und
wenn ich eine '0' schicke, verweigert der Chip das Commandbyte
komischerweise nach dem ersten Programmdurchlauf =\

Entweder ist mein Protokoll falsch... das wäre bitter... oder irgendwas
anderes passt nicht...

Ich kann dir ja mal meinen aktuellen Code anhängen...
Angehängte Dateien:

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren