打印
[LKS32 软件]

IIC通信介绍

[复制链接]
124|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
uytyu|  楼主 | 2025-6-23 10:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
一、概述
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Ω之间

使用特权

评论回复
5
chenci2013| | 2025-7-3 17:49 | 只看该作者
IIC通信是一种简单、高效的串行通信协议,适用于多种电子设备和应用。

使用特权

评论回复
6
loutin| | 2025-7-3 21:40 | 只看该作者
避免总线长度超过1m              

使用特权

评论回复
7
10299823| | 2025-7-4 09:47 | 只看该作者
在某些情况下,从设备可能需要时间处理中断或其他实时任务,因此主设备需要等待从设备的确认信号。

使用特权

评论回复
8
benjaminka| | 2025-7-4 11:39 | 只看该作者
半双工、多主多从双向通信,仅需2根线(SDA数据、SCL时钟)。

使用特权

评论回复
9
phoenixwhite| | 2025-7-4 13:33 | 只看该作者
所有连接到IIC总线上的设备的逻辑电平兼容,特别是在混合电压系统中可能需要使用电平转换器。

使用特权

评论回复
10
uptown| | 2025-7-4 16:20 | 只看该作者
注意电源电压兼容性,确保所有连接到IIC总线上的设备能够工作在同一电压水平下。

使用特权

评论回复
11
usysm| | 2025-7-4 18:06 | 只看该作者
IIC总线的长度有限,通常不超过几米。长距离通信可能需要额外的缓冲或驱动器。

使用特权

评论回复
12
qiufengsd| | 2025-7-4 19:53 | 只看该作者
IIC通信的时钟频率可以根据需要在主设备和从设备之间进行选择。较高的时钟频率可以提高数据传输速率,但同时也会增加线路的调试难度。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

37

主题

3478

帖子

1

粉丝