I2C总线编辑 I2C(Inter-Integrated Circuit)总线是由PHILIPS公司开发的两线式串行总线,用于连接微控制器及其外围设备。是微电子通信控制领域广泛采用的一种总线标准。它是同步通信的一种特殊形式,具有接口线少,控制方式简单,器件封装形式小,通信速率较高等优点。 目录 1概念 2特征 3术语 4位传输 ? 数据有效 ? 起始停止 5数据传输 ? 字节格式 ? 应答响应 ? 时钟同步 6寻址方式 ? 7位 ? 10位 7快速模式 8高速模式 9常用念法 1概念编辑 I2C 总线支持任何IC 生产过程(CMOS、双极性)。通过串行数据(SDA)线和串行时钟 (SCL)线在连接到总线的器件间传递信息。每个器件都有一个唯一的地址识别(无论是微控制器——MCU、LCD 驱动器、存储器或键盘接口),而且都可以作为一个发送器或接收器(由器件的功能决定)。LCD 驱动器只能作为接收器,而存储器则既可以接收又可以发送数据。除了发送器和接收器外,器件在执行数据传输时也可以被看作是主机或从机(见表1)。主机是初始化总线的数据传输并产生允许传输的时钟信号 的器件。此时,任何被寻址的器件都被认为是从机。 I2C 总线术语的定义 2特征编辑 1、只要求两条总线线路:一条串行数据线SDA,一条串行时钟线SCL; 2、每个连接到总线的器件都可以通过唯一的地址和一直存在的简单的主机/从机关系软件设定地址,主机可以作为主机发送器或主机接收器; 3、它是一个真正的多主机总线,如果两个或更多主机同时初始化,数据传输可以通过冲突检测和仲裁防止数据被破坏; 4、串行的8 位双向数据传输位速率在标准模式下可达100kbit/s,快速模式下可达400kbit/s,高速模式下可达3.4Mbit/s; 5、连接到相同总线的IC 数量只受到总线的最大电容400pF 限制。 3术语编辑 发送器:发送数据到总线的器件; 接收器:从总线接收数据的器件; 主机:启动数据传送并产生时钟信号的设备; 从机:被主机寻址的器件; 多主机:同时有多于一个主机尝试控制总线但不破坏传输; 主模式:用I2CNDAT支持自动字节计数的模式;位I2CRM,I2CSTT,I2CSTP控制数据的接收和发送; 从模式:发送和接收操作都是由I2C模块自动控制的; 仲裁:是一个在有多个主机同时尝试控制总线但只允许其中一个控制总线并使传输不被破坏 的过程; 同步:两个或多个器件同步时钟信号的过程 。 4位传输编辑 由于连接到I2C 总线的器件有不同种类的工艺(CMOS、NMOS、PMOS、双极性),逻辑0(低)和逻辑1(高)的电平不是固定的,它由电源VCC的相关电平决定,每传输一个数据位就产生一个时钟脉冲。 数据有效 在传输数据的时候,SDA线必须在时钟的高电平周期保持稳定,SDA的高或低电平状态只 I2C位传输数据有效性 有在SCL 线的时钟信号是低电平时才能改变 。 起始停止 SCL 线是高电平时,SDA 线从高电平向低电平切换,这个情况表示起始条件; SCL 线是低电平时,SDA 线由低电平向高电平切换,这个情况表示停止条件。 起始和停止条件一般由主机产生,总线在起始条件后被认为处于忙的状态 起始和停止条件 ,在停止条件的某段时间后总线被认为再次处于空闲状态。 如果产生重复起始条件而不产生停止条件,总线会一直处于忙的状态,此时的起始条件(S)和重复起始条件(Sr) 在功能上是一样的。 5数据传输编辑 字节格式 发送到SDA 线上的每个字节必须为8 位,每次传输可以发送的字节数量不受限制。每个字节后必须跟一个响应位。首先传输的是数据的最高位(MSB),如果从机要完成一些其他功能后(例如一个内部中断服务程序)才能接收或发送下一个完整的数据字节,可以使时钟线SCL 保持低电平,迫使主机进入等待状态,当从机准备好接收下一个数据字节并释放时钟线SCL 后数据传输继续。 应答响应 数据传输必须带响应,相关的响应时钟脉冲由主机产生。在响应的时钟脉冲期间发送器释放SDA 线(高)。 在响应的时钟脉冲期间,接收器必须将SDA 线拉低,使它在这个时钟脉冲的高电平期间保持稳定的低电平。 通常被寻址的接收器在接收到的每个字节后,除了用CBUS 地址开头的数 |