Inter-Integrated Circuit(I2C)

From datarecoverywiki.com
Jump to navigation Jump to search

Data Recovery Resources

Background information

I2C was designed for short distance serial communication has two modes

  • Master mode
  • Slave mode


Similar to how SPI functions, with a Controller often acting in master mode and the components
of the device acting as in slave mode, meaning they just receive commands and listen to the master
device.

Data transfer

All data transfers are on the SDA line that are synchronized by a high to low pulse (line goes down)
of the clocks on the SCL line. As the data lines can only change when SCL is set low (besides start and stop)
Due to the design of I2C the use of a pull-up resistor is needed to pull the line
to the voltage range which is considered high, because without one it is impossible for the circuit to reach
the required voltage, and cause the line to be considered "floating"(has an undefined voltage level).

Packet size and layout

  • Start Condition - 1 bit:
  • Slave Address - 8 bits:
  • Acknowledge - 1 bit:

Steps of data transmission

  • Start condition - pulls SDA low and keeps SCL high (this means a transmission is about to start)
  • Addressing the slave - The master sends the 7-bit address of the slave device it wants to be
    communicate with, with the the 8th bit saying if it wants to read or write.
  • Acknowledgement - the Slave pulls SDA low on the next clock pulse, to confirm its received the message, and it is ready to communicate with the master device.
  • Depending on if it is a read or a write operation, the master or the slave sends data in
    8 - bit chunks with an acknowledgement after to check if the data has been received successfully.
  • Stop Condition - The master releases SDA allowing it to default back to high, which signals
    the communication has finished
    • Serial data(SDA)- Transfer the data
    • Serial Clock(SCL)- holds the clock signal

    Related Topics

    Topics such as desoldering to chip off or firmware dumping for disk PCB repairs

    Further reading

    External references in wiki references can just be cited through the keyword link