Forum: Mikrocontroller und Digitale Elektronik I2C ACK Problem


von Anka (Gast)


Lesenswert?

Hallo,

ich versuche mit einem AT90CAN128 eine I2C Verbindung zum DS2482 (I2C - 
one wire bridge) aufzubauen. Nach einigem hin und her habe ich jetzt 
herausgefunden, dass auch alle Daten übertragen werden, aber der DS2482 
die Datenleitung nicht weit genug herunterzieht um ein ACK zu erhalten. 
Er zieht sie nur auf ca. 3,5 V (von 5). Dadurch erhält mein Master immer 
ein NACK als Antwort und ich kann keine Verbindung zwischen den beiden 
aufbauen.

Aus dem Datenblatt des DS2482 habe ich entnommen das ich einen Pull-up 
für SDA zwischen 1,7 und 2,9 kOhm brauche. Also habe ich einen 2kOhm 
Pull-up gewählt.
Da aber der DS2482 die Datenleitung nicht auf "0" bekommt dacht ich 
vielleicht ist ja der Pull up zu klein, hab ich also durch einen 4,7 
kOhm ausgetauscht. Aber leider den selben Fehler erhalten.

Hat jemand eine Idee woran das liegen könnte, dass mein DS2482 das SDA 
Signal nicht auf 0V runter bekommt?

Vielen Dank
Anka

von bluppdidupp (Gast)


Lesenswert?

Wie sieht die Schaltung denn aus?
Beim Atmega Hardware-i2C oder i2c per Software?
Pullup auch an der Taktleitung vorhanden? Bei den Daten kriegt er es auf 
0 gezogen?

von Thomas (Gast)


Lesenswert?

Wenn Dein Controller kein ACK erhält, wie überträgst Du dann weitere 
Daten? Das Protokoll sollte doch schon beim Senden der Adresse 
aussteigen, weil Master kein ACK bekommt.
Zur Fehlersuche : Stromversorgung DS2482 ok ?

Grüssle

von Thomas (Gast)


Lesenswert?

P.S. Portconfiguration AT?

von stefanus (Gast)


Lesenswert?

Hast Du die GND Leitungen der beiden Geräte miteinander verbunden? Das 
muss sein.

von Mark R. (stevestrong)


Lesenswert?

Sind beide ICs mit 5V oder 3,3V versorgt?

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.