Ultralink Clock


Synopsis

Address: 127.127.34.u
Reference ID: WWVB
Driver ID: ULINK
Serial Port: /dev/wwvbu; 9600 bps, 8-bits, no parity

Features: (none)

Description

This driver supports the Ultralink Model 325 (replacement for Model 320) RS-232 powered WWVB receiver. PDF specs available on http://www.ulio.com/. This driver also supports the Model 320, 330,331,332 decoders in both polled or continous time code mode.
Leap second and quality are supported.

Most of this code is originally from refclock_wwvb.c with thanks. Any mistakes are mine. Any improvements are welcome.


  The Model 325 timecode format is:
 
   <cr><lf>RQ_1C00LYYYY+DDDUTCS_HH:MM:SSL+5
 
  where:
 
  R = Signal readability indicator, ranging from R1 to R5  
  Q	R1 is unreadable, R5 is best reception
  _ = Space
  1 = prev. received data bit, values: 0, 1 ,M or ? unknown
  C = Signal reception from (C)olorado or (H)awaii
  0 = Hours since last WWVB time and flag code update, values
  0	00 to 99 (hopefully always 00)
  L = HEX A5 if receiver is locked to WWVB, Space if not
  YYYY = Year from 2000 to 2099
  + = '+' if current year is a leap year, else ' '
  DDD = current day in the year from 1 to 365/366
  UTC = timezone (always UTC)
  S = Daylight savings indicator, (S)TD, (D)ST, (O) transition
      into DST, (I) transition out of DST
  _ = Space
  HH = UTC hour 0 to 23
  : = Time delimiter, ':' if synced, Space if not
  MM = Minutes of current hour from 0 to 59
  : = Time delimiter, ':' if synced, Space if not
  SS = Seconds of current minute from 0 to 59
  mm = 10's milliseconds of the current second from 00 to 99
  L  = Leap second pending at end of month, (I)nsert, (D)elete
       or Space
  +5 = UT1 correction, +/- .1 sec increments
 

Note that Model 325 reports a very similar output like Model 33X series. The driver for this clock is similar to Model 33X behavior. On a unmodified new ULM325 clock, the polling flag (flag1 =1) needs to be set.


  The Model 320 timecode format is:
 
   <cr><lf>SQRYYYYDDD+HH:MM:SS.mmLT<cr>
 
  where:
 
  S = 'S' -- sync'd in last hour, '0'-'9' - hours x 10 since last update, else '?'
  Q = Number of correlating time-frames, from 0 to 5
  R = 'R' -- reception in progress, 'N' -- Noisy reception, ' ' -- standby mode
  YYYY = year from 1990 to 2089
  DDD = current day from 1 to 366
  + = '+' if current year is a leap year, else ' '
  HH = UTC hour 0 to 23
  MM = Minutes of current hour from 0 to 59
  SS = Seconds of current minute from 0 to 59
  mm = 10's milliseconds of the current second from 00 to 99
  L  = Leap second pending at end of month -- 'I' = inset, 'D'=delete
  T  = DST <-> STD transition indicators
 

Note that this driver does not do anything with the T flag.

The M320 also has a 'U' command which returns UT1 correction information. It is not used in this driver.


  The Model 33x timecode format is:

    S9+D 00 YYYY+DDDUTCS HH:MM:SSl+5

  Where:

  S =    sync indicator S insync N not in sync
         the sync flag is WWVB decoder sync
         nothing to do with time being correct
  9+ =   signal level 0 thru 9+ If over 9 indicated as 9+
  D  =   data bit ( fun to watch but useless ;-)
  space
  00 =   hours since last GOOD WWVB frame sync
  space
  YYYY = current year
  +  =   leap year indicator
  DDD =  day of year
  UTC =  timezone (always UTC)
  S  =   daylight savings indicator
  space
  HH  =  hours
  :  =   This is the REAL in sync indicator (: = insync)
  MM  =  minutes
  :  =   : = in sync ? = NOT in sync
  SS  =  seconds
  L  =   leap second flag
  +5 =   UT1 correction (sign + digit ))
 

This driver ignores UT1 correction,DST indicator,Leap year and signal level.


Fudge factors

flag1 polling enable (1=poll 0=no poll)


mail
Last modified: Mon Mar 8 10:12:08 PST 2004