在DM648上使用VP3采集来自FPGA的视频,格式是YUV422。VP口的采集模式配置成Y/C采集模式,VCTL0、VCTL1用作HSYN、VSYNC。用示波器查看VCLK0、VCTL0、VCTL1,信号正常,但是驱动程序收不到数据。用仿真器查看VCA_STAT寄存器,FSYNC, FRMC 位总是0,无EDMA中断产生,请问下这是什么原因导致的呢?VP口的配置如下:
ptPrivate->vpCapChannelParams.cmode = VPORT_MODE_YCBCR_8BIT;
ptPrivate->vpCapChannelParams.thrld = ptPrivate->uwWidth >> 3;
ptPrivate->vpCapChannelParams.fldOp = VPORT_FLDOP_PROGRESSIVE;
ptPrivate->vpCapChannelParams.scale = VPORT_SCALING_DISABLE;
ptPrivate->vpCapChannelParams.fldXStrt1 = ( ptPrivate->uwWidthMax – ptPrivate->uwWidth ) >> 1;
ptPrivate->vpCapChannelParams.fldXStop1 = ptPrivate->uwWidthMax – 1 – ptPrivate->vpCapChannelParams.fldXStrt1;
ptPrivate->vpCapChannelParams.fldXStrt2 = ( ptPrivate->uwWidthMax – ptPrivate->uwWidth ) >> 1;
ptPrivate->vpCapChannelParams.fldXStop2 = ptPrivate->uwWidthMax – 1 – ptPrivate->vpCapChannelParams.fldXStrt2;
ptPrivate->vpCapChannelParams.fldYStrt1 = 0;
ptPrivate->vpCapChannelParams.fldYStrt2 = 0;
ptPrivate->vpCapChannelParams.fldYStop1 = ptPrivate->uwHeight – 1;//(ptPrivate->uwHeight >> 1) + 2;
ptPrivate->vpCapChannelParams.fldYStop2 = ptPrivate->uwHeight – 1;//(ptPrivate->uwHeight >> 1) + 2;
ptPrivate->vpCapChannelParams.mergeFlds = VPORT_FLDS_MERGED;
ptPrivate->vpCapChannelParams.resmpl = VPORT_RESMPL_DISABLE;
ptPrivate->vpCapChannelParams.bpk10Bit = VPORTCAP_BPK_10BIT_ZERO_EXTENDED;
ptPrivate->vpCapChannelParams.hCtRst = VPORTCAP_HRST_SAV;
ptPrivate->vpCapChannelParams.vCtRst = VPORTCAP_VRST_EAV_V0;
ptPrivate->vpCapChannelParams.fldDect = VPORTCAP_FLDD_DISABLE;
ptPrivate->vpCapChannelParams.extCtl = VPORTCAP_FINV_ENABLE;
ptPrivate->vpCapChannelParams.fldInv = VPORTCAP_FLDD_DISABLE;
ptPrivate->vpCapChannelParams.numFrmBufs = 0;
ptPrivate->vpCapChannelParams.alignment = 0x80;
ptPrivate->vpCapChannelParams.segId = g_extHeap;
ptPrivate->vpCapChannelParams.autoSyncEnable = SMP_TRUE;
ptPrivate->vpCapChannelParams.hEdma = hEdma;
Tony Tang:
请问你是在自己的板子上测试的?还是在EVM板上运行的?
请问你是参考PSP的哪个例程?
请问有没有参考Lyrtech_EVMDM648_Software_Tools_SR_1_1_0_20080327a.exe的例子程序\EVMDM648\BSL\Example\HDVideoDigLoopBack_tst?
rongpeng tan:
回复 Tony Tang:
我在自己的板子上调试,参考的例程是dvsdk_1_11_00_00_DM648\pspdrivers_1_10_00\packages\ti\sdo\pspdrivers\drivers\vport。
目前还没有参考Lyrtech_EVMDM648_Software_Tools_SR_1_1_0_20080327a.exe的例子程序\EVMDM648\BSL\Example\HDVideoDigLoopBack_tst。
rongpeng tan:
回复 Tony Tang:
我在自己的板子上调试,参考的例程是dvsdk_1_11_00_00_DM648\pspdrivers_1_10_00\packages\ti\sdo\pspdrivers\drivers\vport。
目前还没有参考Lyrtech_EVMDM648_Software_Tools_SR_1_1_0_20080327a.exe的例子程序\EVMDM648\BSL\Example\HDVideoDigLoopBack_tst。
rongpeng tan:
回复 rongpeng tan:
今天在DEMO板上用\EVMDM648\BSL\Example\HDVideoDigLoopBack_tst进行测试,发现VCA_STAT寄存器的FSYNC, FRMC 位同样总是0,未采集到数据。测试打印信息如下:
HD video digital loopback 1080I-60Hz HD in -> HD out test…
Capture info:
Frame cnt: 0
Sync error: 0
Short field error: 0
Long field error: 0
Overrun error: 0
Display info:
Frame cnt: 252
Overrun error: 0
HD video digital loopback 1080I-60Hz HD in -> HD out test… SUCCESS!
zhiyong zhang:
回复 rongpeng tan:
你这程序配成高清口了