Hi Ich bitte um Hilfe Ich habe zwei verschiedene MCU (Cortex-M3) LPC1768 oder genau gesagt zwei mbed Board. Jedes Board besitz einen DCF77 und einen RTC (Real Time Clock). Die beide MCU sollen sich durch DCF77 synchrone laufen, um einige Aufgabe (beispielweise LED toggeln) auszuführen. Doch die RTC Uhr ist ungenau, weil es nach 10 Stunden eine Unterschied von 5 sek. zwischen beiden Controller gibt. Ziel war die beiden MCU nach 24 Stunden unter 100ms synchron zu halten. Da habe ich an den Timer gedacht, weil er mit internen Clock. oder mit externen Qaurz vom MHZ bereich arbeitet. Damit habe ich einen Timer eingesetz, der ebenso 1x/s Interrupt auslöst, um halt den LED toggelt. Doch nach 12 Std. haben die beiden MCU mehr Sekunden Zeit Verschiedbung und sind damit unsynchron.. kann sein, dass die Timer auch durch Faktoren (wie Temp.) beinflusst werden ?? ich bin am Zweifeln.. :-( viel Dank im Vorraus
Hi, klingt viel zu kompliziert. Warum machst du es nicht so das ein Mbed den DCF77 und die RTC am laufen hat und über einen IO oder Bus einen Syncpuls an den 2. mBed sendet. Vorrausgesetzt die Kommunikation ist ok (was man durch n ACK noch prüfen kann) sind die immer synchron. Und dass auch wesendlich genauer als 100ms. MfG Tec
Praktikant schrieb: > kann sein, dass die Timer auch durch Faktoren (wie Temp.) beinflusst > werden ?? Natürlich, ausserdem stimmen sie von vornherein nicht überein. Man könnte die Quarze zwar abgleichen, aber das ist barer Unsinn, man muss ja bloss die Synchronisation oft genug durchführen, warum nicht jede Sekunde. Gruss Reinhard
>Warum machst du es nicht so das ein Mbed den >DCF77 und die RTC am laufen hat und über einen IO oder Bus einen >Syncpuls an den 2. Das habe ich schon gemacht. es hat funkz. :-) Also wenn die beiden MBED permanent mit DCF77 versorgt bleiben, und die RTC jedes MCU permanent mit dem DCF77 Signal synchroniziert bleibt. Dann klappt es. Doch die Herrausforderung sind: 1-Wie wäre es wenn keine DCF77 Signal vorhaden ist ! oder mind. 1 mal am Tag zu empfangen ist. 2- Die beiden mbed sind unabhängig von einander. D.h es gibt keine Verbindung zwischen die MCU.
Praktikant schrieb: > Ziel war die beiden MCU nach 24 Stunden unter 100ms synchron zu halten. Das ist nur wenig mehr als 1 PPM. So genau sind normale Quarze nicht, da bräuchte man spezielle Oszillatoren. Ein guter RTC Quarz darf eine Abweichung von einigen Sekunden pro Tag haben, die schnelleren Quarze sind meistens noch eine Größenordnung ungenauer. Um die geforderte Überinstimmung im Tak zu erzielen, müsste man die Boards irgendwie verbinden. Dann könnte man z.B. den RTC - Takt eines Boards auf das andere übertragen (CLKOUT).
@Kern >man muss ja bloss die Synchronisation oft genug durchführen, warum nicht >jede Sekunde. Sieh oben wie ich oben unter "Herrausforderungen "geschildet habe.. Was mir gerade eingefallen ist. Da ich den RTOS Cortex-M3 "CMSIS" vom ARM benutze habe. habe ich die RTOSTimer als Thread verwendet. Durch Blättern in die Dokumentation habe ich festgesetllt, dass der RTOS den SysTick als Timer verwendet... und nicht die Timer (0...3), die als Peripherie vom Chip zur Verfügung stehen. da mache ich mir jetzt Kopf, ob da einen Unterschied zwischen den Timer und den SysTick Timer gibt !!!!
Praktikant schrieb: > da mache ich mir jetzt Kopf, ob da einen Unterschied zwischen den Timer > und den SysTick Timer gibt !!!! In der Genauigkeit nicht. Die hängt von deiner Taktquelle ab.
Praktikant schrieb: > Sieh oben wie ich oben unter "Herrausforderungen "geschildet habe.. Wenn weder DCF77 noch eine Verbindung vorhanden ist, brauchst du synchron laufende Uhren. Wenn die vorhandenen nicht gut genug dafür sind, musst du welche vorsehen, die so genau sind wie du es eben brauchst. Das gibt es alles, notfalls ein Rubidium-Frequenznormal. Praktikant schrieb: > Ziel war die beiden MCU nach 24 Stunden unter 100ms synchron zu halten. Das ist etwa eine halbe Minute pro Jahr und auch für eine abgeglichene Quarzuhr ambitioniert. Das wirst du mit einer eingebauten RTC nicht hinkriegen. Was du probieren kannst, wenn du das auf den Boards realisieren kannst: statt des Quarzes einen externen Takt aus einem TXCO verwenden, da kommst du je nach Typ auf 1 ppm, das wird dir reichen. Gruss Reinhard
Praktikant schrieb: > Doch die RTC Uhr ist ungenau, weil es nach 10 Stunden eine Unterschied > von 5 sek. zwischen beiden Controller gibt. Ds ist heftig. Sicher, daß die RTC mit einem Quarz getaktet wird? Auch ohne Abgleich sollten 2 baugleiche Boards mit der gleichen Software nicht so stark abweichen. Manchmal kann auch ein Softwarebug die Ursache sein. Ich hatte mal ein Notebook, was manchmal 24:60 Uhr ausgegeben hat.
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.