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.

[参考译文] DS90UB947-Q1:ds90ub947-Q1和 ds90ub948-Q1上的 I2C 全通

Guru**** 2560390 points
Other Parts Discussed in Thread: DS90UB947-Q1, DS90UB948-Q1, ALP

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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1364632/ds90ub947-q1-i2c-pass-through-all-on-ds90ub947-q1-and-ds90ub948-q1

器件型号:DS90UB947-Q1
主题中讨论的其他器件: DS90UB948-Q1ALP

大家好、我有一个使用 ds90ub947-Q1和 ds90ub948-Q1的项目。 我将使用  ds90ub947-Q1和 ds90ub948-Q1的 I2C 直通所有函数。 但配置 ds90ub948-Q1 (通过 I2C)时出现问题。 我将寄存器0x17 (I2C 控制)的第7位设置为1、以启用 ds90ub97-Q1中的 I2C 直通函数、并确认此位已通过再次读取寄存器0x17的值而设置。 针对 ds90ub947设置 I2C 直通所有后、我继续通过 I2C 针对 ds90ub948-Q1进行配置、但我不能这样做、因为 ds90ub947-Q1中的 I2C 直通所有似乎是异常操作。 有时我可以读取 ds90ub948-Q1寄存器的值、但通常会显示错误。 我还阅读了 https://www.ti.com/lit/an/snla222/snla222.pdf 、其中介绍了 I2C PASS 以及 ALL 函数。 对于此功能、我还必须做哪些其他事情才能正常工作?

