nvp6124b在全志A40I上调试过程

项目要求的时2路AHD 1080P/720P模拟视频输入,还有两路tvin输入,一共四个画面。

AHD用nvp6124b来转换,至于tvin,A40I已经自带了4路,可以直接用

nvp6124b的驱动在原厂给的t3 sdk包里已经有了,直接复制过来即可。

两路视频的话是要对应两个驱动的,才能注册出两个/dev/video节点出来,所以复制一份同样的驱动代码重新命名为nvp6124bnew.c即可,把里面的名字改一下。

sys_config.fex中的摄像头配置,第二路的i2c地址不要写0x060了,随便写一个其他的,否则注册失败,y因为i2c驱动不允一个adapter上两个同地址设备,然后在nvp6124bnew.c的读写中再把client->addr赋值为0x60>>1即可,这样就可以绕开该问题了。

注册成功的话会出现/dev/video2, /dev/video3连个节点

两份驱动中都是cfg->flags = CLK_POL | CSI_CH_0; 没有用到CSI_CH_1

可以在vfe.c中打印isr_irq,首先要有中断过来

测量6124b的 vclk1和vclk2应该为74M的波形

测量8根数据脚,正确的波形如下:

nvp6124b在全志A40I上调试过程_第1张图片

代码中寄存器0xb8可以查看4路视频是否有信号输入, 0表示有信号,1表示无信号,如如果两路视频都插入那么应该打印的时0x0c

有几块板子一个视频预览黑屏,另一个没有中断过来,预览时蓝色,用示波器测量视频输入都有信号,死活找不到原因,0xb8寄存器打印的值时0x0d,后来发现时视频输入短有个电容出问题了,更换即可

 

上述都没问题的话,在app中即可出现4画面预览

存在问题:

 1.打开app有时候会闪退,提示video buf不够了,可能A40I同时预览四个画面确实忙不过来

 2. 不能两路同时录像,会报错,查看了一遍原厂sdk给的行车记录仪代码,发现和我写的一样的,用原厂的行车记录仪app也不能同时两路录像,目前还没找到原因

四路视频测试app见如下链接(在我的资源下载中):

https://download.csdn.net/download/lushengchu2003/11827596

 

你可能感兴趣的:(kernel,framework,A40I,nvp6124b,a40i,NVP6124B,AHD摄像头)