I²C协议
I²C(Inter-Integrated IC)硬件结构上,采取数据和时钟两根线来完成数据的传输和外围器件的扩展,数据和时钟都是开漏的,通过一个上拉电阻接到正电源,因此在不需要时仍然保持高电平。任何具有I²C总线接口的外围器件,无论功能差异有多大,都有相同的电气接口,因此可以挂在总线上,甚至可以在总线工作状态下撤出或者挂上。对各器件的寻址方式是软寻址,因此节点上没有必须的片选线,器件地址给定完全取决于器件类型和单元结构,这也简化了I²C的硬件连接。另外I²C总线能在总线竞争过程中进行总线控制权的仲裁和时钟同步,不会造成数据丢失,因此I²C总线连接的多机系统可以是一个多主机系统。
I²C简化了电路,省去了电路板上的大量走线。支持多主控,如果两个或者多个主机同时初始化数据传输,可以通过冲突检测和仲裁防止数据被破坏。串行的8位双向数据传输位速率在标准模式下可大100kbps,快速模式下可达400kbps,高速模式下可达3.4Mbps。连接到相同总线的IC数量收到总线最大电容(400pF)的限制。如果加上82B715总线远程驱动器可以将总线电容限制扩展10倍,传输距离增加到15m。
I²C总线中,主机提供时钟信号,负责总线上各个设备信息的传输控制,检测并协调