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

DM3725视频采集不到,ISP和CCDC寄存器到底该怎么配置

现在要接收的是VGA UYVY的数据。通过并行的8跟数据线进行输入。

原来用的V4l2的框架,直接配置好相机输出后传递给isp_device参数,

static struct isp_v4l2_subdevs_group beagle_camera_subdevs[] = {
{
.subdevs = mt9v128_camera_subdevs,
.interface = ISP_INTERFACE_PARALLEL,
.bus = {
.parallel = {
// .width = 8,
.data_lane_shift = 2,// 1181页
// .clk_pol = 1,
// .hdpol=1,
.vdpol=1,
.bridge =0x3, // ISPCTRL_PAR_BRIDGE_BENDIAN
// .fldmode = 0,
// .is_bt656 = 0
}
},
},
{ },
};

但是在应用程序中一直阻塞在获取图像的部分,  因为唤醒等待队列的CCDC_VD0_IRQ一直没有触发过。  

后来不用这个了,  因为我手里有一个不用v4l2框架的接受bt656的图像驱动,是直接配置ISP和CCDC的寄存器的驱动, 我按照手册修改了驱动之后,不阻塞了,获取一帧编码发送之后图像整屏都是粉色的。   

可以配置的参数都尝试了一遍  但是就是获取不了图像。   还有一个疑问是,CCDC_VDINT中设置接收够一定数量的行之后触发CCDC_VD0_IRQ中断,  但是我写的不用v4l2框架的驱动设置的这个寄存器的值为0也能收到次中断(而且必须设置接收的行数为0 才能触发这个中断)  是因为什么原因呢?  

有没有什么解决办法,   用V4l2的和不用的   谁有什么建议可以让我尝试一下,   现在已经完全没有思路了。

或者直接给我一份能接收VGA图像的ISP和CCDC的寄存器的设置也行

leslie gao:

 帧有效和行有效信号都是设置为输入的,  怎么才能拿到图像啊?  

0x0: No shift.CAMEXT[13:0] – CAM [13:0]0x1: Shift by 2.CAMEXT[13:2] – CAM [11:0]0x2: Shift by 4CAMEXT[13:4] – CAM [9:0]0x3: Shift by 6CAMEXT[13:6] – CAM [7:0]

要选哪个呢?    

 INPMOD 0x0: Raw data0x1: YCbCr data on 16 bits. It is required to enable the 8to 16-bit bridge in the ISP_CTRL register.0x2: YCbCr data on 8 bits.

INPMOD我该选择1还是2 呢?   

Chris Meng:

回复 leslie gao:

你好,

你接的是8-bit YUV,按解释INPMOD应该选2吧。

你尝试过 .is_bt656 = 1么?

leslie gao:

回复 Chris Meng:

尝试过bt656 =1  但是还是阻塞。  

我现在有一份可以接收到bt656的驱动,    我在这个基础上修改的驱动,获取到的图像有问题,保存下起来之后只有第一行有数据,其余的数据都是ffff.   

我接的是8bit,  不是有个8bit -> 16bit  bridge 么。 

3:2 PAR_BRIDGE This bit field controls the 8 to 16-bit bridge at the input ofthe CCDC module.0x0: The bridge is disabled: no conversion.0x1: Reserved0x2: The bridge is enabled. The first byte is written toCAM.DATA[7:0], the second byte is written toCAM.DATA[15:8]0x3: The bridge is enabled. The first byte is written toCAM.DATA[15:8], the second byte is written toCAM.DATA[7:0]

inputmod的两种方式我都尝试了,   0x2: YCbCr data on 8 bits. 还有一个pack8位要选择,代表着8bit/pixel  

接收到的就是错误的。  帧有效行有效的极性也都改过了。

leslie gao:

回复 leslie gao:

该怎么解决啊。。。。。。。。。。给跪了

Chris Meng:

回复 leslie gao:

你好,

不好意思,DM37x的TRM我才申请了,还没有拿到。

你现在是要接外同步的8-bit YUV输入对么?如果是,对比BT656,主要还是同步信息,以及什么时候开始采集的信息需要你加上,这些在BT656里面是内嵌在信号量里面了。

你说的输出是CCDC的输出么?如果不是,建议先使能CCDC的输出,先把这个调对了,再调试后面的。

建议你先把输入的时序弄清楚,再配置DM37x。

leslie gao:

回复 Chris Meng:

我是在bt656的基础上改的, 去掉了bt656对隔行扫描的配置, 将寄存器中 FLDMODE  改为了逐行扫描。   还需要别的设置么?  逐行扫描相对于隔行扫描还需要有别的哪些寄存器的配置呢?      

关于时序问题,   bt656的时序不能用在逐行扫描上么?  

(bt656的能正确接收到图像)

leslie gao:

回复 Chris Meng:

这个是SDK中使用v4l2框架的CCDC部分的代码,

if (syncif->bt_r656_en) syn_mode |= ISPCCDC_SYN_MODE_PACK8;   

————————————–

if ((format->code == V4L2_MBUS_FMT_YUYV8_2X8) || (format->code == V4L2_MBUS_FMT_UYVY8_2X8)) { if (pdata->is_bt656) syn_mode |= ISPCCDC_SYN_MODE_INPMOD_YCBCR8; else syn_mode |= ISPCCDC_SYN_MODE_INPMOD_YCBCR16; }

赞(0)
未经允许不得转载:TI中文支持网 » DM3725视频采集不到,ISP和CCDC寄存器到底该怎么配置
分享到: 更多 (0)