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.

[参考译文] RTOS/TDA2EVM5777:需要有关在800X480 LCD 上显示 YUV422数据的帮助

Guru**** 2604225 points
Other Parts Discussed in Thread: TDA2HV

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/650561/rtos-tda2evm5777-need-a-help-for-display-the-yuv422-data-on-the-800x480-lcd

器件型号:TDA2EVM5777
主题中讨论的其他器件:TDA2HV

工具/软件:TI-RTOS

大家好、

我们正在开发 ADAS 的 TDA2x 平台。在该平台中、我们使用 TDA2HV 处理器设计了定制板。在我们的项目中、我们将进行连接
4个摄像头传感器作为使用接口 LVDS 的输入、3个显示器作为使用 LVDS 接口的输出。摄像头的输入为16位 YUV422、显示器的输出为16位 YUV422。其中2个摄像头的显示分辨率为800x480、1个摄像头的显示分辨率为1280X320。

我们将在 HDMI 显示屏上获得正确的显示输出。 但是、当我们在800x 480 LCD 显示屏上显示摄像头的 YUV 422数据时、我们无法获得正确的视频(它在两侧显示一些绿色)。

根据您的视频移植指南、我们发现 TDA2x 平台不支持 BT.1120 (YUV422)模式。 请确认

我们在下面列出了对它的查询。
1) 1)我们能否在800x480 LCD 上显示 YUV422 16位数据?
2) 2)如果是、那么在我们的案例中、应该显示什么参数配置?


如果您需要我们方面的更多信息、请告知我们。

谢谢、

Parth Modi

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

    您好 Parth、

    BT1120接口通常用于嵌入式同步输出。 这是您的 LCD 所需的吗?  

    此外、您是否检查引脚多路复用器是否可用于4个 YUV422输入和3个 YUV422输出?

    Rgds、

    Brijesh

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

    您好、Brijesh、

    感谢您的快速回复。

    我们的系统中未使用嵌入式同步。

    是的、我们有足够的 PINMUX 用于4输入和3输出。

    此外、我们需要连接 YUV422显示屏(800x480)、这需要离散同步信号。 TRM 第2953页显示 YUV422仅在您选择 BT 模式时可用。TRM 第3022页显示 BT.656/BT.1120模式使用嵌入式 EAV/SAV 同步。

    下面是我们在 VISION_SDK/APPS/src/rtos/usecases/common/chains_common.c 中的配置

    使用此配置、我们无法获得正确的视频。(附带的屏幕截图)

    如果我们将 pVInfo->vencOutputInfo.dvoFormat 更改为 SYSTEM_DCTRL_DVOFMT_BT1120_EMBSYNC、我们的显示屏将不工作。

    请告知我们此处是否存在瓶颈、并建议正确的更改、以使显示器能够以正确的颜色和分辨率(800x480)工作。 SDK 中默认存在的沿值处于可接受的显示范围内。

    if (displayType = chains_display_type_lcd_7_inch)

      {

        pPrm->deviceId = DISPLAYCTRL_LINK_USE_LCD;

        pVInfo->vencId = system_DCTRL_DSS_VENC_LCD1;

        pVInfo->outputPort = system_DCTRL_DSS_DPI1_output;

        if ((bsp_platform_SOC_ID_TDA2EX == bsp_platformGetSockId())&&

          (bsp_platform_package_type_17x17 = bsp_platformGetPackageType ()))

        {

          /*如果是 TDA2EX 且封装为17 X 17、则 LCD 显示在 DPI 3上*/

          pVInfo->vencId = system_DCTRL_DSS_VENC_LCD3;

          pVInfo->outputPort = system_DCTRL_DSS_DPI3_output;

        }

        pVInfo->vencOutputInfo.vsPolarity  = system_DCTRL_POLICE_ACT_LOW;

        pVInfo->vencOutputInfo.hsPolarity  = system_DCTRL_POLICE_ACT_LOW;

        对于 EVM LCD、下面的/*无关*/

        pVInfo->vencOutputInfo.fidPolarity   = system_DCTRL_POLITY_ACT_LOW;

        pVInfo->vencOutputInfo.actVidPolarity = system_DCTRL_POLICE_ACT_LOW;

        pVInfo->MINFO.STANDARD          = SYSTEM_STD_CUSTOM;

        pVInfo->MINFO.width           = 显示宽度;

        pVInfo->MINFO.Height           = 显示高度;

        pVInfo->MINFO.scanFormat         = system_sf_progressive;

        pVInfo->MINFO.PixelClock         = 29232u;

        pVInfo->MINFO.fps            = 60U;

        pVInfo->MINFO.hFrontPorch        = 40U;

        pVInfo->MINFO.hBackPorch         = 40U;

        pVInfo->MINFO.hSyncLen          = 48U;

        pVInfo->MINFO.vFrontPorch        = 13U;

        pVInfo->MINFO.vBackPorch         = 29u;

        pVInfo->MINFO.vSyncLen          = 3U;

        pVInfo->vencDivisorInfo.divisorLCD   = 1;

        if (bsp_platformIsTda3xxFamilyBuild())

        {

          pVInfo->vencDivisorInfo.divisorPCD   = 1;

        }

        其他

        {

          pVInfo->vencDivisorInfo.divisorPCD   = 4;

        }

        //Rohit

        pVInfo->vencOutputInfo.dataFormat   = system_DF_YUV422I_YUYV;

        pVInfo->vencOutputInfo.dvoFormat    =

                      System_DCTRL_DVOFMT_general_DISCSYNC;

        pVInfo->vencOutputInfo.videoIfWidth  = SYSTEM_VIFW_16BIT;

        pVInfo->vencOutputInfo.pixelClkPolarity = system_DCTRL_POLITY_ACT_HIGH;

        pVInfo->vencOutputInfo.aFmt       = SYSTEM_DCTRL_A_OUTPUT MAX;

        /*配置覆盖参数*/

        ovlyPrms->vencId            = SYSTEM_DCTRL_DSS_VENC_LCD1;

        if ((bsp_platform_SOC_ID_TDA2EX == bsp_platformGetSockId())&&

          (bsp_platform_package_type_17x17 = bsp_platformGetPackageType ()))

        {

          /*如果是 TDA2EX 且封装为17 X 17、则 LCD 显示在 DPI 3上*/

          ovlyPrms->vencId           = SYSTEM_DCTRL_DSS_VENC_LCD3;

        }

      }

    谢谢、

    Parth Modi

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

    您好 Parth、

    TRM 正确显示。 YUV 输出仅在 BT 格式上受支持、BT 格式通常嵌入同步格式、因此 DSS 本身不支持离散同步输出上的 YUV 格式。  

    话虽如此、有一些方法可以通过离散同步格式发送 YUV。 但这需要更改链接、而此解决方案存在一些限制、例如您无法使用混合、缩放、颜色转换操作等。

    此致、

    Brijesh

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

    您好、Brijesh、

    感谢您的指出。

    正如您提到的、

    [引用 user="Brijesh Jadav"]有一些方法可以通过离散同步格式发送 YUV [/引用]

    您是否会分享有关通过离散同步发送 YUV422的信息或方法? 这将非常有帮助。

    需要在哪个位置进行更改? 在 LCD 参数/配置中的驱动器级别还是在应用级别?

    现在还可以接受限制。

    主要目的是使用离散同步发送 YUV422。

    此致、

    Jaymin

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

    让我们通过电子邮件来讨论这一点。 我想您已经在与我们的 FAE 交流了。

    Rgds、
    Brijesh