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.

[参考译文] SN65DSI84:LVDS 同步化无效、LCD 闪烁或无 VSYNC 信号

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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1514237/sn65dsi84-invalid-lvds-syncrhonization-lcd-flickering-or-no-vsync-signal

器件型号:SN65DSI84

工具/软件:

大家好。

我们遇到了 LCD 同步问题、该问题会导致 LVDS LCD 屏幕上出现 LCD 闪烁或无视频、具体取决于显示时序配置。

此应用将 MIPI-DSI 信号从 i.MX 8M Mini 处理器转换为 VAR-LVDS-MX8M-mini SOM SOM 上的 SN65DSI84 LVDS 桥接器。 它支持某些 LCD 显示屏、但我们无法以与设备树精确匹配的方式配置接口。

 

I2C 寄存器均根据给定的器件树面板部分进行验证。 测试图形仅通过设置 CHA_TEST_PATTERN (任何其他寄存器在驱动探针阶段配置)即可正常运行、而不会出现任何问题。

该应用使用单个 DSI 通道、4个通道和单个 LVDS 输出 RGB888。

我们已经在 SOC 制造商论坛上寻求有关 MIPI-DSI 端配置的帮助。 但在这里,我们希望得到一些关于什么可能导致问题的桥梁方面的建议。

 

LCD 是一款1280x800px、在72.4MHz 设置了像素时钟。

寄存器设置

  • ACTIVE_LINE_LENGTH:1280/0x500
  • 垂直显示尺寸:800/0x320
  • SYNC_DELAY:33 / 0x21
  • HSYNC_PULSE_WIDTH:40 / 0x28
  • VSYNC_PULSE_WIDTH:15/0x0F
  • Horizontal_back_genc沿:40/0x28
  • vertical_back_genc沿:14 / 0x0E
  • Horizont_front_encrypt:80/0x50
  • vertical_front_encrypt:9/0x09

 

这是 I2C 转储:

~#i2cdump -y -f 0 0x2c
No size specified (using byte-data access)
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f    0123456789abcdef
00: 35 38 49 53 44 20 20 20 01 00 85 10 00 01 00 00    58ISD   ?.??.?..
10: 26 00 2c 00 00 00 00 00 18 05 03 00 00 00 00 00    &.,.....???.....
20: 00 05 00 00 20 03 00 00 21 00 00 00 28 00 00 00    .?.. ?..!...(...
30: 0f 00 00 00 28 00 0e 00 50 00 09 00 00 00 00 00    ?...(.?.P.?.....

DSI 调谐器与器件树中的配置相匹配、但我们要尝试找到有关驱动器自动生成但时钟树中不会报告的 MIPI-DSI 时钟的信息。

我们对 LVDS 信号进行解串、并发现:

  • LVDS 时钟与像素时钟频率完全匹配
  • 水平和垂直脉冲宽度与 DT 中的配置相同
  • 水平和垂直后沿时序与垂直前沿一起按照配置进行配置
  • 即使某些配置正常工作、水平前沿时序也不会被考虑在内、这是因为输出在 LCD 容差范围内。
  • 通过略微更改配置(基本上是 LCD 时钟或其他一些时序、但仍在 LCD 容差范围内)、我们会遇到不可预测的 LCD 信号变化、直到 VSYNC 脉冲完全消失。

 

例如、在下图中、蓝线(C2)是 DE 信号、而红色(C3)是 HSYNC。

HFP 已编程为48、HBP 编程为80。 HBP 得到尊重、而我们测量 HFP 是大约135个像素时钟而不是48个像素时钟。

由于 Linux 驱动程序负责配置 LVDS 和 MIPI-DSI 时序、我们恳请您询问是否有人遇到过相同的问题、或者您是否有关于导致问题的提示或我们应该调查的地方。

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

    尊敬的 Enne:

    感谢您分享您的问题。

    您能详细说明您指的是什么"树"吗?

    我会尝试以下步骤:

    • 确保您遵循 数据表"建议的初始化序列"中的上电序列
    • 在线时间要求内运行
    • 建议遵循应用手册 SLLA356" SN65DSI8x 疑难解答"

    谢谢、

    Ragav Subramanian

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

    您好 Ragav、
     感谢您对此感兴趣。

    我通常使用术语"器件树"来表示我对配置的 Linux 源的预期与我正在读回的芯片级寄存器相匹配。 我不希望深入了解这里的内核驱动程序。

    这些问题似乎与线时间要求有关。 根据 SLLA356 和 SLLA332B (SN65DSI8x 视频配置指南)、"输入上的线时间(水平同步到下一个水平同步)必须与 LVDS 接口上的线时间相匹配。"

    在我的理解下、这项声明意味着在 LVDS 桥接器之前的所有链中 SOC LCDIF 像素时钟必须相同。  内核驱动程序不强制执行该要求、需要手动匹配。 在使用的内核版本中、此链中的 PLL 配置可能不允许进行微调(而硬件设计允许精确调整)。

    这里发生的是、处理器使用的像素时钟与实际 DSI DSICLK 时钟不同(在本例中为这样)、后者用作 LVDS 像素时钟源(SN65DSI84中的整数分频器)的参考。 我本来期望两个像素时钟是相互依赖的、但我在 LVDS 输出上测量的是实际的像素时钟、它不同于我从 sysfs 的时钟调试信息读回的 DSI 像素时钟。  我本来不希望这是可能的、但我仍在研究如何更好地了解 SOC 内的时钟路径。

    使用 " DSI8x 不会重新对齐时序、所以如果线时间不同、就会出现问题。"、在某些情况下、IC 是否可能会导致同步信号抖动并工作或不工作、具体取决于 LCD 硬件的容差?

    如果没有其他考虑因素且我们的假设是正确的、我将接受建议的解决方案。

    谢谢!

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

    您好、Enne、

    Ragav 太棒了、明天还会再来的。

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

    尊敬的 Enne:

    此处发生的情况是处理器使用的像素 时钟与实际 DSI CLK 时钟不同(在本例中为不同)、后者用作 LVDS 像素时钟源(SN65DSI84中的整数分频器)的参考。 我本来期望两个像素时钟是相互依赖的、但我在 LVDS 输出上测量的是实际的像素时钟、它不同于我从 sysfs 的时钟调试信息读回的 DSI 像素时钟。  我本来不希望这可以实现、但我仍在研究如何更好地了解 SOC 内的时钟路径。

    SoC 和串行器/解串器的 PCLK 差异肯定会导致输出问题。 为了实现正确的功能、请将串行器/解串器 PCLK 与来自 SoC 的 DSI 时钟速度/PCLK 对齐。

    带有以下句子 :"DSI8x 不会重新对齐时序、因此如果线时间不同、就会出现问题。"、在某些情况下、IC 是否可能会导致同步信号抖动、工作或不工作、具体取决于 LCD 硬件的容差?

    是的、如果时序不对齐、IC 可能会导致抖动、如果错位不在 LCD 容差范围内、则可能完全没有显示。

    请尝试看看您是否可以将时间安排和跟进与结果保持一致。

    谢谢、

    Ragav Subramanian

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

    尊敬的 Ragav:

     我们将进一步研究桥接器和 DSI 驱动器允许设置(有限数量)不匹配的时钟速度的原因、以及应用于较新内核版本的补丁如何解决该问题。
    我们确认、对于我们能测试的时钟速度、如果 DSI 和像素时钟对应、LCD 上的图像会正确显示。

    感谢您的支持!