English
Language : 

ATSHA204A_14 Datasheet, PDF (22/82 Pages) ATMEL Corporation – Atmel CryptoAuthentication
5.2.1
Transmit Flag
The transmit flag is used to turn the bus around so that the ATSHA204A can send data back to the system. The
bytes that the device returns to the system depend upon the current state of the device, and may include either
status, error code, or command results.
When the device is busy executing a command, it ignores the SDA pin and any flags that are sent by the
system. See Section 8.5.2, “Command Opcodes, Short Descriptions, and Execution Times” for execution
delays in the device for each command type. The system must observe these delays before trying to
communicate with the device after sending a command.
5.3 Synchronization
Because the communications protocol is half-duplex, there is the possibility that the system and the
ATSHA204A will fall out of synchronization with each other. In order to speed recovery, the device implements a
timeout that forces it to sleep under certain circumstances.
5.3.1
I/O Timeout
After a leading transition for any data token has been received, the ATSHA204A will expect the remaining bits of
the token to be properly received by the device within the tTIMEOUT interval. Failure to send enough bits or the
transmission of an illegal token (a low pulse exceeding tZLO) will cause the device to enter the sleep state after
the tTIMEOUT interval.
The same timeout applies during the transmission of the command block. After the transmission of a legal
command flag, the I/O timeout circuitry is enabled until the last expected data bit is received.
Note: The timeout counter is reset after every legal token, and the total time to transmit the command may
exceed the tTIMEOUT interval while the time between bits may not.
The I/O timeout circuitry is disabled when the device is busy executing a command.
5.3.2
Synchronization Procedures
If the device is not busy when the system sends a transmit flag, the device should respond within tTURNAROUND. If
tEXEC time has not already passed, the device may be busy, and the system should poll or wait until the
maximum tEXEC time has elapsed. If the device still does not respond to a second transmit flag within
tTURNAROUND, it may be out of synchronization. At this point, the system may take the following steps to
reestablish communication:
1. Wait tTIMEOUT.
2. Send the transmit flag.
3. If the device responds within tTURNAROUND, then the system may proceed with more commands.
4. Send a Wake token.
5. Wait tWHI.
6. Send the transmit flag.
7. The device should respond with a 0x11 status within tTURNAROUND, at which time system may proceed with
commands.
Any command results in the I/O buffer may be lost when the system and device lose synchronization.
22 ATSHA204A [DATASHEET]
Atmel-8885D-CryptoAuth-ATSHA204A-Datasheet_072014