电力电子技术
直播中

刘艺星

7年用户 141经验值
私信 关注
[问答]

I²C总线的相关问题及解决方案

TCA9534A+PCA9615:I²C(IC 间)总线的相关问题及解决方案

回帖(8)

程家文

2020-12-24 11:35:31
集成电路间总线因为被许多 IC 制造商广泛应用于众多设备而广为人知。而且,互联网上也提供了大量信息。然而,关于 IC 间总线却也始终存在诸多问题,首当其冲的便是它的正确缩写方法。幸运的是,官方徽标给出了答案,即 I²C。
这篇技术文章将会探讨使用 I²C 总线时可能发生的一些常见问题,以及相应的解决方法。关于 I²C 总线工作原理的基础知识并非本文章的内容,但可以在以下教程中找到相关信息:I²C 总线基本原理
使用 I²C 总线时,最常见的问题包括从设备寻址冲突、混合不同总线速度和/或电压电平的设备、错误或忘记上拉电阻器、过大的总线电容以及无公共接地连接。
举报

李润基

2020-12-24 11:35:44
寻址
连接到 I²C 总线的设备在完成寻址后接收其数据。I²C 总线上的地址长度可能为 7 位或 10 位,并且在设备中预定义。这些地址由 NXP 分配给设备制造商。连接到总线的每个设备应具有唯一的地址。
为了让 I²C 总线一次使用多个相同设备,许多设备都提供了通过将引脚拉至供电电压或接地在预定义范围内更改地址的能力。例如 Texas InstrumentsTCA9534APWR I/O 扩展器。
该设备可配置三条地址线(A0、A1 和 A2),获得 0x38 到 0x3F 范围的地址(表 1),从而实现在总线上使用 8 个设备。


表 1:地址参考(图片来源: Digi-Key Electronics)
例如,如表 1 中所示,将所有三条地址线全部拉至低电平会将地址 0x38 分配给 TCA9534A。


图 1:配置地址 0x38 的 TCA9534(图片来源: Texas Instruments)
有些设备仅可提供一个地址。例如,Sensirion AGSTS21Silicon LabsSI705x 无法配置不同的地址。如果在同一总线上使用多个上述设备,则可能导致问题,因为所有这些设备将会同时响应,从而导致整个总线崩溃。
对于连接到 I²C 总线的设备,另一个更典型的寻址问题是与软件相关。I²C 总线是 8 位串行总线。地址长度通常为 7 位,后面紧跟一个指定读写操作的位。例如,如以下图 2 所示,从地址 0x40 (0b01000000) 执行读取操作将会在总线上生成 0x81 (0b10000001)。第 8 位为 1 表示读,0 表示写。


图 2:在 SDA 上看到的从地址 0x40 读取(图片来源: Digi-Key Electronics)
一个 10 位地址在 I²C 总线上使用两个字节。前 5 位始终为 0b11110,后面紧跟两个最高有效位和第 8 位(同样为读/写位)。第二个传输的字节包含 10 位地址的 8 个最低有效位。从 10 位地址 0x240 (0b1001000000) 读取将会产生两个字节 0xf5 (0b11110101) 和 0x40 (0b01000000)。
7 位地址 0x70 至 0x7B 保留用于 10 位寻址,且不能供 7 位设备使用。这样就有可能在同一 I²C 总线上混合使用 7 位和 10 位设备。
利用支持 I²C 总线的逻辑分析器,可以轻松地发现并解决软件寻址问题。请注意,一些 I²C 总线逻辑分析器会直接显示传输的地址。
举报

林邵嫔

2020-12-24 11:35:59
  总线速度
  I²C 总线设备可采用不同的速度。正如 I²C 规范所定义的,不同的双向速度包括比特率高达 100 kb/s 的标准模式 (Sm)、比特率高达 400 kb/s 的快速模式 (Fm)、比特率高达 1 Mb/s 的快速增强模式 (Fm+),以及比特率高达 3.4 Mb/s 的高速模式 (HS)。由于这些速度通常可以向下兼容,因此速度较快的设备能够以较低的数据速率,与速度较慢的设备在同一总线上使用。相反,如果将速度较慢的设备连接到速度较快的总线,则可能导致不可预测的状态并阻塞总线。
举报

梁宏满

2020-12-24 11:36:12
  电压电平
  虽然速度失配可能导致总线阻塞,但混合不同的电压电平却可能导致灾难性的后果,并直接损坏零件。
  根据 I²C 规范,高电平信号和低电平信号的电压电平都是相对供电电压定义的。下表显示了 2.5 伏到最高 5 伏范围内的最小电压和最大电压。请注意,2.5 伏设备无法产生对 5 伏设备而言足够高的电压。
  
  表 2:输入电压电平(表格来源: Digi-Key Electronics)
  反之,5 伏的输出可能会损坏 2.5 伏设备。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分