Difference between revisions of "Protocol decoder:Dcf77"

From sigrok
Jump to navigation Jump to search
m
Line 10: Line 10:
| output          = dcf77
| output          = dcf77
| probes          = DATA
| probes          = DATA
| optional_probes = PON
| optional_probes = —
| options        = —
| annotations    = Text, Warnings
}}
}}


Line 18: Line 16:


== Hardware ==
== Hardware ==
TODO.


=== DCF77 on the Pollin DCF1 module ===
=== DCF77 on the Pollin DCF1 module ===
Line 59: Line 55:
== Protocol ==
== Protocol ==


TODO: Detailed protocol description.
=== Time code interpretation (taken from Wikipedia) ===
 
The time is represented in binary-coded decimal (BCD). It represents civil time, including summer time adjustments. The time transmitted is the time of the ''following'' minute; e.g. during December 31 23:59, the transmitted time encodes January 1 00:00.
 
<small>
{|class=wikitable style="text-align:center"
|+
!rowspan=2| Bit ||colspan=2| Weight ||rowspan=2| Meaning
|rowspan=22|
!rowspan=2| Bit ||colspan=2| Weight ||rowspan=2| Meaning
|rowspan=22|
!rowspan=2| Bit ||colspan=2| Weight ||rowspan=2| Meaning
|-
! PM || AM || PM || AM || PM || AM
|-
|bgcolor=#ffccff| :00 ||bgcolor=#ffccff| 1 ||bgcolor=#ffccff| M ||bgcolor=#ffccff| Start of minute. Always 0.
|bgcolor=#ffccff| :20 ||colspan=2 bgcolor=#ffccff| S ||bgcolor=#ffccff| Start of encoded time. Always 1.
|bgcolor=#ccffcc| :40 ||colspan=2 bgcolor=#ccffcc| 10 ||rowspan=2 bgcolor=#ccffcc|Day of month (continued)
|-
| :01 ||bgcolor=#ffccff| 1 ||colspan=2 rowspan=14| Civil warning bits, provided by the<br>''Bundesamt für Bevölkerungsschutz<br>und Katastrophenwarnung'' (Federal Office<br>of Civil protection and Disaster Relief).<br>Also contains weather broadcasts.
|bgcolor=#ffffcc| :21 ||colspan=2 bgcolor=#ffffcc| 1 ||rowspan=7 bgcolor=#ffffcc| Minutes<br>00–59
|bgcolor=#ccffcc| :41 ||colspan=2 bgcolor=#ccffcc| 20
|-
| :02 ||bgcolor=#ffccff| 1
|bgcolor=#ffffcc| :22 ||colspan=2 bgcolor=#ffffcc| 2
|bgcolor=#ccffcc| :42 ||colspan=2 bgcolor=#ccffcc| 1 ||rowspan=3 bgcolor=#ccffcc| Day of week<br>Monday=1, Sunday=7
|-
| :03 ||bgcolor=#ffccff| 1
|bgcolor=#ffffcc| :23 ||colspan=2 bgcolor=#ffffcc| 4
|bgcolor=#ccffcc| :43 ||colspan=2 bgcolor=#ccffcc| 2
|-
| :04 ||bgcolor=#ffccff| 1
|bgcolor=#ffffcc| :24 ||colspan=2 bgcolor=#ffffcc| 8
|bgcolor=#ccffcc| :44 ||colspan=2 bgcolor=#ccffcc| 4
|-
| :05 ||bgcolor=#ffccff| 1
|bgcolor=#ffffcc| :25 ||colspan=2 bgcolor=#ffffcc| 10
|bgcolor=#ccffcc| :45 ||colspan=2 bgcolor=#ccffcc| 1 ||rowspan=5 bgcolor=#ccffcc| Month number<br>01–12
|-
| :06 ||bgcolor=#ffccff| 1
|bgcolor=#ffffcc| :26 ||colspan=2 bgcolor=#ffffcc| 20
|bgcolor=#ccffcc| :46 ||colspan=2 bgcolor=#ccffcc| 2
|-
| :07 ||bgcolor=#ffccff| 1
|bgcolor=#ffffcc| :27 ||colspan=2 bgcolor=#ffffcc| 40
|bgcolor=#ccffcc| :47 ||colspan=2 bgcolor=#ccffcc| 4
|-
| :08 ||bgcolor=#ffccff| 1
|bgcolor=#ffffcc| :28 ||colspan=2 bgcolor=#ffffcc| P1 ||bgcolor=#ffffcc| Even parity over minute bits 21–28.
|bgcolor=#ccffcc| :48 ||colspan=2 bgcolor=#ccffcc| 8
|-
| :09 ||bgcolor=#ffccff| 1
|bgcolor=#ffcccc| :29 ||colspan=2 bgcolor=#ffcccc| 1 ||rowspan=6 bgcolor=#ffcccc| Hours<br>0–23
|bgcolor=#ccffcc| :49 ||colspan=2 bgcolor=#ccffcc| 10
|-
| :10 ||bgcolor=#ffccff| 0
|bgcolor=#ffcccc| :30 ||colspan=2 bgcolor=#ffcccc| 2
|bgcolor=#ccffcc| :50 ||colspan=2 bgcolor=#ccffcc| 1 ||rowspan=8 bgcolor=#ccffcc| Year within century<br>00–99
|-
| :11 ||bgcolor=#ffccff| 0
|bgcolor=#ffcccc| :31 ||colspan=2 bgcolor=#ffcccc| 4
|bgcolor=#ccffcc| :51 ||colspan=2 bgcolor=#ccffcc| 2
|-
| :12 ||bgcolor=#ffccff| 0
|bgcolor=#ffcccc| :32 ||colspan=2 bgcolor=#ffcccc| 8
|bgcolor=#ccffcc| :52 ||colspan=2 bgcolor=#ccffcc| 4
|-
| :13 ||bgcolor=#ffccff| 0
|bgcolor=#ffcccc| :33 ||colspan=2 bgcolor=#ffcccc| 10
|bgcolor=#ccffcc| :53 ||colspan=2 bgcolor=#ccffcc| 8
|-
| :14 ||bgcolor=#ffccff| 0
|bgcolor=#ffcccc| :34 ||colspan=2 bgcolor=#ffcccc| 20
|bgcolor=#ccffcc| :54 ||colspan=2 bgcolor=#ccffcc| 10
|-
|bgcolor=#ccffff| :15 ||colspan=2 bgcolor=#ccffff| R ||bgcolor=#ccffff| Call bit: abnormal transmitter operation.<br>Previously: backup antenna in use.
|bgcolor=#ffcccc| :35 ||colspan=2 bgcolor=#ffcccc| P2 ||bgcolor=#ffcccc| Even parity over hour bits 29–35.
|bgcolor=#ccffcc| :55 ||colspan=2 bgcolor=#ccffcc| 20
|-
|bgcolor=#ccffff| :16 ||colspan=2 bgcolor=#ccffff| A1 ||bgcolor=#ccffff| Summer time announcement.<br>Set during hour before change.
|bgcolor=#ccffcc| :36 ||colspan=2 bgcolor=#ccffcc| 1 ||rowspan=4 bgcolor=#ccffcc| Day of month.<br>01–31
|bgcolor=#ccffcc| :56 ||colspan=2 bgcolor=#ccffcc| 40
|-
|bgcolor=#ccffff| :17 ||colspan=2 bgcolor=#ccffff| Z1 ||bgcolor=#ccffff| Set to 1 when CEST is in effect.
|bgcolor=#ccffcc| :37 ||colspan=2 bgcolor=#ccffcc| 2
|bgcolor=#ccffcc| :57 ||colspan=2 bgcolor=#ccffcc| 80
|-
|bgcolor=#ccffff| :18 ||colspan=2 bgcolor=#ccffff| Z2 ||bgcolor=#ccffff| Set to 1 when CET is in effect.
|bgcolor=#ccffcc| :38 ||colspan=2 bgcolor=#ccffcc| 4
|bgcolor=#ccffcc| :58 ||colspan=2 bgcolor=#ccffcc| P3 ||bgcolor=#ccffcc| Even parity over date bits 36–58.
|-
|bgcolor=#ccffff| :19 ||colspan=2 bgcolor=#ccffff| A2 ||bgcolor=#ccffff| Leap second announcement.<br>Set during hour before leap second.
|bgcolor=#ccffcc| :39 ||colspan=2 bgcolor=#ccffcc| 8
|bgcolor=#ff88ff| :59  ||bgcolor=#ffccff| 0 ||colspan=2 bgcolor=#ff88ff| Minute mark: no amplitude modulation.
|}
</small>


