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.

[参考译文] PROCESSOR-SDK-J721S2:TDA4VE-Q1、J721S2关于 DSI 输出分辨率

Guru**** 2484615 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1441495/processor-sdk-j721s2-tda4ve-q1-j721s2-about-dsi-output-resolution

器件型号:PROCESSOR-SDK-J721S2

工具与软件:

尊敬的 TI:

目前、当我们将分辨率设置为1920x720x60Hz 时、DSI 效果不错、但当我们尝试将分辨率设置为3840x720x30Hz 时、DSI 总线上没有测量到任何数据输出。

在1920x720x60Hz 时、我们可以从 DSI_VID_MODE_STS 寄存器中获得值0x01。

当3840x720x30Hz 时、我们可以从 DSI_VID_MODE_STS 寄存器中获得值0x04。

我们使用了 RTOS SDK8.4

我们应该从何处尝试调试问题?

1920x720x60Hz 时序如下:

prm.display[1].timings.width         = 1920U;

prm.display[1].timings.height       = 720;

prm.display[1].timings.hFrontPorch      = 172;

prm.display[1].timings.hBackPorch       = 86;

prm.display[1].timings.hSyncLen = 72U;

prm.display[1].timings.vFrontPorch      = 6;

prm.display[1].timings.vBackPorch       = 9;

prm.display[1].timings.vSyncLen  = 2;

prm.display[1].timings.pixelClock = 99,495,000;

dsi_params.laneSpeedInkbps=596970;

 dsiObj->dphyTxIpDiv = 0x2;

   dsiObj->dphyTxOpDiv = 0x4;

   dsiObj->dphyTxFbDiv = 0x1F3

   dsiObj->dphyTxRate =(0xA<<0)|(0xA<<5);

   dsiObj->cfgDsiTx.numOfLanes = 0x4u;

   dsiObj->privDsiTx.numOfLane = 0x4u;

3840x720x30Hz 时序如下所示:

prm.display[1].timings.width         = 3840U;

prm.display[1].timings.height       = 720;

prm.display[1].timings.hFrontPorch      = 344;

prm.display[1].timings.hBackPorch       = 172;

prm.display[1].timings.hSyncLen = 144;

prm.display[1].timings.vFrontPorch      = 6;

prm.display[1].timings.vBackPorch       = 9;

prm.display[1].timings.vSyncLen  = 2;

prm.display[1].timings.pixelClock = 99,495,000;

dsi_params.laneSpeedInkbps=596970;

 dsiObj->dphyTxIpDiv = 0x2;

   dsiObj->dphyTxOpDiv = 0x4;

   dsiObj->dphyTxFbDiv =  0x1F3

   dsiObj->dphyTxRate =(0xA<<0)|(0xA<<5);

   dsiObj->cfgDsiTx.numOfLanes = 0x4u;

   dsiObj->privDsiTx.numOfLane = 0x4u;

