Forum: Mikrocontroller und Digitale Elektronik Pic24 mit interner RTCC, gültigkeit vom Datum?


von Simon (Gast)


Lesenswert?

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?

von Peter D. (peda)


Lesenswert?

Wenn Du verrätst, welcher PIC24 das ist, könnte man mal im Datenblatt 
nachschauen.

von Amateur (Gast)


Lesenswert?

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.

von Noch einer (Gast)


Lesenswert?

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.

von Amateur (Gast)


Lesenswert?

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!

von Simon (Gast)


Lesenswert?

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.

von Schreiber (Gast)


Lesenswert?

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)

von Peter D. (peda)


Lesenswert?

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.

von Noch einer (Gast)


Lesenswert?

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.

von Simon (Gast)


Lesenswert?

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
Noch kein Account? Hier anmelden.