Skip to content

Latest commit

 

History

History
14 lines (11 loc) · 1.5 KB

12C at glance.md

File metadata and controls

14 lines (11 loc) · 1.5 KB

I2C communication protocol is a serial communication protocol with two wire interface. It is commonly used for communication between integrated circuits on the same circuit board.

-> It has an I2C controller and I2C memory. The communication between them done using SDA and SCL port.
-> start condition : SDA stays at active high for one bit rate and then active low for one bit rate. At the same time, SCL stays at active high for 2 bit rate.
-> After start condition adress bit (MSB -> LSB) and a bit to represent the operation (read [active high] or write [active low]) is send through SDA respectively.
-> An acknowledgement bit (active high for one bit rate) is sent following the operation bit. Then Data is sent (MSB -> LSB) through SDA after that an acknowledgement bit sent again.
-> stop condition : SDA stays at active low for one bit rate and then active high for one bit rate. At the same time, SCL stays at active high for 2 bit rate.

Done port in I2C controller is turned to active high when the transaction is complete.
newd in I2C controller is turned to active high when there is new data to send.

click here
Design_code
testbench_code