5
RTC2
1245D–CASIC–03/02
Error Checking A verification on user interface data is performed when accessing the century, year,
month, date, day, hours, minutes, seconds and alarms. A check is performed on illegal
BCD entries such as illegal date of the month with regards to the year and century
configured.
If one of the time fields is not correct, the data is not loaded into the register/counter and
a flag is set in the validity register. This flag cannot be reset by the user. It is reset as
soon as an acceptable value is programmed. This avoids any further side effects in the
hardware. The same procedure is done for the alarm.
The following checks are performed:
1. Century (check if it is in range 19-20)
2. Year (BCD entry check)
3. Date (check range 01-31)
4. Month (check if it is in BCD range 01-12,
check validity regarding “date”)
5. Day (check range 1-7)
6. Hour (BCD check: in 24-hour mode check range
00-23 and check that AM/PM flag is not set if RTC2 is set in 24-hour mode;in 12-
hour mode check range 01-12)
7. Minute (check BCD and range 00-59)
8. Second (check BCD and range 00-59)
Note: If the 12-hour mode is selected by means of the RTC_MODE register, a 12-hour value
can be programmed and the returned value on RTC_TIME will be the corresponding 24-
hour value. The entry control checks the value of the AM/PM indicator (bit 22 of
RTC_TIME register) to determine the range to be checked.
Updating Time/Calendar To update any of the time/calendar fields, the user must first stop the RTC2 by setting
the corresponding field in the Control Register. Bit UPDTIM must be set to update time
fields (hour, minute, second) and bit UPDCAL must be set to update calendar fields
(century, year, month, date, day).
Then the user must poll or wait for the interrupt (if enabled) of bit ACKUPD in the Status
Register. Once the bit reads 1, the user can write to the appropriate register.
Once the update is finished, the user must reset (0) UPDTIM and/or UPDCAL in the
Control Register.
When programming the calendar fields, the time fields remain enabled. This avoids a
time slip in case the user stays in the calendar update phase for several tens of seconds
or more.
In successive update operations, the user must wait at least one second after resetting
the UPDTIM/UPDCAL bit in the RTC_CR (Control Register) before setting these bits
again. This is done by waiting for the SEC flag in the Status Register before setting
UPDTIM/UPDCAL bit. After resetting UPDTIM/UPDCAL, the SEC flag must also be
cleared.