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:I2C EDID 更新

Guru**** 2455490 points


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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1029419/ds90ub929-q1-i2c-edid-updating

器件型号:DS90UB929-Q1

我已使用 APB 成功读取默认 EDID。

似乎无法使用 APB (单次或自动递增)将我的新 EDID 写入 SRAM。  始终读回默认值。

我已阅读以下页面:

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/684117/ds90ub948-q1evm-how-to-ensure-the-948-is-locked-to-the-949/2521392#2521392

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/796756/ds90ub929-q1-unable-to-get-custom-edid-to-work

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

其他。

有人知道我遗漏了什么?

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

    您好、Alan、

    您能否共享用于尝试对 SRAM 进行编程的脚本?

    此致、

    Casey  

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

    感谢您的回复。

    希望伪代码是合理的。

    若要读取 EDID (结果与数据表100%匹配、适用于所有256个默认 EDID 字节)、请执行以下操作:

    将0x00写入 ADR0_0x49。

    循环以下256次:

    {将0x0F 写入 APB_CTL_0x48

    从 APB_DATA0_0x4B 读取数据}

    这包括所有预期的在 I2C 上进行的插孔和重新启动。

    对于写入 EDID、我尝试了一次和多次写入(使用自动递增)。  下面是我要尝试多个器件的情况:

    将0x00写入 ADR0_0x49。

    循环以下 n 次(我最初尝试 n=8次写入以验证):

    {将0x0D 写入 APB_CTL_0x48

    将 EDID[n]写入 APB_DATA_0x4B}

    同样、我将看到所有预期的"黑客"和"循环"、毫无例外。

    我觉得一定会有一些容易遗漏的东西。

    谢谢。

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

    您好、Alan、

    这个过程看起来是正确的-我在 EVM 上尝试过它、没有发现任何问题。 您能告诉我您的 MODE_SEL 自举设置为什么吗?

    此致、

    Casey

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

    Mode_Sel0和 Mode_Sel1均被拉低。  已验证二者均为0VDC。

    与您的问题无关、但仅在以下情况下:IDX 设置为分频器(根据数据表):82.5K 至3.3VDC、102K 接地、从而产生.986VDC。 这用于8位地址0x28。

    谢谢、

    Alan

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

    Alan、

    好的、我当时真的很想知道为什么这不适合你。 您能否发送完整的脚本、然后我可以在我们的 EVM 硬件上运行、看看我是否看到您看到的内容?

    此致、

    Casey  

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

    由于我正在从 NXP LPC 运行单个主 I2C 总线、因此不确定我可以发送的内容是否适用于您的 EVM。

    总之、目前没有任何东西可以解锁 EDID 的写入或将写入的数据提交到 EDID?  进行更改确实像听起来一样简单?

    我觉得在 ctrl 中设置读取标志对于读取很重要、但没有这样的障碍需要写入、这一点很有趣。

    我还没有尝试在8位地址0xA0向 EDID 从器件 I2C 发送更新、也没有使用自动增量。  我想使用这个方法、我必须循环写入 EDID 索引、然后写入数据...因此相对于自动递增没有太多优势?

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

    您好、Alan、

    我不知道会锁定 SRAM 访问的任何内容。 不过、在此之前是否对其他内容进行编程? 如果需要、我们可以对此进行审查。 按照我尝试使用和不使用自动递增的方式、使用您所描述的过程、这两种情况都未显示此类问题  

    此致、

    Casey  

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

    我希望我有一个明智的报告、但最终发现代码中存在错误。  EDID 按预期编程。  感谢你能抽出时间。