Bascom rtc ds3231 1Hz-Signal aktivieren

ds1074

Neues Mitglied
7 Jan 2020
29
0
1
Sprachen
BascomAVR, Assembler, Python
hallo,
ich bin neu im Forum, und antworte deshalb erst mal an dieser Stelle.

Auch ich habe mir das Teil besorgt aus China, scheinbar aber ein "Montags - Produkt".
Es lies sich zwar über die entsprechenden I2C - Kommandos das Datum und die Uhrzeit einstellen und anzeigen.
Nach dem Ausschalten meines Testboards und späterem Wiedereinschalten startete das DS3231 wieder mit der Grundzeit 1.1.1 00:00:00 .
Die Stützbatterie liefert ca.3,8 V.
Habe auch schon beim Händler angefragt, die Antwort kann aber dauern.

Deshalb meine Fragen
dazu
an das Forum :

1. Muss ich noch irgend ein Bit setzten? Meiner Meinung nach muss das Teil doch von alleine weiterlaufen, wenn die Zeit neu eingestellt wurde (auch nach Ein- und Ausschalten) des Testboards.

2. Damit ich in meinem Basic - Programm die Zeit und das Datum nicht immer manuell einstellen muss, kam mir die Idee, die PC Systemzeit auf das Modul zu übertragen. Hat das schon mal jemand probiert, ich bin bisher noch nicht fündig geworden.

Danke im Voraus für die Beantwortung

Ds1074
 

Dirk

Administrator
Teammitglied
28 Jan 2007
4.307
150
63
Mittelhessen, Giessen
Sprachen
ANSI C, C++, C#, Java, Kotlin, Pascal, Assembler, PHP
Hallo und Willkommen in unserem Forum.

Ich kann dir im Moment leider nicht alles beantworten aber vielleicht hilft ja schon einmal folgendes etwas weiter ...


Takt 1Hz ausgeben

Interrupt Control (INTCN). This bit controls the INT/SQW signal. When the INTCN bit is set to logic 0, a square wave is output on the INT/SQW pin
Siehe Control-Register

Akktivieren:
Nach PowerOnReset ist INTCN=1. Das Bit muss also einmalig auf 0 gesetzt werden.

Frequenz 1Hz:
RS1 uns RS2 auf 0 setzen.
Nach PowerOn sind beide gesetzt, es werden 8192Hz ausgegeben.


Daten werden zurückgesetzt

Das passiert eigentlich nur, wenn sowohl VBAT wie auch VCC unterhalb PowerFailVoltage Vpf (max. 2,7V) sind.




Dirk :ciao:
 

LotadaC

Sehr aktives Mitglied
22 Jan 2009
3.415
62
48
Marwitz
Sprachen
BascomAVR, Assembler
Laut den Beiträgen der ersten Seite (von vor sechs Jahren) gibt's ein Bit, welches den Oszillator bei Batteriebetrieb stoppt. Für mehr müsste ich auch erstmal ins Datenblatt schauen...
 

Dirk

Administrator
Teammitglied
28 Jan 2007
4.307
150
63
Mittelhessen, Giessen
Sprachen
ANSI C, C++, C#, Java, Kotlin, Pascal, Assembler, PHP
Laut den Beiträgen der ersten Seite (von vor sechs Jahren) gibt's ein Bit, welches den Oszillator bei Batteriebetrieb stoppt. Für mehr müsste ich auch erstmal ins Datenblatt schauen...
Der Thementitel passt nicht zum Beitrag, es geht gar nicht um den 1Hz Takt. Ich hatte es auch übersehen, geantwortet meinen Beitrag dann gelöscht und jetzt wieder hergestellt.

@ds1074 : Bitte immer für neues Thema einen passenden Thementitel erstellen :)

Dirk :ciao:
 

ds1074

Neues Mitglied
7 Jan 2020
29
0
1
Sprachen
BascomAVR, Assembler, Python
Hallo an alle, die mir geantwortet haben.

Vielen Dank für die Hinweise.
Ich werde das mal austesten, hatte ja die Batterie ausgebaut, um sie nachzumessen.
ich werde das register erst mal auslesen und sehen, ob das bit gesetzt ist. Ist doch sicher richtig?

