最近入手了Pandaboard 的高清摄像头子板一块,顺便学习了MIPI CSI2 接口,给各位网友分享一下. 这个高清摄像头采用 ov5640 芯片,500 万像素,支持自动聚焦,这也是手机和平板里面用得比较多的一种 cmos 传感芯片。OV5640 同时支持并向和串行数据传输,当然串行传输(也就是 MIPI 方式)速度更快,能够支持更高的分辨率,一般手机里 300 万或者 500 万像素的摄像头一般都是 MIPI 接口。
不妨再多提一下 MIPI 标准,MIPI 是做移动应用处理器的几家巨头公司成立的联盟,旨在定义移动应用处理器的接口标准,其全称为“Mobile Industry Processor Interface”。现在用的比较多是 MIPI 框架中的摄像头标准和显示标准,即 MIPI CSI 和 MIPI DSI。CSI 代表Camera Serial Interface,而 DSI 代表 Display Serial Interface。现在 CSI 已经升级到 CSI2.0 版本,即 MIPI CSI2 接口。本文所提到的Pandaboard 高清摄像头使用的就是 MIPI CSI2 接口。
先贴一个 Pandaboard 安装好摄像头子板的图片: 图 1 pandaboard 安装 MIPI CSI2 摄像头实物图
摄像头模块是通过 pandaboard 的 J17 引脚接上去的,为了更好的理解 CSI2 接口,我们先通过原理图看看 Pandabaord 的 J17 定义了哪些引脚:
图 2 Pandaboard 原理图 J17 引脚定义
可 以看到 J17 中包含了 5 组差分信号,即 (CSI21_DX0,CSI21_DY0), (CSI21_DX1,CSI21_DY1), (CSI21_DX2,CSI21_DY2), (CSI21_DX3,CSI21_DY3), (CSI21_DX4,CSI21_DY4)。这五组信号来自于 OMAP4430 的 CSI2-A 接口,如下 图所示:
图 3 OMAP4430 的 CSI2-A 接口信号
可以看出,OMAP4430 其实有两路 CSI2 接口,即 CSI2A 和 CSI2B,说明其可以接两个摄像头,这已经是手机应用处理器的基本要求了。CSI2A 接口拥有五组差分 接 口 ( csi2a_dx0~4, csi2a_dy0~4 ) , 分 别 对 应 J17 引 脚 的(CSI21_DX0~4,CSI21_DY0~4)。一组差分信号称为 Lane,每个 Lane 可以通过软件配置为 Data Lane 和 Clock Lane。不难发现,CSI2A 可以有 4 个 Data Lane 和 1 个 Clock Lane,而 CSI2B 则只能有 1 个 Data Lane 和 1 个 Clock Lane,Data Lane
越多,其能传输的速度越高,也就是更传输更高分辨率的图片。下图列出了 Data Lane 个数与传输速度的关系(摘自 omap4430 芯片手册 8.2.2.1 ISS Interface Features 一节)。
对应 OV5640 而言,其能传输的最大分辨率为 2592*1944,其芯片接口拥有三组差分信号,其中一组用于 Clock,另两组用于数据传输,其能达到的传输速率约为 2000Mbps,那么传输分辨率为 2592*1944 的图像的话,帧率能达到 15 帧每秒。下图给出了 OV5640 的接口图。
图 4 OV5640 接口图
结合图 4 和图 3,我们不难得出 OV5640 应该如何与 J17 引脚相连接。由于
(csi2a_dx0~4,csi2a_dy0~4)的中的任何一组都可以软件配置为clock 信号或者数据信号,所以选择一组连接(MC_P, MC_N), 再选择另外两组连接(MD0_P, MD0_N) 和(MD1_P,MD1_N)即可。
至此,我们已经说明了 MIPI CSI2 接口的数据连接方式。接下来我们顺便讲讲 OV5640 的 I2C 控制信号。另外我们注意到 OV5640 有SIOC 和 SIOD。那么这I2C 控制信号是干什么的?一个很明显的用途就是来设置OV5640 的图像输出格式,比如是输出 RGB 格式还是YUV 格式。这是通过寄存器来设置的。
其实 OV5640 作为视觉传感芯片,其有很多寄存器来控制图像的拍摄参数,比如增益控制、曝光控制等,这些参数一般设置为默认值即可,但如果用户想再特定环境下获得更好的图像质量,可以设定这些参数来达到最佳效果。 OMAP4430 上的拍照软件可以运行一个类似于光照检测的算法来来设定这些参数,从而达到一个最佳效果,这个就得看软件算法的功力了。
另外,OV5640 内部还有一个 ISP(Image Signal Processor),能够做简单的一些图像处理算法,比如 Gamma 校正,图像缩放等,但相对于 OMAP4430 的强大
的 ISP 而言,而其功能还是小巫见大巫了,所以推荐直接使用 OMAP4430 的 ISP 功能。
好了,关于 OMAP4430 的 CSI2 接口大概就总结了到这里,希望这个接口学习文档能对大家有帮助。如果需要入手 MIPI CSI2 摄像头做进一步的开发,可以去如下链接:
http://item.taobao.com/item.htm?spm=a230r.1.14.1.IjjDXR&id=25433344192
|