I2C 物理层
- 原理图
图片缺失: i2c_1.png
特点
- 持有多设备的总线结构,支持多主机和多从机通信
- 两条总线:SDA(双向串行数据线)、SCL(串行时钟线)
- 每个连接到总线的设备都有独立的地址,使得主机以此与从机通信
- 总线通过上拉电阻接到VCC,当I2C设备空闲时输出高阻态,当所有设备都输出高阻态时,由上拉电阻将总线拉为高电平
- 多主机使用总线时需要仲裁机制以防数据冲突
- 三种传输模式:
- 标准:100kbit·s-1
- 快速:400kbit·s-1
- 高速:3.4Mbit·s-1
- 连接到相同总线的IC数量受到总线的最大电容400pF限制
附注
- 设备的引脚电气特性:
- SDA和SCL都是开漏输出,只能输出低电平,不输出则为高阻态,高电平由总线上拉电阻提供
- 设计优势:
- 避免总线冲突:所有设备只能拉低总线,不会出现一个设备输出高、另一个输出低导致的电源到地的短路问题
- 实现“线与”功能:多个设备可以同时操作总线。只要有一个设备拉低总线,整条总线就为低电平;只有当所有设备都释放总线时,总线才会被上拉电阻拉高
- 支持多主机:这种机制也使得多主机系统中的总线仲裁成为可能
- 电平兼容性好:通过选择合适的上拉电阻,不同电源电压(如3.3V和5V)的设备可以方便地挂在同一条总线上