TI中文支持网
TI专业的中文技术问题搜集分享网站

TDA4VM: 配置 DPI0 输出BT1120,显示有问题

Part Number:TDA4VM

SDK: ti-processor-sdk-rtos-j721e-evm-08_05_00_11

硬件设计:

VOUT0 外接 NVP6021,BT.1120转AHD输出

NVP6021 引脚定义

TDA4VM <==> NVP6021  硬件连接:

VOUT0_DATA2~9 接 NVP6021 Y0~7

VOUT0_DATA12~19 接 NVP6021 C0~7

对应手册中提到的数据映射

我选的是 1920*1080p  25fps.

我在论坛上搜索了类似的话题,在SDK中做了如下修改:

app_init.c: appInit()

prm.timings.hFrontPorch = 460U;
prm.timings.hBackPorch = 110U;
prm.timings.hSyncLen = 150U;
prm.timings.vFrontPorch = 4U;
prm.timings.vBackPorch = 34U;
prm.timings.vSyncLen = 7U;
prm.timings.pixelClock = 74250000ULL;

app_dss_defaults.c: appDctrlDefaultInit()

vpParams.dvoFormat = APP_DCTRL_DV_BT1120_EMBSYNC;

app_dss_defaults.c  appDssDefaultInit()

EVM用的是 VOUT0转的HDMI,我们的设计也是用VOUT0,所以我在 APP_DSS_DEFAULT_DISPLAY_TYPE_DPI_HDMI 宏对应的代码下做修改

else if(prm->display_type==APP_DSS_DEFAULT_DISPLAY_TYPE_DPI_HDMI)
{
appLogPrintf("DSS: Display type is HDMI !!!\n");
obj->nodeOverlayId = APP_DCTRL_NODE_OVERLAY2;
obj->nodeVpId = APP_DCTRL_NODE_VP2;
obj->nodeDpiId = APP_DCTRL_NODE_DPI_DPI0;
obj->overlayId = APP_DSS_OVERLAY_ID_2;
obj->vpId = APP_DSS_VP_ID_2;
//yaogang modify
//obj->videoIfWidth = APP_DCTRL_VIFW_24BIT;
obj->videoIfWidth = APP_DCTRL_VIFW_16BIT;
}

NVP6021初始化:

NVP6021的寄存器已经按照厂商FAE给的配置清单设置。

我做的测试:

1、示波器实测 74.25M的时钟输出,没有问题。

2、使能NVP6021的 colorbar 测试输出,显示正常

3、关闭NVP6021的 colorbar 测试输出,使能TDA2VM colorbar 

dss_dctrl.h :

屏幕显示:

备注:在测试第2项时屏幕识别信号是 1080p 25,而在第3项时是 NTSC。

请问上面对代码的修改有没有问题?接下来改如何排查故障点?

Cherry Zhou:

您好,您的问题我们需要升级到英文论坛看下,链接如下:

e2e.ti.com/…/tda4vm-configure-dpi0-to-output-bt1120

,

Cherry Zhou:

您好,

以上修改看起来没问题,您试下使VideoIfWidth保持在24B,即"obj->videoIfWidth = APP_DCTRL_VIFW_24BIT;"?

此外,如果colorbar输出正确,您请尝试下不要连接任何video pipeline,看下是否能够从overlay manager获取正确的背景颜色? 您可以尝试在overlay manager中更改背景颜色。 

,

姚刚:

1、代码发现最终是在 csl_dssVideoPort.c 的CSL_dssVpSetLcdBlankTiming 函数中设置的时序

我这里dvoFormat = BT1120,所以进入438行 else

同时 scamFormat = FVID2_SF_PROGRESSIVE,那么从代码来看此时 hBackPorch 和 hFrontPorch没有设置对应寄存器,只用到了 hSyncVal

所以我在 app_init.c: appInit() 中修改 prm.timings.hSyncLen = 720U; (行消隐总和。)

我不明白函数里面为什么没有 blankCfg->vSyncLen 场同步的对应寄存器设置?

再次测试 TDA2 colorbar,显示如下:

颜色正常,但是有错位

2、APP_DCTRL_VIFW_24BIT 测试 TDA2 colorbar,显示和上图一样,没有变化

,

Cherry Zhou:

您好,请看如下答复:

对于嵌入式同步,即 BT1120输出格式,并没有前沿或后沿。 它只包含从 EAV 到 SAV 代码的距离,可以使用 hsyncLen 和 vsyncLen 来指定该距离。

关于 VBP 和 VFP,它们只是 BT 模式下的垂直消隐。 有关更多详细信息,请参阅以下寄存器描述:

,

姚刚:

NVP6021 手册

app_init.c: appInit() 修改时序

示波器查看 NVP6021 VOUT输出信号

1、使能NVP6021的 colorbar 

2、关闭NVP6021的 colorbar 测试输出,使

能TDA2VM colorbar 

周期是一样的,只是里面显示的内容不一样,怀疑是BT1120输出的数据就是不对的,同步是正常的

,

Cherry Zhou:

好的已跟进给工程师,请持续关注。

,

姚刚:

我看TDA4的手册中有关于  progressive BT.656/BT.1120 mode 的特别说明,而在我采用的就是  progressive BT.1120 mode,

请问” it requires two pixel clock cycles to send out one pixel.“这涉及哪些寄存器?

,

姚刚:

不好意思!之前的描述中有多处TDA2VM的笔误,在此纠正一下,使用的是TDA4VM

,

Cherry Zhou:

您好,您是否关注到了以下答复:

Are you sure that the BT1120 output is connected over vout0? Because, if i remember, it is not possible to get BT110 output on vout1. So can you please check and confirm? 

详情请见英文论坛。

,

姚刚:

我确定是VOUT0输出,一下是我们原理图部分截图

,

Cherry Zhou:

好的,我们看到您在英文论坛跟进了,您可以先和工程师讨论该问题,如果需要我们帮助可以随时reopen这个帖子。

赞(0)
未经允许不得转载:TI中文支持网 » TDA4VM: 配置 DPI0 输出BT1120,显示有问题
分享到: 更多 (0)