Hodiny synchronizované pomocí signálu DCF

Martin Dujíček, UREL, FEEC, VUT Brno; Milan Rejnuš, UREL, FEEC, VUT Brno
xdujic00feec.vutbr.cz; xrejnu00feec.vutbr.cz

Obsah:

  1. Úvod
  2. Rádiové vysílání časové informace v Evropě
  3. Vysílač DCF77
  4. Kódování úplné časové informace
  5. Realizace
  6. Program pro funkci hodin
  7. Závěr
  8. Literatura

Úvod

Cílem našeho projektu byl návrh časoměrného systému řízeného rádiově vysílaným časovým normálem DCF77. Vzhledem k našim možnostem příjmu tohoto signálu a jeho o poznání horší kvalitě v určitých denních dobách není možné takovéto hodiny založit pouze na příjmu a vyhodnocení tohoto signálu.

Systém byl tedy doplněn o obvod reálného času PCF8583 vyvinutý firmou Philips, umožňující autonomní provoz časoměrného systému. Díky tomu se lze více věnovat informacím přijatým přijímačem DCF77, porovnávat několik po sobě jdoucích datagramů a tak celkově zpřísnit podmínky pro uznání přijaté informace za správnou, čímž se značně zvýší spolehlivost.

Koncepce je tedy taková, že v systému za pomoci obvodu RTC běží interní čas, který je synchronizován přijatou informací DCF77 vždy, když je příjem vyhodnocen jako správný. O řízení jednotlivých komponent a tedy funkčnost jako celku se stará mikrokontrolér ATmega16. Spíše jako kuriozita bylo zapojení doplněno o impulsní výstup pro řízení podružných hodin, dříve hojně používaného v systému jednotného času, Pragotron.

Rádiové vysílání časové informace v Evropě

Rádiové vysílání časové informace v Evropě má své počátky cca v 60. letech minulého století. Ještě v 90. letech jsme měli relativně na výběr, jako příklad lze uvést vysílače HBG Prangins, Švýcarsko (75 kHz, 20 kW, vypnut 2011), MSF Rugby, Velká Británie (60 kHz, zrušen 2004), nebo Československý vysílač OMA50 vysílající z Liblic od roku 1958 do roku 1996, kdy byl jako jeden z prvních vypnut pro nedostatek financí na jeho provoz.

Vysílač DCF77

Přetrvávající zdroj rádiově šířené informace je vysílač DCF77 (D – Deutschland, C - označení vysílání na dlouhých vlnách, F – Frankfurt, 77 – nosná 77,5 kHz). K tomuto vysílači lze uvést několik historických informací:

1.1. 1959 Oficiální spuštění vysílání časového signálu na frekvenci 77,5 kHz;
1.9. 1970 Zaveden nepřetržitý 24 hodinový provoz;
5.6. 1973 Zavedení přídavných informací;
Od června 1983 zavedeno pseudonáhodné fázové klíčování nosné;
V roce 1990 uvedeny na trh první komerčně vyráběné náramkové hodinky řízené tímto signálem;
Od listopadu 2007 přidány informace o počasí;
Zařízení vysílače Vysílací antény
Vysílač DCF77 je umístěn v Mainflingenu, cca 25 km JV od Frankfurtu n. M. v Německu (50°01'N a 09°00'E).

Od ledna 1998 přešli v Mainflingenu na polovodičový zesilovač s výkonem 50 kW, který vysílá pomocí 150 m vysoké antény, která má shora kapacitní nástavbu. Uvádí se EIRP cca 30 - 35 kW. Původní elektronkový PA téhož výkonu zůstal zachován i s 200 m vysokou anténou. Je využit při poruše hlavního systému nebo při údržbových pracích.

Na obrázku vidíme mapu pokrytého území. Dosah vysílače je uváděn cca 2000 km, samozřejmě však záleží na kvalitě použitého přijímače a úrovni lokálního rušení, které bývá bohužel v okolí použité nosné frekvence značné. Dle pozorování úroveň tohoto rušení v nočních hodinách klesá a příjem signálu tak bývá ve vzdálenějších oblastech možný jen v noci. Mapa Krivky

