基于FPGA的低功耗微型图像采集系统的设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于FPGA的低功耗微型图像采集系统的设计
刘雅莉;张海龙;朱波
【摘要】为了满足项目应用的需求,设计了一个基于FPGA的低功耗微型图像采集系统.结合CMOS图像探测器的特点,选用Microsemi公司的FPGA作为硬件设计平台,使用Verilog-HDL硬件描述语言进行描述,并采用自上而下的模块化设计思想对整个系统进行设计.实验结果表明,所设计的图像采集系统在1280*1024分辨率、20f/s的情况下可以实时稳定的实现图像的显示与存储,图像质量良好.
【期刊名称】《微型电脑应用》
【年(卷),期】2016(032)007
【总页数】4页(P15-18)
【关键词】CMOS图像探测器;FPGA;Verilog-HDL;自上而下
【作者】刘雅莉;张海龙;朱波
【作者单位】商洛学院,商洛,226000;商洛学院,商洛,226000;中国科学院西安光学
精密机械研究所,西安,710119
【正文语种】中文
【中图分类】TP311
随着社会的发展和进步,以及生产自动化程度的不断提高,数字成像系统已经广泛应用于公共安全、工业生产、科学研究等领域[1][2]。

并且,由于集成电路设计技
术的进步以及制造工艺的不断改进,人们对数字成像系统提出了越来越高的要求,例如:体积小,重量轻,能耗低等[3]。

但是,基于目前国内数字成像系统的研究
现状,其重量和功耗普遍偏大,不适合特定场合的应用。

本文正是在这样的背景下,结合实际工程项目,设计了一个以低功耗FPGA为核
心控制单元,结合CMOS图像探测器的图像采集系统[4],该系统不论是从系统功耗、重量还是图像质量等方面都取得了较好的效果。

图像采集系统一般由光学镜头、焦平面(图像探测器)、控制与接口单元(FPGA)3部分组成[5]。

为了降低重量、减少功耗就要使用较小的图像探测器和控制系统。

本文图像采集系统的设计原理如图1所示:
图像探测器使用了ONSEMI公司4.8um像元的CMOS图像探测器—VITA1300,图像分辨率1280*1024,外形尺寸14mm*14mm,并行输出模式下的最大功耗
为290mW。

探测器的供电由三组电源组成,分别为 Vdd_18、Vdd_33和
Vdd_pix,并严格按照规定的顺序进行上电。

FPGA使用的是Microsemi公司的APA300,和其它公司的FPGA相比,其功耗优势非常明显。

而且该FPGA自带片内FLASH,省去了外挂程序存储器的重量和功耗。

APA300正常工作只需两组电源,内核VDD为2.5V,IO电压VDDP可以根据需要接3.3V或2.5V。

本系统的工作过程为:当FPGA上电稳定后,控制LDO的使能端,按照探测器要求的上电顺序和时间间隔为其提供电源。

然后再通过FPGA对CMOS图像探测器的80个寄存器进行配置,使其按照指定状态工作并输出图像。

整个系统通过
RS422与外界进行通讯,改变图像采集系统的工作状态并反馈该系统的工作参数,通过LVDS向外界输出图像数据。

本文介绍的图像采集系统设计方案重点体现在 4个方面,分别是基于Verilog-HDL硬件描述语言的CMOS图像探测器加断电顺序控制设计、CMOS图像探测
器时序驱动设计、图像数据整形设计和图像信息添加设计。

2.1 CMOS加断电顺序控制设计
由于设计工艺原因,VITA1300对加、断电顺序和间隔有着严格的要求,硬件设计
显然保证不了这一点,因此,本设计使用了具备片外使能功能的 LDO—
MSK5101,三片LDO分别为探测器提供不同的电源,使能端由FPGA进行控制。

当系统加电稳定后,FPGA产生延时逻辑,分别驱动Vdd_18 、Vdd_33和
Vdd_pix为探测器供电。

除了供电顺序要求严苛,复位reset_n、输入时钟
clock_in和加、断电之间的逻辑顺序也是保证探测器正常工作必须考虑的,如图2所示:
因此,系统上电后首先要保证这些逻辑信号的产生。

