I2C 使用指南
2 Dec 2024
Read time: 1 minute(s)
I2C 模块是一种用于连接 CPU 主机与 I2C 总线之间的接口,包括一根串行数据线 (SDA) 和一根串行时钟线 (SCL),分别用于传输数据和时钟信号,是实现 I2C 通信的基础。在 I2C 总线上,每个设备都有一个唯一的地址。当主设备 (master) 希望与从设备 (slave) 通信时,会通过发送从设备 (slave) 的地址来建立连接。这种寻址方式允许在同一总线上连接多个设备,并进行精确的数据传输。主设备负责发起数据传输并生成时钟信号,而被主设备寻址的设备则作为从设备进行响应。这种主从关系确保了通信的有序性和有效性。此外,I2C 支持多种传输模式,以满足不同的应用需求。
术语 | 定义 | 注释说明 |
---|---|---|
SDA | I2C 数据线 | - |
SCL | I2C 时钟线 | - |
I2C algorithm | I2C 通信方法 | 提供产生 I2C 总线访问的通信函数 |
I2C adapter | I2C 适配器 | 对 I2C 控制器的软件抽象 |
I2C client | I2C 用户端 | 一个 client 对应一个 I2C device |
模块特性
-
支持主和从模式
-
支持最高 400Kb/s 传输
-
支持 7 bits 和 10 bits 寻址
-
支持时钟同步
-
支持中断和轮询模式
-
可编程 SDA 保持时间
-
可编程防止 I2C 通信异常总线挂死