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:PLL 解锁后 DSI83-Q1 的自动恢复

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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1524707/sn65dsi83-q1-auto-recovery-for-dsi83-q1-after-pll-unlock

器件型号:SN65DSI83-Q1

工具/软件:

您好、

我们面临着一个类似的问题、即我们使用 DSI83-Q1 进行 MIPI 至 LVDS 转换。 我们使用 DSI REFCLK 作为参考时钟。 连接的波形为启动序列。  

我们看到、有时屏幕会随机出现空白。

我们正在尝试在实验中重现该问题、我们认为应通过短接抖动来将抖动随机引入 DSI CLK。 我们看到的是,在短时间内,有时屏幕自动恢复,而有时它根本不会恢复。 我们已验证同步时间、DSI 和 LVDS 同步时间相同、并且在启动中没有发现问题。

我们希望详细了解这一点-

1.为避免 PLL 解锁、可以采取哪些措施来避免此类问题(均衡,LVDS 端接)等。

2.为什么问题会自动恢复,而不是其他时间 — 可以调整什么(如果有 PLL 锁定时间等限制)使其自动恢复?

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

    尊敬的 Mandan:

    此问题多久发生一次? 由于它可重现、在视频无法恢复的情况下、您能否分享寄存器转储、包括 0xE5 错误检查寄存器。

    出现问题后、请尝试执行以下步骤并检查是否恢复。

    • 清零、然后设置 PLL_EN 位、
    • 设置 SOFT_RESET 位  


    您是否使用内部测试模式进行了测试? 它是否显示测试模式有任何类似的问题、或者仅适用于 DSI 输入?

    如果可能、您能否添加外部参考时钟并检查是否发生了此问题。 您的电路板上是否有添加参考时钟并启用参考时钟的选项?

    此致、
    Ikram

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

    尊敬的 Ikram:

    该问题似乎经常在测试台随机出现(热噪声或电磁噪声)、出现在较高的一侧。 我们尝试检查 0xE5 寄存器位、并发现它在工作模式期间也提供了非 0 值。 在非工作模式下、不同读取时的工作条件值为 3D、35 等、非工作模式下的值为 7D、FD 等

    是的、当我们设置 PLL 和 SOFT_RESET 时、问题恢复。

    但我想知道如何检测 Not 是否确实存在故障。 我可能会忽略 PLL_UNLOCK 位、因为它可能对噪声过敏感、但我应该在 0xE5 中读取什么寄存器值来了解是否确实发生了故障(这并不过于敏感)

    此外、一旦相应的错误超出失败限制、是否有必要在读取之前清除位(将 0xFF 写入 0xE5)以了解失败情况、或者也可以在不写入的情况下清除错误?

    我将更快地共享完整的寄存器转储和测试模式结果。

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

    尊敬的 Mandan:

    [报价 userid=“383777" url="“ url="~“~/support/interface-group/interface/f/interface-forum/1524707/sn65dsi83-q1-auto-recovery-for-dsi83-q1-after-pll-unlock/5863457 #5863457“]

    但我想知道如何检测 Not 是否确实存在故障。 我可能会忽略 PLL_UNLOCK 位、因为它可能对噪声过敏感、但我应该在 0xE5 中读取什么寄存器值来了解是否确实发生了故障(这并不过于敏感)

    此外、一旦相应的错误超出失败限制、是否有必要在读取之前清除位(将 0xFF 写入 0xE5)以了解失败情况、或者也可以在不写入的情况下清除错误?

    [/报价]

    是、请检查“7.4.2 初始化序列“以将 0xFF 写入寄存器 0xE5、从而清除错误检查寄存器。 然后在工作条件下启动时读取寄存器、并在问题发生时获取寄存器转储。

    另请使用内部测试图形进行测试、以验证未使用 DSI 输入时下游 LVDS 连接是否有效。

    此致、
    Ikram

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

    尊敬的 Ikram:

    当我们使用测试模式生成时 — 问题未自行重现,但如果我们缩短时钟线,问题会重现,即它不会自动恢复。 这意味着 DSI 侧本身的时钟恢复肯定存在问题、因为 LVDS 侧看起来非常稳定。

    我们也尝试更新 CSR 寄存器、但仍然看到空白屏幕不会自动恢复、这意味着 PLL 锁定肯定有问题。 我将在此处附加 CSR 寄存器列表以及面板信息

    生成的 CSR 工具

     e2e.ti.com/.../CSR-edited-tool-w-TP.txt

    面板信息-

     

    此外、我们无法找出一种有效的方法来使用完整反馈、因为寄存器 0xE5 也会在工作场景中出现错误。 像即使屏幕运行良好一样、0xE5 寄存器也不为零、因此我们无法 针对何时运行 PLL_EN 和 SOFT_RST 实现反馈环路。

    您能让我们了解一下我们应该如何实施这个错误检查回路、以便更好地理解真正的失效情况吗?并且可以实现 PLL 锁定状态吗?

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

    尊敬的 Mandan:

    1.如何计算 LVDS 时钟的 DSI 时钟频率?  

    使用 4 个 DSI 通道的 DSI83 的公式如下:

    - DSI CLK =(LVDS_CLK * bpp)/(2 * NO_OF_DSI_LANES)
    -或 LVDS_CLK =(DSI CLK * 2 * NO_OF_DSI_LANES)/bpp = (87.7MHz * 2 * 4)/24 = 51.158MHz DSI 29.233MHz(已校正)

    请更新 LVDS 和 DSI 时钟 速率并对此进行测试。 来自视频源的 DSI 时钟输入的速率是多少?  

    2.此外、您是否在开始时清除 0xE5 寄存器? 请清除、然后检查运行时的工作和发出条件是否有任何错误。

    3.请验证是否遵循了数据表中的初始化序列(“8.4.2 上电序列“)。  

    4.对于 DSI 源和 DSI86 桥、LP、突发模式和同步模式等 DSI 设置是否均进行了相同的编程?


    此致、
    Ikram

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

    尊敬的 Ikram:

    1. 我们也更新了时钟设置,但请注意,时钟分频不正确 — 它应该是 29.233MHz (928*525*60) 而不是 51.158MHz 。(87.7*8/24=87.7/3=29.23) 我将面板信息与此一起附上。

      我们将格式 2 与 24 位 LVDS 面板配合使用
      下面是面板信息的附加快照。





      我们更新了正确的时钟值和同步延迟等后 — 似乎可以正常工作,我们在 0xE5 中没有看到任何错误。

    2. 作为初始化序列的一部分、我们将清除 0xE5。  

    3. 我们已经针对相同的情况  进行了验证、并在 POST 开始时附加了快照 — 但是我们无法了解 HS 模式启动时间、因此我们尝试在启用视频流传输后将写入 0xFF 的固定延迟写入寄存器 0xE5。

    4. 我们正在使用 QCOM、mdss-dsi-traffics-mode =“non_burst_sync_event"-“-我已将设置从“突发“更改为“非突发“、但它在从 DSI 调谐器工具生成的 CSR 寄存器中不会产生任何差异。 我随附了 MIPI DSI 源的 DTS 文件。

      e2e.ti.com/.../MIPI-DSI-dts.txt

    此外、

    DSI 工具会生成一些不在数据表中的额外寄存器集 (0x13、0x26、0x27、0x2A、0x2B、 0x2E、0x2F、0x32、0x33、0x35、 0x37、0x39、0x3B、0x3D、0x3E)-因此我们已将其删除。

    附件是对我们有效的寄存器和设置列表、并为面临相同问题的人提供了一个通用指南。

    e2e.ti.com/.../CSR-edited-tool.txt

    这已经清除了 CONFIG 寄存器上的所有错误、但我们仍然可以看到、如果引入了故障、则不会发生自动恢复。 在 SN65DSI83-Q1 用例中、此功能是否正常?

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

    尊敬的 Mandan:

    REFCLK 频率是否与 LVDS 频率与倍频器匹配? 如果 DSI 设置和 LVDS 之间的线时间不匹配、则可能会出现问题。


    https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1454763/sn65dsi83-q1-how-to-recovery-auto-when-error-detect-at-the-mipi-dsi-input/

    根据之前的 E2E、在 PLL 解锁等错误之后、最佳解决方案是重新启动器件并再次遵循初始化过程。

    问题是仍然是随机发生的、还是仅在外部引入抖动时发生?

    此致、
    Ikram

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

    尊敬的 Ikram:

    我们仅使用 DSI 时钟、因为获取 REF CLCK 的确切分频器可能不太困难、并且会增加一些额外成本。

    我们将对较大的 NO 进行功能测试,并了解故障的性质 — 从现在起,它似乎是随机的/当车辆中的电机噪音较高时。 但是、故障模式是外部引入的抖动或随机的、有一点很明显、它不会自动恢复。

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

    尊敬的 Mandan:  

    如果您能够测试和重新创建故障、请告知我们。 除非输入级因子或其他系统级因子出现问题、否则它不应随机解锁 PLL。

    这可能与不符合数据表规格的时钟抖动或噪声有关。 要在 PLL 解锁后恢复、应通过上电和初始化程序重新初始化系统。

    如果您找到有关此问题的更多信息/测试结果或有任何问题、请告知我们。

    此致、
    Ikram