Single Word Read
Last updated
Last updated
Reading a single word is an action performed by the Microcontroller (I2C-Master) to access any register within the IS4310 memory (I2C-Slave), regardless of the last read or written position. To perform this action, the microcontroller must first load the address of the IS4310 register to be read into the IS4310's internal Pointer Register. Once the address is set, the microcontroller can retrieve the data from the specified register.
To initiate the Single Word Read operation, the microcontroller begins by pulling down the SDA while the SCL is high to create a Start Condition. It then sends the IS4310 I2C device address (0x11) with the R/W bit set to '0' (write). Upon receiving the device address, the IS4310 acknowledges it. Subsequently, the microcontroller sends the two bytes of the Pointer Register address: the most significant byte first, followed by the less significant byte, each acknowledged by the IS4310. This sets the address of the next word to be read in the Pointer Register.
Next, the content of the Pointer Register, which is a word (two bytes), needs to be read.
The microcontroller generates a Repeated Start Condition, followed by the IS4310 I2C device address (0x11) with the R/W bit set to '1' (read), instructing the IS4310 to retrieve data. The IS4310 acknowledges and responds with the most significant byte, which the microcontroller acknowledges. Then, the IS4310 sends the less significant byte, which the microcontroller does not acknowledge (NACK). Finally, the microcontroller issues a Stop Condition by raising the SDA line while the SCL is high.
Invalid Memory Addressing
The valid memory range of the IS4310 goes from addresses 0 to 503. If a Read Operation is performed with a Pointer Register higher than 503, the read result will be 0xFFFF.
(Click to enlarge)