Key Features

  • I2C standard
  • Master Controller
  • Software programmable bit rates
  • Clock Stretching and wait state generation
  • Configurable wait state time limit
  • Configurable acknowledge bit
  • Start/Stop/Repeated Start/Acknowledge generation
  • Independently programmable repeated start and stop
  • Supports 7bit addressing mode
I2C is two-wire, bi-directional serial bus that provides a simple and efficient method of data exchange between multiple devices. We have improved on this by allowing for programmable flexibility in the communication between master and slave, on a transaction by transaction basis. I2C is most suitable for applications requiring communication over a short distance between many devices. Data is transferred between a Master and a Slave synchronously a byte-by-byte basis. However our module provides a hardware configurable option to transmit and receive words (4 bytes at a time) at the system level. This option decreases read and write latency by 4X. The I2C module is very flexible and provides configurable features such as programmable wait time, and independent transaction Stop, Start, and Restart options which increase application efficiency. In addition the module provides status of transaction success and error reporting to allow the system to monitor and gather statistics on communication links.