I2C: wie zuverlässig?

21/02/2008 - 14:48 von Thomas Rachel | Report spam
Hallo,

anknüpfend an meinen Thread von vorhin müchte ich meine Anfrage pràzisieren:

Ich habe einen I2C-EEPROM an einem PIC hàngen. Beim Debuggen kam es
gelegentlich vor, daß keine Kommunikation mehr möglich war. Auch ein
Reset half nicht, erst das komplette Zurücksetzen der Schaltung schuf
Abhilfe.

Aus diesem Grund fiel mein Verdacht auf den EEPROM (24AA512): ich
vermute, daß dieser in der genannten Situation SDA auf Low hàlt (da er
sich mitten in der Kommunikation wàhnt).

Soweit so gut. Aber ich muß unter allen Umstànden verhindern, daß dies
im laufenden Betrieb auftritt.

Daher die Frage: Wie zuverlàssig ist dieser I2C-Kram? Muß ich mit so
einem Verhalten auch im laufenden Betrieb rechnen und evtl. darauf
reagieren? Oder ist ein Ausfall eher dann denkbar, wenn wirklich
I2C-Einheit des PIC oder aber EEPROM defekt sind?

Weitere Frage: Hatte jemand schon den beschriebenen Fall? Falls ja:
kommt man da ohne weiteres wieder raus oder kommt man um einen Reset des
EEPROM nicht herum?

Ich werde auf jeden Fall noch entsprechende Messungen vornehmen - diese
Anfrage dient eher zum "vorsichtigen Abklopfen" à la "Gibt es ein
einfaches Patentrezept?"...


Danke schonmal!

Thomas
 

Lesen sie die antworten

#1 Wolfgang Mahringer
21/02/2008 - 14:58 | Warnen spam
Hi Thomas,

Aus meiner Erfahrung kan ich sagen, dass die I2C-Sachen /sehr/
zuverlàssig funktionieren, wenn das Design sauber und das
Timing peinlich genau eingehalten wird.

In Deinem Fall scheint es so zu sein, dass eine Start- oder
Stopp-Bedingung nicht sauber erkannt wird, oder dass Du kein
Clock-Stretching erkennst.
Ich kann Dir nur empfehlen: Schau Dir das Timing für den EEPROM
genau an und halte es auch ein. Ist u.U. etwas mühsam und nicht
ganz trivial. Aber dann klappt das.

vg,
Wolfgang


From-address is Spam trap
Use: wolfgang (dot) mahringer (at) sbg (dot) at

Ähnliche fragen