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

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.