This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] INA236:I2C 地址选择时序

Guru**** 1129500 points
Other Parts Discussed in Thread: PCA9536, INA238, INA236, TCA9536, TMP102, INA228, INA226, INA237
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/amplifiers-group/amplifiers/f/amplifiers-forum/1290734/ina236-i2c-address-selection-timing

器件型号:INA236
主题中讨论的其他器件: TCA9536TMP102、PCA9536 、INA238、 INA228、INA226INA237

我在设计中使用了5个 INA236器件。 它们位于单面 MCPCB 上、因此信号布线非常有限。 问题是 PCB 上只有一个可用的 I2C 总线、因此考虑了通过 A0引脚进行切换(如芯片选择)。 但是、为了生成 A0开关、我们希望 使用 I2C GPIO 扩展器(例如 TCA9536/7)动态切换 I2C 地址:
1个器件获取地址0x43 (A0绑定到 SCL)
1个器件获取地址0x42 (A0连接到 SDA)
其余3个器件在 Adressen /GND 之间动态切换 A0、结果是 VDD 0x40/0x41
现在的问题是 GPIO 扩展器使用地址0x41、ouch x-)、这是冲突的。

也无法使用具有不同地址的 INA236B、因为每个 INA236器件都伴有一个 TMP102。
此器件位于地址0x48、0x49、0x4A、0x4B... 与 INA236B 相同!
目前只有1条选择线路连接到每个 INA236、TMP102块(其中 INA236 A0和 TMP102 ADD0连接在一起)。

因此、我没有选择、需要重新设计。 一个想法是使用通用选择信号在 GND 和 SDA 或 SCL 之间切换、以避免 与 PCA9536 (0x41)器件的地址冲突。 接下来的问题是:如何以简单的方式做到这一点,使之适合当前的单面设计? 我正在考虑使用简单的 FET 或晶体管将 SCL 拉至 A0/ADD0输入。 任何想法,如果这可以发挥作用,或其他考虑也是受欢迎的。

感谢您至少阅读

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你好,凯

    我将研究可能的寻址解决方案。

    此致、

    天使

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Kai:

    我建议从下一页查看 I2C 开关和多路复用器:  

    I2C 开关和多路复用器| TI.com

    这些器件旨在通过在 I2C 总线之间切换和保持符合标准的数据传输实现无差错通信来扩展控制系统的功能。 这些产品可消除地址总线冲突并帮助您节省系统功耗。

    以下是有关 I2C 动态寻址的应用手册、可能有所帮助: I2C 动态寻址(TI.com)

     如果您能够在 PCB 上实施其中一个器件、那么采用其中一个器件可能会是不错的选择。

    另一种选择是查看类似的器件、这些器件也可以满足您的系统需求、但具有2个地址引脚、例如:

    INA238:INA238 产品说明书、产品信息与支持| TI.com

    INA228: INA228数据表、产品信息与支持| TI.com

    INA226: INA226数据表、产品信息与支持| TI.com

    INA237: INA237数据表、产品信息和支持| TI.com

    这些器件将为您提供16种不同的地址 选项。

    希望这对您有所帮助!

    此致、

    天使

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我专门使用了 INA236、因为它具有20mV 的满量程范围、并且5 x 400A 感应器件具有高精度。 因此、低负载电压使得可以在 MCPCB 上实现该功能。 这会将 INA228的 20位留在表中、从而允许在16位下有一个相似的20mV 范围-  

    我的解决方案实际上 是使用一个总线开关器件 PCA9540、将 多路复用器 PCA9536与 INA236器件分离。
    2 INA236/TMP102通过将 A0和 SDA 相连并各连接 SCL 来获取固定地址
    剩余的3个 INA236/TMP102通过单独将 A0驱动至低电平由多路复用器动态寻址。

    我想没有一个简单的解决方案可以动态地使用 A0到 SDA/SCL 地址选择-至少这是一个值得探索的想法、感谢您在这里提供的帮助。

    MCPCB 正在前往瑞士  

      

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Kai:

    很高兴它成功了! 感谢您告诉我们您能够实施解决方案。

    此致、

    天使