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.

[参考译文] SN65DSI83-Q1:使用 sn65dsi83 +外部时钟源时显示面板闪烁

Guru**** 2864870 points

Other Parts Discussed in Thread: SN65DSI83, SN65DSI83-Q1

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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1628477/sn65dsi83-q1-display-panel-flickering-with-sn65dsi83-external-clock-source

器件型号: SN65DSI83-Q1
Thread 中讨论的其他器件: SN65DSI83

大家好:

我们使用 SN65DSI83 将 DSI 信号(通过 cm4 产生)转换为 LVDS 信号、以用于我们的显示面板。 我们使用 75MHz 外部时钟源从 DSI 生成 LVDS 信号。 问题在于、使用此设置时、我们会偶尔在显示面板上看到垂直跳跃/闪烁、大约每两秒、而不是周期性。

我们还尝试从 DSI 信号获取时钟源、但我们遇到了类似的问题、即屏幕有时会在器件启动的位置开始跳转(大约 25%的器件在 1%- 2%的起始时间内显示了这种行为 — 可能指向硬件问题)。 我们尝试使用外部时钟来解决这个问题。

我们尝试了以下方法:
sn65dsi83 测试模式可正常显示、无需跳转
Linux 内核中不同的计时值 — 确实有所帮助,但尚未完全解决问题。
将像素时钟和 LVDS 时钟与外部时钟 (75MHz) 匹配没有帮助。

技术规格:
芯片:TI-sn65dsi83-Q1
DSI 信号源:RaspberryPi 计算模块 4
3 条 DSI 通道
显示:AM-1280800WGTZQW-00h - LVDS 输入频率需要在 70.0 - 76.6MHz 之间
Linux 内核版本 5.15.40。

当前面板时序设置:

.clock = 75000、
.hdisplay = 1280、
.hSYNC_START = 1280 + 80、
.hSYNC_END = 1280 + 80 + 32、
.htotal = 1440、
.vdisplay = 800、
.vsync_start = 800 + 20、  
.vsync_end = 800 + 20 + 6、
.vtotal = 835、
.flags = DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC、

sn65dsi83 寄存器转储:
0x00:0x35
0x01:0x38
0x02:0x49
0x03:0x53
0x04:0x44
0x05:0x20
0x06:0x20
0x07:0x20
0x09:0x00
0x0A:0x84
0x0B:0x00
0x0D:0x01
0x10:0x2E
0x11:0xcc
0x12:0x3c
0x18:0x18
0x19:0x4c
0x1a:0x03
0x1b:0x20
0x20:0x00
0x21:0x05
0x24:0x20
0x25:0x03
0x28:0x40
0x29:0x00
0x2C:0x28
0x2D:0x00
0x30:0x0A
0x31:0x00
0x34:0x3c
0x36:0x00
0x38:0x50
0x3a:0x1E
0x3C:0x00
0x3D:0x00
0xe0:0x01
0xe1:0xFD
0xe5:0x00

外部时钟、这种可行的方法是什么? 如果是、我们的方法有什么问题?

