Forum: Mikrocontroller und Digitale Elektronik RTC DS1337 reagiert nicht mit ACK !


von Zero V. (Firma: Freelancer) (gnd)


Lesenswert?

Hallo,

ich versuche testweise einen Wert in ein Register der RTC via TWI(I2C) 
zu schreiben.
Dabei sende ich START (erfolgreich) und danach die Slave-Adresse für den 
Schreibzugriff (lt. Datenblatt 0xD0).
Nun sollte der DS1337 mittels ACK dieses bestätigen.

Ich bekomme aber immer nur ein NACK !

Nun weiß ich nicht woran es liegen könnte, möglich wären jedoch:
- Chip ist tot
- Leitung (10cm) zu lang ???
- Pullups (SDA,SCL) falsch (15k Ohm)
- INTA und SQW ??? (sind bei mir floating, wie im Datenblatt angegeben)
- Quartz (bei mir nicht angeschlossen)

Muss ich einen Quartz anschließen um Werte zu lesen oder zu schreiben?

Ist die Einhaltung der PullUp-Werte (laut Formel R=tr/Cb) sehr wichtig, 
oder reichen meine 15k Ohm aus?

Wie muss ich SDA,SCL am µC (hier ATMEGA32) konfigurieren Ein- oder 
Ausgang?


Vielen Dank für jede Hilfe!

von Ralph W. (ralph_w16)


Lesenswert?

Hallo,
meine Meinung nach muss der Crystal 32...khz dran sein!
HG Ralph

von Zero V. (Firma: Freelancer) (gnd)


Lesenswert?

Ralph W. schrieb:
> Hallo,
> meine Meinung nach muss der Crystal 32...khz dran sein!
> HG Ralph

Funktioniert trotzdem nicht.

von Karl (Gast)


Lesenswert?

Marvin C. schrieb:
> - Pullups (SDA,SCL) falsch (15k Ohm)

15k kann schon sehr viel sein. Es schadet nicht, mal weniger zu nehmen.

http://www.nxp.com/documents/user_manual/UM10204.pdf

(dort Kapitel 7)

Ansonsten Geschwindigkeit drosseln, bis es funktioniert.

Schaltplan und Code wären auch nicht schlecht.....

von Zero V. (Firma: Freelancer) (gnd)


Lesenswert?

Karl schrieb:
> Marvin C. schrieb:
>> - Pullups (SDA,SCL) falsch (15k Ohm)
>
> 15k kann schon sehr viel sein. Es schadet nicht, mal weniger zu nehmen.
>
> http://www.nxp.com/documents/user_manual/UM10204.pdf
>
> (dort Kapitel 7)
>
> Ansonsten Geschwindigkeit drosseln, bis es funktioniert.
>
> Schaltplan und Code wären auch nicht schlecht.....


Es funktioniert auch bei 8kHz und 7k PullUps nicht.

von ucWriter (Gast)


Lesenswert?

Eine Möglichkeit ist aber auch, dass deine I2c-Adr nicht korrekt ist.

von Zero V. (Firma: Freelancer) (gnd)


Lesenswert?

Problem endlich gelöst!

Es lag an der unlogischen PORT-Anordnung am RN-Control Board.
Alle PORTS sind von links mit PIN0 beginnend rausgeführt, außer PORTC 
mit SDA und SCL.

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.