Kódování úplné časové informace

Kódování časové informace je prováděno pulzně šířkovou modulací, poklesem amplitudy nosné na 25 % na začátku každé sekundy. Klíčování je synchronizováno fázovou synchronizací s nosnou a odpovídá na 10 μs přesně úřední časové stupnici fyzikálně technického ústavu v Braunschweigu (PTB - Physikalisch-Technischen Bundesanstalt). Tento pokles však odpadá při 59 sekundě každá minuty - minutová značka. Pokles trvá 100 ms - log 0, a 200 ms - log 1. Volací značka vysílače je přenášena třikrát v hodině a to v 19, 39 a 59 minutě každé hodiny tónovou modulací nosné 250 Hz, a to morseovkou bez přerušení vysílání časových značek.

Přenáší se čas a datum platný pro následující minutu, tak aby na začátku následující minuty již byla kompletní časová informace. Během jedné minuty se tedy přenese kompletní informace. Všechny hodnoty čísel jsou v kódu BCD.
Datagram Puls log.0 / log.1

Význam jednotlivých bitů

Bit č. Název Význam
0 M Minutová značka, vždy 0b
1-14 Rezervní bity
15 R Anténa (0b normální ant., 1b rezerní ant.)
16 A1 Hlášení změny časové zóny 1 hodinu předem (0b beze změny, 1b změna)
17-18 Z1, Z2 Časová zóna (rozdíl v hodinách oproti UTC, 00b = +0h, 01b = +1h = SEC, 10b = +2h = SELC, 11b = +3h)
19 A2 Hlášení přestupné sekundy 1 hodinu předem (0b beze změny, 1b změna)
20 S START, začátek přenosu časové informace, vždy 0b
21-27 Minuta
28 P1 Sudá parita minuty (bity 21-27)
29-34 Hodina
35 P2 Sudá parita hodiny (bity 29-34)
36-41 Kalendářní den
42-44 Den v týdnu (100b Po, 010b Út, 110b St, 001b Čt, 101b Pá, 011b So, 111b Ne)
45-49 Měsíc
50-57 Rok (jednotky a desítky let v aktuálním století)
58 P3 Sudá parita (datum + den v týdnu + rok, bity 36-57)
59 Tento bit se normálně nevysílá (mezera až do bitu 0 následující minuty, minutová značka).
Vysílá se pouze když je přestupná sekunda (vkládána 2x za 3 roky)

Realizace

Použitý přijímač

Jako přijímač byl použit běžně dostupný modul, který lze objednat u firmy Conrad nebo FK Technics.

Technické parametry:
  • Provozní napětí: 2-15 V
  • Přímý a invertovaný výstup DCF s otevřeným kolektorem, max. proud 1 mA
Vzhledem ke „křehkosti“ přijímače byla pro naše potřeby vytvořena nosná „subdeska“, na které je osazen přijímač a obvodové prvky, které je vhodně umístit bezprostředně k přijímači a která i zachovává jistou univerzalitu přijímače. Kromě spínacích tranzistorů posilujících oba výstupy přijímače jsou k těmto výstupům připojeny informační LED diody. To je na první pohled zbytečné, ale při směrování antény přijímače nám toto přináší dobrou vizuální informaci o úspěšnosti příjmu.
Přijímač DCF
Schéma desky s přijímačem Plošný spoj přijímače (pro ilustraci) Osazovzací plánek řijímače Foto desky přijímače

RTC - obvod reálného času PCF8583

Uvedený obvod byl vybrán pro svoji jednoduchost a běžnou dostupnost. Z pohledu uživatele se jeví jako paměť, ve které jsou definovány určité čítací a řídicí registry, přičemž kterékoliv místo v paměti (tedy i registry) lze přímo číst a přepisovat prostřednictvím běžné komunikace po sběrnici I2C.

