ZLAN-265 Application Note
2
Zarlink Semiconductor Inc.
2.0 Latching the Time of Day (ToD) seed
1. Enable and Configure the ToD_up date register
a. Read the DCO_update register (page A, address 0x6C)
curRegValue = Read(page A, address 0x6C)
b. Set the enable_ToD_update bits [1:0] of the DCO_update register equal to '11'.
curRegValue = curRegValue | 0x03
Write(page A, address 0x6C, curRegValue )
c. Configure the ToD_update_config registers (page A, addresses 0c74 and 0x75)
Write(page A, address 0x74, 0x12 )
Write(page A, address 0x75, 0x7A )
d. (optional) Change the Update interval by configuring the ToD_update_interval
bits [3:0] in the Interval_Control register (page A, address 0x71)
Default ToD_update_interval bits [3:0] = '0111' = 7d
Default Update interval = (2ToD_update_interval+17)*12.5ns
= 2(7+17)*12.5ns = 209.7ms
2. Align the internal 1 Hz to external 1PPS sync pulse
a. Read the ToP_1Hz_alignment register (page A, address 0x72)
curRegValue = Read(page A, address 0x72)
b. Clear bits 2,3,4,5 of the ToP_1Hz_alignment register while preserving the other
register settings.
curRegValue = curRegValue & 0xC3
c. Set the 1Hz_sync_ctrl bits [5:4] of the ToP_1Hz_alignment register equal to
'01' which will set an interrupt.
curRegValue = curRegValue | 0x10
Write(page A, address 0x72, curRegValue )
d. Wait for the interrupt to clear by monitoring the ToP_1Hz_alignment register
until bits 4 and 5 are cleared.
LOOP:
{
curRegValue = Read(0xA_72)
if ((curRegValue & 0x30) == 0) {BREAK}
else {CONTINUE}
}