2009-08-21 6 views
0

Ich habe ein WinCE Masterplatine wich durch serielle Ports an mehrere entfernte Slave-Baugruppen verbunden ist. Diese Slaves Boards messen Potentiale. Das Kommunikationsprotokoll zwischen Master und Slave basiert auf MODBUS.Wie Daten zu synchronisieren, die von entfernten Teilen von seriellen Ports verbunden

Die Master-Anforderung ein Maß zu einem unterschiedlichen Slave all 300ms. Der anvisierte Slave wird für jede Anforderung geändert.

Mein Problem ist, dass ich die empfangenen Maßnahmen zeitzustempeln haben. Also, wie kann ich alle Slave-Karten synchronisieren, um eine identische Zeitreferenz für alle zu haben? Die Synchronisation muss die serielle Kommunikation durchlaufen, die nicht in Echtzeit bestimmt ist!

Antwort

0

Viel hängt von dem Rest Ihrer Hardware, wirklich. Idealerweise haben Sie ein Taktsignal, das vom Master zu jeder Karte geht, die alle lokalen Uhren auf der gleichen Zeitreferenz hält. Als anfänglicher Synchronisationsmechanismus können Sie ein MODBUS-Registerschreiben senden, um eine zukünftige Zeit vorzuladen, und dann eine der anderen seriellen Anschlußleitungen (DTR, CTS usw.) als einen Trigger verwenden, um diese Zeit in die Uhr auf dem Slave zu laden Tafel.