CMOS图像传感器设计考虑因素及典型应用方案(2)
- UID
- 1023166
- 性别
- 男
- 来自
- 燕山大学
|
CMOS图像传感器设计考虑因素及典型应用方案(2)
CMOS数字图像传感器OV7620
CMOS数字图像传感器OV762M集成了一个664×492 的感光阵列、帧(行)控制电路、视频时序产生电路、模拟信号处理电路、A/D转换电路、数字信号输出电路及寄存器I2C编程接口。感光阵列得到原始的彩色 图像信号后,模拟处理电路完成诸如颜色分离与均衡、增益控制、gamMA校正、白电平调整等主要的信号处理工作,最后可根据需要输出多种标准的视频信号。 视频时序产生电路用于产生行同步、场同步、混合视频同步等多种同步信号和像素时钟等多种内部时钟信号,外部控制器可通过I2C总线接口设置或读取 OV762M的工作状态、工作方式以及数据的输出格式等。
AN2131QC通过I2C总线接口设定OV762M的寄存器来控制输出帧率 在0.5帧/s~3M帧/s之间变化,输出窗口在4×2~664×492 之间可调(默认输出640×48M的标准VGA格式),设置黑白平衡等。根据指纹采集的需要,窗口输出设置为: 320×288,经过设定后的OV762M输出时序如图2 所示:
图2 0V762M输出时序 VSYNC是垂直场同步信号(也是每帧同步信号,CMOS是按列采集图像的),其下降沿表示一帧图像的开始,HREF 提供了一种有效的控制方式,当输出像素行列分别处于设定窗口之间时HREF 为有效高电平,此时输出有效的视频数据,PCLK是输出数据同步信号,上升沿输出一个有效的像素Y[7∶M]。
基于CPLD技术的高速数据缓冲区的实现
在由CPLD和SRAM构成的高速数据缓冲区中,CPLD充当了SRAM的控制器,其内部电路实现框图如图3所示:
图3 SRAM高速缓冲区控制器的CPLD实现 图3中ram_rd,raM_wr为输出到SRAM的读写信号线,raM_data,ram_addr为SRAM的数据地址总线;latch_f为 SRAM的读写允许信号,当为高电平时允许对SRAM写操作,为低电平时允许对SRAM读操作;两个8路三态门用于隔离总线,当对SRAM写时,输出 cpu_datA为高阻态,当对SRAM读时,将采集数据信号Y [7∶M]隔离;cpu_rds,vsync为开始读写信号,单个正脉冲将SRAM地址置0;cpu_rD作为SRAM快速读脉冲,pclk为SRAM写 脉冲;irq为写满标志,用于向上提供中断标志;地址发生器用于产生SRAM地址(IS61C1024有17根地址线)。
图4 CPLD实现的仿真波形 由图3中逻辑知道,当允许对SRAM写(latch_f=1)且采集的数据有效(href=1)时,pclk脉冲通过地址发生器产生地址(sync单个 正脉冲将SRAM地址复位到0),将采集的数据Y[7∶M]写入SRAM中,当写满(写完一帧的32M像素×288像素)时,irq信号有效,通过中断将 latch_f置低允许将SRAM数据读出(cpu_rds单个正脉冲将SRAM地址复位到0),此后cpu_rD通过地址发生器产生地址将SRAM中数 据读出到USB缓冲区。上述逻辑仿真波形如图4 所示(由于数据线和地址线较多,故只取其中部分信号时序,cpu_datA为X 表示其值根据SRAM数据总线上具体值而定),由图4 可知,CPLD实现了对SRAM的控制,与SRAM一起组成了高速数据缓冲区。
USB控制接口芯片AN2131QC特性简介
AN2131QC是基于USB1.1协议设计的,支持高速12Mb/s的传输速率,内嵌有增强型8051微控制器、8kB的RAM和一个智能USB内核 的收发器,它包含一个I2C总线控制器和3个8位多功能I/O口,有8位数据总线和16位地址总线用于外部RAM扩展。其结构如图5所示。
图5 AN2131QC结构简图 AN2131QC内部的USB差分收发器连接到USB总线的D+和D-上。串行接口引擎(SIE)对USB总线上串行数据进行编码和译码(即实现USB 协议的打包和解包工作),同时执行错误纠正、位填充及其它USB需要的信号标准,这种机制大大减轻了8051的工作,简化了固件的编程。内核微处理器是一 个增强型8051,其指令周期为4 个时钟周期并具有双DPTR指针,同时指令与标准8051兼容。它使用内部RAM存储固件程序和数据,上电后,主机通过USB总线将固件程序和外设特性描 述符下载到内部RAM(也可以直接从板上E2PROM上读取),然后重连接,按照下载的特性描速符进行重枚举,这种设计可以实现软件USB快速批量传输的实现。
当采集的指纹数据导入了由SRAM和CPLD构成的高速数据缓冲缓冲区后,要通过USB接口将数据发送到上位PC机,AN2131QC必须先将数据读入 到内部USB缓冲区,因此,AN2131QC将数据传到内部USB缓冲的速度将是整个USB数据传输速度快慢的关键。为了使USB数据传输(从外部读入数 据并将之传到PC机)达到最快,需要采用很多措施,下面就设计指纹识别仪固件(AN2131QC程序)中采用的USB批量传输进行探讨。
正常情况下,AN2131QC内核结构从外部读入数据到USB的端点缓冲区,要使用的汇编程序为:
movx a,@dptr;读外部数据到acc寄存器incdptr;外部地址加1
incdps;切换DPTR指针(内核有双DPTR指针,用dps进行切换)
movx @dptr,a;将acc内容放入USB缓冲区
incdptr;USB缓冲区地址加1
incdps;切换DPTR指针
由上述程序可知,数据在寄存器中完成操作后,都必须有一个“incdptr”和“incdps”指令来完成16位地址的增加和缓冲区指针切换。为了消除 这种内部消耗,使用AN2131QC提供的一种特殊的硬件指针即自动指针(只用于内部缓冲区),8051装载USB缓冲区地址到两个AUTOPTRH (高字节地址)和AUTOPTRL(低字节地址)寄存器中,向AUTODATA写入的数据就直接存入由AUTOPTR/H2L指向的地址缓冲区中,并且内 核自动增加AUTOPTR/H2L中16位地址的值。这样USB缓冲区可以像FIFO一样来顺序写入数据,节省了每次写内部USB缓冲区时的 “incdptr”指令。同时内核还提供一种快速模式(只用于对外部数据操作),此模式从外部读数据“movx a,@dptr”时,直接将外部数据总线和内部缓冲区连在一起,由于使用CPLD和SRAM构成的指纹高速缓冲区具有FIFO的性质,所以使用快速模式读 外部指纹数据时也节省了“incdptr”指令。将上述两种方式结合起来,读外部数据到内部缓冲区程序就只需要一条指令:movx @dptr,A(dptR存放AUTODATA寄存器地址),此指令需要两个8051机器周期(8个24MHz时钟周期)。这样,一个字节可以在 333ns内读入到USB端点缓冲区。
在USB接口数据传输一侧,当PC机要对一特定端点进行读数据并发送IN令牌,如果一个IN令牌 到达时8051还没有完成向USB端点缓冲区的数据装载(读外部数据),AN2131QC就发送一个NAK握手信号来响应IN令牌,表明PC机应该在稍后 再发送一个IN令牌。为了解决这种等待从而达到最快的传输速度,可以使用双缓冲技术(端点配对),使8051在前一个数据包在USB总线上传输的时候,装 载块数据的下一个数据包。
结 论
利用CMOS数字图像传感器OV762M和 USB控制器AN2131QC实现的指纹仪结构简单,体积小,使用方便。指纹识别系统中使用CPLD技术实现了高速缓冲,解决了速度时序匹配问题;使用了 快速批量USB传输技术实现了数据的快速传输,使指纹数据的传输达到最高速(每帧传输只用80Ms)。使用现论述的方法实现的指纹仪采集的指纹数据经PC 机重现后效果如图6所示(左图是未经任何处理的重现,右图是经过平滑、细化等算法处理后的重现)。
图6 采集指纹重现效果(处理前后)
新型CMOS图像传感器设计
金属氧化物半导体元件(Complementary Metal-Oxide Semiconductor,CMOS)图像传感器和电荷耦合元件(Charge Coupled Device,CCD)摄像器件在20年前几乎是同时起步的。CCD是应用在摄影摄像方面的高端技术元件,CMOS则应用于较低影像品质的产品中。
由于CCD器件有光照灵敏度高、噪音低、像素小等优点,所以在过去15年里它一直主宰着图像传感器市场。与之相反,CMOS图像传感器过去存在着像素大,信噪比小,分辨率低这些缺点,一直无法和CCD技术抗衡。但是随着大规模集成电路技术的不断发展,过去CMOS图像传感器制造工艺中不易解决的技术难关现已都能找到相应解决的途径,从而大大改善了CMOS图像传感器的图像质量。
1 CMOS有源像素传感器
近来 CMOS图像传感器受到重视首要原因在于过去大大低于CCD的灵敏度问题逐步得到解决。因为与CCD相比,CMOS传感器具有更好的量产性,而且容易实现包括其他逻辑电路在内的SoC(System on Chip)产品,而这在CCD中却很难实现。尤其是CMoS传感器不像CCD那样需要特殊的制造工艺,因此可直接使用面向DRAM等大批量产品的生产设备。这样一来,CMOS图像传感器就有可能形成完全不同于CCD图像传感器的成本结构。
图1示出了有源像素CMOS图像传感器(ActivePixel Sensor,APS)的功能结构图,其中成像部分为光敏二极管阵列(Photo Diode Array)。
四场效应管(4T)有源像素CMOS图像传感器的每个像素由光敏二极管、复位管T2、转移管T1、源跟随器T3和行选通开关管T4组成,如图2所示。
转移管T1被用来将光敏二极管连接至源跟随器T3,并通过复位管T2与VDD相连。T3的栅极与T1和T2之间的N+扩散区相连。与3T结构的APS相比,减少了与T3的栅极相关的漏电流效应。源跟随器T3的作用是实现对信号的放大和缓冲,改善APS的噪声问题。T4是用来将信号与列总线相连。其工作过程是:首先进入“复位状态”,T2打开,对光敏二极管复位;然后进入“取样状态”,T2关闭,光照射到光敏二极管上产生光生载流子,并通过源跟随器T3放大输出;最后进入“读出状态”,这时行选通管T4打开,信号通过列总线输出。
APS具有低读出噪声和高读出速率等优点,但像素单元结构复杂,填充系数降低,填充系数一般只有20%~30%。为了提高像素的填充系数,APS在像素的上方设置了微透镜(Micro-lenses),如图3所示。
由APS阵列所获得的图像信息,经过图1中列模数转换器(Column ADC)转换为数字信号后,再经过一系列的后续处理过程,得到输出如图4所示的帧图像数据结构。
2 图像的预处理过程及方法
为了得到良好的图像质量,需要对所采集的原始图像数据进行处理。一般上,图像的预处理是在协处理器中完成的。最近,随着SoC技术的发展,可以在CMOS传感器中集成图像预处理功能.这正显示了CMOS图像传感器的优势所在。
图像的预处理主要包括了缺陷修正、去除FPN噪声、色彩差值,图像锐化差值、光圈修正、Gamma修正等一系列处理。
通过数字图像处理算法来实现来实现上述的图像预处理过程,其硬件平台可以是集成在SoC中的图像处理电路、ASIC图像处理芯片,或通用的DSP芯片。首先是消除图像中的缺陷,如果某一个像素中有缺陷,而导致了其输出电平被钳位于高电乎(黑点)或低电平(白点),就需要通过图像处理来进行弥补。通常是使用其周围相同颜色像素的平均值来代替该像素的输出值。
通常情况下,不同列的列模/数转换器存在着差异,这就导致了固定模式噪声(fixed Pattern Noise,FPN)的产生。图4中Black Lines中的数据就是用来消除FPN的。协处理器会利用这一部分数据来达到消除FPN的目的。
由于每个像素上为某种彩色滤光片,所以要通过色彩差值来得到其余两种色彩信息。Gamma修正是为了消除在电学器件和光学器件之间在信号传输上的非线性效应。
从以上的图像处理过程可知,许多算法中使用了差值,这就导致了图像的平滑化,而为了恢复锐利的图像,就需要进行光圈修正。在图像处理中,通过边缘检测而得到的锐化边缘对差值后的平滑图像进行卷积,从而得到锐利的图像。
3 结 语
为了提高CMOS图像传感器的图像质量,通过对图像主要的噪声源以及图像失真的分析,本文提出了一种新型的CMOS有源像素图像传感器。该CMOS图像传感器使用4T有源像素,大大提高了图像传感器的灵敏度。通过在传感器中集成图像预处理功能,对改善图像的质量起到了很好的效果。
基于CMOS图像传感器的纳型卫星遥感系统设计
纳型卫星是指质量在1~10kg 之间的卫星。与微型卫星相比, 纳型卫星对遥感系统在质量、体积、功耗等方面的要求更加苛刻。目前广泛用于微型卫星遥感系统的电荷耦合器件CCD很难满足纳型卫星的使用要求。CMOS图 像传感器采用标准的CMOS 技术, 继承了CMOS 技术的优点, 如静态功耗低、动态功耗与工作频率成比例、噪声容限大、抗干扰能力强、特别适合于噪声环境恶劣条件下工作、工作速度较快、只需要单一工作电源等。虽然 CMOS 器件的研究还未完全成熟, 如电离环境下暗电流稍大等问题还没有很好地解决,还不能完全取代CCD, 但不可否认CMOS 器件将是未来遥感传感器的发展方向。本文设计了一套纳型卫星CMOS 遥感系统, 并对其进行了热循环实验研究。
1 纳型卫星遥感系统的设计
1. 1 遥感系统总体设计
纳星遥感系统如图1 所示, 包括镜头、CMOS图像传感器、现场可编程门阵列FPGA、静态随机存储器SRAM 和微控制器5 部分。
图1 纳星遥感系统框图
1. 2 光学系统设计
1) 焦距设计
遥感相机光学系统的原理如图2 所示。图中用一个透镜代表实际光学系统的透镜组, 示意了视场中地面景物的最小可分辨单元在成像面上产生一个相应的点。对于卫星遥感相机的光学系统, 因为成像物距等于卫星轨道高度h, 相对于焦距f 来说可认为是无穷远, 所以可认为光线都是近轴的平行光。这些近轴平行光通过光学系统的透镜组后, 汇聚在透镜组的焦平面上。因此, 从透镜组中心到焦点的距离, 焦距将大体上决定聚光系统的长度, 而光学系统的理论分辨率则主要由光学孔径D决定。
图2 光学系统原理图
在实际设计中, 焦距通常是根据地面分辨率和图像传感器的大小通过下式来确定的:
式中: h为卫星到地面的距离, rd为CMOS图像传感器探测面半径, R为相机成像覆盖半径。
2) 光学孔径设计
为保证成像器件探测面获得足够的曝光量, 根据遥感光学系统的经验计算相机光学系统的光圈数:
实际设计中, 一般取F≤4~5。
遥感相机光学系统可近似为望远镜系统, 其最小分辨角, 即望远镜分辨率, 可用刚好能分辨开的两物点对系统的张角θr 表示, 根据望远镜分辨率和Rayleigh 衍射判据有如下计算式:
式中λ为中心波长。光学系统在平坦地面上的理论分辨率为
式中θt为地物中心对光学系统的张角。
设计中应综合考虑式(2) 和(4) 的结果, 选定的设计参数在保证遥感系统获得足够光照的情况下,要同时满足设计分辨率的要求。
1. 3 电子系统设计
考虑到星地相对运动速度, 每幅图像的曝光时间约为几毫秒, 故设计中采用现场可编程门阵列(FPGA ) 对CMOS 图像传感器进行时序控制, 并将输出的图像数据保存到SRAM 中。当需要传输图像的时候, 由FPGA 将保存在SRAM 中的图像数据读出, 通过CAN总线传至星上数据处理系统。
1) 器件选型
CMOS 图像传感器按照像元电路可分为无源像素传感器(PPS) 和有源像素传感器(APS)。目前国际上能够买到的分辨率达到106级以上的CMOS图像传感器并不多, 价格差异也很大, 设计中应根据CMOS 图像传感器的光学要求和市场状况综合选型。为保证成像质量, 纳型卫星上宜选用CMOS 有源像素传感器。
FPGA根据实现技术机理的 不同, 可分为反熔丝型、EPROM或EEPROM型、Flash型、SRAM型等几种。根据航天器件要求, FPGA 控制器件宜选择反熔丝型FPGA 产品。选择SRAM 时, 主要考虑图像数据量要求以及SRAM的数据端口位数、存取时间、工作温度、功耗等因素。
CAN 总线接口的主要任务是接收星上数据处理模块发来的命令, 完成对相机的相关监控, 将获得的图像数据分时发送给星上数据处理模块。本文选用的微处理器在MCS251 系列单片机的基础上集成了CAN 控制器, 既可以实现对遥感系统简单的监控功能, 又可以方便地实现CAN 通讯功能。
2) FPGA 控制器设计
作为相机成像模块的控制核心, FPGA 负责产生所有重要的控制时序, 包括产生CMOS 图像传感器的工作时序, 把读出CMOS 图像传感器数据存到SRAM 中; 将存放在SRAM 中的图像数据分时输出。整个FPGA 的传输模型如图3 所示。
图3 FPGA 设计模型图
FPGA 对CMOS 图像传感器的成像控制如状态转换图4 所示。当系统启动后, FPGA 先向CMOS 图像传感器发出芯片复位指令, 芯片复位完成后, 让Reset 指针沿着像素矩阵逐行移动, 而使Read 指针保持在初始位置(第0行) , 进行读前行复位。当Reset 指针到达某一目标行, 其间所间隔的时间满足积分时间时, 即开始激活Read 指针, 并开始移动Read 指针, 进行读取。如此循环交替移动两个指针, 不断进行读间行复位、行读取、读间等待, 即可保证整个像素阵列各行都符合所要求的积分时间。
图4 FPGA 状态转换图
3) CAN 总线接口设计
CAN 总线接口的主要任务是接收星上数据处理模块发来的命令, 监控遥感相机模块的工作状态,包括遥感相机模块的电源控制、电流监测、温度监测、曝光时间控制等功能, 并将获得的图像数据分时发送给星上数据处理模块。设计上, 星上数据处理模块发来的指令会使微控制器进入中断, 设置相应的标志。微控制器查询各标志的变化, 根据星上CAN通讯协议完成相关动作, 包括监测遥感模块工作温度、工作电流, 设置曝光时间, 进行图像数据传输等操作。
2 纳型卫星遥感系统的热循环实验
2. 1 实验系统及方案
为了方便完成在设计阶段的单模块调试, 实现遥感系统地面原理与性能测试, 本文采用PC机模拟星上数据处理系统, 利用CAN 卡将CMOS 相机与PC机相连, 建立了一套CMOS遥感系统地面测试系统。
本文采用德国Vtsch IndustrietechnikVT7034 型恒温实验箱, 在60~- 5℃温度区间内,每下降5℃采集一组暗图像。热循环实验之所以按照从高温到低温的顺序进行, 是因为实验所用恒温箱不能抽真空。如果反过来进行实验, 尽管不断向恒温箱内充氮气, 箱内微量空气中的水气仍可能凝结在相机上, 影响实验结果。
2. 2 特征参数的提取
1) 平均暗输出
平均暗输出是在没有光照的条件下图像传感器输出的平均灰度值, 可由下式进行计算:
其中: I i,j是图像传感器在无光照条件下输出的暗图像灰度值矩阵, M 、N 是图像传感器像素阵列的行数和列数。
2) 暗不一致性
理想情况下, 在无光照的时候图像传感器的输出也应该是均匀的。但是图像传感器的像素间总是存在差异的, 因此暗输出总有波动。波动的大小表明图像传感器像素性能的稳定性, 计算方法是求出暗图像各像素输出灰度值的标准差
其中各符号的含义与暗噪声计算式(5) 相同。
2. 3 实验结果及分析
按照2. 1 所述的方案进行实验, 得到了CMOS相机在60~- 5 ℃温度区间内平均暗输出以及暗不一致性随温度的变化曲线, 分别如图5、图6 所示。
图5 平均暗输出随温度的变化曲线
图6 暗不一致性随温度的变化曲线
从图中可以看出, 平均暗输出随着温度的升高大致呈上升趋势。当温度小于10 ℃时, 平均暗输出上升速度较快;10~ 15 ℃上升趋缓;从15 ℃开始略有下降,到30 ℃时达到低谷,10~30℃之间,总的来说平均暗输出值变化比较平稳; 30 ℃以上, 平均暗输出值又以较快的速度上升。本文选用的CMOS图像传感器为256 级灰度输出, 实验中平均暗输出的变化范围为7.7567~10.1092。
平均暗输出之所以随着温度的升高大致呈上升趋势, 是因为温度升高, CMOS图像传感器及其外围电子器件的热噪声都会升高; 而平均暗输出在10~30 ℃之间变化比较平稳, 甚至在15~30 ℃之间略有下降, 是因为CMOS图像传感器在设计上的特殊考虑保证了其在常温下具有最优的工作性能;这同时也说明了这套遥感系统的电噪声主要来源于CMOS图像传感器。
暗不一致性随温度的变化不大, 实验中其变化范围为0.6148~0.8542,比平均暗输出低一个数量级, 可以忽略。
实验中还测试了CMOS相机的耐低温性能。关机后将相机降温至- 25 ℃,达到温度平衡后再升温至0 ℃,开机采集图像, 分析其性能变化。实验测得经受低温后, CMOS相机在0℃下的平均暗输出为7.2323, 比先前略有降低; 暗不一致性为0.8781,比先前略有增大。由于实验中暗不一致性始终比平均暗输出低一个数量级, 其变化相对平均暗输出可以忽略, 所以这个结果说明关机状态下低温环境不会对CMOS相机的成像质量产生显著的不良影响。综上所述, 本文设计的这套CMOS遥感相机在10~30℃之间平均暗输出变化平稳, 暗不一致性可以忽略,有利于对成像质量的控制和校正,是理想的成像温度范围。
3 结论与展望
本文设计了一套纳型卫星CMOS遥感系统, 体积为62mm×62mm×35mm,功耗小于0.6W, 质量小于150g,采用10μm像素尺寸、1024×1024像素数目的CMOS图像传感器, 光谱响应范围为400~800nm,配合焦距为50mm的镜头,在800km的太阳同步轨道上,可以实现大于150km×150km的地面覆盖面积和优于 160m 的地面分辨率,适于纳型卫星获取多光谱和彩色的普查信息。热循环实验表明, 该CMOS遥感相机能够耐受空间环境中- 25~60 ℃的卫星舱内温度变化, 在10~30 ℃的温度范围内工作稳定,可通过地面测试数据对其在空间获取的图像进行校正补偿。
由于国际上对CMOS图像传感器在航天领域的应用研究较少, 所以设计出来的CMOS相机在上天之前, 还需要研究其热真空性能和抗辐照性能, 提出相应的补偿、加固措施。 |
|
|
|
|
|