打印
[LKS32 软件]

IIC通信介绍

[复制链接]
99|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
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通信是一种简单、高效的串行通信协议,适用于多种电子设备和应用。

使用特权

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

本版积分规则

37

主题

3474

帖子

1

粉丝