嵌入式系统中CMOS图像传感器接口技术

2008-03-14 17:40:39来源: 微机发展

  摘 要:提出了CMOS(互补金属氧化物半导体)图像传感器在嵌入式系统中的接口技术,通过设计软件驱动使嵌入式处理器能够控制CMOS图像传感器图像数据自动采集。并对CMOS图像传感器采集的数据进行插值和自动白平衡处理。此接口模块已经成功地应用于二维条码识读器的图像采集模块中,取得了良好的效果。

  关键词:CMOS图像传感器;嵌入式Linux;总线;嵌入式系统

  背 景

  目前数字摄像技术,主要采用两种方式:一种是使用CCD(电容耦合器件)图像传感器,另一种是使用CMOS(互补金属氧化物半导体)图像传感器。

  CCD图像传感器具有读取噪声低、动态范围大、响应灵敏度高等优点。但CCD技术难以与主流的CMOS技术集成于同一芯片之中。因而CCD图像传感器具有体积大、功耗高等缺点。

  CMOS图像传感器是近些年发展较快的新型图像传感器,由于采用了CMOS技术,可以将像素阵列与外围支持电路(如图像传感器核心、单一时钟、所有的时序逻辑、可编程功能和模数转换器)集成在同一块芯片上。因此与CCD相比,CMOS图像传感器将整个图像系统集成在一块芯片上,具有体积小、重量轻、功耗低、编程方便、易于控制等优点。对于手持式设备来说,体积和功耗是进行软硬件设计时重点考虑的问题,因此CMOS图像传感器应用在手持式设备当中将会有广阔的前景。

  文中将就嵌入式系统中设计CMOS图像传感器的图像采集设备硬件接口技术和软件驱动进行研究。

  系统硬件设计

  嵌入式系统硬件平台选择

  摩托罗拉MC9328MX1处理器基于ARM920T嵌入式处理器内核,能工作于高达200MHz的主频。它集成了许多模块,支持接口模块、GPIO(General Purpose I/O)接口模块、时钟产生模块(CGM,Clock Generation Module)等,为各种外设提供了灵活的接口控制功能。摩托罗拉MC9328MX1处理器内置的CSI(CMOSSensor Interface)模块提供了时序控制模块,可以适应不同CMOS图像传感器的要求。

  COMS图像传感器的选择

  ICM105C是IC Media公司生产的一种单芯片数字彩色图像器件,使用1/4英寸的光学系统。它内置了一个640480(650490物理像素)传感器阵列、数模转换器和相关双采样电路。它的控制部分使用I2C总线,只需要一个I2C总线的从设备地址就可以对其内部的控制和状态寄存器进行设置和读取。ICM105C输出的是贝叶尔格式的图像数据,其中的RGB颜色分量可以被数字增益所调整,可以反馈给嵌入式处理器进行色彩处理或压缩。

  接口电路的设计

  接口电路设计主要应考虑图像传感器的电源驱动控制电路的接口以及数据输出电路的接口。ICM105C使用3V的电源驱动、24MHz的时钟频率,输出8位的数据,控制部分主要使用总线,要保证ICM105C正常工作必须提供这些条件。

  (1)电源驱动电路的设计。由于CMOS图像传感器是电源敏感元件,如果电源不稳会给成像效果造成很大影响。ICM105C对于供电电压的要求为3V,最小2.8V,最大3.1V,并且分开了数字电源和模拟电源。但是主处理板只提供了单3V的电源,而且这个电源同时提供给主处理板芯片使用,所以必须采取相应的机制保证电源的稳定和数字电源和模拟电源的隔离,同时本系统的另一个设计目标是小型化和简单化。为了兼顾这两者的要求,电源设计舍弃了使用复杂的稳压芯片的方案,仅使用电容和电感来稳定电压和消除数字电源和模拟电源之间的干扰,其电路图如图1 所示。

  

  

  图1  电源驱动原理图

  VDD 3V是主板提供的电源,VCCD和VCCA分别是提供给ICM105C 的数字电源和模拟电源,其中L1,L4,C1,C3起到隔离数字电源和模拟电源及滤波的作用。数字地和模拟地也用电感消除干扰。

  (2)数据输出接口电路设计。摩托罗拉MC9328MX1处理器内置的CSI 模块提供了时序控制模块,这样可以简化电路的设计,只需要将8位数据线和输出时钟还有场频、行频和像素时钟与CSI 模块连接即可保证处理器的正确采集数据。具体的逻辑连接关系如图2 所示。

  

  

  图2  ICM105C和主处理板的逻辑连接图

  其中时钟线是从MC9328MX1输入24MHz的时钟信号,PCLK是CMOS输出的像素时钟,VSYNC是场频,HSYNC是行频,DOUT[0-7]为输出的数据。其时序关系如图3所示。DOUT[7:0]在PCLK时钟上升沿有效,HSYNC和VSYNC处于低电平时有效。为了达到这种时序效果需要对芯片的某些引脚进行正确地初始化设置。ICM105C的引脚37控制数据的同步模式,用上拉电阻接高电平,这样可以使传感器输出HSYNC 和VSYNC 同步信号。

  

  

  图3  ICM105C的数据输出时序图

  HSYNC和VSYNC的极性也可以进行配置,将引脚46和47接地,这样HSYNC和VSYNC在有效时为低电平。引脚14为时钟选择信号,将其接地表示使用外部时钟,这样内部晶振输入引脚12、13就可以悬空。

  (3)控制电路设计。要使传感器正常工作,必须对芯片内部的寄存器进行初始化。初始化的工作必须通过传感器的I2C接口进行。ICM105C提供了一种硬件初始化的方式,如果引脚33在芯片启动时为高电平,那么传感器的I2C接口将首先工作在主设备模式下,并且试图从外部的串行EEPROM中读取初始化数据。然后,传感器又回到正常的从设备工作模式下。为了使接口电路简单化,直接用主处理板的I2C 接口来控制传感器,将此引脚接地,使其工作在从模式,这样EEPROM 部分的电路就可以舍弃。

  软件驱动

  CMOS图像传感器需要嵌入式系统的软件驱动才能正常工作,并输出正确的图像数据。由于处理端的嵌入式系统采用的是嵌入式Linux 操作系统,I2C接口的驱动程序已经集成在操作系统内部,中断资源可以作为资源来申请,操作系统还提供了调用其它资源的接口函数,这极大地方便了驱动程序的编写。在本次设计中采用了Linux系统下模块形式的字符设备驱动程序的编写方法。整个软件驱动需要完成两个功能模块:接口的初始化模块和接收输出的数据。

  初始化

  (1) CSI模块的初始化。根据ICM105C芯片的数据手册,CSI 的重置信号需要保持有效直至输入电压保持恒定大于两个时钟周期,图4是时序图。

  

  

  图4 软重置信号时序图

  由于主处理板是一上电就开始工作,而ICM105C的驱动程序必须在处理板上的操作系统启动后才开始工作。尤其是时钟信号只有在驱动加载后才开始提供给ICM105C ,要造成重置信号的时序效果,必须使用一个软件控制的重置信号,在时钟输出到传感器后至少两个时钟周期保持有效,然后拉高电平使之无效。在设计中,采用了摩托罗拉MC9328MX1处理器一个GPIO端口来实现软重置信号。

  (2)设置时钟,初始化I2C接口。ICM105C需要24MHz的时钟,摩托罗拉的MC9328MX1处理板的外频是96MHz ,因此需要四分之一的主频。只需要设置相应的时钟产生模块寄存器的值即可保证输出24MHz。I2C总线的两个信号线SDA,SCL 需要设置相应GPIO的两个引脚,使其用来进行I2C传输。还需要挂载Linux操作系统的I2C驱动,编写I2C读和写的功能函数。需要注意的是ICM105C的I2C地址值为21H。

  (3)初始化CMOS传感器。ICM105C内部控制和状态寄存器通过I2C 总线来初始化CMOS,初始化序列(寄存器的地址、值序列)由IC Media公司提供,初始化完成后,就可以接收到数据和时序信号了。

  接收数据

  接收数据是驱动程序中最重要的一个部分,它需要协调好中断和DMA 传输,保证数据的正确接收,并且在出错时能够正确地恢复。这一部分的软件流程如图5所示。

  

  

  图5  接收数据软件流程图

  其中在开始阶段申请中断和DMA资源并申请内存空间存放接收的数据。中断的主要任务是在每一帧开始时,开始DMA传输。DMA传输主要将从FIFO中读出数据保存在内存中,并处理可能出现的错误。本例中一旦出现DMA传输错误就丢弃该帧。

  数据处理

  下面就是数据的处理模块。由于接收到的数据还是原始数据,需要处理才能形成最终的图像数据。

  具体的处理过程如下:

  (1)线性插值。由于制作工艺的问题,CMOS图像传感器中的感光点只能放置一种滤色片,也就是说它的每个物理像素点只能感应R 或G或B一种颜色,这就是贝叶尔格式的数据(如图6所示)。它必须经过插值运算才能得到每个像素的RGB值。

  

  

  图6  贝叶尔格式(Bayer pattern)

  由上图可以看出,每个像素点都有8个相邻的像素点,而且这8个像素点的颜色分量与此像素点不同。插值算法就是依据相邻的像素点的颜色值的空间相关性原理进行的。其处理方法如下:

  a. 只有R颜色分量的像素点,其G颜色分量由周围4个G的平均值计算得出。B颜色分量由周围4个B的平均值计算得出。

  b. 只有B颜色分量的像素点,其R颜色分量由周围4个R的平均值计算得出,G颜色分量由周围4个G平均值计算得出。

  c. 只有G颜色分量的像素点,其R颜色分量由上下2个R的平均值计算得出,B颜色分量由左右2个B平均值计算得出。经过插值运算,每个像素点的RGB都得出了,这就形成了完整的图像数据。