== Resources ==
== Resources ==


TODO.
* [https://en.wikipedia.org/wiki/DCF77 Wikipedia: DCF77]
* [http://www.ptb.de/cms/en/fachabteilungen/abt4/fb-44/ag-442/dissemination-of-legal-time/dcf77.html TCP: DCF77] (German)


[[Category:Protocol decoder]]
[[Category:Protocol decoder]]

Revision as of 19:16, 1 February 2014

dcf77
Pollin dcf1 dcf77 module device top.jpg
Name DCF77 time protocol
Description European longwave time signal (77.5kHz carrier signal)
Status supported
License GPLv2+
Source code decoders/dcf77
Input logic
Output dcf77
Probes DATA
Optional probes

The dcf77 protocol decoder supports the DCF77 european longwave time signal (77.5kHz carrier signal).

Hardware

DCF77 on the Pollin DCF1 module

The dcf77/pollin_dcf1_module directory in sigrok-dumps contains a set of example captures of a DCF77 signal. The hardware used for receiving the signal is a Pollin DCF1 module (3.3V supply). The Pollin order number for the module is 810 054.

The dumps were made January 9, 2012 in the evening/night. Only the dcf77_480s_pon_interrupted.sr dump was made January 10, 2012 in the evening.

The logic analyzer used was a Saleae Logic (at 1MHz).

Probe setup:

Probe DCF1 module
1 (black) PON
2 (brown) DATA

Photos:

Protocol

Time code interpretation (taken from Wikipedia)

The time is represented in binary-coded decimal (BCD). It represents civil time, including summer time adjustments. The time transmitted is the time of the following minute; e.g. during December 31 23:59, the transmitted time encodes January 1 00:00.

Bit Weight Meaning Bit Weight Meaning Bit Weight Meaning
PM AM PM AM PM AM
:00 1 M Start of minute. Always 0. :20 S Start of encoded time. Always 1. :40 10 Day of month (continued)
:01 1 Civil warning bits, provided by the
Bundesamt für Bevölkerungsschutz
und Katastrophenwarnung
(Federal Office
of Civil protection and Disaster Relief).
Also contains weather broadcasts.
:21 1 Minutes
00–59
:41 20
:02 1 :22 2 :42 1 Day of week
Monday=1, Sunday=7
:03 1 :23 4 :43 2
:04 1 :24 8 :44 4
:05 1 :25 10 :45 1 Month number
01–12
:06 1 :26 20 :46 2
:07 1 :27 40 :47 4
:08 1 :28 P1 Even parity over minute bits 21–28. :48 8
:09 1 :29 1 Hours
0–23
:49 10
:10 0 :30 2 :50 1 Year within century
00–99
:11 0 :31 4 :51 2
:12 0 :32 8 :52 4
:13 0 :33 10 :53 8
:14 0 :34 20 :54 10
:15 R Call bit: abnormal transmitter operation.
Previously: backup antenna in use.
:35 P2 Even parity over hour bits 29–35. :55 20
:16 A1 Summer time announcement.
Set during hour before change.
:36 1 Day of month.
01–31
:56 40
:17 Z1 Set to 1 when CEST is in effect. :37 2 :57 80
:18 Z2 Set to 1 when CET is in effect. :38 4 :58 P3 Even parity over date bits 36–58.
:19 A2 Leap second announcement.
Set during hour before leap second.
:39 8 :59 0 Minute mark: no amplitude modulation.

Resources