项目要求的时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根数据脚,正确的波形如下:
代码中寄存器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