1、I2C 串行总线概述
I2C 总线是 PHLIPS 公司推出的一种串行总线,是具备多主机系统所需的总线裁决和高低速器件同步功能的高性能串行总线。I2C 总线只有两根双向信号线。 一根是数据线 SDA,另一根是时钟线 SCL。
I2C 总线通过上拉电阻接正电源。当总线空闲时,两根线均为高电平。连到 总线上的任一器件输出的低电平,都将使总线的信号变低,即各器件的 SDA 及 SCL 都是线“与”关系。
每个接到 I2C 总线上的器件都有唯一的地址。主机与其它器件间的数据传送 可以是由主机发送数据到其它器件,这时主机即为发送器。由总线上接收数据的 器件则为接收器。
在多主机系统中,可能同时有几个主机企图启动总线传送数据。为了避免混乱,I2C 总线要通过总线仲裁,以决定由哪一台主机控制总线。
总线术语
发送器:发送数据到总线的器件;
接收器:从总线接收数据的器件;
主机:启动数据传送并产生时钟信号的设备; 从机:被主机寻址的器件;
多主机:同时有多于一个主机尝试控制总线但不破坏传输;
主模式:用 I2CNDAT 支持自动字节计数