System Interface Unit (SIU)
MPC8260 PowerQUICC II Family Reference Manual, Rev. 2
4-6 Freescale Semiconductor
This gives a range from 122 µs (PITC = 0x0000) to 8 seconds (PITC = 0xFFFF).
4.1.5 Software Watchdog Timer
The SIU provides the software watchdog timer option to prevent system lock in case the software becomes
trapped in loops with no controlled exit. Watchdog timer operations are configured in the SYPCR,
described in Section 4.3.2.8, “System Protection Control Register (SYPCR).”
The software watchdog timer is enabled after reset to cause a hard reset if it times out. If the software
watchdog timer is not needed, the user must clear SYPCR[SWE] to disable it. If used, the software
watchdog timer requires a special service sequence to be executed periodically. Without this periodic
servicing, the software watchdog timer times out and issues a reset or a nonmaskable interrupt,
programmed in SYPCR[SWRI]. Once software writes SWRI, the state of SWE cannot be changed.
The software watchdog timer service sequence consists of the following two steps:
1. Write 0x556C to the software service register (SWSR)
2. Write 0xAA39 to SWSR
The service sequence clears the watchdog timer and the timing process begins again. If a value other than
0x556C or 0xAA39 is written to the SWSR, the entire sequence must start over. Although the writes must
occur in the correct order before a time-out, any number of instructions can be executed between the
writes. This allows interrupts and exceptions to occur between the two wr ites when necessary. Figure 4-6
shows a state diagram for the watchdog timer.
Figure 4-6. Software Watchdog Timer Service State Diagram
Although most software disciplines permit or even encourage the watchdog concept, some systems require
a selection of time-out periods. For this reason, the software watchdog timer must provide a selectable
range for the time-out period. Figure 4-7 shows how to handle this need.
0x556C/Don’t reload
Reset
0xAA39/Reload
State 0
Waiting for 0x556C
State 1
Waiting for 0xAA39
Not 0xAA39/Don’t reload
Not 0x556C/Don’t reload