但是,上电可以用FPGA来
延时保证,掉电时,整个系统一起断电,FPGA也不例外,这时,就要采用外部指令的方式,本设计通过 RS422实现,当要图像采集系统停止工作时,就向该系统发送一条断电指令,这时,FPGA就会按照图2 (b)的顺序进行断电,从而保
护探测器不因断电不合适而损坏。

加电逻辑的Modelsim仿真波形如图2(a)所示,可以看出,本设计完全满足探测器的工作需要。

2.2 CMOS时序驱动设计
VITA1300图像探测器是ONSEMI公司一款性能优良的CMOS光电转换器件,1.3M像元,支持全局快门和卷帘快门,内置10bit AD,并行模式下最高读出速
率37fps,采用SPI接口进行寄存器配置,重量小,功耗低,适应温度范围宽。

应用涉及机器视觉、安防和二维码扫描等成像领域[6]。

探测器启动并正常工作需要6个过程,分别为:power up、low power、standby1、standby2、idle和running。

积分时间、帧频和开窗等比较常用的参数在正常工作时就可以设置,本帧设置,次帧有效,借助改变寄存器来设置参数,所以,要对VITA1300进行时序设计,也就是要合理的配置寄存器。

VITA1300通过SPI(Serial Peripheral Interface)接口对寄存器配置,一共有 4个信号:串行时钟(sck),片选信号(ss_n),串行输入数据(mosi),串行输出数据(miso)。

对于SPI接口而言,数据输入同步串行时钟。

而配置单个寄存器
则需要3部分:1位读写标识、9位地址、16位数据。

故,我们需要用26个串行时钟才能成功写入一个寄存器。

鉴于VITA1300寄存器个数很多,所以,我们要
改变它的工作状态就要采用连续配置,即一组26位数据,不间断输入,如图3所示:
图3(a)所示即为应用连续配置模式配置80个寄存器的时序仿真波形[7]。

但是,连续配置时两个寄存器之间的间隔至少为2个SPI时钟,否则,配置会失效。

SPI 各信号的相位关系也有较严格的要求,sck的上升沿打在mosi的数据中心,这样,从FPGA到探测器虽然会有延迟,但是仍能满足建立保持时间的要求,具体相位
关系如图3(b)所示。

VITA1300图像探测器虽然寄存器很多,但是大部分都是在成像前配置,为了防止外界对探测器寄存器的影响,本设计还增加了复位功能,如果发现图像探测器输出的图像数据因为寄存器改变而出现问题,就可以通过 RS422接口向系统发送复位命令,FPGA就按照寄存器加载的逆序将探测器状态恢复成系统刚加电的初始状态,然后再重新配置寄存器,从而实现恢复成像。

2.3 图像数据整形设计
VITA1300的图像格式特殊,不是顺序输出,因此,需要在FPGA内对图像数据进行整形,方便后续显示和存储。

VITA1300工作时,在并行模式下输出图像,图像是按照块的形式输出,8个像素组成一个块,奇偶块内的像素顺序不同,如图4所示:
由图4我们可以看出,直接从探测器输出的图像数据其列像元是乱的,表现在图
像上就是整帧图像都是竖线,非常不直观。

因此,必需对图像数据进行整形。

分析图4数据可知,奇数块的像素顺序都一样,偶数块的像素顺序也都一样。

这样,
我们只要分别对奇偶图像块进行数据整形即可完成图像的顺序输出。

本系统的数据整形在FPGA内进行,考虑到图像采集系统的适应性,采用反熔丝
[8]FPGA,虽然其内部没有RAM资源,但采集到的一个图像块仅8个像元,奇偶块一共才16个,用FPGA的寄存器设计完全可以。

鉴于以上分析,本设计在FPGA内部定义了16个位宽为10的寄存器reg_even1 到reg_even8、
reg_odd1到reg_odd8,用于存入像素,读出时依据图4逆序。

具体过程:将探测器获取的像素依据图4输入FPGA。

