Beschreibung der Schnittstelle fr PC-Uhr zum Anschlu
an parallele Schnittstelle des Rechners

Allgemeines:

Die Funkuhr ist in das Verbindungskabel zwischen
Rechner und Drucker integriert. Es werden verschiedene 
Leitungen gemeinsam mit dem Drucker benutzt. Nutzt der 
Drucker die Schnittstelle nicht IBM-kompatibel kann es 
zu Komplikationen kommen. In diesem Fall empfiehlt es 
sich die Funkuhr blo beim Booten des Rechners auszulesen.

In der Funkuhr werden Empfnger und Prozessor durch eine 
Batterie (LR44) versorgt, der Kommunikationsteil wird vom 
Rechner bzw. Drucker gespeist. Dadurch kann die Funkuhr 
empfangen, auch wenn der Rechner abgeschaltet ist, die 
Strungen dadurch minimiert sind.

Die bertragung von Zeit oder Empfangsqualitt ist nur 
mglich, wenn die Funkuhr bereits eine gltige Zeit 
gespeichert hat, das heit die Zeit auf dem LCD anzeigt. 
Ein Empfangsversuch findet im Normalfall nur um 00:00:20 Uhr 
und um 2:00:20 (Winterzeit) oder 3:00:20 (Sommerzeit) statt. 
Ist der Empfangsversuch nicht erfolgreich, wird 6 Stunden 
spter ein neuer Versuch gestartet. Mit der nchsten Daten
bertragung an den Rechner wird eine entsprechende Meldung 
bertragen. Dazwischen luft die Uhr als Quarzuhr. Die 
Gangabweichung der Quarzuhr wird per Funkzeit abgeglichen. 
Dazu ist es aber notwendig, da die Uhr einige Stunden 
Funkempfang hat.


Kommunikation und bertragungsprotokoll

Wecken der Funkuhr:

Die Funkuhr bertrgt Daten an den PC nur auf Anforderung. 
Whrend des Erstempfangs der Funkuhr kann keine Kommunikation 
zwischen Rechner und Funkuhr stattfinden. Hat die Funkuhr 
einmal die Zeit empfangen, reagiert sie auf Weckversuche von 
auen. Zum Wecken der Funkuhr mu ein bestimmtes Procedere 
eingehalten werden. Es werden 4 Leitungen dazu benutzt. 
D0, D1, D2 als Datenleitungen und Autofeed als Clockleitung.
Das Wecken beginnt mit Clock= Low und D0-D2=0. Im 3msec-Takt 
wird die Clockleitung invertiert und auf den Leitungen D0-D2 
binr auf  7 hochgezhlt. Anschlieend wird die Clockleitung 
wiederum invertiert (=low) und fr 3 msec das entsprechende 
Kommandowort (3 Bit) bertragen. Nachdem Clock auf High geschaltet 
wurde ist Weckvorgang abgeschlossen. Wenn der Weckruf von der 
Funkuhr erkannt wurde, beginnt sie mit der Datenbertragung.


Datenbertragung:

Die Funkuhr sendet ber PE_S (Daten) und SLCT_S (Clock)im 
Takt von 2,5msec/Bit folgende Informationen:
Bit 00-03	4 Bit Synchro-Signale (Bitfolge 1001)
Bit 04-06	3 Bit Kommandowort zur Kontrolle
Bit 07		1 Bit   (1 = vorhergehender Funkempfang erfolglos;
		0 = Funkempfang erfolgreich)

Diese Daten werden unabhngig vom Kommandowort bertragen. 
Wenn Kommandowort 000 ist, werden folgende Daten im BCD-Format 
bertragen (MSB zuerst):

