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.

[参考译文] 需要 I2C 上拉电阻器计算说明- SLVA689

Guru**** 2588275 points
Other Parts Discussed in Thread: PCA9306, TCA9406

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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/716360/i2-pull-up-resistor-calculation-clarifications-required-slva689

主题中讨论的其他器件:PCA9306TCA9406

您好!

我将 介绍 SLVA689、以了解如何计算 I2C 上拉值。

我可以看到第4页中的一个快速模式下上拉电阻器计算示例、在这个示例中、我可以看到总线电容被认为是200pF。

但根据表1、对于快速模式总线电容为400pf。 我想知道为什么在应用手册中采用200pF。

请澄清。

此致

哈里

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

    400pF 值是标准支持的最大值、但在给定应用中可能会更小。 在该示例中选择的值只是为了与常见应用条件相似、以便它们可被用来演示如何计算最小值和最大值。 如果这不清楚、请告诉我。

    此致、
    最大
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 Max:
    非常感谢。

    我使用的是 I2C 电平转换器(3.3V 至1.3V)(PCA9306)
    当我使用电平转换器时、如果计算 Rp (min) 3.3V 或1.8V、需要为 Vcc 取哪个值?
    我将只连接一个 I2C 从设备。我可以知道当时我可以获得的总线电容是20pF、已经足够了

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

    对于像 PCA9306这样的基于开关的转换器、没有用于缓冲或重新驱动 I2C 信号的内部下拉 FET、 因此、将线路拉低的器件将需要从其连接的上拉电阻以及转换器另一侧的上拉电阻中灌入电流。 这使得计算最小上拉值变得不太简单、因为您不仅需要考虑 I2C 器件的 VOL/IOL、还需要考虑两个电源电压。

    解决此问题的最简单方法是计算以最大 VOL 流入 I2C 器件的下拉电流、并确保其不超过器件的 IOL 规格。 另一种说法:

    IOL <=[(VCC1 - VOL_max)/R1]+[(VCC2 - VOL_max)/R2]。

    (R1是一侧到 VCC1的上拉电阻、而 R2是另一侧到 VCC2的上拉电阻。)

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

    在此频率下、我的 I2C 器件的最大速度为2MHz、这将是我可以获取的最大总线电容、我还想知道
    上升时间的值是多少。

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

    您好 Hari、

    如果您希望以2MHz 的频率运行 I2C 总线、则需要使用具有上升时间加速器的 TCA9406。  该器件使用15pF 进行测试、并在该容 性负载下通过认证。  如果您的电容超过15pF、则可能无法实现2MHz 的全速。  您使用哪种工作模式?  您是否使用"高速"模式?  I2C 标准 UM10204中概述了这些工作模式。  根据用于"高速"运行模式的 I2C 标准、最大上升时间10至100pF 为40ns。  

    模式用户使用的速度不能超过1MHz 的"超快速模式"。  您是否需要如此快速的数据速率?  我们有一个很好的培训视频、如果您刚刚开始使用 I2C、该视频可能会对您有所帮助。  

    https://training.ti.com/i2c-technical-deep-dive-japan-2018

    如果您有更多问题、请告诉我。

    -弗朗西斯·胡德

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Francis、
    我想知道、1MHz 后 I2C 上拉计算公式不适用。
    此致
    哈里
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Francis、

    在计算高速和快速模式+时、我会得到一些奇怪的值

    请查找我在 Excel 中创建的随附计算器。 请选中 随附文档中的 commente2e.ti.com/.../I2C-Calculator.xlsx 框。

    相关信息

    哈里

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

    Hari、您好  、快速模式下的 Rp (max)计算结果对于100pF 的电容是正确的(~1.4k 欧姆)、Rp (min)有点偏、因为您将 VOL (max)用作 Vcc 的30%、这是不正确的。  VIL 是 Vcc 的30%。   您需要按照标准中的规定对 Vol (max)使用0.4V 电压。  您的方程式不正确。  我给您的图表是正确的、但您实施了错误的。  如果您更正了我所做的 spreedsheet、 那么 Rp (min)将得到145欧姆。  这些数字是正确的。

      

    这是电子表格。  如果您有更多问题、请告诉我。

    e2e.ti.com/.../TI-_2D00_--I2C-Calculator.xlsx

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Francis、
    非常感谢您抽出宝贵的时间并关注我们的问题。

    让我告诉您、为什么我要计算上拉电阻器值。
    在我的设计中、我最初在1.8V 侧的 I2C 低电平未正确到达时输入1K。之后、我将1K 更改为10K、它也在2.1Mhz 下正常工作。我的最大速度仅为2MHz。

    但对于1MHz 的 ITslef 计算值 Rp min 小于1K、Rp max 仅为1.4K、我完全感到困惑。


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

    您好 Hari、

    很抱歉耽误你的时间。  

    您是否正在尝试使用标准中概述的高速模式?  您必须检查您的硬件(微控制器)是否支持此模式。  这意味着下拉 FET 必须足够强(足够低的 FET 电阻)、以生成具有如此强的上拉电阻的低电平。  您能否向我发送有关用于生成 I2C 命令的微控制器的信息?您能否向我发送波形?  如果您的下拉 FET 在导通时的电阻不够低、则它将无法生成足够低的 VOL、并且它可能不低于从器件的 VIL。  

    我猜它为什么适用于更高的上拉电阻器。  在这种情况下、波形会有所帮助。  您能否发送显示缓冲器两侧以及 SCL 和 SDA 的波形。    

     为什么以2MHz 运行、这是一种异常的数据范围。  我建议在1MHz 时使用快速模式增强版、除非您需要更多的数据吞吐量。  

    -弗朗西斯·胡德