14 parallel program load mode, 14 p, Arallel – Maxim Integrated Secure Microcontroller User Manual
Page 152: Rogram, Table 16-b. 8751-compatible program load cycles

Secure Microcontroller User’s Guide
152 of 187
16.14 Parallel Program Load Mode
summarizes the selection of the available parallel program load cycles.
the timing associated with these cycles.
Table 16-B. 8751-Compatible Program Load Cycles
MODE
RST
PSEN
PROG
EA
P2.7
P2.6
P2.5
Program
1
0
0
V
PP
1
0
X
Security Set
1
0
0
V
PP
1
1
X
Verify
1
X
0
1
0
0
X
Prog Expanded
1
0
0
V
PP
0
1
0
Verify Expanded
1
0
1
1
0
1
0
Prog MCON or Key
1
0
0
V
PP
0
1
1
Verify MCON
1
0
1
1
0
1
1
The program cycle is used to load a byte of data into a register or memory location within the DS5000.
The verify cycle is used to read this byte back for comparison with the originally loaded value to verify
proper loading. The security set cycle may be used to enable the software security feature of the DS5000.
One may also enter bytes for the MCON register or the encryption key using the program MCON cycle.
When using this cycle, the absolute register address must be presented at Port 1 and 2 as is the normal
program cycle (Port 2 should be 00h). The MCON contents can be likewise verified using the Verify
MCON cycle.
When the DS5000 first detects a parallel program strobe pulse or a security set strobe pulse while in the
program load mode following a power-on reset, the internal hardware of the DS5000 is initialized so that
an existing 4kB 8751 program can be programmed into a DS5000 with little or no modification. This
initialization automatically sets the range address for 8kB and maps the lower 4kB bank of embedded
RAM as program memory. The top 4kB of embedded RAM are mapped as data memory. In order to
program code (and thereby use the DS5000-enhanced capability), the program/ verify expanded cycles
can be used. Up to 32kB of program code can be entered and verified. Note that the expanded 32K byte
program/verify cycles take much longer than the standard cycles.
A typical parallel loading session would follow this procedure. First, set the contents of the MCON
register with the correct range and partition (if using expanded programming). Next, the encryption key
can be loaded if desired. Then, program the DS5000 using either standard or expanded program cycles
and verify. Last, turn on the security lock using a Security Set cycle.
The security set strobe pulse from an 8751-compatible programming system can enable the software
security feature of the DS5000. To explain this operation on the DS5000, it is useful to review how this
function works with the 8751. The security set strobe pulse is used to program the EPROM security lock
bit on an 8751. The programmed bit disables the on-chip EPROM memory from being read back during a
Verify cycle. The bit can only be erased by UV light when the rest of the program is erased.
With the DS5000, the security set strobe pulse serves a similar function for its NV RAM-based security
lock which when set disables the NV RAM from beginning read either through a Verify cycle in the
parallel program mode or back through the serial port in the serial port mode. When a security set strobe
pulse is received by the DS5000, the current state of the security lock bit is checked. If it is currently a 0,
it will be set to 1. The security lock can be cleared by clearing the LSB of the MCON register.