English
Language : 

TS80C58X2_14 Datasheet, PDF (36/62 Pages) ATMEL Corporation – Programmable Clock Out and Up/Down Timer/Counter 2
16. TS80C54/58X2 ROM
16.1
ROM Structure
The TS80C54/58X2 ROM memory is in three different arrays:
• the code array:16/32 Kbytes.
• the encryption array:64 bytes.
• the signature array:4 bytes.
16.2
ROM Lock System
The program Lock system, when programmed, protects the on-chip program against software
piracy.
16.2.1
Encryption Array
Within the ROM 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.
16.2.2
Program Lock Bits
The lock bits when programmed according to Table 16-1. will provide different level of protection
for the on-chip code and data.
Table 16-1. Program Lock bits
Program Lock Bits
Security
level
LB1
LB2
LB3
Protection Description
No program lock features enabled. Code verify will still be encrypted by
1
U
U
U the encryption array if programmed. MOVC instruction executed from
external program memory returns non encrypted data.
MOVC instruction executed from external program memory are disabled
2
P
U
U from fetching code bytes from internal memory, EA is sampled and
latched on reset.
U: unprogrammed
P: programmed
16.2.3
Signature bytes
The TS80C54/58X2 contains 4 factory programmed signatures bytes. To read these bytes, per-
form the process described in section 8.3.
16.2.4
Verify Algorithm
Refer to 17.3.4
36 AT/TS8xC54/8X2
4431E–8051–04/06