Atmel AT88SA10HS [DATASHEET] 10
8595HCRYPTO9/2012
5.2 IO Blocks
Commands are sent to the chip, and responses received from the chip, within a block
Byte Number
that is constructed in the following way:
Name Meaning
0 Count
Number of bytes to be transferred to the chip in the block, including count, packet and
checksum, so this byte should always have a value of (N+1). The maximum size block is 39 and
the minimum size block is four. Values outside this range will cause unpredictable operation.
1 to (N-2) Packet Command, parameters and data, or response. See Section 6 for more details.
N-1, N Checksum
CRC-16 verification of the count and packet bytes. The CRC polynomial is 0x8005, the initial
register value should be zero and after the last
bit of the count and packet have been transmitted
the internal CRC register should have a value that matches that in the block. The first byte
transmitted (N-1) is the least significant byte of the CRC value so the last byte of the block is the
most significant byte of the CRC.
5.3 IO Flow
The general IO flow for the commands is as follows:
1. System sends Wake token
2. System sends transmit flag
3. Receive 0x11 value from AT88SA10HS to verify proper wakeup synchronization.
4. System sends command flag
5. System sends complete command block
6. System waits t
PARSE
for the AT88SA10HS to check for command formation errors
7. System sends transmit flag. If command format is OK, the AT88SA10HS ignores this flag because the computation
engine is busy. If there was an error, the AT88SA10HS responds with an error code
8. System waits t
EXEC
, see Section 5.1.1
9. System sends transmit flag
10. Receive output block from the AT88SA10HS, system checks CRC
11. If CRC from AT88SA10HS is incorrect, indicating transmission error, system resends transmit flag
12. System sends sleep flag to the AT88SA10HS
Where the command in question has a short execution delay the system should omit steps six, seven and eight and replace
this with a wait of duration t
PARSE
+ t
EXEC
.
5.4 Synchronization
Because the communications protocol is half duplex, there is the possibility that the system and the AT88SA10HS will fall out
of synchronization with each other. In order to speed recovery, AT88SA10HS implements a timeout that forces the
AT88SA10HS to sleep.
5.4.1 IO Timeout
After a leading transition for any data token has been received, AT88SA10HS will expect the remaining bits of the token to be
properly received by the chip within the t
TIMEOUT
interval. Failure to send enough bits or the transmission of an illegal token (a
low pulse exceeding t
ZLO
) will cause the chip to enter the sleep state after the t
TIMEOUT
interval.
The same timeout applies during the transmission of the command block. After the transmission of a legal command flag, the
IO timeout circuitry is enabled until the last expected data bit is received. Note that the timeout counter is reset after every
legal token, so the total time to transmit the command may exceed the t
TIMEOUT
interval while the time between bits may not.
In order to limit the active current if the AT88SA10HS is inadvertently awakened, the IO timeout circuitry is also enabled when
the AT88SA10HS receives a wake-up. If the first token does not come within the t
TIMEOUT
interval, the AT88SA10HS will go
back to the sleep mode without performing any operations.
The IO Timeout circuitry is disabled when the chip is busy executing a command.
Atmel AT88SA10HS [DATASHEET] 11
8595HCRYPTO9/2012
5.4.2 Synchronization Procedures
When the system and the AT88SA10HS fall out of synchronization, the system will ultimately end up sending a Transmit flag
which will not generate a response from the AT88SA10HS. The system should implement its own timeout which waits for
t
TIMEOUT
during which time the AT88SA10HS should go to sleep automatically. At this point, the system should send a Wake
token and after t
WLO
+ t
WHI
, a Transmit token. The 0x11 status indicates that the resynchronization was successful.
It may be possible that the system does not get the 0x11 code from the AT88SA10HS for one of the following reasons:
1. The system did not wait a full t
TIMEOUT
delay with the IO signal idle in which case the Atmel AT88SA10HS may have
interpreted the Wake token and Transmit flag as data bits. Recommended resolution is to wait twice the t
TIMEOUT
delay
and re-issue the Wake token.
2. The AT88SA10HS went into the sleep mode for some reason while the system was transmitting data. In this case, the
AT88SA10HS will interpret the next data bit as a Wake token, but ignore some of the subsequently transmitted bits
during its wake-up delay. If any bytes are transmitted after the wake-up delay, they may be interpreted as a legal flag,
though the following bytes would not be interpreted as a legal command due to an incorrect count or the lack of a
correct CRC. Recommended resolution is to wait the t
TIMEOUT
delay and re-issue the Wake token.
3. There are some internal error conditions within the AT88SA10HS which will be automatically reset after a t
WATCHDOG
interval, see below. There is no way to externally reset the AT88SA10HS the system should leave the IO pin idle for
this interval and issue the Wake token.
5.5 Watchdog Failsafe
After the Wake token has been received by the AT88SA10HS, a watchdog counter is started within the chip. After t
WATCHDOG
,
the chip will enter sleep mode, regardless of whether it is in the middle of execution of a command and/or whether some IO
transmission is in progress. There is no way to reset the counter other than to put the chip to sleep and wake it up again.
This is implemented as a fail-safe so that no matter what happens on either the system side or inside the various state
machines of the AT88SA10HS including any IO synchronization issue, power consumption will fall to the low sleep level
automatically.
5.6 Byte and Bit Ordering
The AT88SA10HS is a little-endian chip:
All multi-byte aggregate elements within this spec are treated as arrays of bytes and are processed in the order
received
Data is transferred to/from the AT88SA10HS least significant bit first on the bus
In this document, the most significant bit and/or byte appears towards the left hand side of the page
Atmel AT88SA10HS [DATASHEET] 12
8595HCRYPTO9/2012
6. Commands
The command packet is broken down in the following way:
Byte Name Meaning
0 Opcode The command code
1 Param1 The first parameter always present
2-3 Param2 The second parameter always present
4 + Data Optional remaining input data
If a command fails because the CRC within the block is incorrect or there is some other communications error, then
immediately after t
PARSE
the system will be able to retrieve an error response block containing a single byte packet. The value
of that byte will be all ones. In this situation, the system should re-transmit the command block including the proceeding
transmit flag providing there is sufficient time before the expiration of the watchdog timeout.
If the opcode is invalid, one of the parameters is illegal, or the AT88SA10HS is in an illegal state for the execution of this
command, then immediately after t
PARSE
the system will be able to retrieve an error response block containing a single byte
packet. The value of that byte will be 0x0F. In this situation, the condition must be corrected before the (modified) command is
sent back to the AT88SA10HS.
If a command is received successfully, the system will be able to retrieve the output block as described in the individual
command descriptions below after the appropriate execution delay.
In the individual command description tables following, the Sizecolumn describes the number of bytes in the parameter
documented in each particular row. The total size of the block for each of the commands is fixed, though that value is different
for each command. If the block size for a particular command is incorrect, the chip will not attempt the command execution
and returns an error.

AT88SA10HS-TSU-T

Mfr. #:
Manufacturer:
Microchip Technology / Atmel
Description:
Security ICs / Authentication ICs Host Auth. IC CryptoAuth SHA-256
Lifecycle:
New from this manufacturer.
Delivery:
DHL FedEx Ups TNT EMS
Payment:
T/T Paypal Visa MoneyGram Western Union

Products related to this Datasheet