Obsah:
- Úvod
- Popis signálu DCF
- Realizace
- Závěr
Úvod
Na
dnešním trhu je mnoho výrobků, které určitým způsobem měří
a popřípadě i odměřují čas. V levnějších výrobcích je
použit jako hodinový signál síťový signál o kmitočtu 50 Hz.
Přesnost takových zařízení není velká a neumožňují
automatické nastavení hodin. V další skupině jsou zařízení
řízená pomocí krystalu či obvodu reálného času. Taková
zařízení mají lepší přesnost a pokud je použit i obvod
reálného času, tak se dokáží po výpadku automaticky nastavit
na správný čas. Do poslední skupiny se mohou zařadit systémy,
které používají např. DCF77, GPS, WWVB(USA 60 kHz) nebo
internetové protokoly NTP
,
SNTP a další. V tento projekt se zabývá přijmem a dekodovnáním signálu DCF
Popis signálu DCF
U signálu DCF77 můžeme dekódovat jak časové
značky, tak i časové signály v BCD kódu. Časové signály
vznikají díky tomu, že nosná vlna je amplitudově modulována
sekundovými znaky. Na počátku každé sekundy je amplituda nosné
frekvence snížena do dobu 0.1s nebo 0.2 s asi o 25%. Takto je
snížena amplituda u každé sekundy, s výjimkou 59. sekundy, v
každé minutě. Toto se využívá k detekci minutového znaku.
Sekundové znaky jsou fázově synchronní s nosnou vlnou.
Na horním řádku
jsou čísla sekund a na
spodním logické úrovně, které se
přenáší. Jak jde vidět,
tak pokles amplitudy na dobu 0,1 s odpovídá
logické 0 a pokles
amplitudy na dobu 0,2 s odpovídá logické 1.
Časová informace v BCD kódu se
přenáší
každou minutu a jsou přenášené hodnoty minut,
hodin, dne, dne v
týdnu, měsíc a rok. Tato informace se
vysílá vždy pro
následující minutu. Přenos je
kódován pulzní modulací a
obsahuje celkem 3 kontrolní bity, které vždy
doplňují délku
slova na sudou paritu.

M minutová značka /vždy 0b/
R anténa 0b – normální anténa 1b –
náhradní anténa
A1 oznámení změny z SEČ /
středoevropský čas / na SELČ /středoevropský letní čas /
nebo naopak, pokud má dojít ke změně času tak je 1 hodinu
dopředu nastaven na hodnotu 1b, jinak je nastaven do 0b
Z1, Z2 Časová zóna / rozdíl oproti UTC /
A2 oznámeni že přijde přestupná sekunda, 1
hodinu dopředu je nastaven do 1b, jinak je má hodnotu 0b
S startovací bit kódované časové informace /
vždy hodnota 1b /
P1, P2, P3 kontrolní bity /sudá parita/
Realizace
Jako přijímač signálu DCF lze
použít integrovaný obvod U2442 a podoblé, ale ty
nemají v běných obchodech a je k nim potřeba krystal s
frekvenci 77,5 KHz.
Jednoduší řešení je
koupě hotového modulu od firmy CONRAD za zhruba 300 Kč.

Tento modul už obsahuje kompletní přímač signálu DCF a zapojení svorkovnice je
- GND
- Napájecí napětí od 1,2 V do 15V DC
- Výstup DCF
- Negovaný výstup DCF
Při práci je nutné si dát pozor na to že
výstupní z modulu je pomocí otevřených
kolektorů a na mezní hodnoty výstupních
tranzistorů. Maximální napětí na výstupu
může být 30V a proud pouze 1 mA. Během ladění je
výhodné připojit na druhý výstup tranzistor
s LEDkou a tím máme kontrolu jestli modul
přijímá signál. Ledka by měla bliknout každou
sekundu a jednou za minutu bliknout jednou za 2 sekundy.
Modul přijímače je připojen na PORT C na bit
7 a je na něho vyvedem přímý výstup z DCF. Na
tento pin je vhodné připojit push-pull odpor a druhý
vývod odporu na napájecí napští. LCD
displej je připojený na PORT A. Data na displej jsou
posílana před 4 drátovou sběrnici. Další
pinu na portě A jsou použity na řízení disleje. Program
je napsam pro krystal 6,144 Mhz.
Modul nemá zalohování napájení, takže po připojení napájení se
zobrazí čas 00:00:00 a začnou běžet vnitřní hodiny. Pokud je dobrý
příjem signálu DCF tak se během 2 minut nastaví na správný čas.
Bylo by asi vhodné na
displeji zobrazit nějaký znak že hodiny běží podle signálu DCF. Pokud
tento signál naní dostupný tak hodiny běží dál, ale s nemší přesností.
Závěr
Dle zadaní byl realizovaný dekodér signálu DCF. Jako
přijímač byl vybrán hotový modul od společnosti CONRAD. Tento modul je
vhodné umístit dál od vypočštní techniky, která by mohla rušit jeho
příjem. Obzvláště staré monitory a televize ho mohou hodně rušit,
protože snímkový kmitočet 50 Hz má 1550-tou nosnou přesně na kmitočtu
signálu DCF. Feritovou anténu je nutné natočit směrem k vysilači (podle
obrázku k Franfurktu) Pokud je signál špatný je možno přijímač doplnit
externí anténou.
Signál DCF je zabezpečený pouze 3 paritnímy bity,
protože se občas stávalo že toto zabezpečení není dostatečné je možná
doplnit program dalšímy podmínkami. V programu se kromě paritního
zabezpečení, se ještě kontroluje počet přijatých bitů a taky hodnota
hodin /bez této podmínky občas zobrazil čas 33 hodin/ Bylo by možné
vymyslet další možnosti jak signál na přijímané straně zabezpečit, ale
signál u nás většinou není tak špatný aby bylo nutné přidávat další.
Část programu co zajištuje dekódování signálu DCF je
okomentována ve zdrojovém souboru, takže jsem je už znovu nepopisoval.
Pokud bude potřeba použít program na jiné desce tak by mělo stačit
opravit porty na LCD, port na kterém je připojena DCF a frekvenci
krystalu.
Program do mikrokontroléru je ve složce
Hodiny_02, je to kompletní projekt z AVR studia i s hex souborem.
Použitá literatura
Martin Poupa, Vysílání časového signálu
a DCF77. Vystaveno 2002-03-01 /cit. 2006-04-22/, Dostupné na :
http://www.hw.cz/Teorie-a-praxe/Dokumentace/ART1026-Vysilani-casoveho-signalu-a-DCF77.html
Martin Poupa , Vysílání a příjem časové
informace DCF77 2002-03-01 /cit. 2006-04-23/ Dostupné na :
http://www.hw.cz/Teorie-a-praxe/Dokumentace/ART827-Vysilani-a-prijem-casove-informace-DCF77.html
Ing. Vladimír Anděl, Příjem a vyhodnocení
časového kódu DCF 77 2001-03-05 /cit. 2006-04-23/ Dostupné na :
http://www.hw.cz/Teorie-a-praxe/Dokumentace/ART490-Prijem-a-vyhodnoceni-casoveho-kodu-DCF-77.html
- Burkhard Mann, C pro mikrokontroléry, Nakladatelství BEN, Praha 2004
.