I2C Transmission to ECC608-TNGHNT

The transmission of data from the system to the ECC608-TNGHNT is summarized in the table below. The order of transmission is as follows:

Figure 1. Normal I2C Transmission to ECC608-TNGHNT

SDA is driven low by the ECC608-TNGHNT ACK periods.

The following tables label the bytes of the I/O transaction. The column labeled “I2C Name” provides the name of the byte as described in the AT24C16 data sheet.

Table 1. I2C Transmission to ECC608-TNGHNT
Name I2C Name Description
Device Address Device Address This byte selects a particular device on the I2C interface. The ECC608-TNGHNT is selected if bits 1 through 7 of this byte match bits 1 through 7 of the I2C_Address byte in the Configuration zone. Bit 0 of this byte is the standard I2C R/W bit and must be zero to indicate a write operation (the bytes following the device address travel from the host to the client).
Word Address Word Address This byte must have a value of 0x03 for normal operation.
Command Data1, N The command group, consisting of the count, command packet and the 2-byte CRC. The CRC is calculated over the size and packet bytes.

Because the device treats the command input buffer as a FIFO, the input group can be sent to the device in one or many I2C command groups. The first byte sent to the device is the count, so after the device receives that number of bytes, it will ignore any subsequently received bytes until the execution is finished.

The system must send a Stop condition after the last command byte to ensure that ECC608-TNGHNT will start the computation of the command. Failure to send a Stop condition may eventually result in a loss of synchronization; see I2C Synchronization for recovery procedures.