It is possible for the system to lose synchronization with the I/O port on the ATECC608A-TFLXTLS, perhaps due to a system Reset, I/O noise, or other conditions. Under this circumstance, the ATECC608A-TFLXTLS may not respond as expected, may be asleep, or may be transmitting data during an interval when the system is expecting to send data. To resynchronize, the following procedure can be followed:
It should then be possible to send a read sequence, and if synchronization completes properly, the ATECC608A-TFLXTLS will ACK the device address. The device may return data or may leave the bus floating (which the system will interpret as a data value of 0xFF) during the data periods.
If the device does ACK the device address, the system should reset the internal address counter to force the ATECC608A-TFLXTLS to ignore any partial input command that may have been sent. This can be accomplished by sending a write sequence to word address 0x00 (Reset), followed by a Stop condition.