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.

[参考译文] DS90UB941AS-Q1:TI941的 DSI 源时序要求是什么?

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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1418676/ds90ub941as-q1-what-are-the-dsi-source-timing-requirements-for-ti941

器件型号:DS90UB941AS-Q1

工具与软件:

您好、TI:

  如果客户将我们的芯片与 TI941+TI948一起使用、则会出现一些 ICS 抖动屏幕的具体现象:

 屏幕定时:像素 clk=HPSW=1920 147.46MHz、h_act=1920、HFP=64、HBP=32、HSW=32、 V_ACT=1080、VFP=104、VBP=6、VFP=6

 DSI 配置:1个时钟通道+4个数据通道、DSI 445MHz、数据速率=890MBps

  1000个客户端中大约有一个或两个会抖动。 DSI 波形测量完成后发现、正常芯片在一帧内进入 LP 状态12次、异常芯片会随机进入 LP 状态

 11或12次。 DSI 数据速率增加到905MBps 后、还可以正常显示异常 IC。

  现在、TI 需要确认以下问题:

 1: 导致以上抖动屏幕的原因是什么?

 2:当 DSI 在一帧中11次或12次进入 LP 状态以进行 TI941解析时序时、有什么不同?

 3: TI941对于 DSI 时序的具体要求是什么? 例如、DSI 源屏幕的 DSI 时钟和计时有哪些具体限制? 如何配置它以确保正常显示

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

    尊敬的 Peifeng:

    能否确认以下信息?

    --><!--=!--=!--=!--=!--="--><!--kadov_tag{{{</spaces>}</spaces>

    1.视频定时参数

     屏幕定时:像素 clk=lfp=1920 147.46MHz、h_act=1920、hfp=64、hbp=32、hsw=32、 v_act=1080、VFP=104、VBP=6、VFP=6[/报价]

    我注意到 VFP 重复了两次、我假设其中一个应该是 VSW?

    在这些有效和消隐规格下、总水平值看起来为2048、总垂直值= 1196

    在这种情况下、假设 fps 为60、那么 PCLK 应该是 2048 * 1196 * 60 = 146.96 MHz 、除非这违反了显示规格。

    --><!--=!--=!--=!--=!--="--><!--kadov_tag{{{</spaces>}</spaces>

    2. DSI 模式

    3: TI941对于 DSI 时序的具体要求是什么?

    这取决于用于显示屏的 DSI 时钟配置类型、例如、有三种类型可配置为:

    • DSI 参考时钟模式
      • 这是最直接和常用的配置、传入的视频 PCLK 由公式 fPCLK =(fDSI*NLanes)/12得出。 将在下一部分中对此进行详细介绍。
    • 外部参考时钟模式
      • 利用 REFCLK0或 REFCLK1上的外部时钟、建议将其与 DSI PCLK 匹配。 这也遵循上述公式。
    • 内部参考时钟模式(通常仅用于调试目的)
      • 内部参考时钟利用内部振荡器来生成输出视频、但这通常用于调试和自检模式。  
    导致上述抖动屏幕的原因是什么?

    根据使用的模式、抖动可能来自传入串行器的基准时钟、但这也可能是频率不与视频时序精确匹配的边缘情况。 请参阅下一节。

    --><!--=!--=!--=!--=!--="--><!--kadov_tag{{{</spaces>}</spaces>

    3. fDSI

    考虑到共享的时序参数、确定 PCLK 应更接近 146.96 MHz、除非这违反任何显示规格(在这种情况下、应更新时序参数)。

    使用上面给出的公式 fPCLK =(fDSI*NLanes)/12、然后通过以下计算应确定 fDSI 的值

    (146.96)=(fDSI)*(4)/(12)

    (146.96)*(3)= (fDSI)= 440.88 MHz 或881.76Mbps 的数据速率。

    如果使用这两种模式、这应该是参考时钟的目标时序

    --><!--=!--=!--=!--=!--="--><!--kadov_tag{{{</spaces>}</spaces>

    此处分享的信息也可在应用手册 DS90UB941AS-Q1 DSI 启动指南中找到:

    DS90UB941AS-Q1 DSI 启动指南(TI.com)

     2:当 DSI 进入 LP 状态11次或在一帧内12次(对于 TI941解析时序)时有何差异?

    根据 MIPI 标准、DSI 源应进入空闲模式(LP-11)或保持在 HS 模式(LP-00)下、并在这些时间内传输消隐。 源代码必须严格遵循此标准并在视频帧的至少一个 BLLP 周期内进入 LP-11、您能否进一步描述在正常和异常之间记录的 LP 状态11或12?

    此外、提高频率是否可以完全消除任何抖动? 这似乎与使用的其他配置不匹配。

    请告诉我您对此的发现和想法。 谢谢!

    此致!

    Miguel

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

    --><!--=!--=!--=!--=!--="--><!--kadov_tag{{{</spaces>}</spaces>

    1.视频定时参数

     屏幕定时:像素 clk=HPSW=1920 147.46MHz、h_act=1920、HFP=64、HBP=32、HSW=32、 V_ACT=1080、VFP=104、VBP=6、VFP=6

    我注意到 VFP 重复了两次、我假设其中一个应该是 VSW?

    在这些有效和消隐规格下、总水平值看起来为2048、总垂直值= 1196

    在这种情况下、假设 fps 为60、那么 PCLK 应该是  2048 * 1196 * 60 = 146.96 MHz 、除非这违反了显示规格。

    A: 像素 clk=HPSW=1920、h_act=1920、HFP=64、HBP=32、147.46MHz =32、 v_act=1080、vfp=104、vbp=8、vsw=8。

      因此 h_total=2048、v_total=1200、147.46MHz

    --><!--=!--=!--=!--=!--="--><!--kadov_tag{{{</spaces>}</spaces>

    2. DSI 模式

    3: TI941对于 DSI 时序的具体要求是什么?

    这取决于用于显示屏的 DSI 时钟配置类型、例如、有三种类型可配置为:

    • DSI 参考时钟模式
      • 这是最直接和常用的配置、传入的视频 PCLK 由公式 fPCLK =(fDSI*NLanes)/12得出。  将在下一部分中对此进行详细介绍。
    • 外部参考时钟模式
      • 利用 REFCLK0或 REFCLK1上的外部时钟、建议将其与 DSI PCLK 匹配。 这也遵循上述公式。
    • 内部参考时钟模式(通常仅用于调试目的)
      • 内部参考时钟利用内部振荡器来生成输出视频、但这通常用于调试和自检模式。  
    导致上述抖动屏幕的原因是什么?

    根据使用的模式、抖动可能来自传入串行器的基准时钟、但这也可能是频率不与视频时序精确匹配的边缘情况。  请参阅下一节。

    答:我们使用了 DSI 参考时钟模式(同步事件脉冲)

    --><!--=!--=!--=!--=!--="--><!--kadov_tag{{{</spaces>}</spaces>

    3. fDSI

    考虑到共享的时序参数、确定 PCLK 应更接近 146.96 MHz、除非这违反任何显示规格(在这种情况下、应更新时序参数)。

    使用上面给出的公式 fPCLK =(fDSI*NLanes)/12、然后通过以下计算应确定 fDSI 的值

    (146.96)=(fDSI)*(4)/(12)

    (146.96)*(3)= (fDSI)= 440.88 MHz 或881.76Mbps 的数据速率。

    如果使用这两种模式、这应该是参考时钟的目标时序

    答:fPCLK =(fDSI*NLanes)/12 -> fDSI=fPCLK *3

       fDSI=147.46 * 3=442.38Mhz 或数据速率884.76Mbps

      但884.76的速度不足以传输像素数据、因为我们 没有添加数据包报头和数据包报尾。

      我查看 DS90UB941AS-Q1 DSI 启动指南(TI.com) 4.3.  

     如果我们  从同步事件之间进行的消隐数据包字节计数中删除了 HSS/HSE 数据包、则上述公式有效。

     但在 MIPI 标准中、我找不到该请求、该请求是否仅需要 TI941?

      

    --><!--=!--=!--=!--=!--="--><!--kadov_tag{{{</spaces>}</spaces>

    此处分享的信息也可在应用手册 DS90UB941AS-Q1 DSI 启动指南中找到:

    DS90UB941AS-Q1 DSI 启动指南(TI.com)

     2:当 DSI 在一帧中11次或12次进入 LP 状态以进行 TI941解析时序时、有什么不同?

    根据 MIPI 标准、DSI 源应进入空闲模式(LP-11)或保持在 HS 模式(LP-00)下、并在这些时间内传输消隐。 源代码必须严格遵循此标准并在视频帧的至少一个 BLLP 周期内进入 LP-11、您能否进一步描述在正常和异常之间记录的 LP 状态11或12?

    此外、提高频率是否可以完全消除任何抖动? 这似乎与使用的其他配置不匹配。

    A:  DS90UB941AS-Q1 DSI 启动指南(TI.com) 4.3.  

      

     由于我们的 DSI 数据速率为890MBps、因此我们将在 BLLP-4中进入 LP11、这是否会导致 HFP 大于预期?

     这意味着在传输数据帧(每个行数据不返回到 LP11)时、我们必须确保处于 HS 模式。       是否仅在垂直消隐区域、BLLP-2恢复为 LP11?

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

    尊敬的 Peifeng:

    [报价 userid="584547" url="~/support/interface-group/interface/f/interface-forum/1418676/ds90ub941as-q1-what-are-the-dsi-source-timing-requirements-for-ti941/5437467 #5437467"]

    A: 像素 clk=HPSW=1920、h_act=1920、HFP=64、HBP=32、147.46MHz =32、 v_act=1080、vfp=104、vbp=8、vsw=8。

      因此 h_total=2048、v_total=1200、147.46MHz

    [/报价]
    答:我们使用了 DSI 参考时钟模式(同步事件脉冲)

    感谢您提供这些信息!

    这意味着在传输数据帧(每条线路数据不返回 LP11)时、我们必须确保我们处于 HS 模式。 仅  在 垂直消隐   区域中

    建议在 HFP 期间留在 HS、因为它可能比预期的时间更长。 LP-11可在 BLLP 内移动、以免中断 DSI 时序。

    让我们将重点关注  抖动的潜在原因屏幕、并完成应用手册中所示的调试流程:

    4.3错误的 DSI 数据包时序

    为了验证数据包时序并确认这是否导致了抖动屏幕、您可能需要专用的 DSI 分析仪设备以在数据包级别测试数据包时序。 我们稍后可能会重点讨论这一点、因为它需要专门的设备和分析。

    [报价 userid="584547" url="~/support/interface-group/interface/f/interface-forum/1418676/ds90ub941as-q1-what-are-the-dsi-source-timing-requirements-for-ti941/5437467 #5437467"]

    如果我们  从同步事件之间进行的消隐数据包字节计数中删除了 HSS/HSE 数据包、则上述公式有效。

    [报价]

    水平同步开始(HSS)和水平同步结束(HSE)数据包通常包括在内以保留视频时序、但不包括在计算中。 在同步事件之间删除它们。

    由于 DSI 源处于事件模式、因此可能无法使用 HSE 数据包

    --><!--=!--=--><!--kadov_tag{{{</spaces>}</spaces>

    4.4 THS-SKIP 配置

    为此、您可以仔细检查941AS 寄存器中已编程的 T-Skip 配置。 由于有其他装置正在工作、这可能不太可能是原因、但您可以确保:

    TSKIP_CNT =舍入(65*fDSI-5)=舍入(65 * 0.442368 - 5)=舍入(23.75392)= 24

    • (请注意、fDSI 的单位为 GHz)

    这将位于间接页 DSI 端口0 (0x40 = 0x04)或端口1 (0x40 = 0x08)上。

    根据使用的端口、配置 DP 端口的间接寄存器地址0x41 = 0x05 ( DPHY_SKIP_TIMING 寄存器 )、设置该间接寄存器值0x42 = 0x30 (十六进制24是0x18 -> 000 1 1000 、但由于保留、值左移1位。因此00 11 000 0)

    --><!--=!--=--><!--kadov_tag{{{</spaces>}</spaces>

    4.6事件模式/突发模式的同步宽度配置

    当 DSI 源配置为事件模式时、您需要首先在 DSI_CONFIG_0寄存器中将 DSI_SYNC_PULSES 设置为0。 这会启用对 HSYNC 和 VSYNC 的覆盖控制、然后 需要配置 DSI_HSW_CFG_HI/DSI_HSW_CFG_LO 和 DSI_VSW_CFG_HI/DSI_VSW_CFG_LO 寄存器。  

    Snice Hsw 为32、Vsw 为8、这将分别为0x20和0x08。

    接下来执行以下写入来为事件模式配置同步宽度:

    1. 写入0x40 =[0x04用于 DSI 端口0]或[0x08用于 DSI 端口1]
    2. 写入0x41 = 0x30 (DSI_HSW_CFG_HI)
    3. 写入0x42 = 0x00
    4. 写入0x41 = 0x31  (DSI_HSW_CFG_LO)
    5. 写入0x42 = 0x20
    6. 写入0x41 = 0x32  (DSI_HSW_CFG_HI)
    7. 写入0x42 = 0x00
    8. 写入0x41 = 0x33  (DSI_HSW_CFG_LO)
    9. 写入0x42 = 0x08

    ----  ---  --- -  ----  ---  --- -  ----  ---  --- -  ----  ---  --- -  

    确认上述配置后,如果显示器仍然抖动,建议让客户端在抖动屏幕上运行 PATGEN 从941AS-Q1查看屏幕是否仍然异常显示。  

    如果您需要有关运行上述任何任务的其他信息、请告知我、谢谢!

    此致!

    Miguel