打印
[应用方案]

IIC 总线的实现分析

[复制链接]
5171|45
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
vivilyly|  楼主 | 2023-11-12 23:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
IIC 总线(inter integrated circuit bus)是 Philips 公司发明的一种高性能芯片间串行同步传输总线,与 SPI、Microwire 接口不同,它仅需两根信号线——串行数据线 SDA 和串行时钟线 SCL,就实现了双工同步数据传送,能够极方便地构成多机系统和外围器件扩展系统。外围器件有 RAM、EEPROM、ADC、DAC、日历时钟、LED 驱动器、温度传感器等等,这些器件地址是采用硬件设置方法,通过软件寻址完全避免了 器件的片选线寻址的弊端,从而使硬件系统更简单、工作更可靠。 MCS51 系列单片机系统扩展的通常都是并行接 口器件,这些器件有很多的引脚,因此开发出的系统 用户板面积较大、引线较多。如果在系统要求传输速 率不太高的情况下,采用软件模拟方法,来扩展 MCS51 系列单片机系统的 IIC 总线接口器件,就可以减少用户电路板的面积和引线数目,从而大大提高了系统的工作可靠性。
IIC 总线应用系统的组网方式非常灵活,如 1 个主 MCU 和几个从 MCU 或一个主 MCU 和几个 I/O 设备 等构成的多种系统。大多数系统中,只用一个主 MCU 来控制挂在 IIC 总线上的所有被控器。
在 IIC 总线上,主控器与被控器相互之间进行传 输的信息有启动信号、停止信号、地址码、读/写控制 信号、数据字节、应答信号等等。其中,启动信号、 停止信号、地址码、读/写控制信号是由主控器发送给 被控器的,应答信号是由被控器发送给主控器的。
IIC 总线只有两根线 SDA和 SCL,这两根线既要 完成地址选择,又要完成数据传送。因此,它的寻址 方式和其他并行总线的寻址方式是不一样的。前面提 到的 IIC 总线的数据传送格式,在启动信号的后面, 传送的就是地址码,这个地址码就决定了地址的选择。 具体地说,如果被控器是内含 CPU 的智能器件,则地 址码由其初始化程序定义;如果被控器是非智能器件, 则由生产厂家在器件内部固化一个专用的从器件地址 码,该地址码根据器件的类型不同,由“IIC 总线委 员会”实行统一分配。一般带 IIC 总线接口的器件, 均拥有一个专用的 7 位从器件地址码,这 7 位地址码 又分为两部分:(1)器件类型地址,占据高 4 位,不 可更改,属于固定地址;(2)引脚设定地址,占据低 3 位,通过引脚接线状态来传输。

使用特权

评论回复
沙发
tpgf| | 2023-12-1 16:11 | 只看该作者
iic总线对时钟的容错范围是多少呢

使用特权

评论回复
板凳
qcliu| | 2023-12-1 16:43 | 只看该作者
一条iic总线上一共能挂多少个外设呢

使用特权

评论回复
地板
kxsi| | 2023-12-1 17:11 | 只看该作者
设置完地址之后需要重新上电才能生效吗

使用特权

评论回复
5
drer| | 2023-12-2 10:00 | 只看该作者
可以在通讯的过程中更改iic的设备的地址吗

使用特权

评论回复
6
coshi| | 2023-12-2 10:31 | 只看该作者
是iic总线通讯速度快还是spi通讯速度快呢

使用特权

评论回复
7
wiba| | 2023-12-2 11:01 | 只看该作者
iic总线带动设备的能力由什么来提供呢

使用特权

评论回复
8
bartonalfred| | 2024-4-6 20:42 | 只看该作者
SDA和SCL两根线之间的电平匹配,通常使用电阻分压网络来匹配主机和从机的输出驱动能力。

使用特权

评论回复
9
iyoum| | 2024-4-7 07:53 | 只看该作者
IIC总线定义了几种错误情况,如数据线上的意外冲突、地址不符合等。

使用特权

评论回复
10
uiint| | 2024-4-7 12:46 | 只看该作者
IIC总线的通信依赖于严格的时序控制,包括启动条件、停止条件、数据传输和应答信号等。

使用特权

评论回复
11
sesefadou| | 2024-4-7 18:36 | 只看该作者
IIC总线支持主机的读写操作。在读操作中,主机发送从机地址和数据请求,从机响应并发送数据给主机。在写操作中,主机发送从机地址和数据,从机接收并保存数据。在实现IIC总线时,要注意读写操作的实现方式。

使用特权

评论回复
12
janewood| | 2024-4-7 20:36 | 只看该作者
在每传输一个字节后,接收方需要发送一个应答位给发送方,以表示数据接收成功。

使用特权

评论回复
13
lzmm| | 2024-4-9 10:26 | 只看该作者
在SCL低电平时改变SDA线上的数据,在SCL高电平时保持SDA稳定

使用特权

评论回复
14
biechedan| | 2024-4-9 13:20 | 只看该作者
选择合适的上拉电阻阻值,通常取值范围在1k-10k之间,常用值为1.2k、2.2k、4.7k。SCL和SDA两条线上的上拉电阻阻值应相等,并上拉到同一电源上。

使用特权

评论回复
15
jonas222| | 2024-4-9 17:06 | 只看该作者
在数据传输过程中,主机是初始化总线数据传输并产生允许传输的时钟信号的器件,而被寻址的器件则作为从机。

使用特权

评论回复
16
febgxu| | 2024-4-9 22:52 | 只看该作者
根据实际应用场景选择合适的IIC总线传输速率。标准模式(100 kbps)、快速模式(400 kbps)和高速模式(3.4 Mbps)各有优缺点,需要根据数据传输量、实时性要求等因素进行权衡。

使用特权

评论回复
17
primojones| | 2024-4-10 12:11 | 只看该作者
IIC主机、IIC从机、IIC总线及上拉电阻正确连接。IIC总线包括两条线:SCL(串行时钟线)和SDA(串行数据线)。每条线上都需要连接上拉电阻,以确保空闲状态下两条线都保持高电平。

使用特权

评论回复
18
maudlu| | 2024-4-10 17:29 | 只看该作者
在数据传输过程中,SDA线上的数据方向可能会改变

使用特权

评论回复
19
hearstnorman323| | 2024-4-11 19:43 | 只看该作者
IIC总线的通信速率一般可达400kbps以上,适用于小数据量的场合。

使用特权

评论回复
20
burgessmaggie| | 2024-4-11 20:30 | 只看该作者
IIC总线支持单向和双向数据传输。

使用特权

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

本版积分规则

86

主题

1697

帖子

1

粉丝