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.

[参考译文] P82B96:帮助通过16和#39连接两个 P82B96芯片;链接

Guru**** 2468610 points
Other Parts Discussed in Thread: P82B96, P82B715

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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1466061/p82b96-assistance-with-connecting-two-p82b96-chips-over-a-16-link

部件号:P82B96
主题中讨论的其他器件: P82B715

工具与软件:

您好!

我正在尝试通过长度约为16英尺的链路连接两个 P82B96芯片。 我已经用3.3V、5V 给芯片供电、并计划马上用12V 进行测试。 使用5V 配置、我已经进行了以下安排:

  • 源 I2C :一个树莓派4B.
  • 主芯片(引脚1/7) : SDA 和 SCL 线都通过2.2kΩ 电阻器被拉至3.3V (我也尝试过4.7kΩ 电阻器)。
  • 目标设备 :不尽相同;我已经测试了几个设备,也没有连接设备。
  • 功能 : Rigol DHO924S 示波器。
  • 从芯片(引脚1/7) :使用2.2kΩ 电阻器将 SDA 和 SCL 线拉至3.3V。
  • 互联
    • 主器件 Tx (引脚3)→从器件 Rx (引脚2)
    • 主器件 Ty (引脚5)→从器件 Ry (引脚6)
    • 未使用的引脚保持悬空。
    • TX、Rx、Ty 和 Ry 使用750Ω 电阻器拉至5V。
  • 源 I2C 时钟频率 :100 kHz。

从示波器上、我在源 I2C 总线上观察到干净的信号。 在这两个芯片上、引脚1/7在静止时被拉至3.3V、我看到 Tx/Ty/Ry Rx 线路上有活动。 虽然我不是信号分析方面的专家、但这些链路上的信号在5V 和0V 之间清晰转换、静止状态为5V。

问题描述
在从器件芯片的 I2C 侧(引脚1/7)、我观察到一个与源 I2C 波形非常匹配的信号。 然而、从器件 SDA/SCL 引脚上的电压绝不会下降到低于0.74V。 我怀疑这种升高的低电平电压会阻止从器件响应、因为我的理解是、I2C 总线预计会降至0V 并升至3.3V、以便正常通信。 在 Tx/Ry Rx 和 Ty/Ry 线路上、信号似乎在5V 和0V 之间正确转换。

我已经试用了各种配置的上拉电阻器以及添加直列式电阻器(100Ω 至200Ω)来使信号平滑、但这些调整尚未解决问题。

我正在考虑使用 P82B715芯片作为替代方案、但最好在可能的情况下使用当前设置来解决此问题。 如果您能就从器件侧的高电压以及如何解决该问题提供任何见解或建议、我将不胜感激。

感谢您的帮助。

