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
> 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
Die Flanken sind in Ordnung, siehe angehängtes Oszi-Bild.
> 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
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...
Chris schrieb: > Ich löte mal den PCF8563 aus und einen neuen ein... Bringt auch nichts, gleiches Problem.
Also laut Datenblatt sind die bei Wochentag/Monat die obersten 5/3 Bits X, d.h. unbestimmt. Du mußt sie ausmaskieren. Peter
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.