PDA

View Full Version : MSF receiver module (analogue but with data pins available)



lew247
- 1st June 2008, 19:15
Hi all
I've discovered an MSF clock module I have actually has a serial data output to display the full details fropm the msf signal, i.e. year, date day time etc

it's a clock module of German manufacture (http://www.u-t-s.de/radio%20controlled_1.htm)
There is no data sheet all I have is the following taken from the pdf file on the manufacturers website, I have emailed him asking for help/ info but his email doen't work!

Now I've looked up as much info as I can on the msf system, and from what i can gather its a simple data bcd/hex output? What I'd like to do is connect the output from the serial port on the clock module to a PIC chip, at the moment I have a 16F877A available but I'm open to suggestions of a more suitable chip?
I want to decode the output and display it on a 4 X 20 LCD
Getting the info to the lcd isnt a problem, I know how to do that
what I'd like help with, as in suggestions as to how to do it, is how to connect the data/clock pins from the module to the pic chip, and decode the info encoded in the data stream.
I've never done anything like this before so please be gentle in your rebuffs like read the dats sheet and the search function etc :)
Any suggestions welcome
Thanks in Advance


Taken from the PDF file the ONLY info relating to the data output pins:
Serial Output
This port can be used for connecting external units, like. digital displays.
Available information:
 Actual year
 Actual month
 Actual day
 Actual day of the week
 Actual hour [12h]
 Actual AM/PM
 Actual minute
 Actual second
The transmition always happens on the begining of every hour, at
HH:00.00,500 and takes 44 ms.
Additional transmitions will happen after „first receive“, „forced receive“ und „auto
receive“ and after any correction of the hands was necessary.

Specification Date: 09.03.2005
MSF RC_wallclockDO_Specification
2.7.1. Format of data
Nr. Describtion Format Numbers Explanation
1 daylow BCD 00 - 31 Lower byte of actual day
2 dayhigh BCD 00 - 31 High byte of actual day
3 dayofweek HEX 1 - 7 Day of the week, 1 = monday
4 month HEX 1 - 12 Actual month, 1 = January
5 yearlow HEX 00 - 63 Actual year, 14H = xx20
6 yearhigh HEX 00 - 63 Actual year, 14H = xx20
7 minutelow BCD 0 - 9 Actual minute, 0 - 9
8 minutehigh BCD 0 - 5 Actual minute, 10 -50, 0xxx = AM, 1xxx = PM
9 hour HEX 0 - 11 Actual hour
10 secondlow BCD 0 - 9 Actual second, 0 - 9
11 secondhigh BCD 0 - 5 Actual second, 10 -50


The transmition is serial, sychronized to a clock-frequency of 1 kHz. The clock frequency is
also available on the port. (see connection diagram)
Timing diagram:
clock pin … 1
data pin ... 2
First nibble Second nibble Third nibble Fourth nibble ...
daylow = 0101B =5 dayhigh = 0010H =2 dayofw. = 0011H =3 month = 1011H =11 ...
Beispiel: 25. Nov. Mittwoch
Example: Nov. 25th Wednesday

lew247
- 2nd June 2008, 18:00
Seeing there is no edit button on this and I cant change it
Does anyone know if the msf and dcf data is the same?

What I've discovered "so far" is that the DCF signal outputs THIS:

Bit Name Description Comment
0-14 Reserved Coding to requirement
15 R Send antenna 0 = Standard antenna / 1 = Reserve antenna
16 A1 Announcement 1 1 = Next hour a Daylight Saving Time (DST) change occurs
17 Z1 Time Zone bit 1 0 = Winter / 1 = Summer (DST)
18 Z2 Time Zone bit 2 0 = Summer / 1 = Winter (usually the opposite of Z1)
19 A2 Announcement 2 1 = Next hour an extra second is inserted (leap-second)
20 S Startbit Always 1, startbit coded time information
21-27 Minutes 7 bit, BCD, LSB first (00...59)
28 P1 Parity bit 1 Even parity for all received bits from the minutes
29-34 Hours 6 bit,BCD, LSB first (00...23)
35 P2 Parity bit 2 Even parity for all received bits from the hours
36-41 Day of the month 6 bit, BCD, LSB first (01...31)
42-44 Day of the week 3 bit, BCD, LSB first (1 = Monday...7 = Sunday)
45-49 Month 5 bit, BCD, LSB first (01...12)
50-57 Year 8 bit, BCD, LSB first (00...99)
58 P3 Parity bit 3 Even parity for all received bits from the date i'm guessing the bit numbers above are whats transmitted in those actual seconds?