Bit 08-11	4 Bit Einer-Sekunden (low nibble)
Bit 12-15	4 Bit Zehner-Sekunden (high nibble)
Bit 16-19	4 Bit Einer-Minuten (low nibble)
Bit 20-23	4 Bit Zehner-Minuten (high-nibble)
Bit 24-27	4 Bit Einer-Stunden (low-nibble)
Bit 28-31	4 Bit Zehner-Stunden (high-nibble)
Bit 32-35	4 Bit Info:
Bit 32:		keine Information
Bit 33:		Low Bat
Bit 34:		1=Winterzeit
Bit 35:		1=Sommerzeit
Bit 36-39	4 Bit Wochentag
Bit 40-43	4 Bit Einer-Kalendertag (low nibble)
Bit 44-47	4 Bit Zehner-Kalendertag (high nibble)
Bit 48-51	4 Bit Einer-Monat (low nibble)
Bit 52-55	4 Bit Zehner-Monat (high nibble)
Bit 56-59	4 Bit Einer-Jahr (low nibble)
Bit 60-63	4 Bit Zehner-Jahr (high nibble)
Bit 64-67	4 Bit Timer-Werte 1/32 Sekunden
Bit 68		1 Bit  Halbsekunde

Die letzten 5 Bits dienen zur genauen bertragung der 
Sekundenbruchteile. Diese knnen folgendermaen ausgewertet 
werden: Ist das letzte Bit eine 1, mu auf die Zeit 0,5 Sekunden 
addiert werden. Die 4 Bits davor geben einen Wert von 0-15 an, 
wieviele 1/32 Sekunden in dieser Halbsekunde bereits vergangen 
sind. Alle gesendeten Zeitinformationen beziehen sich auf den 
Zeitpunkt, zu dem der Sendevorgang von der Funkuhr gestartet wurde.


Kommandowrter:

Es sind zwei Kommandowrter definiert, die unterschiedliche 
Reaktionen der Funkuhr auslsen:
Kommandowort 000:	Die kompletten Zeitinformationen werden bertragen
Kommandowort 111:	Fr die Dauer von ca. 10 Minuten  oder bis zum 
nchsten Weckruf wird das 	Empfngersignal auf den Ausgang SLCT_S d
urchkopiert. Dieses Signal kann per PC ausgewertet und zur Anzeige einer 
Qualittskontrolle verwendet werden.


Bemerkungen:

Da die Funkuhr in jeder Sekunde fr einige msec nicht unterbrochen 
werden darf, kann es vorkommen, da ein Weckruf nicht erkannt wird. 
In diesem Fall mu der Weckruf einige msec spter wiederholt werden.

Hat die Funkuhr noch nie eine gltige Zeit empfangen und befindet sie 
sich auch nicht im Empfangsbetrieb, dann wird auf Anforderung die interne 
Uhrzeit bertragen. An dieser internen Zeit kann man erkennen, wie lange 
die Uhr schon in Betrieb ist, ohne eine Uhrzeit empfangen zu haben.

Hat die Funkuhr eine Funkzeit, aber der letzte Empfangsversuch ist 
fehlgeschlagen, wir weder das Sommer-, noch das Winterzeitbit gesetzt.


Low-Bat-Messung:

Tglich um 00:00:00 Uhr wird eine Low-Bat-Messung durchgefhrt. Wird 
einmal Low-Bat erkannt, wird auf dem LCD das Batteriesymbol dargestellt 
und bei der Datenbertragung fr Bit 33 eine 1 gesendet.


Timing-Diagramm:

                 .    .    .              .    .    .             .    .    .
                   0.2.0.2      2 ms        0.2.0.2   2 ms          0.2.0.2
                 .    .    .              .    .    .             .    .    .
         ------------------+              .    .    +-----------------------+
SLCT_S           .    .                  .    .                 .    .    
                 .    .                  .    .                 .    .    
                 .    .                  .    .                 .    .    
                 .    .                  .    .                 .    .    
                 .    .    +------------------------+             .    .    +---
                 .    .    .              .    .    .             .    .    .
                 .    .    .              .    .    .             .    .    .
                 --------------------------------------------------------------
PE_S             .    .    .              .    .    .             .    .    .
                  0         Bit 0        0        Bit 1        0  
                 +-------------------------------------------------------------
