User’s Manual
10-11
05.99
OTP Memory Operation
C513AO-2E Only
10.6
Lock Bits Programming / Read
The C513AO-2E has two programmable lock bits which provide four levels of protection for the on-
chip OTP code memory, when programmed according Table 10-3.
Note: A “1” means that the lock bit is not programmed. A “0” means that lock bit is programmed.
For an OTP verify operation at Protection Level 1, the C513AO-2E must be put into the OTP
Verification Mode.
If a device is programmed with Protection Level 2 or 3, it is not possible to verify the OTP content
of a customer rejected (FAR) OTP device.
When a protection level has been activated by programming the lock bits, basic Programming Mode
must be left for activation of the protection mechanisms. This means that, after the activation of a
protection level, further OTP program/verify operations are still possible if basic Programming Mode
is maintained.
The state of the lock bits can always be read if Protection Level 0 is selected. If any of the Protection
Levels 1 to 3 has been programmed and Programming Mode has been left, it is not possible to enter
Programming Mode again. Additionally, in this case, the lock bits can no longer be read.
Table 10-3
Lock Bit Protection Types
Lock Bits at D1,D0 Protection
Level
Protection Type
D1
D0
1
1
Level 0
The OTP lock feature is disabled. During normal operation of
the C513AO-2E, the state of the EA pin is not latched on reset.
1
0
Level 1
During normal operation of the C513AO-2E, MOVC
instructions executed from external program memory are
disabled from fetching code bytes from internal memory. EA is
sampled and latched on reset. An OTP memory read operation
is possible only according to ROM/OTP Verification Mode 2.
Further programming of the OTP memory is disabled
(reprogramming security).
0
1
Level 2
Same as Level 1 except that OTP memory read operation
using OTP verification mode is disabled also.
0
0
Level 3
Same as Level 2 except that external code execution by setting
EA = low during normal operation of the C513AO-2E is no
longer possible.
External code execution, which is initiated by an internal
program (for example: by an internal jump instruction above the
ROM boundary), is still possible.