(2)白平衡。任何物体在不同的光线下具有不同的色温。所谓色温,简而言之,就是定量地以开尔文温度表示色彩。色温越高,物

[1] [2]

关键字:CMOS图像传感器  传感器阵列  CMOS传感器  接口  嵌入式系统  电源  图像数据

编辑:ssb 引用地址:http://www.eeworld.com.cn/afdz/2008/0314/article_449.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
论坛活动 E手掌握
微信扫一扫加关注
论坛活动 E手掌握
芯片资讯 锐利解读
微信扫一扫加关注
芯片资讯 锐利解读
推荐阅读
全部
CMOS图像传感器
传感器阵列
CMOS传感器
接口
嵌入式系统
电源
图像数据

小广播

独家专题更多

富士通铁电随机存储器FRAM主题展馆
富士通铁电随机存储器FRAM主题展馆
馆内包含了 纵览FRAM、独立FRAM存储器专区、FRAM内置LSI专区三大部分内容。 
走,跟Molex一起去看《中国电子消费品趋势》!
走,跟Molex一起去看《中国电子消费品趋势》!
 
带你走进LED王国——Microchip LED应用专题
带你走进LED王国——Microchip LED应用专题
 

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 视频监控 智能卡 防盗报警 智能管理 处理器 传感器 其他技术 综合资讯 安防论坛

北京市海淀区知春路23号集成电路设计园量子银座1305 电话:(010)82350740 邮编:100191

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2016 EEWORLD.com.cn, Inc. All rights reserved