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 Write

PreviousMultiple Word ReadNextMultiple Word Write

Last updated 2 months ago

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)

IS4310 Single Word Write I2C Frame