iTop-4412 裸机程序(二十三)- I2C通信原理

目录

  • 1. I2C 通信
    • 1.1 I2C 通信的特点
    • 1.2 I2C 通信的方式
  • 2 I2C 通信协议


1. I2C 通信

I2C(Inter-Integrated Circui,集成电路总线),是一种用于连接微控制器和外部设备的串行通信协议。它允许多个设备通过两根线(时钟线和数据线)进行通信,从而实现简单而有效的数据传输。I2C通常用于连接传感器、存储器、显示器和其他外部设备。

  • 时钟线(SCL,Serial Clock,串行时钟)
  • 数据线(SDA,Serial Data,串行数据)

1.1 I2C 通信的特点

  • 串行通信:所有的数据以位为单位在SDA线上串行传输。
  • 同步通信:通信双方工作在同一个时钟下,通信线中有CLK
  • 非差分: I2C 通信信号的传输中只有一个信号线,所有只能使用非差分信号。
  • 低速率。I2C一般是用在同一个板子上的2个IC之间的通信,而且用来传输的数据量不大,所以本身通信速率很低(一般几百KHz,不同的I2C芯片的通信速率可能不同)

1.2 I2C 通信的方式

  • 使用主设备 + 从设备的方式通信。
  • 主设备只能有一个,从设备可以有多个
  • 主设备来负责调度总线,决定某一时间和哪个从设备通信

2 I2C 通信协议

  • 起始和停止条件:通信开始时,主设备发送起始条件(S)指令,通信结束时发送停止条件(P)指令。
  • 寻址机制:每个设备都有一个唯一的7位地址,主设备通过发送设备地址来选择要通信的设备。
  • 数据传输:数据传输是以字节为单位进行的,每个字节包含8位数据和1位应答位。
  • 时序要求:I2C通信需要严格的时序要求,包括数据线上的数据变化必须在时钟线上升沿之前完成
  • I2C总线上有2种状态;空闲态(所有从设备都未和主设备通信,此时总线空闲)和忙态(其中一个从设备在和主设备通信)

2024年02月14日

Kilento

你可能感兴趣的:(Exynos4412,exynos)