IIC简介
IIC(Inter-Integrated Circuit)是一个多主从的串行总线,又叫I2C,是由飞利浦公司发明的通讯总线,属于半双工同步传输类型总线。IIC总线是非常常见的数据总线,仅仅使用两条线就能完成多机通讯,一条SCL时钟线,另外一条双向数据线SDA。如下图所示,其中两个上拉电阻是必需的。

IIC总线要求每个设备SCL/SDA线都是漏极开路模式(OD模式),因此总线必须带有上拉电阻才能正常工作,如下图所示:

IIC总线上有两种状态,一种是MOS管导通总线被拉低,另外一种是MOS关断总线被上拉电阻拉高,如下图所示:


IIC协议
1、IDLE状态
总线上没有数据传输,SCL和SDA都保持高电平。
2、START信号
在SCL为高电平时,SDA下降沿。
3、STOP信号
在SCL为高电平时,SDA上升沿。

4、ACK和NACK信号
发送方发送完成8bit数据(一个字节)后,紧随的下一个时钟周期,发送方释放SDA线,接收方发送一个ACK/NACK信号,用于应答发送方接收状态。
ACK: SCL高电平时,SDA为低电平,表示数据被正确接收,发送方可以继续发送,如下图所示:

NACK: SCL高电平时,SDA为高电平

通讯过程中出现以下情况,总线上会出现NACK信号:
1)接收方忙于其他事情,不能接收数据
2)接收方不能理解收到的数据或者没有空间存储数据
3)主机读取数据完成,返回NACK告知从机读取完成。
5、数据传输
1)主机向从机寄存器中写数据
主机首先发送START信号占用总线,然后发送7Bit从机地址,一般情况下从机地址是通过外部上下拉电阻分配的,7Bit从机地址之后是读写位,如果主机想要写数据此位为0,读数据此位为1,之后紧随从机ACK,然后主机发送寄存器地址,即数据写在从机哪个地址上,从机再次返回ACK,主机继续发送数据,所有数据发完之后,主机发送STOP后释放总线。

2)主机从从机寄存器中读数据
主机首先发送START信号占用总线,然后发送7Bit从机地址以及写位,然后发送从机读取地址,再次发送一个START,发送7Bit从机地址以及读位,最后在主机SCL驱动下从机把数据送上总线,当主机认为数据已经读取完成,则发送STOP释放总线。注意,此处有一个STOP,两个START,也就是说START和STOP有可能不是成对出现。

microBUCK® 同步降压稳压器获中国人工智能...
时间:2026-03-12
超薄MTC封装130A~300A三相桥式功率模块具有...
时间:2026-03-12
如何学好单片机?
时间:2026-03-12
总结了60种硬件工程师常用封装实物图
时间:2026-03-12
常用电子元器件的划分与识别
时间:2026-03-12
脑机接口最新科研进展,以“半侵入性”方式...
时间:2026-03-12
国内主要碳化硅衬底供应商产能分析,与海外...
时间:2026-03-12
KT1025A双模蓝牙音频文件加密说明
时间:2026-03-12
晶晨半导体8K智能机顶盒SoC芯片S928X特性解...
时间:2026-03-12
纳微半导体2022年第四季度及全年财报亮眼 ...
时间:2026-03-12
电阻的标称阻值和允许偏差
时间:2026-03-05
玻璃釉电容器的结构与特点
时间:2026-03-05
压敏电阻有正负极吗
时间:2026-03-05
变压器并列运行的条件浅析
时间:2026-03-06
电容器入门教程
时间:2026-03-05
关于STM32WL LSE 添加反馈电阻后无法起振的...
时间:2026-03-05
可调电阻怎么接线
时间:2026-03-05
压敏电阻坏了怎么替代
时间:2026-03-05
压敏电阻爆裂的原因分析
时间:2026-03-05
暑期买元器件下单立减还送华为P30pro
时间:2026-03-05