此致、
Jeff

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

    P82B96在 μ I²C 输出端确实有一个失调电压。 这对于区分自身或一些其他器件拉低线路而言是必要的。

    您是否有任何 I²C 器件的 VIL 太低、无法实现?

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

    我不确定确切原因、但我测试了多个 I²C 器件、在i2cdetect Raspberry Pi 端运行时、未在扩展总线上检测到器件地址。 但是、当器件直接连接到 Raspberry Pi 时、可正确识别其地址。

    我必须承认,我更是一个发烧友而不是这个领域的专家。 我正在尝试了解什么可能会阻止扩展总线上的设备被识别。 欢迎提供任何指导或建议。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    更新了:我的确将从器件侧的上拉电阻改为1K、现在主器件和从器件之间的上升时间更加均匀。  仍然 I2CDetect 不会检测到远程设备.. 直接连接到 Pi 时不会出现问题。  随附的示波器跟踪链接位于修改后的上拉电阻之前。
    我正在共享来自我的测试设置的一个轨迹。 由于我刚拿到示波器、我拍摄了一张照片、而不是进行数字采集-在这里仍在学习绳索!

    以下是通道的配置方式:

    • 黄色 :主 SDA
    • 浅蓝色 :主 SCL
    • 粉红色 :从 SDA
    • 蓝色 :从 SCL

    您可以在此链接中查看示波器图像:


    波器引线

    https://drive.google.com/file/d/1jnzkdMBnFIdlTmg52V3jsSCNZoqUPsGk/view?usp=sharing

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

    您不需要快速上升时间;上升沿最终达到电源就足够了。 较低的上拉电流会降低 VOL

    I²C 波形看起来正常。 是否确定从设备供电正确? 您是否有有关其 VIL 要求的文档?

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

    在测试板上、我将 I²C 线直接从从从芯片移至主芯片、绕过了整个 P82设置、一切运行良好。 我已在多种不同的器件上对此进行了测试、它们在直接连接时都能正常工作。

    然而、当我将 μ I²C 线路连接至受控 P82芯片时、虽然我可以在示波器上捕捉数据而不出现任何问题(如您所见)、但是i2cdetect实用程序无法识别这些器件。 在示波器上、我注意到信号底部出现了一些振铃。 我不完全了解这种情况的含义、但它可能 是问题的促成因素。

    显然是因为某种原因导致无法检测到器件、而这种情况似乎只是一个简单的问题。 遗憾的是、我还不能确定这一点。

    以下是我测试的其中一个从器件(MCP23017)的相关规格、以供参考:

    工作电压范围(VDD) VIL (最大值) VIH (最小值)
    1.8V 至5.5V 0.2 × VDD 0.8 × VDD
    2.7V 至5.5V 0.3 × VDD 0.7 × VDD
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Jeff:

    您可以在这里分享原理图吗? 下冲确实可以看到明显的问题-输出端是否使用阻尼电阻来帮助减慢边沿?  

    此致、

    插孔

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

    尊敬的 Jeff:

    基于 MCP32017在3.3V 下工作的 VIL 要求、V弹簧(max)= 0.3 x 3.3 = 0.99 V  

    Sx 和 Sy 引脚的 VCC = 15V (外壳电压为12V)时的 P82B96低电平输出电压为:  

    在较低温度下、VOL 可以达到>1V。  

    正如 Clemens 提到的、P82B96具有缓冲失调电压。 如果您驱动为低电平、例如接近输入侧的 GND 电压、则输出侧的失调电压将高于输入。 请参阅我在该线程中添加的电气特性表。 对于高达3 mA 的灌电流、在 TA = 25°C 时、VOL 可达到1V。  

    如果我使用长电缆设计此电路、我会尝试降低从器件侧的上拉强度。 我会选择从侧4.7k 之类的电阻来使 PU 强度变弱、从而减小灌电流 Isx 和 Isy、希望根据电气特性表减小失调电压、而不是使用1k 与2.2k。 如果 P82B96的 VOL 较低、则更有可能为 MCP23017目标器件记录有效的逻辑低电平 VIL。  

    此外、从侧是否有任何串联电阻?  

    Jack 还提到了下冲。 他的建议是正确的。 添加串联电阻将有助于抑制下冲的影响。

    示波器捕获中似乎也会发生一些串扰。 当 SCL 驱动为低电平时、SDA 线上会出现一些噪声(我指的是黄色和粉色波形)。 添加串联电阻有望也会抑制这种情况、但另一方面、添加串联电阻也会增大 VOL、这可能会导致目标侧出现问题、因为它会由于 VOL 过高而识别出有效的逻辑低电平。  

    此致、

    Tyler

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

    我衷心感谢您的回应以及这里其他人的支持。 但是、我决定放弃这种方法、转而采用更简单的解决方案。 我现在使用 RS485在我的 Pi 和 Arduino 之间进行通信、Arduino 用作我的 I/O 此设置有效地取代了23017、更简洁、并且更具可扩展性。

    虽然我希望原始设置能够正常工作、但我在6英寸试验电路板上面临的挑战使我意识到超过16英尺至30英尺的电缆长度可能是一场噩梦。 尽管尝试了各种上拉电阻和串联电阻、但从未检测到从端的器件、即使正在接收信号也是如此。

    积极的一面是、这个项目促使我购买了一台示波器、但我想还没有一台示波器! 我仍然是新手、但看到一切都是如何互动的、这让人难以置信。

    再次感谢您的大力支持!

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

    尊敬的 Jeff:

    很高兴我们能提供帮助。 随时提出问题。  

    我认为您决定改用 RS485进行更远距离的通信是正确的。 I2C 从来都不是专门用于长距离应用、但当 I2C 总线是唯一的选择时、我们确实会尝试为这些领域的应用提供器件。  

    此致、

    Tyler