目录:
一、简介
IIC(Inter-Integrated Circuit),是IICBus简称,中文集成电路总线,它是一种串行通信总线。正确读法应该是I-方(square)c。
IIC由飞利浦所制定,属于串行、多主从架构的通讯协议,目前由NXP继续维护此规范。
基于IIC的其他标准或应用:
SMBus(System Management Bus)
PMBus(Power Management Bus)
IPMI(Intelligent Platform Management Interface)
ATCA(Advanced Telecom Computing Architecture)
DDC(Display Data Channel)
二、硬件介绍
I2C串行总线有两根信号线,一根SCL(时钟线),一根SDA(数据线)。I2C属于串行同步半双工通信。
为了避免总线信号的混乱,要求各设备连接到总线的输出端时必须时开漏输出(OD)或集电极输出(OC)。设备上的串行数据线SDA接口是双向的,输出电路用于总线上发送数据,输入电路用于接收总线上的数据。
I2C总线通过上拉电阻接电源正极。当总线空闲时,两根线均为高电平。接到总线上的任一器件输出的低电平,都将使总线的信号变低,各器件的SDA和SCL都是线与的关系。
三、特点
1、由于接口直接在组件上,因此IIC总线占用空间比较小,减少了电路板的空间和芯片管脚数量,降低了互联成本。
2、支持不同速率的通信速度,标准速度(最高速度100KHz),最快(最高400KHz)
3、具有多机功能,任何能够发送和接收的设备都能成为主总线,但同一时间只能有一个主线。
4、I2C主设备功能:主要产生时钟信号(起始信号和停止信号)
5、I2C从设备功能:可编程的I2C地址检测,停止位检测。
四、通信过程
1、起始信号和停止信号
起始信号:SCL = 1 ,SDA 由高变低