Rainbow Electronics W79E8213R User Manual
Page 68

Preliminary W79E8213/W79E8213R Data Sheet
Publication Release Date: July 11, 2008
- 68 -
Revision A2
16. TIME ACCESS PROCTECTION
The W79E8213 series have a new feature, like the Watchdog Timer which is a crucial to proper
operation of the system. If left unprotected, errant code may write to the Watchdog control bits
resulting in incorrect operation and loss of control. In order to prevent this, the W79E8213 series have
a protection scheme which controls the write access to critical bits. This protection scheme is done
using a timed access.
In this method, the bits which are to be protected have a timed write enable window. A write is
successful only if this window is active, otherwise the write will be discarded. This write enable window
is open for 3 machine cycles if certain conditions are met. After 3 machine cycles, this window
automatically closes. The window is opened by writing AAh and immediately 55h to the Timed Access
(TA) SFR. This SFR is located at address C7h. The suggested code for opening the timed access
window is
TA
REG
0C7h
;
Define
new
register
TA,
@0C7h
MOV
TA, #0AAh
MOV
TA,
#055h
When the software writes AAh to the TA SFR, a counter is started. This counter waits for 3 machine
cycles looking for a write of 55h to TA. If the second write (55h) occurs within 3 machine cycles of the
first write (AAh), then the timed access window is opened. It remains open for 3 machine cycles,
during which the user may write to the protected bits. Once the window closes the procedure must be
repeated to access the other protected bits.
Examples of Timed Assessing are shown below.
Example 1: Valid access
MOV
TA, #0AAh
; 3 M/C Note: M/C = Machine Cycles
MOV
TA,
#055h
;
3
M/C
MOV
WDCON,
#00h
;
3
M/C
Example 2: Valid access
MOV
TA,
#0AAh
;
3
M/C
MOV
TA,
#055h
;
3
M/C
NOP
; 1 M/C
SETB
EWRST ;
2
M/C
Example 3: Valid access
MOV
TA, #0AAh
; 3 M/C
MOV
TA,
#055h
;
3
M/C
ORL
WDCON,
#00000010B
;
3M/C
Example 4: Invalid access
MOV
TA,
#0AAh
;
3
M/C
MOV
TA,
#055h
;
3
M/C
NOP
; 1 M/C
NOP
; 1 M/C
CLR
EWT
; 2 M/C