Obvod PCF8583 je obvod reálného času a kalendáře s čtyřletým cyklem, vytvořeného na základě 2048 bitové statické CMOS RAM, organizované jako 256 slov po 8 bitech. Adresy a data se přenášejí sériově prostřednictvím dvoudrátové obousměrné I2C sběrnice. Jednou z vlastností této komunikace je, že vestavěný registr adres je automaticky zvýšen po každém čtení nebo zápisu datového bajtu. Při vyčítání či zápisu více, po sobě jdoucích bajtů paměti, postačí jen jedna adresace. Pomocí pinu A0 je možno měnit jeden krajní bit hardwarové adresy, což tedy umožňuje připojení dvou těchto obvodů ke sběrnici. Vestavěný 32,768 kHz oscilátor a prvních 8 bajtů paměti RAM zajišťují čítání hodin a kalendáře. Dalších 8 bajtů lze naprogramovat jako alarm registry nebo použít jako volný paměťový prostor. Posledních zbývajících 240 bajtů paměti je rovněž volný prostor. Obvod disponuje funkcí několika alarmů, o dovršení nastaveného času pak může informovat pomocí vyvedeného signálu přerušení. Pro uchování informací se obvod spokojí s napájecím napětím již od 1 V při minimálním odebíraném proudu. Nabízí se tak možnost zálohování napájení a použití volné paměti obvodu navenek jako nevolatilní.
Vnitřní struktura obvodu RTC PCF8583 Znázornění paměťového prostoru obvodu RTC PCF8583
Na obrázcích výše vidíme vnitřní blokové uspořádání obvodu a funkce čítacích registrů paměti ve dvou možných režimech. Námi použitý režim je režim hodin. Pozornosti by neměl uniknout formát časové informace, ve kterém je v obvodu uchována. Před zápisem aktuálního času do obvodu musíme přijatou informaci patřičně upravit. Katalogové zapojení RTC PCF8583
Po stránce zapojení obvodu bylo prakticky přesně dodrženo katalogové zapojení. Je zde použit hodinový krystal 32,768 kHz a kapacitní trimr o doporučené hodnotě 5 až 25 pF pro nastavení dlouhodobé přesnosti interního oscilátoru. Při občasné aktualizaci časové informace časem přijatým přijímačem DCF, postrádá jeho nastavování praktický smysl.

Schéma zapojení hlavní desky zařízení

Na obrázku níže vidíme celkové zapojení hodin, zapojení je koncipováno jako relativně univerzální přípravek, jehož funkce lze později částečně modifikovat. Jsou zde tedy připraveny i části jen okrajově využité.

V levé horní části vidíme zdrojovou část pro napájení +5 V větve, dále zde byl ponechán programovací obvod pro pohodlné přeprogramování mikrokontroléru. Následuje mikrokontrolér ATmega16 s externím oscilátorem 16 MHz, který má port A vyveden na konektor pro připojení displeje. Displej je použit klasický 2 x 16 znaků se standardním řadičem HD44780. Dále zde vidíme vlastní obvod RTC v katalogovém zapojení, jak je uvedeno výše, obvod je k mikrokontroléru připojen sběrnicí I2C a dále je propojen signál přerušení pro případné použití.

V dolní části se nachází můstek pro generování kladných a záporných pulsů pro provoz podružných hodin Pragotron. Úroveň pulsů je potřeba 24 V, můstek má tedy externí napájení. Dále je zde osazeno šest tlačítek připojených k portu C a obvod pro úpravu úrovně signálu od přijímače DCF, která na vstupu odpovídá cca napájecímu napětí přijímače (nyní je použito 12 V) a která byla pro přenos po delším kabelu ponechána. Schéma zapojení hlavní desky hodin
Plošný spoj hlavní desky hodin(pro ilustraci) Osazovzací plánek řijímače hlavní desky hodin
Foto hlavní desky hodin

Systém jednotného času

Podružné hodiny, patřicí k systému jednotného času, vyráběného bývalými ZPA Pragotron, dnešním Elektočas s.r.o., není nijak obtížné řídit. Dnešním trendem je tyto systémy spíše rušit, a tak zde existuje možnost, si tyto hodiny opatřit. Jedná se však o sběratelskou záležitost a jejich cena někdy může předčit očekávání.

