Hallo,
an den I2C-Bus des IO-Warrior 24 habe ich eine Atmel AVR Controller als Slave angeschlossen.
Das Schreiben von Daten (Warrior zum AVR) geht fehlerfrei, das Auslesen von Daten funktioniert im Prinzip auch (die Daten kommen beim Warrior korrekt an), führt aber auf AVR Seite zum einem I2C-Bus Fehler (fehlerhafte Start/Stop Condition). Dieser muss in der Firmware speziell abgefangen werden, ansonsten ist der I2C-Bus völlig blockiert. Das Auslesen von einem PCF8574 geht fehlerfrei.
Mit dem Oszi habe ich die Datenübertragung aufgezeichnet (SDA & SCL) und dabei festgestellt, das seitens Warrior das 9. CLK-Bit für ein NACK (keine weiteren Daten) nicht gesendet wird.
Kann das sein ? Ist ein PCF8574 hier fehlertolerant und übergeht den korrekten Abschluß der Übertragung durch den Master ?
Ich habe mir jetzt nicht die Mühe gemacht und eine Aufzeichnung mit einem anderen I2C-Master gestartet. Evtl. kann mir hier schon vorab jemanden was dazu sagen.
Viele Grüße,
Bernhard
I2C-Übertragung: Fehlendes 9. CLK-Signal für NACK
Moderator: Guido Körber
-
- Site Admin
- Posts: 2879
- Joined: Tue Nov 25, 2003 10:25 pm
- Location: Germany/Berlin
- Contact: