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.

[参考译文] Linux/SN65DP159:DP159 EDID 读取错误数据

Guru**** 2535150 points


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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/822223/linux-sn65dp159-dp159-edid-read-wrong-data

器件型号:SN65DP159

工具/软件:Linux

你(们)好
我们在 HDIM 输出端使用 SN65DP159RGZ、如图所示。 DP159的输入和输出数据均为 TMDS。 我们不使用 AUX 功能。 Xilinx 读取电视的 EDID、Xilinx 有时会获取错误的数据。 当我们单步执行 DP159时、Xilinx 直接连接 到电视、Xilinx 始终读取正确的数据。 我们怀疑 I2C-over-AUX 可能会影响 EDID 功能。 我们如何关闭 I2C-over-AUX 功能?
从 I2C 读取 DP159的寄存器时、我们得到的寄存器值如下所示:
  0 1 2 3 4 5 6 7 8 9 A b c d e f                   0123456789abcdef
00:44 50 31 35 39 20 20 20 01 02 38 00 00 00 00 0f   DP159  ??8……
10:00 00 00 00 00 00 50 00 00 00 00 00 00 00 00 00........    第...页。
20:8A 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00..........    
30:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    
40:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    
50:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    
60:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    
70:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    
80:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    
90:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    
A0:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    
B0:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    
C0:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    
D0:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    
E0:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    
F0:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                 
为什么寄存器22h 是00?

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

    Dajun

    请将 AUX_SRCp/n 保持悬空、  

    对于 GPU 或接收器不支持时钟扩展的应用、来自 GPU/DP TX 的 DDC 线路应绕过 SCL_SRC 和 SDA_SRC、但仍连接到 DP159上的 SCL_SNK 和 SDA_SNK 引脚。 SCL_SRC 和 SDA_SRC 引脚必须被拉至接地。 请注意、如果 GPU/DP TX 无法支持来自连接器的5V DDC 线路、则需要使用电平转换器将5V 信号降低到 GPU/DP TX 可以支持的电压电平。

    谢谢

    David

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

    我们没有 在 SCL_SRC 和 SDA_SRC 引脚的 PCB 中保留下拉电阻器。 SCL_SRC 和 SDA_SRC 引脚是否可以悬空?

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

    感谢您的回复。Xilinx 的 FAE 告诉我们 IP 内核支持 时钟扩展。那么、还有其他建议吗? 谢谢。

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

    Dajun

    出于某种原因、原始帖子中缺少图片、因此我无法再看到连接。 请再次分享连接图吗?

    您可以将 DP159置于嗅探模式。 如何连接是在我之前的帖子中。

    2.尝试更改 DDC 上的上拉电阻、看看是否有任何改进。

    3.尝试以较低的数据速率运行 I2C 数据速率。

    谢谢

    David

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

    diagarm 就像这样:n‘t 网络有问题,我无法上传图片。

    Xilinx --> DP159 -->连接器-->电视

    如果绕过 DP159、BUF、我们不 会在 SCL_SRC 和 SDA_SRC 引脚的 PCB 中保留下拉电阻器、SCL_SRC 和 SDA_SRC 引脚是否可以悬空?  

    2. 我们 尝试以较低的数据速率运行 I2C 数据速率、 并进行了一些改进。

    我们测量 了 SCL_SRC 和 SCL_SNK,发现速率不同,SCL_SNK 大约为90KHz。 SCL_SRC 有时为90KHz、有时为25KHz。为什么 SCL_SRC 和 SCL_SNK 的时钟速率不同?

    谢谢

    Dajun

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

    Dajun

    SCL_SRC 和 SDA_SRC 必须被拉至 GND。 如果保持悬空、噪声可能耦合到 SCL_SRC 和 SDA_SRC 上、并导致 DP159错误读取 DDC 总线。

    DP159在 SCL_SRC 和 SDA_SRC 上实现了 I2C 时钟扩展。 它  通过拉伸 SCL_SRC 信号来减慢通信速度。 在 SCL 低电平阶段、  总线上的任何 I2C 器   件都可以额外保持 SCL 以防止 SCL 再次上升、从而使其降低 SCL 时钟速率或停止 I2CCommunication 一段时间。  

    我想查看 DDC 总线上的上拉电阻值。 您可以尝试更改上拉电阻器值、看看它是否可以解决问题。

    谢谢

    David