Datasheet

71M6543F/71M6543G Data Sheet
50 v2
2.5.4.2 Accessing the RTC
Two bits, RTC_RD (I/O RAM 0x2890[6]) and RTC_WR (I/O RAM 0x2890[7]), control the behavior of the
shadow register.
When RTC_RD is low, the shadow register is updated by the RTC after each two milliseconds. When
RTC_RD is high, this update is halted and the shadow register contents become stationary and are suitable
to be read by the MPU. Thus, when the MPU wishes to read the RTC, it freezes the shadow register by
setting the RTC_RD bit, reads the shadow register, and then lowers the RTC_RD bit to let updates to the
shadow register resume. Since the RTC clock is only 500 Hz, there may be a delay of approximately
2 ms from when the RTC_RD bit is lowered until the shadow register receives its first update. Reads to
RTC_RD continues to return a one until the first shadow update occurs.
When RTC_WR is high, the update of the shadow register is also inhibited. During this time, the MPU may
overwrite the contents of the shadow register. When RTC_WR is lowered, the shadow register is written into
the RTC counter on the next 500Hz RTC clock. A ‘change’ bit is included for each word in the shadow
register to ensure that only programmed words are updated when the MPU writes a zero to RTC_WR.
Reads of RTC_WR returns one until the counter has actually been updated by the register.
The sub-second register of the RTC, RTC_SBSC (I/O RAM 0x2892), can be read by the MPU after the one
second interrupt and before reaching the next one second boundary. RTC_SBSC contains the count since
the last full second, in 1/128 second nominal clock periods, until the next one-second boundary. When the
RST_SUBSEC bit is written, the SUBSEC counter is restarted, counting from 0 to 127. Reading and resetting
the sub-second counter can be used as part of an algorithm to accurately set the RTC.
The RTC is capable of processing leap years. Each counter has its own output register. The RTC chain
registers are not be affected by the reset pin, watchdog timer resets, or by transitions between the battery
modes and mission mode.
Table 42: RTC Control Registers
Name
Location
Rst
Wk
Dir
Description
RTCA_ADJ[6:0]
2504[6:0]
40
--
R/W
Register for analog RTC frequency adjustment.
RTC_P[16:14]
RTC_P[13:6]
RTC_P[5:0]
289B[2:0]
289C[7:0]
289D[7:2]
4
0
0
4
0
0
R/W
Registers for digital RTC adjustment.
0x0FFBF RTC_P 0x10040
RTC_Q[1:0]
289D[1:0]
0
0
R/W
Register for digital RTC adjustment.
RTC_RD
2890[6] 0 0 R/W
Freezes the RTC shadow register so it is suitable for
MPU reads. When RTC_RD is read, it returns the
status of the shadow register: 0 = up to date, 1 =
frozen.
Writing 0 to RTC_RD bit to enable shadow register
update, and writing 1 to RTC_RD to disable update
RTC_WR
2890[7] 0 0 R/W
Freezes the RTC shadow register so it is suitable for
MPU write operations. When RTC_WR is cleared, the
contents of the shadow register are written to the RTC
counter on the next RTC clock (~1 kHz). When
RTC_WR is read, it returns 1 as long as RTC_WR is
set, and continues to return one until the RTC counter
is updated.
Writing 0 to RTC_WR bit to enable copying the shadow
register contents to RTC counter, and writing 1 to
RTC_WR to disable copying
RTC_FAIL
2890[4] 0 0 R/W
Indicates that a count error has occurred in the RTC
and that the time is not trustworthy. This bit can be
cleared by writing a 0.
RTC_SBSC[7:0]
2892[7:0] R
Time remaining since the last 1 second boundary.
LSB = 1/128 second.