Gibt es eine Möglichkeit bei einem PIC24 herauszufinden ob Datum/uhrzeit noch gültig sind, also z.B. nachdem die Batterie am VBAT pin nicht mehr funktioniert ob die register zurückgesetzt wurden etc?
Bei "normalen" RTCs gibt es keine Möglichkeit, festzustellen, ob die Zeit auch stimmt. Was aber viele Uhren haben ist ein Flag, das anzeigt, ob die Versorgungsspannung Kniebeugen gemacht hat. Auf dieser Ebene sollte sich jede Uhr/µP testen lassen. Aber wie gesagt, das hat nichts damit zu tun, ob die Zeit auch stimmt. Darüberhinaus siehe Peter's Post.
Das am wenigsten unzuverlässige dürften die Flags im RCON sein. Ob da das Datenblatt wirklich weiter hilft? Laut Datenblatt soll bei einem POR das RTCEN auf 0 stehen. Bei mir läuft die RTCC mit falschen Werten einfach weiter.
Wenn die Power-On Logik bzw. die Spannungsüberwachung halbwegs OK sind, dann hilft eine einfache Sequenz bei der Programmierung: a) Einschalten und/oder Reset: Flag setzen "habe die Zeit vergessen". b) Später in der "Zeit einstellen"-Funktion: Flag zurücksetzen. c) Bei Abfragen zur "Zeit": Flag berücksichtigen. Beim "Aufwachen" aus irgendeinem Suspend wird üblicherweise kein Reset durchgeführt. Herz was willst Du mehr!
Der PIC24FJ128GA306 hat einen externen VBat pin. Super sache ansich, der hacken ist ebend das nach einem POR/BOR du einfach zufällige werte in der Uhrzeit hast. Das bedeutet die Uhr könnte weitergelaufen sein oder du hast ebend eine ungültige zeit. Und da beginnt mein Problem. Der User kann dann die Zeit einstellen oder per NTP beziehen. Aber wozu dann die Batterie am VBat pin wenn ich nach einem POR so oder so die Zeit neu beziehen muss da ich der zeit vom PIC24 nicht trauen kann.
Simon schrieb: > Das bedeutet die Uhr könnte weitergelaufen sein oder du hast ebend eine > ungültige zeit. Ganz einfacher vorschlag: Uhrzeit regelmäßig im EEprom speichern und dann vergleichen. Die meisten RTCs fangen nach einer Unterbrechung der Stromversorgung wieder im Mittelalter an (zumindest der Jahreszahl nach)
Simon schrieb: > PIC24FJ128GA306 22.7 RTCC VBAT OPERATION: "The VBAT BOR can be enabled/disabled using the VBTBOR bit in the CW3 Configuration register (CW3<7>). If the VBTBOR enable bit is cleared, the VBAT BOR is always disabled and there will be no indication of a VBAT BOR. If the VBTBOR bit is set, the RTCC can receive a Reset and the RTCEN bit will get cleared; it can happen anywhere between 1.95-1.4V" Also einfach VBTBOR setzen und prüfen, ob RTCEN noch gesetzt ist.
Nanu, vor kurzem hatte ich mich mit RTCC und Vbat Pin an einem Pic18 herumgeschlagen. Datenblatt für RTCC und Vbat Mode sieht gleich aus. Wenn nach einem Reset RCONx.VBAT gesetzt und RCONx.VBPOR gelöscht sind, hat die RTCC sinnvolle Werte. Ist nicht besonders vertrauenserweckend. Meiner Meinung nach sollte nach einem POR ohne Vbat das RTCEN gelöscht sein. Mit Vbat sollte das RTCCAL erhalten bleiben. Aber zumindest kann man bei meinem Pic an VBAT und VBPOR erkennen, ob die RTCC noch sinnvolle Werte hat.
VBTBOR wird das sein was ich brauche, vielen Dank
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.