希望尽快获得您的帮助!

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

    您好、Quan:

    Unknown 说:
    对于此函数、我还需要做些什么才能正常操作?

    您的设置是什么? 您是否将 EVM 与 ALP 配合使用? 要将远程 I2C 通信发送到948、必须具备有效的 LOCK 和 I2C 直通特性。 需要运行 PATGEN 或需要应用视频输入以生成正向通道通信。

    有时我可以读取 ds90ub948-Q1寄存器的值,但通常它会显示错误

    您能给我展示一下错误是什么样子的吗?

    此致!

    插孔

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

    我定期从 ds90ub948-Q1的寄存器0x27读取10ms 的值。 该命令会返回 I2C 超时错误(我想由于未接收到位 ACK)、但有时还会返回通知、表明通过 I2C 进行读取是正常的、并且寄存器的读取值为0x84 (寄存器0x27的默认值)。 我重试读取另一个寄存器、结果是一样的(有时会返回正确的寄存器默认值)。 我看到它的运行非常不稳定。 下图是我的系统的器件

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

    您好、Quan:

    感谢您提供图表。 如果寄存器返回的值不一致、说明链接可能不稳定。 您是否能够监视948一侧的锁定状态? 您还能否提供947的寄存器转储、以便我们看看是否检测到 CRC 错误或链路中断?

    此致!

    插孔

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

    您好、Jack、

    感谢您的答复!

    我无法检查948上锁定针脚的状态、因为原因与系统结构有关。 下面是我在 config 之后通过 I2C 读取的947上的寄存器值

    寄存器0x00:0x34

    寄存器0x03:0xD0

    寄存器0x04:0x90

    寄存器0x05:0x00

    寄存器0x06:0x58

    寄存器0x0D:0x21

    寄存器0x0E:0x11

    寄存器0x0F:0x01

    寄存器0x10:0x03

    寄存器0x11:0x00

    寄存器0x12:0x00

    寄存器0x14:0x00

    寄存器0x17:0x9E

    寄存器0x18:0x0B

    寄存器0x19:0x1F

    寄存器0x1A:0x01

    寄存器0x4F:0xC0

    寄存器0x5B:0x20

    寄存器0xC6:0x21

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

    您好、Quan:

    我们需要查看947状态寄存器以确定链路是否不稳定。 您可以读取以下寄存器吗?

    • 0xA & 0xB - CRC 错误
    • 0xC -常规状态
    • 0x5A -双状态

    尝试多次读取0xC、以查看该值是否由于链路检测或无效的 PCLK 而变化。

    此致!

    插孔

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

    您好、Jack、

    我将很快读取您需要的寄存器值、并在之后向您提供反馈。 现在、我有一个关于947中的 I2C 时钟延展的问题。 是否有任何方法可以为947配置 I2C 时钟延展模式?

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

    您好、Quan:

    947中内置的 I2C 控制器自动支持时钟延展。 您系统的 MCU 必须支持 I2C 时钟延展。

    此致!

    插孔

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

    您好、Jack、

    感谢您作出有关 I2C 时钟扩展的响应。 那么、对于值 SCL 高电平时间和 SCL 低电平时间寄存器有什么注意事项吗? 如果主机 MCU 的 I2C 时钟大约为400kHz、那么我应该为这些寄存器设置多大的值?

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

    您好、Quan:

    从寄存器0x18和0x19的寄存器配置中、我可以看到快速模式(400kHz)速度已经被配置。 最小低电平和高电平周期与 I2C 规格相匹配。 当947作为总线上的 I2C 主器件时、这些寄存器只控制 I2C 的速度。 当 MCU 驱动 I2C 总线时、947将接受不同的 I2C 时钟速度,而无需预先配置寄存器。

    此致!

    插孔

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

    您好、Jack、

    您可以为我详细解释947何时在总线上充当 I2C 主器件? 我真的不明白这个地方。 如果您不必烦恼、您能提供一个示例系统吗?

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

    "内置在947中的 I2C 控制器自动支持时钟扩展"  948就像这样、对吧?

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

    您好、Quan:

    您可以为我详细解释947何时在总线上充当 I2C 主设备? [/报价]

    当连接到本地947 I2C 总线的 MCU 启动事务时、947是 I2C 总线上的从器件。 如果 DES 侧的 MCU 或其他控制器从947总线上的 MCU 读取/写入数据、947将充当 I2C 主器件。

    为了允许通过远程链路进行双向 I2C 通信、FPD-Link I2C 模块可以在需要时充当主器件和从器件。

    "947内置的 I2C 控制器自动支持时钟扩展"948 就像这样,对吗?

    可以。

    您是否已读取我提到的输入器?

    此致!

    插孔

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

    您好、Jack、

    这些是您所需的寄存器值、

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

    您好、Quan:

    感谢您捕获寄存器。 寄存器0xA 和0xB 是反向通道的 CRC 计数器。 我可以看到、它变得越来越显著地表明了链路问题。 这就是远程 I2C 事务不一致的原因。 您对 FPD-Link 通道使用哪种类型的电缆?

    是否在947上启用 PATGEN? 我从寄存器0xC 和0x5A 中看到没有检测到 oLDI 输入。

    此致!

    插孔

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

    您好、Jack、

    我使用双绞线电缆。 如何在947上启用 PATGEN? 目前、我配置为947和948、然后再为它们提供 LVDS 信号。 似乎这使我的947和948正常运行、对吧?

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

    您好、Quan:

    请参阅以下应用手册:

    www.ti.com/.../snla132g.pdf

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

    好的。 感谢您的帮助、Jack、Hamzeh!!!

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

    大家好、Jack 和 Hamzeh、

    我读取947的寄存器0x5A 并看到该寄存器的位7是不稳定的。  导致这一问题的原因是什么?

    请帮我!!

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

    您好、Quan:

    SER 和 DES 之间的连接是否稳定? 在 DES 侧看到稳定的锁吗?

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

    是的、 是的。 我看到锁定引脚不稳定、

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

    您好、Quan:

    美国团队目前因美国公众假期不在办公室、将于5月28日返回。 感谢您的耐心等待  

    此致、

    凯西

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

    您好、Quan:

    感谢您的耐心。 达拉斯的恶劣天气导致停电、因此我的回复延迟。

    目前,我在为他们提供 LVDS 信号之前配置947和948。

    建议在上电序列的最后一步提供 LVDS 信号。 我明天可以提供一个脚本、如果您无法应用 LVDS 信号、则可以对947 PATGEN 进行编程。 如果没有 LVDS 信号、947-948链路将不够充分。 系统运行需要 LVDS 时钟输入。

    此致!

    插孔

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

    您好、Jack、

    我明天等待你的脚本!!!

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

    您好、Quan:

    附加了947 PATGEN 脚本。 它配置为720p 计时。 应该在运行脚本后建立锁定。

    此致!

    插孔

    e2e.ti.com/.../947_5F00_PATGEN.txt

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

    您好、Jack、

    感谢你的帮助。 我的系统现在可以在显示器上显示。 但我仍然对寄存器0x28 of 948有疑问、我尝试将它的位1设置为1、但当我在写入后读取它时、这个位仍然为0 (寄存器0x28的其他位可以正常设置)

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

    您好、Quan:

    寄存器0x28 (DATAPATH_CONTROL_2)要求将位7置位以更改此寄存器中的任何其他位。 当尝试覆盖其他位时、您是否将位7置位?

    通常、该寄存器不需要手动写入、因为它会从上行串行器接收相应的信息。

    此致!

    插孔

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

    好的! 非常感谢 Jack。 很幸运、您可以获得帮助!

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

    您好、Quan:

    很乐意提供帮助。 如果您有任何其他问题、可以在此处回答或创建新主题。 如果您有与本次对话无关的问题、我建议您开始新主题。

    此致!

    插孔