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.

[参考译文] DS90UB935-Q1:935无法通过远程 I2C 访问本地设备

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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1170646/ds90ub935-q1-935-cannot-access-local-device-via-remote-i2c

器件型号:DS90UB935-Q1

您好、专家、

我们的客户在 MP 中使用962 + 935。 但最近他们发现在大规模生产中出现了许多故障、大约为50件。 他们检查并发现962无法访问位于935侧的 EEPROM 和传感器。 他们可以访问935并配置935。 但他们访问其他设备时遇到一些问题。

SIutation1:T 表示完成935配置和访问传感器之间的延迟时间。 现在、它们将 T 设置为10ms。 作为故障模块、它们无法测试935 I2C_SDA/SCL 变化。 ℃模块在21 μ s 的电流下完全无法正常工作。 ℃、如果模块加热至100 μ s 并加电、则可以正常工作。 ℃温度下降至21 μ s、它始终运行良好。  

纵向2:根据位置1,它们将延迟时间 T 调整为750ms。 它们测试3个模块、都运行良好。 它们将测试更多。  

连接的是935 reg dump。 请帮助分析。 如果我们以前有类似问题、您也可以在内部进行检查。 这种情况非常紧急。 他们已经停了2000辆汽车。 谢谢。

e2e.ti.com/.../935-mutiregs_2D00_20221112.xlsx

BR、