谢谢

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

    您好!

    这位专家在本周参加了一个研讨会。 敬请期待响应的延迟。

    此致、
    Sudheer

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

    Terry、您好!

    请尝试进行以下更改吗?  

    宽度= 3840

    高度= 720

    HFP = 344

    HSW = 144

    HBP = 547

    VFP = 6

    Vsw = 2

    VBP = 72

    像素时钟= 117000000

    此致、

    Brijesh

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

    您好、Brijesh:

    我们尝试 修改此计时,但 DSS 初始化在修改后失败。

    你有什么想法吗?

    错误日志如下所示:

    [TUE Nov 26 15:15:35.701 2024][MCU2_0] 13.017584    s:| I | DEFAULT | src drv/dctrl/dss_dctrlApi.c @ Line 1182:

    [11月26日15:15:35.707 2024][MCU2_0] 13.017615    s:| i |默认值|设置 VP 参数 IOCTL 失败

    [11月26日15:15:35.714 2024][MCU2_0] 13.017660    s:| I | DEFAULT | DSS 双显示:ERROR:Dctrl DEFAULT INIT FAILED!!

    [Nov 26 15:15:35.722 2024][MCU2_0] 13.017693    s:| I | DEFAULT | DSS 双显示:INIT……DONE!

    谢谢

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

    Terry、您好!

    查看驱动程序代码、它应该不会失败、那么您能否使用 CCS 来查看它失败的地方?  

    此致、

    Brijesh

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

    您好、 Brijesh:

    什么是 CCS?

    我们不知道如何在  dsitx_sanity.c 中打印日志

    它应该会在 "if (obj->Vbp >(0x3FU ))"时失败

    //

    psdk_rtos\pdk_j721s2_08_04_00_20\packages\ti\drv\dss\csl\dsi\dsi\site\dsitx_sanity.c src src

    /**

     *验证 VideoSize 结构的函数

     *

     *@param[in] obj 指向要验证的结构的指针

     *@返回0表示有效

     *@返回 CDN_EINVAL 是否无效

     */

    uint32_t DSITX_VideoSizeSF (const DSITX_VideoSize * obj)

       uint32_t ret = 0;

     

       if (obj = NULL)

       {

           RET = CDN_EINVAL;

       }

       设计

       {

           if ((obj->vsa <(0x1U))||(obj->vsa >(0x3FU)))

           {

               RET = CDN_EINVAL;

           }

           if (obj->Vbp >(0x3FU))

           {

               RET = CDN_EINVAL;

           }

           if (obj->Vfp <(0x1U)))

           {

               RET = CDN_EINVAL;

           }

           if ((obj->VACT <(0x1U))||(obj->VACT >(0x1FFFU)))

           {

               RET = CDN_EINVAL;

           }

           if (obj->HSA >(0x3FFU))

           {

               RET = CDN_EINVAL;

           }

           if (obj->Hfp >(0x7FFU))

           {

               RET = CDN_EINVAL;

           }

           if (obj->RGB >(0x7FFFU))

           {

               RET = CDN_EINVAL;

           }

           if (obj->blkEolPacket >(0x7FFFU))

           {

               RET = CDN_EINVAL;

           }

           if (obj->blkLineEventPacket >(0x7FFFU))

           {

               RET = CDN_EINVAL;

           }

           if (obj->blkLinePulsePacket >(0x7FFFU))

           {

               RET = CDN_EINVAL;

           }

       }

     

       回流塔;

    }

    此致、

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

    好的、您可以重新排列 VFP 和 VBP 吗?

    VFP = 18

    Vsw = 2

    VBP = 60

    此致、

    Brijesh

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

    您好、 Brijesh:

    明天我们将尝试重新排列 VFP 和 VBP。

    您认为在什么情况下 DSI_VID_MODE_STS 寄存器会读取0x04 (ERR_MISCING_HSYNC)?

    您能帮助确认 以下链接吗? 这是同一个问题吗?? 您能否提供可解决此问题的补丁文件?

    https://sir.ext.ti.com/jira/si/jira.issueviews:issue-html/EXT_EP-11865/EXT_EP-11865.html

    谢谢

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

    Terry、您好!

    是的、这同样是个问题、修复仅用于调整时序。  

    此致、

    Brijesh

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

    您好、 Brijesh:

    我们是否需要将驱动程序升级到 PROCESSOR_SDK_10.01.00?

    我们需要能够更加自由地调整视频时序、因为这些 时序要求来自监控器规格。

    谢谢。

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

    Terry、您好!

    否、即使在 SDK10.1中、这也不会被修复。  我们需要根据通道速度和其他参数要求来调整时序。  

    此致、

    Brijesh

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

    您好、 Brijesh:

    感谢您的答复。

    如果  过度调整定时(如 BackPorch、FrontPorch)、则显示器上显示的图像将不会居中。

    谢谢。

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

    Terry、您好!

    不会、我真的怀疑它会影响输出、因为通常情况下、重要的是帧大小、它不会改变。  

    此致、

    Brijesh

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

    您好、 Brijesh:

    取决于 TDA4和 监视器之间是否存在标量 IC、 如果没有要重定时的标量 IC、则调整后沿或前沿、并且图像在显示屏上的位置也将偏移。

    我们已经测试了这一点,因为我们现在使用的显示器没有标量 IC 

    谢谢。

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

    Terry、您好!

    但 DSI 的前沿/后沿是什么? 这些参数是典型的显示屏参数、对于 DSI、它们 只是消隐的一部分、对吧?  

    此致、

    Brijesh

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

    您好、 Brijesh:

    对不起、我意外单击以解决问题。

    对于 DSI、它们 只是消隐的一部分、对吧?  

    由于    DSI 协议上有同步启动和同步结束和 DE 数据包  、因此串行器/解串器可以根据这些数据包计算 BP 和 FP、并在解串器侧重新传输 OLDI 输出或 DPI 输出。

    这与仅具有帧有效 数据包和线有效数据包的 CSI 不同。

    e2echina.ti.com/.../swpa225_5B00_1_5D00_.pdf

    谢谢

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

    您好、 Brijesh:

    重新排列 VFP 和 VBP 后、我们无法看到 TX 输出。

    (与相同:当3840x720x30Hz 时、我们可以从 DSI_VID_MODE_STS 寄存器中获得值0x04。)

    e2e.ti.com/.../8004.Log_5F005F00_20241126.log

    您可以帮助检查日志吗?

    如果在引导时出现有关 DSS DSI 的任何失败日志?

    我们可以在引导完成后运行应用程序。 然后按下"p"来查看   DrawGL_Graph 的 DISPLAY1。 已运行#executions =     2164。

    此致、

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

    您好、 Brijesh:

    我们尝试重新排列 VFP 和 VBP。 并获得与"当3840x720x30Hz 时、我们可以从 DSI_VID_MODE_STS 寄存器获取值0x04"相同的结果。

    请帮助您查看 log.e2e.ti.com/.../6087.Log_5F005F00_20241126.log

    有关 DSS DSI 的任何失败信息。

    此致、

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

    您好、 Brijesh:

    我们解决了这个问题。

    谢谢

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

    感谢您的更新。 最终修复/更新的计时值是什么?

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

    您好、 Brijesh:

    dsi_params.laneSpeedInkbps=4480*750*60*6/1000;

    prm.display[1].timings.width         = 3840U;

    prm.display[1].timings.height       = 720U;

    prm.display[1].timings.hFrontPorch      = 432U;

    prm.display[1].timings.hBackPorch       = 64U;

    prm.display[1].timings.hSyncLen = 144U;

    prm.display[1].timings.vFrontPorch      = 26;

    prm.display[1].timings.vBackPorch       = 2;

    prm.display[1].timings.vSyncLen  = 2;

    prm.display[1].timings.pixelClock = 4480*750*60ULL

    谢谢

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

    谢谢 Terry、公式符合我的公式。  

    通道速度=像素时钟* 24/通道数。  

    此致、

    Brijesh