![](http://datasheet.mmic.net.cn/200000/TS87C52X2-MCKB_datasheet_15110809/TS87C52X2-MCKB_34.png)
Rev. C - Aug. 31, 1999
34
TS80C52X2
8. TS87C52X2
8.1 EPROM Structure
The TS87C52X2 is divided in two different arrays:
q
the code array: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 Kbytes.
q
the encryption array: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 bytes.
In addition a third non programmable array is implemented:
q
the signature array: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 bytes.
8.2 EPROM Lock System
The program Lock system, when programmed, protects the on-chip program against software piracy.
8.2.1 Encryption Array
Within the EPROM array are 64 bytes of encryption array that are initially unprogrammed (all FF’s). Every time
a byte is addressed during program verify, 6 address lines are used to select a byte of the encryption array. This
byte is then exclusive-NOR’ed (XNOR) with the code byte, creating an encrypted verify byte. The algorithm, with
the encryption array in the unprogrammed state, will return the code in its original, unmodified form.
When using the encryption array, one important factor needs to be considered. If a byte has the value FFh, verifying
the byte will produce the encryption byte value. If a large block (>64 bytes) of code is left unprogrammed, a
verification routine will display the content of the encryption array. For this reason all the unused code bytes
should be programmed with random values. This will ensure program protection.
8.2.2 Program Lock Bits
The three lock bits, when programmed
according to Table 19., will provide different level of protection for the
on-chip code and data.
U: unprogrammed,
P: programmed
WARNING: Security level 2 and 3 should only be programmed after EPROM and Core verification.
Table 19. Program Lock bits
Program Lock Bits
Protection description
Security
level
LB1
LB2
LB3
1
U
No program lock features enabled. Code verify will still be encrypted by the encryption
array if programmed. MOVC instruction executed from external program memory
returns non encrypted data.
2
P
U
MOVC instruction executed from external program memory are disabled from fetching
code bytes from internal memory, EA is sampled and latched on reset, and further
programming of the EPROM is disabled.
3
U
P
U
Same as 2, also verify is disabled.
4
U
P
Same as 3, also external execution is disabled.