ElecCheng

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

    您好、电子

    -它们在 SER 上使用哪种 I2C 自举电压?
    -为什么它们对寄存器0x8C 使用不同的值? 这是控制内部 LDO 值! 他们不应该触摸这个!
    -您能否从 DES Connected Port 提供两个寄存器转储。 工作箱中的一个转储和 NG 箱中的其他转储?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Hamzeh、
    [引用 userid="302729" URL"~/support/interface-group/interface/f/interface-forum/1170646/ds90ub935-q1-935-cannot-access-local-device-via-remote-i2c/4405783 #4405783"]他们在 SER 上使用的是哪种 I2C 自举电压?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、电子

    REG  良好962  不良962
    0x47   0x00      0x02 --如果 BCC 看门狗定时器在 BCC I2C 从设备激活时等待串行器响应超时,该位将被置位。
    0x4e   0x0c      0x04 --正常,报告 CSI 错误
    0x53   0x02      0x03 --温度传感器
    0x7B   0x02      0x00 -- CSI 错误计数器
    0x7a   0x01      0x00 -- ECC1错误

    所有这些转储都来自 Rx 端口2。 是正确的吗? 所有其他端口工作正常?

    是否可以尝试将935寄存器0x0A[1]从0更改为1、然后查看是否可以解决此问题?

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

    您好、Hamzeh、

    [引用 userid="302729" URL"~/support/interface-group/interface/f/interface-forum/1170646/ds90ub935-q1-935-cannot-access-local-device-via-remote-i2c/4408855 #4408855"]是否可以尝试将935 reg ister 0x0A[1]从0更改为1,并查看这是否解决了问题?

    是的、我们已经尝试将 看门狗计时器更改为50ms、但它也不起作用。  

    [引用 userid="302729" URL"~/support/interface-group/interface/f/interface-forum/1170646/ds90ub935-q1-935-cannot-access-local-device-via-remote-i2c/4408855 #4408855">所有这些转储都来自 Rx 端口2。 是正确的吗? 所有其他端口工作正常?

    935模块故障。 它们测试连接到两个935模块的962。 一个是好的、另一个是坏的。 它们切换935模块,然后切换935模块。  

    [引用 userid="496843" URL"~/support/interface-group/interface/f/interface-forum/1170646/ds90ub935-q1-935-cannot-access-local-device-via-remote-i2c/4408120 #4408120">他们 仅配置935寄存器的初始代码非常奇怪。 它们不会更改935寄存器。 我还比较了935寄存器的良好和不良情况。 您可以看到我的屏幕截图、如下所示。   左侧是坏的、右侧是好的。 它们之间的唯一区别是多个"保留"寄存器。 您能否分享有关这些寄存器的更多详细信息? 我还询问客户是否更改了它们。

    请解释保留寄存器的含义吗? 我想、改变它们的不是我们的客户。 您是否见过保留寄存器发生更改?  

    我们今天还有另一项测试。 我们将962连接到953 EVM、但我们将953替换为故障935。 我们在 EVM 板上有传感器。 我们还发现问题、即935远程 I2C 无法输出。 正如您在下面看到的、在"2s "时、我们为953 EVM 加电。 935加电后、我们将运行上述935初始配置、然后通过远程 I2C 访问传感器。 但我们无法访问它。 没有 I2C 输出。

    ℃、我们将该模块置于-40温度环境中、然后将其置于25 μ F 环境中10分钟、然后加电。 测试波形如下所示。 935 I2C 不仅没有输出、而且还有电压漂移。  

    我们将与客户进行现场测试。 如果仍然没有进展,恐怕我必须发出呼吁,讨论这个问题。 这是一个非常紧急的情况、因为 OEM 由于这个问题而扣留了2000辆汽车。 您还可以告诉我您需要进行分析的其他内容。 感谢您的理解。

    BR、

    ElecCheng

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

    您好、电子

    我之前问过这个问题、但没有得到您的回答!

     它们在 SER 上使用哪种 I2C 上拉电压?

    您能否还向我发送他们用于初始化 SER 的初始化代码、包括延迟和使用的序列。

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

    您好、Hamzeh、

    [引用 userid="496843" URL"~/support/interface-group/interface/f/interface-forum/1170646/ds90ub935-q1-935-cannot-access-local-device-via-remote-i2c/4408120 #4408120">对于935 MODE 引脚、它以10k 的电流进行下拉。 因此、该模式应为 CSI-2同步模式。[/QUERT]

    已在此处回答!  

    [引用 userid="496843" URL"~/support/interface-group/interface/f/interface-forum/1170646/ds90ub935-q1-935-cannot-access-local-device-via-remote-i2c/4408120 #4408120"]

    935初始代码:

         {0x02、0x73}、

            {0x0d、0x00}、/*禁用远程 GPIO *

            {0x0E、0xA5}、/*启用 GPIO 输入*/

            {0x06、0x43}、/* DIV:4、M:3 */

            {0x07、0x7d}、/* N:0x7D */

    [/报价]

    此处为935初始代码。 所有器件都需要935次初始化。

    正如我所说的,我们需要你们的大力支持,因为这是非常紧迫的情况。 感谢您的理解!

    BR、

    ElecCheng

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

    电气、

    请仔细阅读我的问题! 您尚未回答。

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

    此外、我还与团队讨论了这种行为。 他们非常确信这与 WD 超时有关。 请参阅随附的文档、确保客户正确实施并测试!

    e2e.ti.com/.../5732.FPD_2D00_Link-Camera-Startup-flow.pdf

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

    您好、Hamzeh、

    上拉电压为1.8V。 您可以看到下面的原理图。

    BR、

    ElecCheng

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

    好的、谢谢!

    kΩ Ω、I2C 上推荐的上拉电阻对于标准和快速模式= 4.7k Ω、而对于快速加电模式、建议使用= 470k Ω 的上拉电阻。 但是、可以根据 本 应用手册中的容性负载和数据速率要求额外调整上拉电阻器值。

    但是、正如我说过的、 我已经和团队谈论过这种行为。 他们非常确信这与 WD 超时有关。 请参阅随附的文档、确保客户正确实施 并测试!

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

    您好、Hamzeh、

    感谢您在这里的推荐。 我们在935和962中都将"Speed Up I2C Bus Watchdog Timer"设置为50ms、但它运行正常。 但对于这个问题、我们在今天的测试中遇到了一些困惑。

    1."Speed Up I2C Bus Watchdog Timer"和"BCC_WD_TIMER"有何区别? 我们只将"BCC_WD_TIMER"更改为小值、它不起作用。 在这种情况下、"BCC_WD_TIMER"也是相关的吗?  

    2.目前我们的寄存器设置是: "Speed Up I2C Bus Watchdog Timer"(加速 I2C 总线看门狗计时器)为50ms。  "BCC_WD_TIMER"为10ms。 它是否配置良好?  

    3.  "加速 I2C 总线看门狗计时器"确实与此问题相关。 但根据我们的理解、看门狗计时器用于在状态不好时复位 I2C。 在我们的故障情况下、可在 PDB 之后访问远程 i2c。 因此、这意味着一旦 PDB 拉高、远程 i2c 就会进入"故障"状态。 仅在看门狗计时器到期并将远程 i2c 拉回正常状态后。 那么、它为什么会这样做呢? 这是正常的吗?

    正如我们今天提到和测试的、将"Speed Up I2C Bus Watchdog Timer"设置为1s。 在-40℃内更容易出现。 ℃℃测试一个模块、它在15 μ s 内工作正常、在-40 μ s 内不工作。 ℃测试了许多模块、发现在-40 μ s 内、其故障率更高。 那么、它为什么与温度相关呢? 温度会影响什么?  

    再次感谢您、Hamzeh 在本例中提供的帮助!

    BR、

    ElecCheng

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

    您好、电子

    很高兴听到它工作正常!

    [引用 userid="496843" URL"~/support/interface-group/interface/f/interface-forum/1170646/ds90ub935-q1-935-cannot-access-local-device-via-remote-i2c/4411942 #4411942"]"Speed Up I2C Bus Watchdog Timer"和"BCC_WD_TIMER"有何区别? 我们只将"BCC_WD_TIMER"更改为小值、它不起作用。 在这种情况下、"BCC_WD_TIMER"也是相关的吗?  [/报价]

    BCC_WD_Timer 仅用于 SER 和 DES 之间的通信、如果 BCC 事务无法在设定的时间内完成、它允许终止该事务。

    但 I2C_Bus_WD_Timer 在摄像头中的本地 I2C 总线上负责、在事务无效终止后、该总线可能会被释放或挂起。

    [引用 userid="496843" URL"~/support/interface-group/interface/f/interface-forum/1170646/ds90ub935-q1-935-cannot-access-local-device-via-remote-i2c/4411942 #4411942">当前寄存器设置为: "Speed Up I2C Bus Watchdog Timer"(加速 I2C 总线看门狗计时器)为50ms。  "BCC_WD_TIMER"为10ms。 它的配置是否正常?[/quot]

    请将 BCC_WD_Timer 更改为高于50ms。 我会将其更改为~100ms。

    [引用 userid="496843" URL"~/support/interface-group/interface/f/interface-forum/1170646/ds90ub935-q1-935-cannot-access-local-device-via-remote-i2c/4411942 #4411942"]"加速 I2C 总线看门狗计时器"确实与此问题相关。 但根据我们的理解、看门狗计时器用于在状态不好时复位 I2C。 在我们的故障情况下、可在 PDB 之后访问远程 i2c。 因此、这意味着一旦 PDB 拉高、远程 i2c 就会进入"故障"状态。 仅在看门狗计时器到期并将远程 i2c 拉回正常状态后。 那么、它为什么会这样做呢? 这是否正常?[/报价]

    如果 UB935在上电时检测到 I2C 总线活动、它将进入1s 超时、在此超时期间禁止与连接到935的其他从器件进行事务处理。
    超时基于内部时钟(该时钟可能会变化高达+/-40%)。 这意味着在加电期间、I2C 事务可被禁用多达1.4秒。
    由于 I2C 基于漏极开路 IO、因此电源上的任何电源瞬态都将直接转换为 I2C 上的活动、 并被 SER 检测为活动 、并将触发计时器。 由于器件加电期间存在电流瞬态、因此在启动期间尤其如此。

    浪涌电流引起的瞬变将在启动时被检测为 I2C 活动、并可触发看门狗计时器。

    [引用 userid="496843" URL"~/support/interface-group/interface/f/interface-forum/1170646/ds90ub935-q1-935-cannot-access-local-device-via-remote-i2c/4411942 #4411942">正如我们今天提到并测试的、将"Speed Up I2C Bus Watchdog Timer"设置为1s。 在-40℃内更容易出现。 ℃℃测试一个模块、它在15 μ s 内工作正常、在-40 μ s 内不工作。 ℃测试了许多模块、发现在-40 μ s 内、其故障率更高。 那么、它为什么与温度相关呢? 温度会影响什么?  [/报价]

    温度变化将影响内部振荡器时钟、振荡器时钟的变化可高达+/-40% 、这意味着时间变化为600ms 至1.4s。 此外、不同的温度可能会对电源产生影响、从而缩短或缩短上升和下降时间。

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

    您好、Hamzeh、

    感谢您的回复!

    [引用 userid="302729" URL"~/support/interface-group/interface/f/interface-forum/1170646/ds90ub935-q1-935-cannot-access-local-device-via-remote-i2c/4412115 #4412115"]请将 BCC_WD_Timer 更改为大于50ms。

    您能否解释 BCC_WD_Timer 为何应更高?

    [引用 userid="302729" URL"~/support/interface-group/interface/f/interface-forum/1170646/ds90ub935-q1-935-cannot-access-local-device-via-remote-i2c/4412115 #4412115"]由于 I2C 基于漏极开路 IO、因此电源上的任何电源瞬变都将直接转换为 I2C 上的活动并被 SER 检测为活动 并将触发计时器。 启动期间尤其如此、因为器件上电期间存在电流瞬态[/报价]

    我们了解到、I2C 控制器由于 I2C 总线上的瞬态或干扰而进入超时状态。 从您的角度来看、情况是否经常发生? 在客户的系统中、这是正常的吗? 我想知道为什么 I2C 看门狗计时器默认为1s?  

    [引用 userid="302729" URL"~/support/interface-group/interface/f/interface-forum/1170646/ds90ub935-q1-935-cannot-access-local-device-via-remote-i2c/4412115 #4412115"]Temp change 将影响内部振荡器时钟、该时钟的变化可能高达+/-40% 、这意味着600ms 至1.4s 的时间变化。 此外、不同的温度可能会对电源产生影响、从而缩短或缩短上升和下降时间。[/引述]

    在一次测试中、我们测量从 PDB 上拉至远程 I2C 访问所需的时间大约为2s。 是否还有任何可能的原因会延长时间?  

    另一个问题是、为了解决在将 I2C 看门狗计时器设置为50ms 之前的问题、客户将使 I2C 重试、直到最终访问。 在正常操作中、我们是否仍需要重试? 谢谢。

    BR、

    ElecCheng  

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

    您好、电子

    [引用 userid="496843" URL"~/support/interface-group/interface/f/interface-forum/1170646/ds90ub935-q1-935-cannot-access-local-device-via-remote-i2c/4412728 #4412728"]您是否可以解释 BCC_WD_Timer 为什么要更高?

    如果"BCC_WD_Timer"与"I2C 总线看门狗计时器"相同或更低、 则 每次 I2C 总线计时器等待响应时、BCC 将终止、这将导致双重问题;本地 I2C 终端和 BCC 终端。 为了避免 BCC 终止、建议按照 我所说的那样增加它的定时器。

    [引用 userid="496843" URL"~/support/interface-group/interface/f/interface-forum/1170646/ds90ub935-q1-935-cannot-access-local-device-via-remote-i2c/4412728 #4412728")从您的角度来看,情况是否经常发生? 在客户的系统中、这是正常的吗? 我想知道为什么 I2C 看门狗计时器默认为1s?  [/报价]

    是的、我们看到其他客户采用相同的实现方式会导致超时、因此我们创建了此应用手册、以帮助客户在器件从 PDB 流出后无法保持其 I2C 总线清洁时避免这种行为。

    正确、默认值为1、以便在终止本地 I2C 总线事务之前允许更多时间、但如果客户希望更快的系统启动、则可以将此值更改为50ms。

    [引用 userid="496843" URL"~/support/interface-group/interface/f/interface-forum/1170646/ds90ub935-q1-935-cannot-access-local-device-via-remote-i2c/4412728 #4412728")在一次测试中,我们测量从 PDB 上拉至远程 I2C 访问所需的时间约为2s。 是否还有任何可能的原因会延长时间?  [/报价]

    如果 WD_Timer 彼此连续触发2次、则会发生这种情况。

    [引用 userid="496843" URL"~/support/interface-group/interface/f/interface-forum/1170646/ds90ub935-q1-935-cannot-access-local-device-via-remote-i2c/4412728 #4412728]另一个问题、要解决此问题、在将 I2C 看门狗计时器设置为50ms 之前、客户将使 I2C 重试、直至最终访问。 在正常操作中、我们是否仍需要重试?

    重试机制始终良好。 如果 WD 计时器会连续触发两次(但这种情况可能很少发生)、那么这会有所帮助。

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

    Hamzeh、

    我与 Elec 一起处理此案例。

    客户需要向汽车 OEM 进行解释、以便他们仍需要 TI 的更多澄清。

    我们无法解释的一个原因是这种现象与我们的特定器件 UB935 (A-B-A 交换实验完成)有关。  

    使用此特定的 UB935 (大约10%的 UB935会在低温下出现此行为、例如-20C)、可以很容易地重现此问题。

    BAD UB936可能会在 -20°C 的温度下在我们的 EVM 上重现该现象。

    您能否向我们提供技术说明、以便我们向汽车 OEM 报告以解决该问题?

    谢谢

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

    您好、Hamzeh、

    除了 Ryan 的问题、我还有另外一个请求。 如您所知、这种情况对汽车 OEM 和一级供应商都有很大影响。 从我的角度来看、为了更好地解决这一问题、最好是向客户提供一份材料、例如应用手册或技术手册、其中解释了根本原因以及更改寄存器对技术方面的帮助、从而得出结论。 您可以通过电子邮件向我们发送、因为这是一个公共论坛。 谢谢。

    BR、

    ElecCheng

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

    大家好、团队、

    这不是设备问题。 正如我之前提供的应用手册中所述、这是一个系统实现问题。

    根据提供的应用手册、不同温度下的不同行为应来自其他器件。