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.

[参考译文] DS90UB948-Q1:使用外部时钟时 HSYNC 时序稳定性

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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/974742/ds90ub948-q1-hsync-timing-stability-with-external-clock

器件型号:DS90UB948-Q1
主题中讨论的其他器件:SN65DSI84LMK61E0M

您好!

我们有以下配置:

MIPI DSI => DS90UB941 => 1单端 FPD 链接=> DS90UB948 => LVDS 屏幕(60fps 时为800x1200)

PCLK = 72MHz

当串行器使用外部时钟(DS90UB941)时,LVDS 上像素时钟的时序容差是多少?

我进行了一些测量、并具有以下特性(在像素时钟中):

水平前沿/水平同步/水平后沿/数据

56/24 / 24 / 799 = 903

55 / 24 / 24 / 800 = 903

58 / 24 / 23 / 800 = 905

当使用 DS90UB941的 MIPI 时钟进行相同测量时、我可以根据 MIPI 配置实现稳定的计时:

72 / 24 / 24 / 800 = 920

为什么前沿有不同的时序、为什么外部时钟计时不稳定?

MIPI 时钟和外部时钟域之间的重定时吗?

是否有可能改进它?

我们还具有与 SN65DSI84 (MIPI 转 LVDS 桥接器)相同的行为(屏幕闪烁)。

谢谢、

此致、

