模拟摄像头和cmos数字摄像头的切换

最近一段日子做了个模拟摄像头和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上也做了两个接口,分别对应模拟和数字。

这个做的时候费了不少时间,不过最后也做出效果了。

 

第二版:

既然vpfe我没办法做到配置不变,于是我就采用第二版的方案做了一套测试。在vpfe里面加了对应的不同模式的配置,最终也实现了。

 

做这套东西的时候发现,其实难点在于,前期要想清楚自己的硬件电路适用哪种工作模式。如果自己的硬件电路模拟那条线的行场信号线压根就没连出来,那就只能选择bt656了。如果所有的线都连全了,可以考虑做第一种模式,当然后期可能需要对vpfe再做一些工作,因为我个人的看法是,既然前端输出的数据主要模式都一样,只是有个隔行逐行的问题,那么在前端稍做修改,就可以使得后面的vpfe永远只工作在一个模式下,这样未来如果要扩展开发一些新产品,那么逻辑就能简单很多。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值