SNIS238 July 2025 TMP9R01-SEP
PRODUCTION DATA
Accessing a particular register on the TMP9R01-SEP device is accomplished by writing the appropriate value to the pointer register. The value for the pointer register is the first byte transferred after the target address byte with the R/W bit low. Every write operation to the TMP9R01-SEP device requires a value for the pointer register (see Figure 7-7).
When reading from the TMP9R01-SEP device, the last value stored in the pointer register by a write operation is used to determine which register is read by a read operation. To change which register is read for a read operation, a new value must be written to the pointer register. This transaction is accomplished by issuing a target address byte with the R/W bit low, followed by the pointer register byte; no additional data are required. The controller can then generate a start condition and send the target address byte with the R/W bit high to initiate the read command; see Figure 7-8 for details of this sequence.
If repeated reads from the same register are desired, continually sending the pointer register bytes is not necessary because the TMP9R01-SEP retains the pointer register value until the value is changed by the next write operation. The register bytes are sent MSB first, followed by the LSB. However, to mitigate the effects of single-event upsets and single-event functional interrupts, write the appropriate value to the pointer register each time a read operation is performed. Relying on the last value stored in the pointer register can increase the probability of a failed read due to a single event upset.
Terminate read operations by issuing a not-acknowledge command at the end of the last byte to be read. For a single-byte operation, the controller must leave the SDA line high during the acknowledge time of the first byte that is read from the target.