meine 2. Frage werde nochmal in einem neuen Thema stellen.
wie geschrieben, ich bin neu hier.

Danke von ds1074
 

jlpicard

Neues Mitglied
9 Jul 2020
4
1
3
Sprachen
BascomAVR, Assembler
Hallo,

ich habe eine Frage zum 1Hz-Signal, die ich im Datenblatt des DS3231 nicht beantwortet bekomme. Weiß jemand, ob eine Flanke (und welche) des 1Hz-Signals, das der DS3231 ausgeben kann, synchron ist mit dem Sekundenwechsel seiner Echtzeituhr.

Hintergrund: Für einen bestimmten Zweck brauche ich eine auf 1ms auflösende Echtzeituhr. Dazu läuft im Atmega328p ein Timer, der durch das 1Hz-Signal per Interrupt immer wieder gelöscht wird und nach passender Teilung eine Millisekundenzahl liefert. Wird sein Wert auf diezuvor ausgelesene Zeit addiert, erhält man eine auf 1ms aufgelöste Echtzeit. Nun würde ich diese gern mit einem GPS-Modul, das die Absolutzeit auf einige 100ns genau ausgibt, in gewissen Abständen synchronisieren und hätte dann gern gewußt, mit welchem Fehler ich rechnen muß.
Ich habe mir ein GPS-Modul bestellt, das über einen Interrupteingang veranlaßt wird, die absolute Zeit auf einige 100ns genau zu speichern und anschließend auf Anforderung in seinem seriellen Datenstrom auszugeben. Ich würde auch gern das Zeitsignal des GPS-Empfängers nutzen für meine Aufgabe, muß aber dazu jedesmal, wenn ich die absolute Zeit lesen will, einen großen Datenoberhead, für den das GPS-Modul eigentlich gebaut ist (Ortsinformation,...), mitlesen und das dauert zu lange. Immerhin muß ja auch noch per Interrupt das Signal des inkrementalen Winkelgebers verarbeitet werden.

Viele Grüße

Ingo.
 

Dirk

Administrator
Teammitglied
28 Jan 2007
4.307
150
63
Mittelhessen, Giessen
Sprachen
ANSI C, C++, C#, Java, Kotlin, Pascal, Assembler, PHP
Hallo Ingo,

im Datenblatt findet man tatsächlich nur folgende kurze Information ...
The 1Hz square-wave output, if enabled, transitions high 500ms after the seconds data transfer, provided the oscillator is already running.

Ich denke mit "seconds data transfer" ist update der Sekunde gemeint. Dann wäre die steigende Flanke synchron (500ms verzögert) zum Sekundentakt. Vielleicht hilft dir dies schon mal weiter.

Willkommen in unserem Forum :)

Dirk :ciao:
 

jlpicard

Neues Mitglied
9 Jul 2020
4
1
3
Sprachen
BascomAVR, Assembler
Hallo Dirk,

vielen Dank. Das hatte ich bisher überlesen.

VG Ingo.
 

Über uns

  • Makerconnect ist ein Forum, welches wir ausschließlich für einen Gedankenaustausch und als Diskussionsplattform für Interessierte bereitstellen, welche sich privat, durch das Studium oder beruflich mit Mikrocontroller- und Kleinstrechnersystemen beschäftigen wollen oder müssen ;-)
  • Dirk
  • Du bist noch kein Mitglied in unserer freundlichen Community? Werde Teil von uns und registriere dich in unserem Forum.
  •  Registriere dich

User Menu

 Kaffeezeit

  • Wir arbeiten hart daran sicherzustellen, dass unser Forum permanent online und schnell erreichbar ist, unsere Forensoftware auf dem aktuellsten Stand ist und der Server regelmäßig gewartet wird. Auch die Themen Datensicherheit und Datenschutz sind uns wichtig und hier sind wir auch ständig aktiv. Alles in allem, sorgen wir uns darum, dass alles Drumherum stimmt :-)

    Dir gefällt das Forum und unsere Arbeit und du möchtest uns unterstützen? Unterstütze uns durch deine Premium-Mitgliedschaft!
    Wir freuen uns auch über eine Spende für unsere Kaffeekasse :-)
    Vielen Dank! :ciao:


     Spende uns! (Paypal)