高清摄像头MIPI接口与ARM连接【转】
本文转载自:http://www.cnblogs.com/whw19818/p/5811299.html
MIPI摄像头常见于手机、平板中,支持500万像素以上高清分辨率。它的全称为“Mobile Industry Processor Interface”,分为MIPI DSI 和MIPI CSI,分别对应于视频显示和视频输入标准。目前,MIPI摄像头在其他嵌入式产品中,比如行车记录仪、执法仪、高清微型相机、网络监控相机等得到广泛应用,因此我们以OMAP4处理器为例,谈谈MIPI摄像头如何与ARM处理器连接。
OMAP4支持MIPI CSI2版本,其中4460支持两路视频输入,为了进行接口和软件验证,我们先在OMAP4开发板 PandaboardES 上设计了摄像头模块,如下图:
摄像头模块是通过Pandabaord的J17引脚焊接上去的,为了更好地理解CSI2接口,我们先看看Pandabaord ES的J17定义了哪些引脚:
可以看到J17中包含了5组差分信号,即(CSI21_DX0,CSI21_DY0), (CSI21_DX1,CSI21_DY1), (CSI21_DX2,CSI21_DY2), (CSI21_DX3,CSI21_DY3), (CSI21_DX4,CSI21_DY4)。这五组信号来自于OMAP4的CSI2-A接口,如下图所示:
上图摘自于omap4的手册。可以看出,OMAP4430其实有两路CSI2接口,即CSI2A和CSI2B,说明其可以接两个摄像头,这已经是手机或者平板应用的基本要求了。CSI2A接口拥有五组差分接口(csi2a_dxi, csi2a_dyi, i=0~4), 分别对应J17引脚的(CSI21_DXi,CSI21_DYi, i=0~4)。一组差分信号称为Lane,每个Lane可以通过软件配置为Data Lane和Clock Lane,而且差分信号的极性也可以软件配置。当然最常规的用法是将(dx0,dy0)用于传输clock信息。CSI2A可以有4个Data Lane和1个Clock Lane,而CSI2B则只能有1个Data Lane和1个Clock Lane,Data Lane越多,其能传输的速度越高,也就是更传输更高分辨率的图片。Data Lane个数与传输速度的关系是这样的:
data lane个数 | 极限速度 | 对应图像传输帧率 |
One Data lane | 1000Mbps | 1280*720@30fps |
Two Data lane | 2x1000Mbps | 1280*720@60fps |
Three Data lane | 3x1000Mbps | 1280*720@90fps |
从这个表格中可以看到,MIPI采用差分线传输,速度还是很快的,比并行传输要快很多。在使用两组data lane的情况下,就可以做到720p@30fps了。如果要提高图像的分辨率,在使用同样多data lane的情况下,就要降低帧率了。
我们为pandaboard研发的摄像头模块采用ov5640传感器,它支持两组data lane,以下是它所支持的传输格式:
format | resolution | frame rate |
5 Mpixel | 2592x1944 | 15fps |
1280x960 | 1280x960 | 45fps |
1080p | 1920x1080 | 30fps |
720p | 1280x720 | 60fps |
VGA | 640x480 | 90fps |
QVGA | 320x240 | 120fps |
ov5640拥有2组 data lane,还有1组 clock lane,因此可以如下方式连接ov5640和omap4.
其中(MC_P,MC_N)为ov5640的用于传输时钟的引脚,(MD0_P,MD0_N), (MD1_P,MD1_N)为用于传输数据的引脚。除了要连接好ov5640的差分信号外,还要给ov5640输入时钟信号,这个时钟信号可以来自于晶振,也可以来自于omap4。我们选择一个用一个晶振产生24M的时钟信号,具体如何连接这里不再叙述。
接下来我们顺便讲讲OV5640的I2C控制信号。另外我们注意到OV5640有SIOC和SIOD。那么这I2C控制信号是干什么的?一个很明显的用途就是来设置OV5640的图像输出格式,比如是输出RGB格式还是YUV格式。这是通过寄存器来设置的。
其实OV5640作为视觉传感芯片,其有很多寄存器来控制图像的拍摄参数,比如增益控制、曝光控制等,这些参数一般设置为默认值即可,但如果用户想再特定环境下获得更好的图像质量,可以设定这些参数来达到最佳效果。比如在晚上开启夜视模式(把每帧曝光时间调长),或者在室内开启工频抑制,在日光灯下图像不闪烁(通过设置曝光时间为光周期信号整数倍),可以达到更加灵活的使用效果。运行于omap4的拍照软件可以运行一个类似于光照检测的算法来来设定这些参数,从而达到一个最佳效果,这个就得看软件算法的功力了。
另外,OV5640内部还有一个ISP(Image Signal Processor),能够做简单的一些图像处理算法,比如Gamma校正,图像缩放等,但相对于OMAP4430的强大的ISP而言,而其功能还是小巫见大巫了,所以推荐直接使用OMAP4430的ISP功能。
好了,关于OMAP4430的CSI2 接口大概就总结了到这里,希望这个接口学习文档能对大家有帮助。如果需要MIPI CSI2摄像头做验证设计,可以加入QQ群“OMAP4摄像头”(274241220)做交流
高清摄像头MIPI接口与ARM连接【转】的更多相关文章
- 高清摄像头MIPI接口与ARM处理器的连接
MIPI摄像头常见于手机.平板中,支持500万像素以上高清分辨率.它的全称为“Mobile Industry Processor Interface”,分为MIPI DSI 和MIPI CSI,分别对 ...
- MIPI接口资料汇总(精)
一.介绍 1.MIPI联盟,即移动产业处理器接口(Mobile Industry Processor Interface 简称MIPI)联盟.MIPI(移动产业处理器接口)是MIPI联盟发起的为移动应 ...
- MIPI接口LCD屏调试心得(转)
源: MIPI接口LCD屏调试心得
- MIPI接口
接口 分辨率 说明 RGB 800*480以下 大部分AP均支持RGB接口,此类LCD在低端平板广泛使用 LVDS 1024*768及以上 主要通过转换芯片将RGB等专程LVDS来支持:少量AP直接集 ...
- 高清摄像头MIPI CSI2接口浅解【转】
本文转载自:http://blog.csdn.net/u012075739/article/details/44672435 MIPI摄像头常见于手机.平板中,支持500万像素以上高清分辨率.它的全称 ...
- 液晶屏MIPI接口与LVDS接口区别(总结)
液晶屏接口类型有LVDS接口.MIPI DSIDSI接口(下文只讨论液晶屏LVDS接口,不讨论其它应用的LVDS接口,因此说到LVDS接口时无特殊说明都是指液晶屏LVDS接口),它们的主要信号成分都是 ...
- Windows server2008 搭建ASP接口訪问连接oracle数据库全过程记录
真的是太不easy了,曾经的时候在window server 2003上面搭建了一套asp+oracle的接口系统.就费了好大的劲儿,事实上那会迷迷瞪瞪的也不知道怎么的就弄好了,也懒得管了.OK,从昨 ...
- vue 项目中实时请求接口 建立长连接
需求:在项目中需要每隔五秒请求一次接口 第一种方法:直接在mounted钩子函数中处理 mounted() { window.setInterval(() => { setTimeout(thi ...
- LCD之mipi DSI接口驱动调试流程【转】
转自:http://blog.csdn.net/liwei16611/article/details/68146912 1.LCD MIPI DSI协议 MIPI-DSI是一种应用于显示技术的串行接口 ...
随机推荐
- P3984高兴的津津
这道题的标签是并查集,但其实是一个并查集思想的模拟题. 被算法标签迷惑了,一直在想怎么存f[],然后怎么查找,但发现其实很难去做.然后就发现其实就是做一个选择就可以了:拿AU的第i次包含在i-1次里, ...
- Python 流程控制 超全解析(不可错过)
流程控制 程序执行结构流程 计算机程序在解决某个具体问题时,包括三种情形,即顺序执行所有的语句.选择执行部分的语句和循环执行部分语句,这正好对应着程序设计中的三种程序执行结构流程:顺序结构.选择结构和 ...
- python是强语言还是弱语言?
python是强语言还是弱语言,没有一个具体官方的说法 数据类型也就是变量类型,一般编程语言的变量类型可以分成下面两类. 静态类型与动态类型 静态类型语言:一种在编译期间就确定数据类型的语言.大多数静 ...
- 【源码解读】pix2pix(一):训练
源码地址:https://github.com/mrzhu-cool/pix2pix-pytorch 相比于朱俊彦的版本,这一版更加简单易读 训练的代码在train.py,开头依然是很多代码的共同三板 ...
- Lock和synchronized的区别和使用(转发)
今天看了并发实践这本书的ReentantLock这章,感觉对ReentantLock还是不够熟悉,有许多疑问,所有在网上找了很多文章看了一下,总体说的不够详细,重点和焦点问题没有谈到,但这篇文章相当不 ...
- linux目录结构详细补充
Linux各目录及每个目录的详细介绍 [常见目录说明] Linux目录和Windows目录有着很大的不同,Linux目录类似一个树,最顶层是其根目录,如下图: /bin 二进制可执行命令 /dev 设 ...
- gp指标信息
RSI: 相对强弱指数,RSI的原理简单来说是以数字计算的方法求出买卖双方的力量对比 强弱指标理论认为,任何市价的大涨或大跌,均在0-100之间变动,根据常态分配 认为RSI值多在30-70之间变动, ...
- 【React 7/100 】 虚拟DOM和Diff算法
虚拟DOM和Diff算法 React更新视图的思想是:只要state变化就重新渲染视图 特点:思路非常清晰 问题:组件中只有一个DOM元素需要更新时,也得把整个组件的内容重新渲染吗? 不是这样的 理想 ...
- 用户在浏览器输入URL或者跳转到一个URL后发生了什么
一.从URL到页面渲染的整个过程1)处理用户输入2)开始导航3)读取响应4)查找渲染进程5)确认导航6)渲染页面 二.每一步做了哪些事情 1)处理用户的输入 浏览器的UI 线程处理用户的输入,判断是跳 ...
- C++ STL(标准模板库)
一.STL简介 STL(Standard Template Library,标准模板库)是惠普实验室开发的,在被引入C++之前该技术就已经存在了很长的一段时间. STL的代码从广义上讲分为三类:alg ...