ST52F510FMB6 STMICROELECTRONICS [STMicroelectronics], ST52F510FMB6 Datasheet - Page 37

no-image

ST52F510FMB6

Manufacturer Part Number
ST52F510FMB6
Description
8-BIT INTELLIGENT CONTROLLER UNIT ICU Two Timer/PWMs, ADC, I2C, SPI, SCI
Manufacturer
STMICROELECTRONICS [STMicroelectronics]
Datasheet
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 other 31 locations are available to
the user for writing data, as for example
identification codes to distinguish the firmware
version loaded in the device.
The ID Code must be written before locking the
device: after the device is locked it can only be
read. The use of the Block writing procedure is the
fastest way: both the ID Code and the Lock bytes
are written together. The lock Bytes are sent first
and then the 31 bytes of ID Code follow.
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.
Table 4.3 Error codes
Wrong command/data case handling:
S=Start, P=Stop, A=Acknowledge, NA=Non-acknowledge
Device Locked
Wrong Direction
Stop Missed
Data Missing
Receive Error
Wrong Command
Not Allowed
Wrong Mode
Wrong Command/Data
From Slave to Master
Name
x0000001
x0000010
x0000100
x0000101
x0010000
x0000011
x0000110
xyyyyyyy
Code
A
Command/Data NA ReadStatus A P S 10100001
x=lock bit (1=device locked), yyyyyyy=error code
A transmit direction, not correct in the running sequence, has been set
The Master missed generating a necessary Stop Condition
The Master missed to send necessary data to the device
The data sent by the Master hasn’t been received correctly by the device
The Master sent a wrong command code
A command not allowed when the device is locked has been sent
A code different form the Programming mode code (00000000) has been sent
From Master to Slave
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
command. Figure 4.5 shows the error sequence.
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
in Table 4.3.
Remark:
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.
Description
after
the
ST52F510/F513/F514
ReadStatus
A
Status Byte NA P
command
37/106

Related parts for ST52F510FMB6