谢谢、
Vojtech Bubela

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

    尊敬的 Vojtech:

    DSI 源 SoC 设置的时序应与面板时序相匹配。 SoC 设置的分辨率和时序是否与工作周期和消隐周期及时钟速率精确匹配?  

    请检查是否遵循了数据表初始化序列。 初始化序列具有上电、 设置使能、寄存器配置以及 DSI 时钟和数据通道状态的要求。 请确保 DSI 时钟源始终处于 HS 状态。

    当问题发生时、闪烁是在运行时发生、在系统运行时随机发生、还是在上电后发生并继续闪烁?

    此致、
    Ikram

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

    您好、Ikram、

    我们使用了面板定义的分辨率、时序和时钟速率、但问题仍然出现。 电流时序配置是我们的测试结果。

    初始化序列按照数据表中所述完成。 我们将测量 DSI 时钟源以确保它处于 HS 状态。

    闪烁始终在上电后立即发生、并在系统运行时继续。

    使用外部 REFCLK 时、每次启动时都会出现问题。 当使用 DSI 时钟时、它会在大约 2%的重新启动中发生、这可能是固定的、也可能是切换 PLL_EN 位(寄存器 0x0D)引起的。

    感谢您的答复、
    Vojtech

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

    尊敬的 Vojtech:

    由于问题是在加电和初始化后发生的、因此它可能与初始化有关。 顺序。  

    请确保 DSI 时钟始终处于 HS 状态、并且数据通道在启动时处于 LP11 状态、然后更改为 HS 状态、如初始化序列所示。 另请注意所需的复位和延迟。



    导致闪烁的 REFCLK 可能与 DSI 的像素时钟速率之间的不匹配有关、与 REFCLK 的速率不匹配。 设置这些时、请确保相应地设置 REFCLK 倍频器或 DSI 时钟分频器、以满足 LVDS 时钟频率。 此解决方案指南适用于以下方面: 【常见问题解答】SN65DSI84:SN65DSI83、SN65DSI84 和 SN65DSI85 解决方案指南

    此致、
    Ikram

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

    您好、Ikram、

    我将再次介绍初始化序列、并测量 DSI 时钟通道。  

    对于 REFCLK、我们使用 3 个 DSI 通道、DSI 时钟以 300MHz 运行、该除以 4 得到 75MHz、这也是我们的目标 LVDS 频率、因为我们的面板支持 70MHz 至 76.6MHz。

    谢谢
    Vojtech

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

    谢谢 Vojtech、如果对此设置有任何其他问题或更新、请告知我们。

    此致、
    Ikram

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

    您好、Ikram、

    据我们所知、我们正确遵循了芯片的初始化序列。
    我们还测量了引导期间的使能、DSI 时钟和一个 DSI 数据通道 (N + P)、这导致屏幕出现闪烁(在 5 秒内变为黑色)。  

    这看起来与引导顺序相同、导致显示正常。

    除了尝试一次测量所有 DSI 数据通道之外、我们不知道如何进一步执行该操作。

    谢谢、
    Vojtech。

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

    尊敬的 Vojtech:

    DSI 时钟似乎未处于 HS 状态。 DSI 时钟输入端应有连续时钟。 在这里、我们仅看到在设置 EN 之前的脉冲。

    在设置 EN 之前、DSI 时钟应处于 HS 状态、数据通道应处于 LP 状态。  

    此处分享了波形的示例: 【常见问题解答】SN65DSI84:不具有 SN65DSI83、SN65DSI84、SN65DSI85 的显示输出

    此致、
    Ikram

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

    尊敬的 Ikram:

    用于测量信号的器件未 正确显示 DSI 时钟、请参阅以下用另一个器件捕获的图片:

    在图片上发生事件之前、DSI 时钟和 DSI 数据在大约 800ms 内变为 0、然后 DSI 数据处于 LP11 模式且 DSI 数据处于 HS 模式。 这与您共享的图片不同。 但是、当启动使能时、DSI 时钟和 DSI 数据应处于正确的状态。

    谢谢、
    Vojtech。

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

    嗨、Vojtech、请给我 1-2 天时间来进一步研究这个问题。

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

    尊敬的 Vojtech:

    如果同时具有外部参考时钟和 DSI 时钟的测试图形显示没有问题、则可能是两者都存在问题

    • DSI 数据通道:例如 SI 问题、DSI 数据包未处于正确状态或时序不匹配
    • 初始化序列问题:未设置延迟和复位、如数据表中所示

    在初始化序列中、您将注意到 DSI 数据通道从 LP11 状态切换到 HS 状态、并在寄存器初始化和复位后启动 DSI 流。 请检查是否遵循了该步骤。



    此致、
    Ikram

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

    你好、Vojtech 和 Ikram、  

    有趣的是、我们面临着同样的问题。 我们系统的规格如下:

    - 1280 x 800 LVDS 面板 @ 72MHz
    - SN65DSI83-Q1 转换器 IC(4 个数据信道+时钟信道)
    -基于 Qualcomm 的 SOC,内核 4.19

    我们使用源自 MIPI D-PHY 的时钟、出现了大约 25%的故障率。

    该问题表现为大约 1-5%的上电周期内出现屏幕闪烁。 它从不在引导后出现(在操作期间)。

    这对您的问题非常熟悉。 我相信我们正确遵循了初始化序列、并且 PCB 布局是正确的。

    经过这么长时间的调试问题后、我们可能要寻找具有 MIPI 接口的替代面板。  

    如果(或者最好说何时)您找到了解决方案、请在此处写下。  

    此致、  

    米哈

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

    您好、Miha、  

    根据我们的理解、如果测试模式始终有效、则 DSI 时钟或 REFCLK 可能不会导致问题。 问题可能与 DSI 数据时序或初始化步骤(例如 PLL 和软复位)有关。 存在延迟、然后 DSI 数据通道设置为输出、在 HS 模式下发送 DSI 数据可能会导致启动期间出现问题。

    此外、DSI 数据输入偏移或类似的硬件/布局问题可能会出现问题。 也可以通过更改 DSI 模式以及问题是属于特定 DSI 非突发模式还是突发模式、有无同步脉冲来检查 SoC。  

    另一项测试可能是使用数据表中共享的视频重启序列、并检查重启后问题是否清除。

    请让我们知道重启序列或更改 DSI 模式是否解决了问题。

    此致、
    Ikram

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

    您好、Ikram、

    我将查看突出显示的要点。

    谢谢。

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

    嗨、Vojtech、谢谢您。 当有新发现时、请告知我们。

    此致、
    Ikram