
Obsolete
Product(s)
- Obsolete
Product(s)
Figure 4.5 Error Handling Procedure
When the device is locked, if memory reading is
attempted, with the exception of the Lock Byte and
ID Code block, the device returns no data and an
error sequence. If memory writing is attempted in
any memory location, the device doesn’t carry out
the command and returns an error sequence.
To unlock the device the GlobalErase command
must be executed before any writing or reading
command.
4.5 ID Code
Block 3 on Page 48 (030h) can also be read if the
device is locked. The first byte of the block is the
Lock Byte, the following 21 locations (bytes 1-21)
are available to the user for writing data, as for
example identification codes to distinguish the
firmware version loaded in the device.
Warning: do not perform writing on the last 8 bytes
(bytes 22 to 31), because they are reserved.
The ID Code must be written before locking the
device: after the device is locked it can only be
read. The blocks 0, 1 and 2 on Page 48 can be also
be used for writing data, but they cannot be
accessed when the device is locked.
Note: the ID Code cannot be modified if the device
is locked: it can only be read.
4.6 Error cases
If a wrong command or data is sent to the device,
it generates an error condition by not sending the
acknowledge after the first successive data or
The error case can be handled by using the
ReadStatus command. This command can be sent
after the error condition is detected; the device
returns a Status Byte containing the error code.
The ReadStatus command sequence is showed in
Figure 4.5. The list of the error codes is illustrated
Remark:
after
the
ReadStatus
command
execution or after any error, the Start Sequence
must be carried out before sending a new
command.
The Most Significative Bit of the error codes
indicates (when set to ‘1’) that the memory is
locked. When a command, that is not allowed
when the memory is locked, is sent, the “Not
Allowed” code is sent. If another code is sent with
the MSB to ‘1’ it indicates that the error condition is
not caused by the memory lock, but by the event
related with the code sent.
Warning: when the data writing into a non existing
location is attempted, no error condition is
generated. The user must take care in specifying
the correct page address.
Wrong command/data case handling:
S=Start, P=Stop, A=Acknowledge, NA=Non-acknowledge
From Slave to Master
From Master to Slave
Wrong Command/Data
A
Command/Data NA P
S 10100000
A
ReadStatus A P
S
.....
..... 10100001
A
Status Byte NA
P
Table 4.3 Error codes
Name
Code
Description
Device Locked
xyyyyyyy
x=lock bit (1=device locked), yyyyyyy=error code
Wrong Command
x0000101
The Master sent a wrong command code
Not Allowed
x0000110
A command not allowed when the device is locked has been sent
Wrong Mode
x0010000
A code different form the Programming mode code (00000000) has been sent