I2C Interview Questions


1)Who designed I2C?

 I2C was designed by Philips(NXP Semiconductors) in 1982.


2)What is the Full Form of I2C

 Inter-Integrated Circuit

3)Why I2C Protocol is Designed?

 a) I2C Protocol is designed for Master and Slave Communication.

b)I2C Protocol is also designed for Multi-Master Communication.

4)How many wires are used in I2C Communication?

 I2C is a two wired protocol.

 

   a) Serial Data(SDA) - It is used for Data Transfer

   b) Serial Clock(SCL) - It is used as Clock Line

                                         Used for Synchronization.

 5)Is I2C  Half-duplex (or) Full Duplex?

        Half Duplex

6)Is I2C Synchronous (or) Asynchronous Communication?

       Synchronous Communication


7)Is I2C Serial (or) Parallel Communication?

        Serial Communication

8)What are the standard bus speeds in I2C Communication?       

Mode

Speed

Standard Speed Mode

100 Kbps

Fast Mode

400 Kbps

Fast Mode Plus

1 Mbps

High Speed Mode

3.4 Mbps

Ultra High-Speed Mode

5 mbps

 9)What are the main features of I2C Communication?


a) I2C is Multi-Slave and Multi-Master Communication Protocol.

b) I2C Supports Multi-Master Arbitration Management.

c)I2C devices are Open Drain.

d)I2C bus is Wired AND Bus.

 10)What is the byte order in I2C?

MSB  to LSB

11)What is the I2C byte Format?

Every Byte put on the SDA line must be 8 bits long

12)How many Slaves can be connected to I2C?

a) As per theoretically we can connect up to 127 devices for 7 Bit Address and 1024 devices will connect for 10 Bit Address.

b)But the practical maximum number of slaves on the I2C bus is limited by the address space and also by bus capacitance.

13)Who generates the clock in I2C Communication?

                   Master

14)What is Arbitration in I2C?

 a) The arbitration is required in the case of a multi-master,

     where more than one master is tried to communicate

     with a slave simultaneously. In I2C arbitration is

     achieved by the SDA line.

b) In the Arbitration - the master who will write a first

    dominant bit, that master get the bus control,

    it will win the arbitration.

 

c)Master who is losing their arbitration will wait until

   the bus becomes free.


15)Does I2C need Pull-Up resistors?

 a) SDA and SCL lines of I2C pins need pull up resistors for sure.

b) Open drain and open collector terminals need to pull up

    resistors to maintain the logic levels stable.

c)Open drain devices can drive the data line to zero.

d)To match voltage levels of master and slave external

     pull up resistors are used.

e)The I2C bus drivers are open drain, meaning that they

   can pull the corresponding signal line low, but cannot 

  drive it high. Thus, there can be no bus contention 

  where one device is trying to drive the line high while 

  another tries to pull it low, eliminating the potential for 

 damage to the drivers   or excessive power dissipation

 in the system. Each signal line has a pull-up 

resistor on it, to restore the signal to high when no 

device is asserting it low.

 16)Name some I2C devices?

 I2C is a serial protocol for two wire-interface to connect

  low-speed devices like

a) RTC

b) EEPROM

c)Thermometer

d)Accelerometer

 17)What is I2C Clock Stretching?

a) In I2C, Communication can be paused by the clock stretching

 

to holding the SCL line low and it cannot continue until

 

the SCL line is released high again.

 

b) In I2C, slave able to receive a byte of data on the fast rate

 

but sometimes slave takes more time in processing the

 

received bytes in that situation slave pull the SCL line to

 

pause the transaction and after processing the received

 

bytes, it again released the SCL line high to resume

 

the communication.

 18)What is I2C Clock Synchronization?

a) In I2C clock is always generated by the master and this

    clock is shared by both master and slave.

 b) In the case of multi-master, all master generates their SCL

    clock, hence the clock of all master must be synchronized.

c)In I2C, this clock synchronization is done by wired and logic.

19)Can one Slave communicate with another Slave?

                    No

20)Can one Slave have another Slave?

                    Yes

 21)Can we Connect 7 bit and 10 bit Slave Devices on the Same Bus?

                  Yes

22)What is the I2C byte write packet?

  a) START Condition

  b) Write 7-bit Slave Address

  c)Acknowledgment

  d)Write 8-bit Memory Address

  e) Acknowledgment

  f) Write 8-bit Data

  g) Acknowledgment

  h) STOP Condition

 23)What is the I2C byte read packet?

a) START Condition

b) Write 7-bit Slave Address with "Write" Option

c)Acknowledgment

d)Write 8-bit Memory Address

e) Acknowledgment

f) Restart (or) start again

g) Write 7 bits Slave Address with "Read" Option

h) Acknowledgment

i)Read 8 bit from Slave

j) No Acknowledgement

k)STOP Condition

 24)How many fields are in I2C?

 Totally Six fields are in I2C

a) I2C Start

b) I2C Stop

c)I2C Read

d)I2C Write

e) I2C Ack

f)I2C No Ack

 25)What is START Condition?

high to low transition on the SDA line while SCL is high

defines a START condition.

 26)What is STOP Condition?

A low to high transition on the SDA line while SCL is high

defines a STOP condition.

 27)What are the Advantages of I2C?

a) Flexibility

b) Better Error Handling Mechanism

c)Important features like arbitration,

  clock synchronization, clock stretching.

d)Adaptable

 28)What are Dis Advantages of I2C?

a) Half Duplex Communication, so data is transmitted

   only in one direction at a time.

b) Debugging an I2C bus is difficult.

c)Pull up resistors limit the bus speed.

 29)Can we Connect the same addressable slaves on the same bus?

                        No

 30)Which pin provides the reference clock for the transfer of data?

The SCL pin can provide the reference clock for the transmission of data but it is not a free-running clock.

 31)How slave selection is performed?

The slave selection is performed by using the first byte as an address byte. When the address byte is sent out all the slave devices compare the address by its value. If there is a match, the ACKNOWLEDGE signal will be sent by the slave.

 32)What if the two masters send the same data, same address at the same time?

Yes Possible, but both masters should have the same speed