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这个帖子。