While the MSF receiver module I have (and want to use) the only info I have to the outputs are:

Taken from the PDF file the ONLY info relating to the data output pins:
Serial Output
This port can be used for connecting external units, like. digital displays.
Available information:
Actual year
Actual month
Actual day
Actual day of the week
Actual hour [12h]
Actual AM/PM
Actual minute
Actual second
The transmition always happens on the begining of every hour, at
HH:00.00,500 and takes 44 ms.
Additional transmitions will happen after „first receive“, „forced receive“ und „auto
receive“ and after any correction of the hands was necessary.

Specification Date: 09.03.2005
MSF RC_wallclockDO_Specification
2.7.1. Format of data
Nr. Describtion Format Numbers Explanation
1 daylow BCD 00 - 31 Lower byte of actual day
2 dayhigh BCD 00 - 31 High byte of actual day
3 dayofweek HEX 1 - 7 Day of the week, 1 = monday
4 month HEX 1 - 12 Actual month, 1 = January
5 yearlow HEX 00 - 63 Actual year, 14H = xx20
6 yearhigh HEX 00 - 63 Actual year, 14H = xx20
7 minutelow BCD 0 - 9 Actual minute, 0 - 9
8 minutehigh BCD 0 - 5 Actual minute, 10 -50, 0xxx = AM, 1xxx = PM
9 hour HEX 0 - 11 Actual hour
10 secondlow BCD 0 - 9 Actual second, 0 - 9
11 secondhigh BCD 0 - 5 Actual second, 10 -50


The transmition is serial, sychronized to a clock-frequency of 1 kHz. The clock frequency is
also available on the port.
Timing diagram:
clock pin … 1
data pin ... 2
First nibble Second nibble Third nibble Fourth nibble ...
daylow = 0101B =5 dayhigh = 0010H =2 dayofw. = 0011H =3 month = 1011H =11 ...
Beispiel: 25. Nov. Mittwoch
Example: Nov. 25th Wednesday

I've got an example of a basic program to decode the German DCF signal but it's in proton basic while I'll be using picbasic pro, which isn't a problem I can figure out how to convert it ok
What i could do with some help on is, any ideas what bits I need to change in the code to get the msf module decoding?
i.e the main differences I need to look out for or work on changing
I've never done anything with clocks before, and never used a serial input to a pic either so any ideas are welcome :)

aerostar
- 2nd June 2008, 20:40
Info

http://www.npl.co.uk/upload/pdf/MSF_Time_Date_Code.pdf


http://www.galleon.eu.com/OEM-Receivers-MSF.htm

lew247
- 2nd June 2008, 21:00
Info

http://www.npl.co.uk/upload/pdf/MSF_Time_Date_Code.pdf


http://www.galleon.eu.com/OEM-Receivers-MSF.htm

Read those thanks. actually spent the last couple of days trying to digest them, but they arent a lot of help really
All i reallly need to know is in simple terms the differences between the 2 signals, or what bits of the code i'd have to look for/change to make it work with the other

Found out some more:
the module I'm using outputs its own serial data and it uses a 1khz sinc pulse, aparently as it arrives serially I have to shift the bits into 4 bit nibbles, whatever they are! and then convert some bits from bcd and some from hex but that bit shouldnt be a problem, its how to interface the serial output from the module to the pic, and how I'd use the serial data to decode it
sorry this is all probably really easy and simple to most of you but to me it's all new.