Hi:
哪位仁兄能指点在下,我们项目使用DM6467芯片,通过2片TVP5147进行图像采集,linux内核是2.6.32,使用TI的SDK进行图像采集。
1片TVP5147地址为0X5D,为ch0通道,接低8位VPIF口;另一片TVP5147地址为0X5C,为ch1通道,接高8位VPIF。
ch0通道采集视频采集视频,TS流播放后是正确的。但ch1通道采集视频采集视频,TS流播放后是不正确的,而且发现空采集就有大量的数据。
感觉配置驱动有问题,希望哪位帮我看看。我配置的驱动如下:
static struct vpif_subdev_info vpif_capture_sdev_info[] = {
{
.name = TVP5147_CH0,
.board_info = {
I2C_BOARD_INFO("tvp5146", 0x5d),
.platform_data = &tvp5146_pdata,
},
//.input = INPUT_CVBS_VI2B,
//.output = OUTPUT_10BIT_422_EMBEDDED_SYNC,
//.can_route = 1,
.vpif_if = {
//.if_type = VPIF_IF_BT656,
.if_type = VPIF_IF_BT1120,
.hd_pol = 1,
.vd_pol = 1,
.fid_pol = 0,
},
},
{
.name = TVP5147_CH1,
.board_info = {
I2C_BOARD_INFO("tvp5146", 0x5c),
.platform_data = &tvp5146_pdata,
},
//.input = INPUT_CVBS_VI2B,
//.output = OUTPUT_10BIT_422_EMBEDDED_SYNC,
//.can_route = 1,
.vpif_if = {
//.if_type = VPIF_IF_BT656,
.if_type = VPIF_IF_BT1120,
.hd_pol = 1,
.vd_pol = 1,
.fid_pol = 0,
},
},
};
是不是哪里设置有错误呀??????
violet violet:
哪位仁兄知道啊。。望指点。。。。谢谢了。。。。。。。
Chris Meng:
你好,
8-bit内同步应该是BT656啊。
什么是空采集就有大量的数据?
violet violet:
回复 Chris Meng:
Chris Meng 你好:
我已经把.if_type = VPIF_IF_BT656,但是还是发现ch1通道空采集出来的画面是绿色。
空采集意思没有加入CCD摄像头进行采集
ch0进行空采集时的数据量比较少,下面是我打的信息:
hOutBuf->usedState.numBytes = 1254
ch1进行空采集时的数据量比较很大,下面是我打的信息:
hOutBuf->usedState.numBytes = 9710
附件是我ch1采集的数据信息图。
violet violet:
回复 Chris Meng:
Chris Meng你好:
下面附件是我进行ch0空采集(没接CCD进行图像采集)后的信息。数据量挺正常,而且播放的图像也是黑色的。ch1空采集的数据量就非常大,并且播放的图像时绿色的。
感觉是哪里设置错误了,但还是没找到。
希望Chris Meng或者哪位仁兄帮忙指点下,不胜感激。
Chris Meng:
回复 violet violet:
你好,
你是否有比较过ch0/ch1相关的VPIF的寄存器有什么区别?或者把VPIF所有寄存器贴出来看看?
violet violet:
回复 Chris Meng:
Chris Meng
你好
我使用的TI提供的VPIF驱动程序。也没有改过。下面的附件就是VPIF的驱动,麻烦有空帮我指点下。谢谢了。
Chris Meng:
回复 violet violet:
你好,
把运行时候的寄存器值发给我一下。驱动有可能在很多地方调用,我需要了解的是实际配置下去的值。
violet violet:
回复 Chris Meng:
Chris Meng
你好,
我没有特别去配置寄存器值,都是用TI提供的基本的VPIF驱动
进行ch1图像采集时,只是在appmain下把char *input_device = CAPTURE_DEVICE1;
board-dm646x-evm.c下的设置在上面我也已经贴出来了。
调用VPIF的寄存器应该就是我上面发的TI的寄存器值。
请问一般是在哪设置VPIF的值???
麻烦帮忙指点下,谢了。
TI中文支持网