亚历山大

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

    您好、 Alexandre、

    亚伦明天将回答这个问题,感谢你的耐心。

    此致、

    Michael W.

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

    您好、Alexandre、

    PCLK 具有±100ppm。 通常情况下、几个像素的差异不应成为问题。 您需要确保显示屏具有准确的视频时序、并对串行器侧的正确值进行编程。

    Aaron

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

    Aaron、您好!

    为了确保我的理解正确:

    我应该按如下方式对 DSI 间接寄存器进行编程:

    0x20 (4)=0 => 0:不重新生成原始 VS/HS 时序

    0x30 = 0

    0x31 = 18h => 24个 Hsync 脉冲

    0x32 = 0

    0x33 = 03h => 3 VSYNC 脉冲

    是否有任何其他寄存器要配置?

    亚历山大

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

    Aaron、您好!

    我们尝试配置、如上所述、并存在闪烁

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

    您好、Alexandre、

    您是否使用941AS 的外部时钟源? 您可以告诉我您的原理图吗? 谢谢。

    Aaron

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

    您好、Aaron、

    是的、我们将为941AS 使用外部时钟源。 串行器/解串器链路良好、我们没有任何锁定丢失。

    如何私下分享原理图?

    亚历山大

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

    亚历山大

    HFP 在外部时序模式下的不稳定性是由 DSI 接口的视频 PCLK 与您提供的 REFCLK 频率之间的 PPM 差异造成的。 941AS 具有线路缓冲器、用于存储 DSI 数据、然后将其传递到 FPD III 域、在本例中、该域由您提供的 REFCLK 计时。 如果这两个域中的 PCLK 值之间存在任何频率差异、则器件必须补偿偏移、以防止 FIFO 溢出或欠运转。 如果您提供的 REFCLK 慢于视频 PCLK、941AS 将开始从 HFP 中移除像素以补偿 PPM 偏移。 如果 REFCLK 快于视频 PCLK、则器件会向 HFP 添加像素以进行补偿。  

    此外、根据 DSI 源设置的特性以及通过寄存器将任何 M/N 分频器应用于 REFCLK 时、您可能会在此配置中看到几个像素的线对线不稳定性。 基本上、这是预期的行为、可以通过更改 REFCLK 值来调整  

    此致、

    Casey

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

    您好 Casey、

    感谢您的解释、

    您是否有应用手册介绍了如何设置分频器寄存器的 FIFO 大小和 REFCLK 值?

    由于 DSI 时钟取决于显示的细化、因此很难将 DSI 的像素时钟频率与 REFLCLK 和分频器精确匹配。

    在我们的最后一次测试中:

    • 我尝试使用任意信号发生器(抖动低于40ps)、像素时钟频率高达3十进制精度 =>屏幕仍然闪烁
    • 总水平长度的一半的 FIFO (DSI_SYNC_DLY 0x34和0x35)为黑色
    • FIFO (DSI_SYNC_DLY)= 总消隐=>屏幕为黑色
    • FIFO (DSI_SYNC_DLY)= HSYNC + 后沿=> 屏幕仍然闪烁
    • FIFO (DSI_SYNC_DLY)= HSYNC => 屏幕仍然闪烁
    • FIFO (DSI_SYNC_DLY)=  后沿=> 屏幕仍然闪烁
    • 关于 M/N 分频器、自动值为 0x3A = 02h 和0x3B = 03h  
    • 要应用的确切公式是什么? 看起来像:Fpxclk = Fdsi * nbre lane * M /(8 * N)
    • 我尝试使用不同的配置来接近我们的 REFCLK、但我有至少0.1MHz 的差异、并且我不会看到任何更多或更少的闪烁

    有什么想法吗?

    此致、

    亚历山大

     

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

    您好、Alexandre、

    实际上、我们正在为此编写应用手册、但该应用手册将在今年晚些时候发布、因为该主题非常复杂、需要详细介绍。 实际上、根据您在这里的反馈、我不认为问题与时钟方案相关、或者只是计时与显示容差不匹配。  

    显示屏在 DSI 时钟模式下不闪烁的 PCLK (无外部 REFCLK)情况下是否正常工作?

    您能否共享显示数据表或时序容差表?

    您能否共享 DSI 源提供的 DSI 视频参数?

    您是否已验证在没有 DSI 源的941AS 中使用内部 PATGEN 驱动时此屏幕不会闪烁?

    此致、

    Casey  

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

    您好 Casey、

    在 DSI 时钟模式下、显示正常工作、但由于 DSI 抖动超出了 FPD 链接抖动要求、因此由于 SerDes 锁定丢失、我们会出现一些闪烁。

    如果我使用 PATGEN 和自定义时序来驱动屏幕、则效果良好。

    如果我使用 PATGEN、DSI 时序和外部时钟(也使用内部时钟)驱动屏幕、则会持续闪烁

    此致、

    亚历山大

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

    屏幕配置的下方

    我的初步结果来自另一种配置、它提供了相同的行为。

    参数 最小 典型值 最大 和功能 我们的配置
    DCLK 频率 72.0 76.1 79.8. MHz
    水平显示区域   800 DCLK 800
    水平后沿 80 (注) DCLK 80
    水平脉宽 1 70 DCLK 24
    水平前沿   30 80 120 DCLK 56.
    一行时间   910. 960 1000 DCLK 960
    垂直显示区域   1280 h 1280
    垂直后沿 23 (注) h 20.
    垂直脉宽   1 20. h 3.
    垂直前沿 15. 18 27. h 18
    一帧时间   1318. 1321. 1330 h 1321.

    注意:HBP 包括 HPW、VBP 包括 VPW

    此致、

    亚历山大

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

    亚历山大

    我不是完全理解您的意见、所以让我对问题进行一些跟进:

    在 DSI 时钟模式下、显示正常工作、但由于 DSI 抖动超出了 FPD 链接抖动要求、因此由于 SerDes 锁定丢失、我们会出现一些闪烁。

    [Casey]好的  

    如果我使用 PATGEN 和自定义时序来驱动屏幕、则效果良好。

    [Casey]说到定制计时、您认为这意味着什么? 您是指具有内部时序生成和内部时钟的 PATGEN 吗? 如果是、那么您设置了哪些计时参数以及时钟速率?

    如果我使用 PATGEN、DSI 时序和外部时钟(也使用内部时钟)驱动屏幕、则会持续闪烁

    [Casey]我想您说的是基于 DSI 输入的具有外部时序(和时钟)的 PATGEN、测试期间该输入将进入941AS。 无法启用外部时序和内部时钟。 如果 PATGEN 处于外部时序模式、它将始终使用外部时钟

    如果使用内部时序外部时钟驱动 PATGEN、会发生什么情况? (外部时钟是来自 REFCLK 的时钟、而不是 DSI 时钟)。 在这种情况下、它是否闪烁?  

    顺便说一下、如何测量到达显示屏的生成水平时序间隔? 您如何确定特定像素值?

    我怀疑正在发生的情况是、您的 DSI 源提供的时序不稳定、无法始终如一地满足显示屏的 DPI 时序。 这可能是由许多不同因素造成的、但我们在以下应用手册 中提供了有关此现象的详细示例:https://www.ti.com/lit/pdf/snla356 

    请参阅第4.3节  

    此致、

    Casey  

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

    如果我使用 PATGEN 和自定义时序来驱动屏幕、则效果良好。

    [Casey]说到定制计时、您认为这意味着什么? 您是指具有 内部时序 生成和 内部时钟的 PATGEN 吗? 如果是、那么您设置了哪些计时参数以及时钟速率?

    [Alex] 在配置方面、我们有:

    -使用内部时序时的外部像素时钟
    -图形发生器使用来自像素的外部视频时序
    时钟、数据使能、水平同步和垂直同步信号。
    =>  KO =闪烁(0x65 0x08)
    -使用内部时序时的外部像素时钟。
    -图形发生器根据配置创建自己的视频时序
    在图形发生器总帧大小、活动帧大小
    水平同步宽度、垂直同步宽度、水平后沿、
    垂直后沿和同步配置寄存器。
    =>确定(0x65 0x0C)
    -使用内部时序时选择内部分频时钟
    -图形发生器根据配置创建自己的视频时序
    在图形发生器总帧大小、活动帧大小
    水平同步宽度、垂直同步宽度、水平后沿、
    垂直后沿和同步配置寄存器。
    =>确定(0x65 0x04)
    -使用内部时序时选择内部分频时钟
    -图形发生器使用来自像素的外部视频时序
    时钟、数据使能、水平同步和垂直同步信号。
    =>  KO =闪烁(0x65 0x00)

    顺便说一下、如何测量到达显示屏的生成水平时序间隔? 您如何确定特定像素值?

    [Alex]我测量 HSYNC 事件期间的时钟周期数、前沿、显示数据....  

    我怀疑正在发生的情况是、您的 DSI 源提供的时序不稳定、无法始终如一地满足显示屏的 DPI 时序。 这可能是由许多不同因素造成的、但我们在以下应用手册 中提供了有关此现象的详细示例:https://www.ti.com/lit/pdf/snla356 

    请参阅第4.3节  

    [Alex]我已经查看了您的应用手册。 但是、当我使用 DSI 时钟时、LVDS 输出上的时序完全匹配。

    关于 DSI 协议分析、我们没有 DSI 分析仪。

    关于 DSI 状态文件、第一次读取给出了:

    0x0F 0x7f
    0x10 0x04
    0x11 0x04
    0x12 0x18
    0x13 0x04

    然后

    0x0F 0x1f
    0x10 0x00
    0x11 0x00
    0x12 0x00
    0x13 0x00

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

    您好、Alexandre、

    0x65 = 0x08和0x65 = 0x00是等效设置。 它们都意味着 PATGEN 使用外部时序和外部 PCLK、因为0x65[4]在0x65[3]= 0时无效。  

    PATGEN 结果表明、如果您在内部生成视频时序并使用内部或外部时钟、则视频运行正常。 只有从 DSI 源提取时序时、您才会看到问题、这再次表明您的 DSI 源端数据包结构中发生了意外情况。  

    对于此问题:

    顺便说一下、如何测量到达显示屏的生成水平时序间隔? 您如何确定特定像素值?

    [Alex]我测量 HSYNC 事件期间的时钟周期数、前沿、显示数据。  

    [Casey]但我的问题是、您具体如何进行此测量? 因为您提到解串器为948、是 OpenLDI 输出。 因此、HSYNC/VSYNC 嵌入到 LVDS 数据流中、不会输出到各个引脚。 DSI 还以数据包形式输出 HSYNC/VSYNC、因此它们不是离散信号。 您如何探测此情况?

    我认为、为了进一步进行调试、您确实需要获取合适的设备来正确分析您的 DSI 输出流、如应用手册中所述、从而帮助您更详细地确定从源端提供的内容。  

    如果在使用 PATGEN 时、在发出的同步时序与同步时序匹配之前、您已经上调或下调了 REFCLK 的频率、则显示屏应该正常工作。 如果在这种情况下时序不稳定,则可能与源将 LP->HS 转换到数据的 BLLP 周期的方式和位置有关。 如果您使用 HS 消隐数据包而不是 LP->HS 来表示水平消隐期、则会获得更稳定的计时。  

    此致、

    Casey  

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

    您好 Casey、

    LVDS 信号像素测量的相关信息、请参阅屏幕截图下面的内容。

    我测量 HSYNC 期间时钟上的上升时间转换数。 我检查数据是否与 HSYNC 相对应。

    关于消隐、由于没有数据、因此更容易。

    测量在 LVDS 的通道2和时钟通道上完成

    DSI LP/HS 转换在每一帧完成、而不是每条水平线完成。 我们可以使用示波器观察转换。

    我还可以观察 MIPI 通道上的消隐、但我没有测量它及其稳定性。

    我认为、为了进一步进行调试、您确实需要获取合适的设备来正确分析您的 DSI 输出流、如应用手册中所述、从而帮助您更详细地确定从源端提供的内容。  

    您是否有此类测量的"低成本"设备参考?

    如果您使用 HS 消隐数据包而不是 LP->HS 来表示水平消隐期、则会获得更稳定的计时。  

    =>这话什么意思? 在 DSI 源(Snapdragon micro)或串行器端配置它是什么?

    如果 LP/HS 转换的时序不稳定,那么为什么在串行器使用 MIPI 时钟时它稳定呢?

    此致、

    亚历山大

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

    嘿 Alex、

    好的、我仍然很困惑您是如何进行该测量的、以及如何区分 HSYNC/VSYNC/DE…… 我看不出您是如何从示波器屏幕截图中看到它的、但无论如何、这是您的另一个问题。

    您曾提到过、在 DSI 时钟模式下的 PCLK 中、显示屏不闪烁、但您还说过、当您使用外部时序0x65 = 0x08执行 PATGEN 时、视频闪烁。 如果 DSI 时序正确、则不应出现这种情况。 执行此测试时、您要为 BRIDGE_CLK_MODE 设置什么? 如果您设置00 vs 01、它会发生变化吗?

    我唯一能想到的是、您所应用的 REFCLK 频率与来自源的平均视频 PCLK 的频率相同。 在 DSI 时钟模式下的 PCLK 中、您说它工作正常。 在此模式下、您能否在948侧测量精确的 PCLK 频率? 当您进入外部 REFCLK 模式时、该频率是否等于您对 REFCLK 引脚施加的频率?  

    此致、

    Casey  

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

    您好 Casey、

    如果您查看下面的屏幕、我们会看到从垂直转换到水平转换的转换。 如果没有专用设备、手动读取是唯一的选择。 例如 I2C 或 UART。

    关于 REFCLK 频率,源 PCLK 的可接受容差是多少?

    这是否意味着我们需要首先与振荡器供应商核实可用频率? 并在屏幕计时和频率之间找到最佳折衷?

    是否有一个与 MIPI 时钟同步的具有抖动衰减器的可编程 PLL?

     我将在星期一使用我们的信号发生器进行新的测量、并应用 DSI 时钟模式的精确时钟。

    此致、

    亚历山大

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

    您好、Casey、

    我们还有其他问题:

    为什么使用 MIPI 时钟时 LVDS HSYNC 保持稳定、并在使用外部参考时钟时变得不稳定?

    关于 MIPI HS 消隐、而不是 LP->HS、我们已经应用了这一点。 我们看到 LP11每帧转换一次(大约16ms)、我们看到每一个水平周期的消隐。

    否则,使用 MIPI 突发模式是否更有趣?

    那么,要配置的主寄存器是什么?

    我使用可编程信号发生器进行新测试、并使用 DSI 时钟模式下的 PCLK 对其进行编程。

    我假设 SSC 可接受30kHz 偏差。

    我看不到任何改进。

    此致、

    亚历山大

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

    您好、Alexandre、

    在器 件鉴定期间、我们使用 LMK61E0M 作为外部 REFCLK 模式的 REFCLK 源、从而能够根据系统调优(941AS EVM 上也包含作为可选填充组件)对精确且灵活的频率进行编程。 这可能值得考虑作为您的系统设计的一个选项。

    除了 DSI 计时不稳定的情况外、我们尚未发现任何 HSYNC 计时稳定性问题、因此您的系统中出现的问题仍然不清楚。 您提到过在 DSI 时钟模式下测量 PCLK 速率、然后针对外部时钟模式对 REFCLK 应用完全相同的 PCLK 速率? 测得的频率是多少?

    您在最近的帖子中提到 SSC 正在应用? 这听起来很可能是相关的。 您能否尝试禁用 SSC 并使用固定频率来查看问题是否已解决?

    此致、

    Casey  

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

    您好 Casey、

    低于 DSI 时钟模式下的测量频率:

    • 最小值= 75.837942MHz
    • 最大值= 75.956176 MHz
    • 平均值= 75.897059 MHz

    我使用75.89的固定频率进行测试、然后在75.83和75.95MHz 之间进行测试。

    我们已经在没有 SSC 的情况下进行了测试、但没有改进。

    在测试过程中,您如何检查计时? 像素时钟或时间? 它有多稳定?

    我只是想了解为什么在 MIPI 时钟模式下计时是稳定的、而不是使用 REFCLK。

    显示控制器是否有特定要求? 喜欢计时容差?

    此致、

    亚历山大

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

    您好、Alexandre、

    在我们针对该模式的功能测试中、我们在不同的时钟配置下向显示屏提供了图像、并对其进行了长时间监控、以查看是否存在任何伪影、闪烁、视觉中断等  

    我在这里可以想到的唯一解释是、为什么您只在外部 REFCLK 模式下看到问题、那就是在 DSI 时钟模式下、您的数据使用用于为数据计时的完全像素时钟计时。 因此、如果像素时钟频率略有变化、它不会改变每个计时间隔期间提供的像素数量。 它只会将像素速率本身略微上下变化。

    如果您处于具有固定频率 REFCLK 的外部 REFCLK 模式、且具有严格的频率容差、则您的像素时钟输出速率应保持非常稳定、因为它直接由振荡器计时。 但是、您从源获取像素数据的速率会根据您的测量结果以大约100kHz 的频率上下变化。 那么、这是如何在器件内得到补偿的呢? 它必须填充或删除像素、以确保 FIFO 不会溢出/欠载、因为它无法更改像素的时钟频率。  

    您使用的特定显示在像素方面对水平计时非常敏感、但只要每个计时间隔中的像素数量是恒定的、就对像素时钟速率的变化不太敏感。 这往往因显示屏而异。  

    我们没有与 DSI 时钟容差相关的 REFCLK 容差规格、但一般经验法则是+/-100ppm、以避免对每个计时间隔的像素数进行任何更改。 因此、在75MHz PCLK 下、这将转换为大约7.5kHz 的偏差。  

    您可以在此设计中使用 DSI 时钟模式来避免出现问题吗?

    此致、

    Casey