written 5.9 years ago by | • modified 5.8 years ago |
I²C Bus: In any process plant there are n numbers of device circuits that are used for measurement of temperature, pressure and it is required to connect these ICs through a common bus. For this I²C has become a standard.
There are three standards:
- Industrial 100 kbps I²C.
- 100 kbps SM I²C.
- 400 kbps I²C.
The I²C bus has two lines that carry its signals. One line is for the clock and another is for the bi-directional data. Serial data line [SDA] and Serial Clock [SCL]. The voltages used are +5 V and +3.3 V.
There is a protocol for the I²C bus.
A: Acknowledge
P: Stop condition
S: Start Condition
Sr: Repeated Start Condition
Wr: Write (Bit value of 0)
Rd Read (Bit value of 1)
Field and its length | Description |
---|---|
1st field of 1 bit | It is like a start bit in UART |
2nd field of 7 bits | It is address field. It defines the slave address, which is being sent the data frame by the master. |
3rd field of 1 control bit | It defines whether a R/W cycle is in progress |
4th field of 1 control bit | Defines whether the present data is an acknowledgement. |
5th field of 8 bits | It is for the IC device data byte. |
6th field of 1-bit | It is a NACK (No Acknowledgement). If active then ACK is not needed from the slave, else ACK is needed. |
7th field of 1 bit | Similar to STOP bit in an UART. |
I²C Bus reference design has 7 bit address space with 16 reserved addresses, so a maximum 112 nodes can communicate on the same bus.
Each device has an unique address using which the data transfer is carried out. The master can address have 127 slaves at an instance.
It has a processing element functioning as a bus controller or a microcontroller with I²C bus interface circuit.
So each slave must have an I²C bus controller and processing element. A number of masters can also connect to bus but there can be only one master which can initiate data transfer on SDA line and which can transmit the SCL pulses.
Common I²C Bus speeds are 100 Kbps standard mode and 10 Kbps low speed mode.