uytyu 发表于 2025-6-23 10:31

IIC通信介绍

一、概述IIC集成电路总线,该总线由NXP公司设计,多用于主控制器和从器件间的主从通信,在小数据量场合使用,传输距离近,任意时刻只能有一个主机等。经常IIC和SPI接口被认为指定是一种硬件设备,但其实这样的说法是不尽准确的,严格的说他们都是人们所定义的软硬结合体,分为物理层(四线结构)和协议层(主机,从机,时钟极性,时钟相位)。IIC,SPI的区别不仅在与物理层,IIC比SPI有着一套更为复杂的协议层定义。
二、IIC的物理层
[*]两条总线线路:一条是串行数据线SDA,一条是串行时钟线SCL(IIC是半双工,而不是全双工)。
[*]每个连接到总线的器件都可以通过唯一的地址和其它器件通信,主机/从机角色和地址可配置,主机可以作为主机发送器和主机接收器。
[*]IIC是真正的多主机总线,(而这个SPI在每次通信前都需要把主机定死,而IIC可以在通讯过程中,改变主机),如果两个或更多的主机同时请求总线,可以通过冲突检测和仲裁防止总线数据被破坏。
[*]传输速率在标准模式下可以达到100kb/s,快速模式下可以到400kb/s。
[*]连接到总线的IC数量只是受到总线的最大负载电容400pf限制。

三、IIC的协议层
[*]IIC总线的数据有效性规定:
IIC总线进行数据传送时,时钟信号为高电平期间,数据线上的数据必须保持稳定,只有在时钟线上的信号变为低电平时,数据线上的高低点评状态才允许变化。



起始信号与终止信号
规定:在时钟信号为高电平期间,当数据线的状态由高变低,表示一个起始信号。
在时钟信号为低电平期间,当数据线的状态由低变高,表示一个终止信号。
注意:起始信号和终止信号都是由主机产生的,在起始信号产生之后,总线就处于被占用状态,在终止信号产生之后,总线就处于空闲状态。

数据传送过程
每当发送端发送完1Byte的数据后,发送端等待一定的时间,等待接收方的应答信号,接收端通过拉低SDA数据线,给发送端发送一个应答信号,来提醒发送端我已经接收完成,数据可以继续传输,接下来,发送端就可以继续发送数据了。每一个字节必须保证是8个bit位,数据传送时先传送最高位(MSB),每一个传送的字节后面必须跟一个应答位(即:一帧共9位)。

基本都会用到IIC来传输数据。
Q:IIC通信的优点?A:减少电路板空间和芯片管脚数量,节省成本。Q: IIC通信适用场景?A:多用于主控制器和从器件间的主从通信,在小数据量场合使用,传输距离短,任意时刻只能有一个主机等特性。Q:IIC传输速率是多少?A:传输速率在标准模式下可以达到100kb/s,快速模式下可以达到400kb/s。
原文链接:https://blog.csdn.net/weixin_38498942/article/details/86473776

柴库柴库 发表于 2025-6-23 23:12

IIC两线通信,很好用

claretttt 发表于 2025-7-2 11:56

IIC总线只需要两根线即可在连接于总线上的器件之间传送信息:一根是数据线SDA,另一根是时钟线SCL。

everyrobin 发表于 2025-7-3 15:51

由于IIC采用开漏输出,所以SDA和SCL线都需要外接上拉电阻至电源电压。合适的上拉电阻值通常在1kΩ到10kΩ之间

chenci2013 发表于 2025-7-3 17:49

IIC通信是一种简单、高效的串行通信协议,适用于多种电子设备和应用。

loutin 发表于 2025-7-3 21:40

避免总线长度超过1m            

10299823 发表于 2025-7-4 09:47

在某些情况下,从设备可能需要时间处理中断或其他实时任务,因此主设备需要等待从设备的确认信号。

benjaminka 发表于 2025-7-4 11:39

半双工、多主多从双向通信,仅需2根线(SDA数据、SCL时钟)。

phoenixwhite 发表于 2025-7-4 13:33

所有连接到IIC总线上的设备的逻辑电平兼容,特别是在混合电压系统中可能需要使用电平转换器。

uptown 发表于 2025-7-4 16:20

注意电源电压兼容性,确保所有连接到IIC总线上的设备能够工作在同一电压水平下。

usysm 发表于 2025-7-4 18:06

IIC总线的长度有限,通常不超过几米。长距离通信可能需要额外的缓冲或驱动器。

qiufengsd 发表于 2025-7-4 19:53

IIC通信的时钟频率可以根据需要在主设备和从设备之间进行选择。较高的时钟频率可以提高数据传输速率,但同时也会增加线路的调试难度。
页: [1]
查看完整版本: IIC通信介绍