Forum: Mikrocontroller und Digitale Elektronik RTC (PCF8563) liefert manchmal falsche Werte


von Chris (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

ich versuche gerade die Kommunikation zwischen einem PCF8563 und einem 
Xmega32A4 einzurichten.

Das Beschreiben der einzelnen Register des PCF8563 funktioniert 
einwandfrei, nur manchmal liefert das Auslesen sehr merkwürdige Werte, 
manchmal sind sie aber auch korrekt. Die Uhr scheint richtig 
hochzuzählen, was ich an den korrekten Datenpaketen sehen kann.

Im Anhang aber mal ein falsches Datenpaket. Nachdem ich die 
Registeradresse 0x02 und eine neue Startsequenz gesendet habe, lese ich 
folgende Werte aus:

Sekunden: 36
Minuten:  34
Stunden:  11
Tag:      11
Wochentag:31 <- nicht möglich, müsste 0-6 sein (hier 1)
Monat:    30 <- müsste 1-12 sein (hier 10)
Jahr:     10

Wochentag und Monat sind meistens falsch, manchmal aber auch die anderen 
Werte. Ich kann keine EMV-Störungen oder ähnliches messen, auch eine 
Veränderung der Taktgeschwindigkeit bringt keine Veränderung. Ebenso ist 
es egal, ob ich den Sensor alle 100ms oder alle 10s auslese - manche 
Pakete bleiben einfach falsch.

Hat irgendwer eine Idee?

Chris

von Olaf (Gast)


Lesenswert?

> Hat irgendwer eine Idee?

Schalte mal deinen Logicanalyzer aus und deinen Oszi ein. Und dann 
schaust du dir mal die Qualitaet deiner Signale, also der Flanken an. 
Alles ordentlich zackig ohne lustiges Ueberschwingen?

Olaf

von Chris (Gast)


Angehängte Dateien:

Lesenswert?

Die Flanken sind in Ordnung, siehe angehängtes Oszi-Bild.

von Olaf (Gast)


Lesenswert?

> Die Flanken sind in Ordnung, siehe angehängtes Oszi-Bild.

Sind sie es immer? Schaltet dein Controller vielleicht manchmal 
zeitgleich zu der Uebertragung was dickes ein/aus?

Gekommst du auch falsche ACK-Bits?

Olaf

von Chris (Gast)


Lesenswert?

Ich mehrmals Bilder aufgenommen, die Flanken sind immer einwandfrei. 
Auch die Flanken von falschen Datenpaketen sind ok.

Auf der Platine wird ansonsten nichts gemacht, nur die 5V zum Laden das 
GoldCaps werden aus einem Schaltregler erzeugt, die 3,3V für den Xmega 
kommen aus einem LDO. Ich kann keinerlei Störungen feststellen.

Ich löte mal den PCF8563 aus und einen neuen ein...

von Chris (Gast)


Lesenswert?

Chris schrieb:
> Ich löte mal den PCF8563 aus und einen neuen ein...

Bringt auch nichts, gleiches Problem.

von Peter D. (peda)


Lesenswert?

Also laut Datenblatt sind die bei Wochentag/Monat die obersten 5/3 Bits 
X, d.h. unbestimmt. Du mußt sie ausmaskieren.

Peter

von Chris (Gast)


Lesenswert?

Mist, das habe ich völlig übersehen. Wenn ich mir die Bits auf dem 
Logic-Analyzer mal anschaue, kommen die Fehler immer nur von den 
undefinierten Bits, die anderen stimmen immer.

Vielen Dank an Peter und Olaf. Wieder was gelernt.

von Michael S. (Gast)


Lesenswert?

Hallo Chris,

diese Probleme hatte ich auch beobachtet.

Als Ursache stellte sich heraus, dass der Adresspin unbeschaltet war - 
und das mag der PCF8583 nicht.

Seitdem ich den Pin mit 10k auf gnd gezogen habe, ist der Spuk vorüber.

Michael S.

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.