一个 i2c master 可以支持多少个 i2c slave?

电器工程 i2c
2022-01-19 02:30:37

i2c 主机可以驱动的 i2c 从机的最大数量是多少?物理限制因素是什么?

4个回答

软件限制因素是用于从设备的地址大小:7 位或 10 位,分别支持 127 和 1023 个设备。在物理上,有两个限制。首先,总线的物理尺寸,因为总线仅用于短途运行(IC 间部分)。如果总线太大,则需要处理电容负载和传播延迟效应。其次,有些设备不能支持全范围的 I2C 地址。例如,MPU6050 陀螺仪仅支持两个地址,有些设备为特殊用途保留特定地址。

节点的最大数量受到地址空间的限制,并且还受到 400 pF 的总总线电容的限制,这将实际通信距离限制在几米以内。

在I²C阅读更多信息

寻址限制了设备的数量——有些可以使用 10 位寻址(很少使用),这将地址数量限制为 1024。有一些“保留”地址。

I2C(相对于“两线总线”或其他任何人想要称为类似总线的任何东西)应遵循 NXP(née Philips)标准、UM10204 I2C 总线规范和用户手册那应该是您的主要参考文档,而不是其他地方存在的各种解释和子集。

设备的最大数量将受最弱输出的驱动能力(进而决定最小上拉电阻)、接线和输入电容以及工作模式/频率的影响。如果必须超过最大电容,请参阅第 7.2 节在最大允许总线电容之上运行:

在此处输入图像描述

i2c 总线主要受总线电容(以及速度)和可访问设备地址的限制。和物理板空间。

但是,当您考虑总线缓冲区、扩展器、中继器、集线器、多路复用器、交换机(或可以在多条总线之间切换的设备的任何其他名称)时,并没有真正的上限。这些增加了一些 i2c 开销,因为可以通过相同的 i2c 总线访问。例如,PCA9548A 是一个 8 位总线开关。

这个单芯片理论上可以使 i2c 从机的数量(127 * 8)增加四倍,否则可用。并且 PCA9548A 最多可以在一条总线上配置 8 个地址,因此可以配置 8 * 8 * 127 个设备。(数学可能会关闭)。这只是这个设备,而不是更多。

坦率地说,如果您调整电容,则没有理论上的限制。