Přenos řídících minutových pulsů je uskutečněn po dvou vodičích, na něž je paralelně připojen prakticky libovolný počet těchto hodin, který je přirozeně omezen výkonem budiče a celkovou spotřebou připojených cívek strojků. Puls o úrovni cca 24 V přichází každou minutu, avšak polarita pulsů se musí každou minutu invertovat. Tímto je určen pohyb minutové ručky nebo číselníku, pohyb ukazatele hodin je odvozen již mechanicky. Délka pulsů je určena fyzickými možnostmi jednotlivých strojků, obecně lze říci, že musí být dostatečná. Po provedení úkonu prochází cívkami strojků stále proud který je zatěžuje, což opět není žádoucí. V našem případě byla délka pulsů stanovena na 3 s. Příklad podružných hodin Příklad podružných hodin Příklad podružných hodin

Program pro funkci hodin

Jelikož napájení hodin není prozatím nikterak zálohováno, je obvod RTC po připojení napájení ve výchozím stavu. Na displeji se tedy zobrazí časový údaj 0:0:0, Po, 1.1. Jelikož použitý obvod RTC uchovává informaci o roce pouze ve čtyř ročním cyklu, pro potřebu volby počtu dní v měsíci, nelze konkrétní letopočet získat. Dokud není informace o letopočtu známa, není ani zobrazena. Zobrazený čas tedy začne odbíhat od této hodnoty dokud není synchronizován. Stejně tak se děje 1. ledna v 0:0:0 hodin, kdy je údaj o letopočtu zhasnut, jelikož by jeho správnost v novém roce nebyla do první synchronizace zaručena.

Po připojení napájení je rovněž zahájen příjem signálu DCF. Nejprve se čeká na 59. sekundu vysílané minuty, kde je přítomna synchronizační značka. Od této doby je ukládáno 59 symbolů jež minutová značka obsahuje. Symboly jsou vyhodnocovány pomocí "Input Capture Unit", která je součástí časovače/čítače 1. Tím je vyhodnocena vždy délka pulzu a uložena jako log. 1 nebo log. 0. Po přijetí kompletního řetězce je zkontrolován výpočet třech parit, v případě správného výsledku je vypočtena kompletní časová informace, která je následně uložena. V případě chybné parity je celý proces zrušen a čeká se na novou synchronizační značku. Je třeba brát v úvahu, že signál nemusí být přítomen a na vstupu se vyskytují náhodné pulsy nebo kmitání. Byla-li tedy parita vyhodnocena jako správná, což samo o sobě nezaručuje správnost přijaté informace, a pokud po dokončení ukládání řetězce následovala synchronizační značka, je započato ukládání nového řetězce. Vyhodnocení informace jako správné je tedy podmíněno správným vyhodnocením parit dvou po sobě vysílaných řetězců a následně shodou celkových časových informací vypočtených z dříve přijatého řetězce a aktuálně přijatého řetězce (včetně data), které se musejí lišit právě o jednu minutu. Tehdy je přijatá časová informace považována za spolehlivě správnou a po úpravě do formátu, ve kterém běží interní čas v RTC je tento čas přepsán aktuálním. Při přenosu je akceptováno doporučení výrobce, čítací registry v RCT zastavit.

Od této chvíle je na displeji zobrazován aktuální čas vyhodnocený při poslední synchronizaci, tedy platná informace o hodině, minutě, sekundě, dále dni v týdnu, informaci zda se jedná o SELČ nebo SEČ a nakonec datu, tentokrát již včetně spolehlivě platné informaci o letopočtu. Spíše pro zajímavost je dále vyhodnocen bit R informující o příjmu z náhradního vysílače který případně reprezentuje vykřičník na předposledním místě displeje, a bit A1, který jednu hodinu dopředu informuje o přechodu ze SELČ na SEČ či naopak. Tento je reprezentován vykřičníkem na posledním místě displeje.

Po stisknutí vyhrazeného tlačítka získáme na displeji informaci o čase poslední synchronizace a dále se zde průběžně zobrazuje relativní délka vyhodnoceného pulsu z výstupu přijímače.

