I2C 物理层

  • 原理图

图片缺失: i2c_1.png

特点

  1. 持有多设备的总线结构,支持多主机和多从机通信
  2. 两条总线:SDA(双向串行数据线)、SCL(串行时钟线)
  3. 每个连接到总线的设备都有独立的地址,使得主机以此与从机通信
  4. 总线通过上拉电阻接到VCC,当I2C设备空闲时输出高阻态,当所有设备都输出高阻态时,由上拉电阻将总线拉为高电平
  5. 多主机使用总线时需要仲裁机制以防数据冲突
  6. 三种传输模式:
    • 标准:100kbit·s-1
    • 快速:400kbit·s-1
    • 高速:3.4Mbit·s-1
  7. 连接到相同总线的IC数量受到总线的最大电容400pF限制

    附注

  8. 设备的引脚电气特性:
    • SDA和SCL都是开漏输出,只能输出低电平,不输出则为高阻态,高电平由总线上拉电阻提供
    • 设计优势:
      1. 避免总线冲突:所有设备只能拉低总线,不会出现一个设备输出高、另一个输出低导致的电源到地的短路问题
      2. 实现“线与”功能:多个设备可以同时操作总线。只要有一个设备拉低总线,整条总线就为低电平;只有当所有设备都释放总线时,总线才会被上拉电阻拉高
      3. 支持多主机:这种机制也使得多主机系统中的总线仲裁成为可能
      4. 电平兼容性好:通过选择合适的上拉电阻,不同电源电压(如3.3V和5V)的设备可以方便地挂在同一条总线上