Radio Controlled (RC) Computer Clock
Die serielle Schnittstelle für Radio Controlled (RC) Computer Clock
1. Einführung in die serielle Schnittstelle für Radio Controlled (RC) Computer Clock
Die serielle Schnittstelle besteht aus einer Dateneingangsleitung und einer Datenausgangsleitung.
Der Datenverkehr Geschwindigkeit der seriellen Schnittstelle ist 300 bps. Aufgrund der begrenzten Ressourcen des RC Computer-Clock Mikro-Controller nur eine einfache Software-Protokoll verwendet werden kann.
Es gibt keine Hand schütteln Linien. Synchronisation mit dem Host durch den Zeichenecho.
2. Spannungsversorgung der seriellen Schnittstelle
Der RC Computer-Clock ist ein batteriebetriebenes RC Uhr, die von zwei 1.5V Zellen gespeist wird. Dies gewährleistet eine Akkulaufzeit von rund zwei Jahren. Die Spannungsversorgung der seriellen Schnittstelle ist unabhängig von diesen Batterien. Die RS232 serielle Standardschnittstelle besteht nicht nur aus dem seriellen Eingang (RxD) und Ausgang (TxD) Linien, sondern auch einige zusätzliche Leitungen, die in einigen Anwendungen für Handshaking Zwecke verwendet werden, verwendet der RC Computeruhr diese zusätzlichen Linien seine interne serielle Schnittstelle zu liefern Schaltung mit der erforderlichen elektrischen Spannung. Diese zusätzlichen Leitungen sind nicht für den Datenaustausch erforderlich.
Der RC Computer-Clock erfordert sowohl eine positive als auch eine negative Spannung aus dem PC über die serielle Schnittstelle. Die positive Spannung wird durch die DTR-Leitung zugeführt wird.
Es gibt zwei Möglichkeiten, die negative Spannung:
a) Der PC "kommuniziert" mit dem RC Computer-Clock, indem ASCII-Zeichen in der RC Computer-Clock, wie unten (siehe 5.) beschrieben. Dies ermöglicht die negative Spannung, die von der Leitung TxD vorgesehen sein. Wenn der PC Zeichen sendet diese Linie zwischen einem positiven und negativen Spannungspegel umgeschaltet. Wenn der PC ist für den RC Computer-Clock wartet auf die TxD-Leitung antwortet immer mit einer negativen Spannung niedrig. Der RC Computer-Clock braucht nicht die TxD negative Spannung während des Empfangs Zeichen nur beim Senden.
b) Der RC Computer-Clock ausgelöst, um die Zeit / Datum Informationen durch Ziehen des Dateneingangsleitung hohe Spannung wie unten (siehe 3.3) beschrieben übertragen werden. Diese Zeile muss hoch gehalten werden, bis die Datenübertragung aus dem RC Computer-Clock hat begonnen. Daher kann nicht die negative Spannung. Es besteht die Möglichkeit, um die negative Spannung aus dem RTS-Leitung zuzuführen. Diese Zeile muss auf Low-Pegel durch den Programmierer, die die RC Computer-Clock zu veranlassen, die Zeit / Datum Informationen durch Halten bei hohen Spannungspegel TxD übertragen will eingestellt werden.
3. Datenwort-Format
3.1 Daten der Funk-Computer-Clock übertragen
Schnittstellenparameter
- Speed: 300 bps
- Data Bit Count: 7
- Parität: gerade, ungerade, mark, space (nicht von der PC-Funkuhr aktiviert)
- Stop Bit Count: 2
Funktion der Dateneingang
Der RC Computer-Clock nimmt Befehle von bis zu drei Charaktere, einschließlich ihrer Parameter. Der Charakter Wagenrücklauf (hex 0d) bewirkt, dass die RC Computer-Clock um den Befehl auszuführen. Nur die vier unteren Bits von jedem Befehl und Parameter Charakter verwendet. Zum Beispiel die Zeichen "?" Haben "O" und "o" den gleichen Effekt. Die Ausnahme ist der letzte Zeilenschaltung, die unter Berücksichtigung der sieben unteren Bits (vollständig entschlüsselt) decodiert wird.
3.2 Antworten der Funkuhr Computer-Clock
Schnittstellenparameter
- Speed: 300 bps
- Data Bit Count: 7
- Parität: gerade
- Stop Bit Count: 2
Funktion der Dateneingang
Die Antwort des RC Computer-Uhr besteht aus einer Folge von ASCII-Zeichen durch einen abschließenden Wagenrücklaufzeichen cr beendet. Der Zeichensatz, der vom RC Computer-Clock verwendet wird, um die Zahlen ... 0 9 und die Zeichen begrenzt:; =?. Die Informationen werden in den vier unteren Bits enthalten.
Die Bits 4 und 5 jeder Antwort Charakter sind binäre Einsen, ist das Bit 6 binäre Null und das Bit 7 enthält den auch Paritätsbit. Daraus ergeben sich die sechzehn verschiedenen Figuren durch die RC Computeruhr übertragen, wie oben beschrieben. der serielle Ausgang des RC-Rechner-Funkuhr kann während ihrer Antwort unterbrochen werden. Daher sind alle Zeichen müssen durch den Host-Computer sofort übernommen.
3.3 Unterstützung eines vereinfachten Datenaustausch
Ein vereinfachter Datenaustausch möglich ist.
Die Zeit / Datum Informationen Sendebefehl ((o cr) unter 5. 1 sehen.) Ist nicht der einzige Weg, um eine Folge von ASCII-Zeichen zu initiieren. Eine einfachere Methode ist, ziehen Sie die TxD (TxD des PC) Spannungspegel hoch. Normalerweise TxD Spannung niedrig ist (inaktiv). Wenn die TxD-Leitung ist am Beginn eines zweiten hoch dann der RC Computer-Clock sendet seine Zeit / Datum Informationen. Dies kann erfolgt bis zu einer Sekunde, da die erste Startbit des Zeit / Datum-Informationen setzt den Beginn eines zweiten. Wenn die TxD-Leitung hoch gehalten kontinuierlich dann die RC Computer-Clock überträgt die Zeit aktuelle Informationen jede Sekunde. Aber muss darauf geachtet werden: Die Stromaufnahme des RC Computer-Clock nimmt während der Zeit / Datum Informationen Leistung bis 600 A. (Dauer ca. 200 ms.)
4. Händeschütteln
Jeder Charakter durch die RC Computer-Clock empfangen wird wiederholt. Das nächste Zeichen darf nicht auf die RC Computer-Clock vor dem Echo des vorhergehenden Zeichens und einer zusätzlichen Dauer 10 ms übertragen werden.
Erkennen Eingabezeichen ist, indem die korrekte Erscheinungsbild sowohl des Startbits und die zwei Stoppbits. Die acht hallte Datenbits bleiben unter allen Umständen unverändert, unabhängig davon, ob oder nicht Parität gerade oder ungerade ist.
5. Beschreibung der Befehle
5.1 Transmit Zeit / Datum Informationen
Syntax ASCII: o cr Character "o" ersetzt werden kann, wenn nötig durch einen Charakter, dessen Code enthält die untersten vier Bits f (hex), zB auch /? O _
Syntax binär: xxxx1111 00001101
Das RC Computeruhr antwortet auf diesen Befehl mit einer Sequenz von Zeichen, die 15 die komplette Zeitinformation und einer abschließenden cr enthalten. Erstellen 16 Zeichen insgesamt.
Der RC Computer-Clock wird nicht sofort Antwort auf dieses Kommando, weil die Start-Bit Rand der ersten Antwort Zeichen markiert den Beginn des zweiten. So dass die Rechner-Funkuhr RC auf diesen Befehl zu Beginn des nächsten zweiten Frage.
Die Zeichen haben folgende Bedeutung:
- 1. Stunden Zehner
- 2. Stunden-Einheiten
- 3. Minuten Zehner
- 4. Minuten-Einheiten
- 5. Sekunden Zehner
- 6. Sekunden-Einheiten
- 7. Tag der Woche 1 (Montag) ... 7 (Sonntag)
- 8. Tag des Monats zehn
- 9. Tag des Monats Einheiten
- 10. Monat Zehner
- 11. Monate Einheiten
- 12. Jahr Zehner
- 13. Jahr-Einheiten
- 14. BST / UTC-Status
- bit7 Parität
- bit6 immer 0
- bit5 immer 1
- bit4 immer 1
- bit3 immer 0
- bit2 = 1, wenn UTC in Kraft ist, die komplementär zu der BST-Bit
- bit1 = 1 wenn BST wirksam ist, entsprechend dem Bit BST
- bit0 BST / UTC ändern bevorstehenden Bit = 1 im Falle einer Änderung bevorstehenden
- 15. Status
- bit7 Parität
- bit6 immer 0
- bit5 immer 1
- bit4 immer 1
- bit3 = 1 wenn niedrige Batteriespannung erkannt
- bit2 = 1 wenn die letzten Empfang fehlgeschlagen und eine gültige Zeitinformation bereits vorhanden (bit0 = 1)
- bit2 = 0 wenn die letzten Empfang Versuch war erfolgreich
- bit1 = 1 wenn mindestens eine Empfangs Versuch seit 2: 30 am war erfolgreich
- bit1 = 0 wenn kein Empfang Versuch seit 2: 30 am erfolgreich war
- bit0 = 1 wenn der RC Computer-Clock enthält eine gültige Zeitinformation
- Dieses Bit ist Null nach Rückstellung und eine nach dem ersten erfolgreichen Empfang Versuch.
5.2 Transmit Empfangsstatus
Syntax ASCII: g cr
Character "g" kann durch einen Charakter, dessen Code enthält die untersten vier Bits 7 ersetzt werden, z. B. auch "7 GW w
Syntax binär: xxxx0111 00001101
Die Antwort auf dieses Kommando besteht aus zwei Zeichen und die endgültige cr.
Die Zeichen haben folgende Bedeutung:
1. Status des Empfangs und der Linie
- bit7 Parität
- bit6 immer 0
- bit5 immer 1
- bit4 immer 1
- bit3 immer 0
- bit2 immer 0
- bit1 immer 1
- bit0 = 0 wenn kein Empfang Versuch erfolgt in dem Moment
- bit0 = 1, wenn ein Empfang Versuch erfolgt in dem Moment
2. Empfangsqualität kennzeichnende Zahl von 0 um 5
- 5 zeigt einen guten Empfang ohne Störungen
- 0 zeigt sehr schlechten Empfangsbedingungen
Wenn die Zahl im Bereich von 0 um 2 keine erfolgreiche Empfang ist, normal zu erwarten ist.
Während des Empfangs Pausen diese Zahl ist immer 0.
5.3 Anfang Empfangsversuch einschließlich Zeitvergleich
Syntax ASCII: h cr
Xxxx8 8: Character "h" kann keine anderen Zeichen, dessen Code enthält die untersten vier Bits 1000, z. B. auch (00001101 HX x Syntax binäre ersetzt werden
Dieser Befehl bewirkt, dass die RC Computer-Clock, die Empfänger-IC zu aktivieren und eine Rezeption Versuch, Eingang des vollständigen MSF Informationen und Synchronisation der RC Computeruhren interne Zeit nach den MSF zweiten Impulse enthält starten. Die Genauigkeit ist besser als 20 ms. Wenn dieser Versuch endet erfolglos aus 2: 00 Uhr bis 3: 00 bin etwas 1 der 15th Zeit / Datum Informationen Charakter zurückgesetzt werden (siehe 5.1.). Dieses Bit ist immer nach Beendigung des Empfangs Versuch erfolgreich gesetzt.
5.4 Start-Empfang Versuch ohne Zeitvergleich
Syntax ASCII: i cr
Das Zeichen "i" kann von allen anderen Zeichen ersetzt werden, die Code enthält die untersten vier Bits 9, zB auch) 9 IY y Syntax binär: xxxx1001 00001101
Dieser Befehl bewirkt, dass die RC Computer-Clock, die Empfänger-IC zu aktivieren und eine Rezeption Versuch zu starten. Nur das interne Timing Sekunden wird nach den MSF Sekunden Impulse synchronisiert werden. Die Genauigkeit ist besser als 20 ms. Einstellung von Statusbits entspricht, um 5.3.
Achtung: Wird der vorhergehenden Empfang Versuch erfolglos war oder, wenn dieser Befehl Aus 12: 00 Uhr bis 3: (. Siehe 00) 5.3 Uhr wird es einen Empfang Versuch, die komplette Zeitvergleich umfasst verursachen