Synchronous, multi-master, multi-slave, packet switched, single-ended, serial computer bus
Using VisualSim I2C library, user can architect the “right” product, i.e. one which minimizes product failures and has not been over- or under- designed. The I2C library is generated by Serial Data Line-bidirectional line, which receives I2C pattern and transmits acknowledgement when communication was successful and Serial Clock Line-one directional line. VisualSim I2C library allows multiple slave devices to be connected to a single I2C bus, each of them is identified with a different address. To address the slave device, seven bits are used.
I2C is a serial protocol for two-wire interface to connect low-speed devices like microcontrollers, EEPROMs, ADC, DAC, I/O interfaces and other similar peripherals in embedded systems. I2C bus is popular because it is simple to use, there can be more than one master, only upper bus speed is defined and only two wires with pull-up resisters are needed to connect almost unlimited number of I2C devices. I2C can use even slower microcontrollers with general purpose I/O pins since they only need to generate correct start and stop condition in addition to functions for reading and writing a byte.