MSF receiver module (analogue but with data pins available)


Closed Thread
Results 1 to 4 of 4
  1. #1
    Join Date
    May 2008
    Posts
    33

    Default MSF receiver module (analogue but with data pins available)

    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

    Code:
     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

  2. #2
    Join Date
    May 2008
    Posts
    33


    Did you find this post helpful? Yes | No

    Default

    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:
    Code:
     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:
    Code:
     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
    Last edited by lew247; - 2nd June 2008 at 19:20.

  3. #3


    Did you find this post helpful? Yes | No

  4. #4
    Join Date
    May 2008
    Posts
    33


    Did you find this post helpful? Yes | No

    Default

    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.
    Last edited by lew247; - 2nd June 2008 at 21:33.

Similar Threads

  1. Using Nokia LCD
    By BobP in forum mel PIC BASIC Pro
    Replies: 300
    Last Post: - 3rd May 2018, 04:47
  2. Nokia 3310 display text
    By chai98a in forum mel PIC BASIC Pro
    Replies: 0
    Last Post: - 26th August 2007, 03:39
  3. Big characters on HD44780 4x20
    By erpalma in forum mel PIC BASIC Pro
    Replies: 23
    Last Post: - 7th January 2007, 02:21
  4. LCD + bar graph
    By DynamoBen in forum mel PIC BASIC Pro
    Replies: 13
    Last Post: - 5th October 2005, 14:50
  5. Sinus calculating !
    By Don Mario in forum mel PIC BASIC Pro
    Replies: 29
    Last Post: - 28th November 2004, 23:56

Members who have read this thread : 1

You do not have permission to view the list of names.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts