ZHCSQM3 December 2022 OPT3005
PRODUCTION DATA
Accessing a specific register on the OPT3005 is accomplished by writing the appropriate register address during the I2C transaction sequence. Refer to Table 8-6 for a complete list of registers and their corresponding register addresses. The value for the register address (as shown in Figure 8-1) is the first byte transferred after the sensor address byte with the R/W bit low.
Writing to a register begins with the first byte transmitted by the host. This byte is the sensor address with the R/W bit low. The OPT3005 then acknowledges receipt of a valid address. The next byte transmitted by the host is the address of the register that data are to be written to. The next two bytes are written to the register addressed by the register address. The OPT3005 acknowledges receipt of each data byte. The host can terminate the data transfer by generating a start or stop condition.
When reading from the OPT3005, the last value stored in the register address by a write operation determines which register is read during a read operation. To change the register address for a read operation, a new partial I2C write transaction must be initiated. This partial write is accomplished by issuing a sensor address byte with the R/W bit low, followed by the register address byte and a stop command. The host then generates a start condition and sends the sensor address byte with the R/W bit high to initiate the read command. The next byte is transmitted by the sensor and is the most significant byte of the register indicated by the register address. This byte is followed by an acknowledge from the host; then the sensor transmits the least significant byte. The host acknowledges receipt of the data byte. The host can terminate the data transfer by generating a not-acknowledge after receiving any data byte, or by generating a start or stop condition. If repeated reads from the same register are desired, continually sending the register address bytes is not necessary; the OPT3005 retains the register address until that number is changed by the next write operation.
Figure 8-2 and Figure 8-3 show the write and read operation timing diagrams, respectively. Note that register bytes are sent most significant byte first, followed by the least significant byte.