利用reg_even1到 reg_even8寄存器存入第0个图像块,reg_odd1到reg_odd8寄存器存储第1个图像块,同时,启用reg_even的读逻辑,对存储在reg_even中第0个图像块依据图4偶数图像块的逆序读出,即reg_even1、reg_even5、reg_even2、reg_even6、reg_even3、reg_even7、reg_even4、reg_even8,此时,就顺序输出了第0个图像块的数据。

就像素而言,奇偶图像块是相同的,因此,当reg_even中第0个图像块数据读完的时候,reg_odd也刚好写完第1个图像块的数据,此时,我们将图像块2的数
据再存入reg_even,同时对reg_odd中块1的数据进行类似图像块0的整形操作。

如此反复,就完成了图像探测器数据格式的顺序输出。

按照以上思路进行的布局布线后仿真波形如图5所示:
datain是探测器输入FPGA的像元,dataout是本文设计整形后的图像输出,可
以看出,dataout的顺序是将 datain的数据按照图4的顺序进行了整形,证明了该设计的可行性与正确性。

2.4 图像信息添加设计
采集到的图像经过数据整形后,就可以实时的显示和存储了。

但是,为了后续研究的需求,我们通常还要将图像的一些拍摄条件信息,比如:图像的曝光时间、增益等写入在图像里,本设计是附加在每一帧图像的第一行前30个像元,简称帧头。

这里我们定义了 3个寄存器用于对图像进行缓存,当发现图像第一个行有效信号
的上升沿到来时,将需要添加的帧头信息逐一从相关寄存器中取出打在图像里,同时生成新的行有效信号,当30个帧头数据添加完毕后,再将图像数据紧跟在帧头
信息的后面,完成图像帧头数据的添加。

本文设计的成像系统采用VITA1300作为图像探测器,FPGA采用APA300,自带片内FALSH,如图6所示:
因此,重量仅有200g,功耗为1.35W,如图6(a)所示。

拍摄效果如图 6(b)所示,采集到的图像清晰,边缘锐利。

实验结果表明,系统在1280*1024分辨率、20f/s情况下能够实现图像实时显示与存储,图像质量良好,证明了系统设计的正确性和优越性。

本文设计并实现了以FPGA为核心器件、结合CMOS图像探测器的图像采集系统,系统在为探测器提供时序的同时,增加了片内图像数据整形功能和图像帧头信息添加功能,由于本文图像采集系统采用了重量和功耗更小的CMOS图像探测器和控制FPGA,因此,整个成像系统不论是重量还是功耗都较其它图像采集系统具有明显的优势;其次,一般CMOS的温度在0-60℃,本系统中采用VITA1300温度
可以达到-40℃-85℃,温度适应范围更宽;再次,采用APA300自带片内FLASH,系统的可扩展性强。

后面可根据项目的实际需求,封装成反熔丝FPGA,可靠性更高。

【相关文献】
[1] 岳涛,张宏伟,黄长宁等.“嫦娥二号”卫星CMOS相机技术及应用[J].航天返回及遥
感,2011,32(2):12-17.
[2] 樊博,王延杰,孙宏海等.FPGA实现高速实时多端口图像处理系统的研究[J].液晶与显示,2013,28(4):620-625.
[3] 孙春凤,袁峰,丁振良.基于FPGA的多通道高速COMS图像采集系统[J].计算机工程与应
用,2008,44(21):46-48. [4] 于帅,孙德新.基于 CMOS图像传感器的高速小型化成像系统设计[J].红外,2014,35(3):7-11.
[5] 石美红,房超.张卫军等.基于 FPGA 的线阵 CCD 图像采集控制的实现[J].微计算机信息,2009,
25(5):177-178.
[6] VITA Datasheet[R].ON Semiconductor,2013.
[7] 李华.基于 FPGA+CMOS的小型彩色数字相机系统设计[J].商洛学院学报,2014,8.
[8] 曾青林,李锦明,马游春.反熔丝 FPGA在多路数据采集存储系统中的应用[J].计算机测量与控制,2011,19(11):2874-2876.。

相关文档
最新文档