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.

[参考译文] DS90UB929-Q1EVM:是否有任何方法可以使 HDMI 接口通过 I2C 以编程方式重新连接

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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/796280/ds90ub929-q1evm-is-there-any-way-to-make-hdmi-interface-to-reinit-programmatically-via-i2c

器件型号:DS90UB929-Q1EVM

您好!

是否有任何方法可以通过 I2C 使 HDMI 接口以编程方式重新建立?

我想使用 I2C 将 EDID 结构上传到 DS90UB929 SRAM、但我必须重新插入 HDMI 电缆以强制这些更改在 HDMI 源(PC)上生效。 是否有任何方法仅使用 I2C 接口即可实现此目的?

我假设正确的方法是切换 HPD 引脚。 但是写入 I2C 复位寄存器(寄存器地址0x01)似乎不会影响 HPD 引脚。

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

    您好!

    我将查看寄存器、看看这是否可以完成。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我在工作台上检查并执行 I2C 寄存器0x01复位将切换 HPD。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    好的、如果我加载新的 EDID、然后将0x10写入0x1寄存器、则不会影响 HPD 引脚。 我尝试了 RESET0、RESET1和 HDMI 复位位位。

    下面是我的配置:Windows 10 PC -> HDMI -> SV600978 Devboard -> FPD-Link -> DS90UB926 -> 854x480屏幕

    上电后、我通过 I2C 配置远程解串器和屏幕。 我在屏幕上看到失真的图像、因为 PC 发送了720p 视频流。 由于默认 SV600978开发板 EDID、它会发送720p。

    然后、我将 EDID 加载到串行器 SRAM 中。 PC 仍将 Devboard 检测为720p 接收器。 在这里、如果我手动重新插入 HDMI 电缆、则 PC 会将开发板检测为854x480接收器。

    加载 EDID 后、如果您尝试使用0x01寄存器上的不同位进行复位、它根本不起作用。

    帮助我在不重新插入 HDMI 的情况下进行重新设计的唯一方法是:

    1) 1)将 HPD 引脚设置为低电平1秒、并将 GPIO 配置为开漏

    2)、然后将0x02值(RESET1)写入寄存器0x01

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

    您好!

    您可以使用以下命令取消对 HPD 的置位:

    0x48 = 0x01

    0x49 = 0x00

    0x4A = 0x00

    0x4B = 0x01

    0x4C = 0x00

    0x4D = 0x00

    0x4E = 0x00

    您可以使用以下命令将其重新置为有效:

    0x48 = 0x01

    0x49 = 0x00

    0x4A = 0x00

    0x4B = 0x01

    0x4C = 0x00

    0x4D = 0x00

    0x4E = 0x01

    此致、

    Casey  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    你好。
    不。 执行此命令后、HDP 引脚未切换。
    在哪里可以阅读到有关"HDMI APB 接口"的信息、这些寄存器的用途是什么?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    我刚刚在工作台上尝试过这种方法、我可以验证它是否确实使用我提供的命令切换 HPD。 您能否验证在 J16上检测到 RX_5V? 当连接 HDMI 源时、它应该具有5V 电压。 HPD 引脚为漏极开路、因此只能下拉、而不能驱动高电平。 在 EVM 上、HDMI 源将其上拉至5V。

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

    您好!

    此代码有助于解决此问题:

    I2CRegWriteByte (Addr1、0x40、0x10);
    I2CRegWriteByte (Addr1、0x41、0x49);
    I2CRegWriteByte (Addr1、0x42、0x10);
    I2CRegWriteByte (Addr1、0x42、0x00);

    thread.Sleep (200);

    I2CRegWriteByte (Addr1、0x40、0x14);
    I2CRegWriteByte (Addr1、0x41、0x49);
    I2CRegWriteByte (Addr1、0x42、0x10);
    I2CRegWriteByte (Addr1、0x42、0x00);