Single Word Write
Last updated
Last updated
Writing a single word is an action performed by the Microcontroller (I2C-Master) to write data to 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 written into the IS4310's internal Pointer Register. Once the address is set, the Microcontroller can send the data to be stored.
To initiate the Single Word Write operation, the Microcontroller begins by pulling down the SDA line while the SCL line is high, creating 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 least significant byte, each acknowledged by the IS4310. This sets the address of the next word to be written in the Pointer Register, preparing the device to receive the data.
The Microcontroller then sends the most significant byte of the word to be written first, which the IS4310 acknowledges. The Microcontroller follows by sending the least significant byte of the word, which the IS4310 also acknowledges. Finally, the Microcontroller issues a Stop Condition by raising the SDA line while the SCL line is high.
After the Stop Condition, if any of the Modbus Configuration Registers (MBADR, MBBDR, MBPAR, MBSTP) are written with a value different from the previous one, a 25 millisecond Flash Memory write cycle will begin.
Invalid Memory Addressing
The valid memory range of the IS4310 goes from addresses 0 to 503. If a Write Operation is performed with a Pointer Register higher than 503, the IS4310 will answer with a NACK on the first received byte of the word.
(Click to enlarge)