SLVSIZ2 April 2026 FAN31790
PRODUCTION DATA
During an I2C write operation to the FAN31790, the controller must transmit a memory address to identify the memory location where the FAN31790 is to store the data. The memory address is always the second byte transmitted during a write operation following the FAN31790 address byte.
To write a single byte to the FAN31790, the controller must generate a START condition, write the address byte (R/W = 0), write the memory address, write the byte of data, and generate a STOP condition. The controller must read theFAN31790’s acknowledgment during all byte write operations. This method can be used to write in the register/memory of the FAN31790.
Unlike the write operation that uses the specified memory address byte to define where the data is to be written, the read operation occurs at the present value of the memory address counter. To read a single byte from the FAN31790, the controller generates a START condition, writes the address byte with R/W =1, reads the data byte with a NACK to indicate the end of the transfer, and generates a STOP condition. However, since requiring the controller to keep track of the memory address counter is impractical, the following method should be used to perform reads from a specified memory location. From here, the controller can manipulate the Address Counter for Reads by forcing the address counter to a particular value. To do this, the controller generates a START condition, writes the address byte (R/W = 0), writes the memory address where it desires to read, generates a repeated START condition, writes the address byte (R/W = 1), reads data with ACK or NACK as applicable, and generates a STOP condition. Recall that the controller must NACK the last byte to inform the FAN31790 that no additional bytes are to be read.
Finally, if the controller wants to read multiple bytes from the FAN31790, the controller simply ACKs the data byte if it desires to read another byte before terminating the transaction. After the FAN31790 reads the last byte, it must NACK to indicate the end of the transfer and generate a STOP condition.