INACKS
  • Welcome to the IS4310 Modbus Chip Wiki
  • Datasheet
    • Presentation
    • Description
      • Function Codes
      • Exception Codes
      • IS4310 Advantages
      • Modbus UART Port
    • Pin Description
    • Memory Description
      • Memory Map Table
      • HOLDx Registers
      • MBADR Register
      • MBBDR Register
      • MBPAR Register
      • MBSTP Register
    • I2C-compatible Bus Description
      • Single Word Read
      • Multiple Word Read
      • Single Word Write
      • Multiple Word Write
  • Hardware Examples
    • RS485 Design Example
    • Isolated RS485 Design Example
    • Bus Topology
    • Cable Wiring
  • Firmware Examples
    • Arduino Example
    • STM32 Reading Example
    • STM32 Writing Example
  • Appendix
    • Mechanical Drawings
    • Ordering
    • Product Selection Guide
    • Documentation Feedback
    • Customization
    • Legal
Powered by GitBook
On this page
  1. Datasheet
  2. I2C-compatible Bus Description

Single Word Read

PreviousI2C-compatible Bus DescriptionNextMultiple Word Read

Last updated 2 months ago

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)

IS4310 Single Word Read I2C Frame