版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。
版权
嵌入式专栏收录该内容
29 篇文章0 订阅
订阅专栏
最近一段日子做了个模拟摄像头和cmos摄像头切换的小活。
也就是在嵌入式linux系统下,对cmos和模拟摄像头实时切换,达到一个设备可以同时查看,存储多个摄像头所监控的视频区域数据。
模拟摄像头多采用bt656模式。
模拟摄像头我尝试了内嵌行场同步信号的bt656模式,以及行场信号分离的ycbcr模式。后一种模式当然需要硬件支持,需要把行场信号都连接出去。我用的是ti的芯片,所以tvp芯片后端接的是ti的vpfe模块。
cmos数字摄像头采用的是行场分离的ycbcr模式,这个是以前别人调好的驱动,我也就没有改动视频传输模式。继续沿用行场分离的ycbcr传输模式。
硬件上把tvp芯片的后端跟cmos数据出来的信号线做一个二选一。两条线的数据通过二选一芯片选择后,输送给vpfe处理模块。
我做了两版,分别是:
1. 【模拟】行场分离的ycbcr + 【数字】行场分离的ycbcr
2. 【模拟】bt656 + 【数字】行场分离的ycbcr
第一版:
做第一个的时候的目的是为了尽量不修改后端的vpfe,可是后来发现隔行逐行的问题。加之cmos驱动是别人做的,没有修改和测试的时间,我就在vpfe上也做了两个接口,分别对应模拟和数字。
这个做的时候费了不少时间,不过最后也做出效果了。
第二版: