新技能丨全志A40i核心板实现高清模拟摄像头720P方案
飞凌嵌入式搭载全志A40i处理器的FETA40i-C核心板,可支持4路模拟摄像头PAL(720x576)/NTSC(720x480)。而实际使用过程中,PAL或者NTSC格式的分辨率无法满足实际需求,经常有客户提出,是否可支持高清模拟摄像头?高清摄像头分辨率能否支持720P或者1080P?针对此需求,小编整理编辑了FETA40i-C核心板Linux/Android 系统支持720P高清模拟摄像头解决思路。一、方案评估
根据A40i CPU手册描述,CSI0支持最大到1080p@30fps,支持8-bit BT656接口。
https://www.forlinx.com/file.php?f=202112/f_a85dccb69388e4ac028513df1e5621e6&1639042600
根据上述信息,硬件选择RN6752芯片,支持2路CVBS转BT656高清视频解码芯片,输入为2路不同时输入的CVBS,输出为BT656格式,自动检测NTSC/PAL输入,720P和1080P解码,其中ADC采样率高达72MHz,可实现最佳色彩和图像瞬态响应。
二、参考原理图
VINA与VINB为不同时输入,默认采用VINA输入。内部有寄存器可控制通道切换。
https://www.forlinx.com/file.php?f=202112/f_0f4ed2e2ccb8e14091f83aa53858ce1d&1639045548
三、驱动移植
■ 将对应驱动放入如下路径:drivers/media/platform/sunxi-vfe/device/rn6752.c ■ 修改Makefile文件obj-y +=rn6752.o ■ 驱动编译 ■ 修改sys_config1024x600.fex中csi0对应csi0_dev0_mname,csi0_dev0_twi_addr等参数 ■ 编译内核并重新打包镜像,烧写
驱动移植时,需要注意:
1.摄像头所用引脚的复用需要去掉。
2.CSI接口采用BT656,输入格式为YUV422,输出为NV21/NV12。
3.RN6752采用V4L2_MBUS_FMT_UYVY8_2X8格式。
4.RN6752 采用的晶振为72MHz。
四、Linux和Android上显示效果
1、Linux上
在Linux上可采用默认出厂的Cameratest进行测试。
预览效果如下:
https://www.forlinx.com/file.php?f=202112/f_d5b34444db07aff99f0702be773f3c50&1639045575
2、Android上
在Android上可采用 Multiple Camera 进行测试。
预览效果如下:
https://www.forlinx.com/file.php?f=202112/f_bfedbab5b12a982ac4ae961c71e47d14&1639045854
拓展阅读
目前Android上行车记录仪APP只支持video4对应的模拟摄像头,其他3路未做支持。可采用Multiple Camera预览4路模拟摄像头图像。具体如图:
因手头摄像头有限,测试采用2个摄像头:(默认支持NTSC格式的模拟摄像头)
https://www.forlinx.com/file.php?f=202112/f_f2d5e34ee9353e6eb99cbb03d80c7205&1639045863
总结
最后总结一下FETA40i-C核心板支持HD摄像头方案:
■ 目前调试了RN6752 的支持。其它解码芯片方案,可考虑项目定制。
■ 目前只调试了720P@30fps 的支持。
■ Multiple Camera为简单测试DEMO,旨在验证摄像头通路可预览,不做其它支持。
■ 其中RN6752驱动与配置,以及Multiple Camera测试程序,后续如果客户如有需要此方案可联系销售工程师。
相关产品:https://www.forlinx.com/file.php?f=product/product_3630.png&t=png&o=product&s=&v=1584071076FETA40i-C核心板
https://www.forlinx.com/file.php?f=product/product_5816.png&t=png&o=product&s=&v=1599297342FETT3-C核心板
页:
[1]