-
-
Neuer Benutzer
Öfters hier
Hallo PicNick,
im Allgemeinen stimmt das natürlich so, es gibt aber auch Sch...- Chips wie die oben erwähnte billig-RTC, die sich ganz übel verhalten können:
Z.B. gibt es chips wie EEPROMs, die während sie ihren internen Schreibzyklus durchführen auf dem I2C nicht ansprechbar sind. Um festzustellen, wann das EEPROM wieder bereit ist, führt man ein ACK-Polling aus, d.h., man versucht in kurzen Abständen einen Read-Zugriff auf das EEPROM zu machen und sobald es darauf wieder ein I2C-ACK bringt, weiß man, dass der interne Schreibzyklus beendet ist.
Wenn nun die oben angeführte RTC mit an diesem Bus hängt, dann kommt es tatsächlich vor, dass sie durch das ACK-Polling auf das EEPROM so verwirrt ist, dass sich ihre I2C Logik aufhängt und SDA auf immer und ewig Low hält. Da die RTC keinen Reset-Eingang hat und Abschalten der Power nicht schön ist (weil sie dabei die Uhrzeit verliert), hilft nur, die krude Recovery-Sequenz genau so zu implementieren wie im Datenblatt beschrieben.
Es gibt also durchaus Bausteine, die einem das Leben am I2C Bus unnötig erschweren können...
Viele Grüße
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen