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-Q1:将来自 MCU 的 EDID 数据写入串行器(DS90UB929-Q1),但 EDID 数据无效,串行器使用默认的 EDID 数据

Guru**** 2455360 points
Other Parts Discussed in Thread: DS90UB929-Q1, DS90UB924-Q1

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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/679210/ds90ub929-q1-write-edid-data-from-mcu-to-the-serializer-ds90ub929-q1-but-the-edid-data-is-no-effective-and-serializer-uses-the-default-edid-data

器件型号:DS90UB929-Q1
主题中讨论的其他器件: DS90UB924-Q1

您好!

当前 情况: 我们设计了一个具有串行器(ds90ub929-Q1)的 PCBA、 并且 它通过 LVDS 连接到另一个具有解串器(ds90ub924-Q1)的电路板。 在 PCBA 中,我们有一个通过 I2C 连接到串行器的 MCU,加电后,串行器使用内部默认 EDID 数据,屏幕分辨率为 ERROR (1280*720)。 为了实现正确的分辨率显示(1280*768),我们将 EDID 数据从 MCU 写入串行化器,并且可以接收 ACK 的每个字节,但屏幕分辨率与未写入 EDID 数据时相同。  因此、我认为 EDID 数据无效。  

•问题: 如何使从 MCU 获取的串行器 EDID 数据有效 并显示正确的分辨率图片? 在写入 EDID 数据之前或之后、我需要设置哪个寄存器和 GPIO。 请帮帮我。

注释:EDID 数据已验证、没问题。写入 EDID 数据时 、器件地址为0x18、寄存器地址为0xA0。  我们可以成功修改串行器中其他寄存器的值。

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

    您好!

    如果使用1280x768、则不是默认分辨率。 您可以根据 Ux929选择 EDID 设置、该设置可支持4种 EDID 配置。 如果 要将分配的 EDID 写入 UB949内部 SRAM、可以在 MODE_sel0/1中同时使用 EDID_SEL 和 REM_EDID_LOAD (可以使用设置或寄存器设置)从内部 SDRAM 中选择 EDID、这样、您的 HDMI 源就可以通过 DDC 读取分配的 EDID。 详细解决方案如下:

    地址寄存器为 EDID SRAM 提供字节偏移量。  访问 EDID SRAM 时、仅使用 APB_DATA0寄存器、因为接口为8位、APB_SELECT 位应设置为01值以选择 EDID SRAM。

     

     读取 EDID SRAM 的过程如下:

    写入 APB_ADR0以设置8位寄存器地址。

    2. 设置 APB_CTL 寄存器中的 APB_READ 位。  这将启动 APB 接口读取。  

        在 APB_CTL 寄存器写入期间、APB_ENABLE 位也必须置位、而 APB_SELECT 位必须置位为01。  如果需要、可以设置 APB_AUTO_INC 位以启用自动递增功能。

     3.读取 APB_DATA0寄存器。

    4、 如果 APB_AUTO_INC 被置位、则可以通过重复步骤2和3来读取下一个寄存器位置、否则重复步骤1-3来读取另一个寄存器位置。

     EDID SRAM 的写入过程如下:

    1. 在 APB_CTL 寄存器中设置 APB_ENABLE。  该位应在剩余的过程中保持置位。  APB_SELECT 位应该被设定为01。  如果需要、可以设置 APB_AUTO_INC 位以启用自动递增功能。

    2. 写入 APB_ADR0以设置8位寄存器地址。

    3. 将8位数据写入 APB_DATA0寄存器。  一旦 APB_DATA0被写入、APB 接口写入就会发生。

    4. 如果 APB_AUTO_INC 被置位、则可以重复步骤2来写入下一个寄存器位置、否则重复步骤1和2来写入另一个寄存器位置。

    您可以验证是否可以将正确的数据读/写到 EDID SDRAM 中、

    此致

    Steven  

     

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!
    感谢您的支持、我尝试根据您提供的解决方案将 EDID 数据写入串行器 UB929、从串行器读取的 EDID 数据与我写入的 EDID 数据相同、但屏幕不会显示图片。 在写入 EDID 数据之前、该寄存器设置如下:

    寄存器地址(0x4F)=数据(0x00)
    寄存器地址(0x54)=数据(0x00)
    寄存器地址(0x48)=数据(0x0D)
    寄存器地址(0x51)=数据(0xA0)
    寄存器地址(0x49)=数据(0xA0)
    写入 EDID
    读取 EDID 正常


    寄存器地址(0x4F)=数据(0x00)
    寄存器地址(0x54)=数据(0x00)
    寄存器地址(0x48)=数据(0x0D)
    寄存器地址(0x49)=数据(0xA0)
    写入 EDID
    读取 EDID 正常

    等等

    我想是否有任何未设置的寄存器。 如有可能、请帮助我检查一下、如我在上面写的那样、给我一个解决方案。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、模式设置是什么? 您可以查看此设置吗? 谢谢。

    此致、
    Steven
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好:
    模式设置如下:
    EDID_SEL (显示 ID 选择):0;
    EXT_CTL (外部控制器覆盖):0;
    REM_EDID_LOAD (远程 EDID 加载):0;

    该电流是多少?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    0x4F 和0x54的寄存器值是多少?
    EDID_SEL / EXT_CTL 和 REM_EDID 的设置似乎正确。 此设置的结果是什么?

    此致、
    Steven
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    寄存器地址(0x4F)=数据(0x00)
    寄存器地址(0x54)=数据(0x00)

    请在2018年4月27日上午8:30查看我的回复
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您可以转储 UB949的所有寄存器以供进一步分析。

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

    寄存器地址(0x4F)=数据(0x00)
    寄存器地址(0x54)=数据(0x00)
    寄存器地址(0x48)=数据(0x0D)
    寄存器地址(0x49)=数据(0xA0)

    /*写入 EDID*/

    for (i=0;<EDID_SIZE;i++))

    寄存器地址(0x4B)= EDID_buf[i]

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    遇到此类问题时、我需要获取 UB949的寄存器值。 您是否尝试在 TI 的默认 EDID 下链接是否正常工作(您可以更改 PC 输出分辨率)?
    BTW、什么是用于分辨率的 EDID? TI 的默认 EDID 代码在 d/s 页面19中进行了预编程。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    如果仍有问题、则应逐步隔离问题。
    1.是 HDMI I/f 问题吗? 请检查 UB929 d/s 中的 HDMI 状态寄存器、例如0x0C、0x50、0x5F 等。 我们可以检查您的计算机和 UB929 EVM 板之间的 HDMI I/f 是否可行。 此外、输入的 EDID 是否正确?
    2.如果芯片内的 HDMI 模块运行良好、那么您可以检查 UB929和去串行器之间的链接、您可以使用数据模式生成。 以检查此链接。

    任何问题、请告诉我。

    此致
    Steven
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    感谢您的支持、我已经解决了这个问题、解决方案是在设置寄存器之前添加1s 延迟。