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.

[参考译文] TMDS181:HDMI 2.0 模式下的TMDS时钟输出问题

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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/595650/tmds181-tmds-clock-output-problem-in-hdmi-2-0-mode

部件号:TMDS181

我在源模式下使用TMDS181。 HDMI源在FPGA中实施,TMDS181位于FPGA的收发器输出和HDMI连接器之间。

在所有HDMI 1.4 分辨率中,都没有问题。 一切正常。 HDMI接收器可以正确接收来自HDMI源的视频。 工作正常,包括4K30分辨率。 但是,在HDMI 2.0 模式下,它不起作用。 HDMI接收器无法接收信号。  

经过进一步调查,我发现在HDMI 2.0 模式下,TMDS181似乎将TMDS时钟频率除以4。 例如,HDMI信号源配置为发送4K60信号。 在这种情况下,正确的TMDS时钟频率是148.5 MHz,是4K60信号597 MHz像素速率的四分之一。 使用示波器,我可以解决TMDS181的IN_CLK引脚问题,并看到FPGA确实将148.5 MHz的TMDS时钟输出到TMDS181。 然后,如果探测TMDS181的OUT _CLK引脚,我会看到37.125 MHz的时钟频率,它恰好是TMDS181输入时钟频率的四分之一。

当然,我很清楚HDMI 2.0 中的TMDS_Clk_Ratio机制。 事实上,是的,FPGA中的HDMI源正在通过DDC通道在正确的SCDC寄存器中设置HDMI接收器的TMDS_Clk_Ratio位。 我知道,当在HDMI 2.0 模式下设置此位时,TMDS181会侦听TMDS_Clk_Ratio序列并更改TMDS中的某些内容。 而且,我强烈怀疑当TMDS_Clk_ratio位被设置时,无论TMDS181发生什么变化,都会打乱TMD181的TMDS时钟输出。

这项索赔的一些进一步证据。 我进入了HDMI源软件驱动程序并注释了导致DDC控制器通过SCDC设置TMDS_Clk_Ratio位的单行代码。 否则,HDMI源将认为它正在HDMI 2.0 模式下运行。 软件不会检查HDMI接收器是否确实设置了TMDS_Clk_Ratio位。 因此,HDMI源正在发送4K60图像。 但是,TMD181未看到TMDS_Clk_ratio位设置,因此它认为链路正在HDMI 1.4 模式下运行。 我探测到TMDS时钟输入到TMDS181,它以148.5 MHz正确运行。 而且,在TMDS181的OUT _CLK引脚上,参见148.5 MHz。 因此,只要TMDS181没有看到源设置的TMDS_Clk_Ratio位,它就会直接通过148.5 MHz TMDS时钟,没有问题。 但是,只要我取消了允许DDC控制器设置接收器TMDS_Clk_Ratio位的代码行的注释,TMDS181的CLK_OUT就会下降到37.125 MHz。 我已经尝试过几次了,它是完全一致的。  

那么,问题是,为什么TMDS181在看到TMDS_Clk_ratio位设置时,将通过它的TMDS时钟除以4?

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

    您好,John:

    这是一种奇怪的行为,在失败的情况下,您是否可以检查寄存器0x0B的值?

    是否可以尝试在驱动程序中设置TMDS_CLK_RATIE位,并在TMDS181中手动执行此配置?

    0x0B[0]= 1 //禁用DDC监视

    0x0B[1]= 1 //手动将TMDS时钟频率设置为1/40。

    此致

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

    您好,John:

    您是否正在实施车道交换?

    此致

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

    无车道互换。

    我正在尝试您建议的测试。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    顺便说一下,148.5 MHz进入TMDS181时钟输入和TMDS时钟比率位设置后,我看到37.125 MHz从TMDS181中出来,就像我说的。 但是,如果HDMI接收器随后对HPD进行脉冲处理,从而清除TMDS181中的TMDS时钟比率位(如TMDS181数据表的表6所述),则TMDS181的时钟将立即切换到148.5 MHz。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好,John:

    感谢您的更新,您是否可以尝试在交换/ POL引脚上添加0.1uF电容器?

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

    要解决TMDS_CLK频分问题:
    停止TMDS_CLK传输
    写入TMDS_Clock_Ratio_status (HDMI源或手动)
    等待1毫秒
    启动TMDS_CLK传输

    此致