Každou sudou a lichou minutu jsou vysílány pulsy opačných polarit pro řízení podružných hodin Pragotron.

Do výpisu programu je možné nahlédnout zde: program.pdf

Závěr

Naším cílem bylo přijmout a vyhodnotit informaci o čase získanou přijetím signálu DCF77 a tuto informaci si udržet i v případě, že je tento příjem následně znemožněn, což je realizováno obvodem RTC.

Zařízení bylo navrženo a zkonstruováno tak, jak je na obrázcích výše a lze prohlásit, že pracuje tak, jak jsme si prozatím přáli.

Je nutno říci, že se jedná o velice zajímavou problematiku která nabízí spoustu možností dalšího rozvoje, s čímž je do budoucna i počítáno.

Projekt pro AVR studio 5 a podklady desek pro Eagle je možné stáhnout zde: soubory.rar

Literatura

[1] Martin Poupa, Vysílání časového signálu a DCF77. Vystaveno 2002-03-01 /cit. 2013-06-11/, Dostupné na : http://www.hw.cz/Teorie-a-praxe/Dokumentace/ART1026-Vysilani-casoveho-signalu-a-DCF77.html
[2] Martin Poupa , Vysílání a příjem časové informace DCF77. 2002-03-01 / cit. 2013-06-11/ Dostupné na : http://www.hw.cz/Teorie-a-praxe/Dokumentace/ART827-Vysilani-a-prijem-casove-informace-DCF77.html
[3] Ing. Vladimír Anděl, Příjem a vyhodnocení časového kódu DCF 77. 2001-03-05 / cit. 2013-06-11/ Dostupné na : http://www.hw.cz/Teorie-a-praxe/Dokumentace/ART490-Prijem-a-vyhodnoceni-casoveho-kodu-DCF-77.html
[4] Burkhard Mann, C pro mikrokontroléry, Nakladatelství BEN, Praha 2004
[5] Atmel Corporation. ATmega16 Datasheet. [online], [cit. 2013-06-11] URL: http://www.atmel.com/dyn/resources/prod_documents/doc2466.pdf
[6] Martin Poupa, Atomové hodiny, časoměrné stupnice a vysílač DCF77. / cit. 2012-06-11/, Dostupné na : http://home.zcu.cz/~poupa/cas.html
[7] 50 let DCF77. Vystaveno 2008-12-28 /cit. 2013-06-11/, Dostupné na : http://www.ok2imh.com/view.php?cisloclanku=2008120003
[8] Andreas Bauch, Demanding Applications of Time and Frequency Metrology. Vystaveno 2012-07-24 / cit. 2013-06-11/ Dostupné na : http://static.sif.it:8080/SIF/resources/public/files/va2012/bauch_0725.pdf
[9] DCF77 signal generation, Physikalisch-Technische Bundesanstalt Bundesallee. Vystaveno 2010-03-12 / cit. 2013-06-11/ Dostupné na : http://www.ptb.de/cms/en/fachabteilungen/abt4/fb-44/ag-442/dissemination-of-legal-time/dcf77/dcf77-signal-generation.html
[10] Atomic clock signal receiver DCF77. /cit. 2013-06-11/ Dostupné na : http://www.ics.ele.tue.nl/~lvbokhov/education/op4/assignments/dcf77/atomicclock.html
[11] Miloš Zajíc, Generátor minutových impuslů pro podružné hodiny. /cit. 2013-06-11/ Dostupné na : http://www.zajic.cz/podruzne/podruzne.htm
[12] Informace ze stránek firmy Elektročas s.r.o. http://www.elektrocas.cz/
[13] Informace z http://cs.wikipedia.org/wiki/DCF77
[14] Ing. Josef Pokorný, Digitální hodiny s přijímačem DCF77, AR 8/1994 str. 11 až 15; AR 9/1994 str. 16 až 17
[15] Ing. Jan Hájek, Vysílání normálových frekvencí a přenos časové informace, Sdělovací technika 7/1974 str. 254 až 258