基于FPGA图像处理的天空云量采集显示系统

2017-03-23 10:21江泽安张凯临
电子设计工程 2017年5期
关键词:云量时钟像素

江泽安,张凯临

(中国海洋大学 信息科学与工程学院,山东 青岛 266100)

基于FPGA图像处理的天空云量采集显示系统

江泽安,张凯临

(中国海洋大学 信息科学与工程学院,山东 青岛 266100)

云量对气候研究具有十分重要的意义,常规的观测主要以目测来实现,而复杂高精测量则通过精密的全天空成像仪实现。为了实现方便快捷的云量测量的目的,我们提出设计实现一个基于FPGA图像处理的天空云量采集显示系统。系统通过结合对CMOS面阵传感器的数据进行FPGA片内设计和NiosⅡ软核设计进行实验,得出可以实现天空云量图像的显示和测量功能的结果。经实验测量表明,该系统操作简单,运行稳定,达到设计要求。

云量;FPGA;图像处理;采集显示

在气象观测领域,一般云量测量都是通过目测来完成的人为主观因素很大。而目前基于不同技术的器测方法正在发展,由于星载设备的时空分辨率低、动态范围大、不能实时测量等缺点,气象观测对地基设备的需求越来越迫切。有一些地基遥感测云仪器已应用到估测低云云量的业务中。经查阅文献资料[1],地基遥感云量观测技术大致可分为3种:红外辐射技术、可见光成像技术、多波段辐射技术[2]。都是通过对天空云量进行采集,在经过系统运算得出数据指标。文中介绍简单的基于FPGA的云量图像采集显示和处理的系统。

1 硬件设计

系统使用FPGA芯片为核心。根据需要选择了Altera公司研发的CycloneIV系列的EP4CE55F23I7[3]。所有Cyclone IV FPGA只需要两路电源供电即可,因此设计有专门的供电模块以保证FPGA高速数据处理时的稳定性,相对构成简单,降低了电路板成本。芯片提供了55,856个逻辑单元。FPGA工作的时钟由100 MHz的晶振提供,该晶振同时也为FPGA内的分频块提供参考时钟源,从而生成FPGA内部各模块的工作时钟以及面阵传感器工作时钟和SDRAM的工作时钟。设计中使用了串行的EPCS方式对FPGA进行配置,JTAG调试接口,提高稳定性。

系统选用型号为MT9M001STM[4]的CMOS面阵图像传感器,1 280 H*1 024 V分辨率,默认工作在30 fps下以SXGA分辨率输出,还支持VGA、QCIF、CIF等多种格式,而且可以通过I2C总线将其分辨率配制成低于1 280*1 024的任意格式。130万有效像素,10 bit的ADC分辨率,感光像素阵列感应图像信息,经模拟信号处理器处理和AD,将模拟信号转换成10 bit的数字信号后输出。通过外部时钟驱动传感器的运行,并可通过两线串行总线对控制寄存器进行配置,使传感器在特定的状态下工作,工作时同步信号也一并输出。

系统选用了一块 240*432分辨率的2.4英寸LCD液晶显示屏,由SPDF5420A液晶屏驱动芯片控制。该模块内置240*432*18 bit的显存空间。模块的显存地址分为X轴和Y轴地址,X轴可以寻址0-239,Y轴可以寻址0-319。X和Y每个交叉点对应着一个像素点。支持6 bit、16 bit、18 bit的RGB接口。

由于设计需要很大RAM,系统外围使用了一片ISSI公司的SDRAM,具体芯片型号为IS42S32160B[5]。16位数据线,可实现高速数据传输,4个bank构成了总存储量为512 Mbit的存储空间,每一个bank都由8 192行和512列组成,选中行地址和列地址后对该地址的内容进行读写操作。硬件系统整体结构图如图1所示。

图1 系统整体结构图

2 系统逻辑设计与实现

系统使用FPGA逻辑设计和Nios II软核进行实现的[6-8],对速度要求高的功能,如像素数据流的捕获、像素数据写入液晶屏GRAM等功能用verilog编写数字逻辑模块来实现;对速度要求低的功能,如CMOS面阵和液晶屏的初始化配置,则Nios II则用C语言进行开发,由此减轻工作量,优化系统工作速度。

2.1 系统整体逻辑设计

FPGA系统的片内的主要模块有:时钟模块、触发模块、编址存储模块、FIFO模块[9]、RAM模块、像素数据累加输出模块、LCD刷新显示模块、云量计算模块。FPGA片内逻辑总体设计框图如图2所示。

图2 FPGA片内逻辑框图

系统运行过程如下:Nios II软核将LCD液晶屏初始化、CMOS传感器配置结束后,片内其他逻辑模块的运行,编址存储模块将缓存数据通过乒乓操作方式对两个RAM进行交替缓存与读出,像素数据被读出并进行累加求和,之后输出给两个FIFO分别供LCD模块和Nios II系统使用,LCD刷新显示模块不断读取一个FIFO中的图像数据发送到LCD显存中,实时显示图像。Nios II读取另一个FIFO中的数据,如果后续需要,可以设计出通过内部集成的TCP/IP协议栈发送到上位机的模块,经仿真[10]验证,各块均可准确运行。

2.2 LCD显示模块设计

系统中,CMOS面阵传感器上电后立即开始不断的输出像素数据[11],通过FRAME_VALID、LINE_VALID可以分别同步帧与行输出,其中LINE_VALID在FRAME_VALID高电平时工作。PIXCLK同步像素输出,因此可以用PIXCLK来作为像素的锁存时钟。像素输出时序图如图3所示。

图3 CMOS工作时序图

由于传感器每个像元面积为5.2 μm×5.2 μm,为进一步增大像元的面积以提升分辨率,将相邻的16个像素数据相加作为一个像素的数据,即捕获4× 4的像素数据矩阵,等效像元约20 μm×20 μm。设置传感器工作在1 280×960分辨率模式下,经过累加实际输出的画面分辨率为320×240。

LCD刷新显示功能,通过读取FIFO中的像素数据,并将其顺序写入GRAM。在垂直消隐时间里,将GRAM的地址复位为(0,0),以此同步每一帧图像,防止丢失某像素数据而产生错误。

系统使用的LCD的驱动控制芯片SPDF5420的显存是18bitRGB666格式的,而系统使用的CMOS传感器输出的数据无颜色区分,我们要在彩色LCD上面显示黑白灰度图像,需要让红、绿、蓝3个分量的数值相同。因此取累加后像素数据的6 bit,分别放入R、G、B分量中,即将其展宽成18 bit放入GRAM中,从而让LCD显示黑白灰度图像。

如图4为LCD刷新显示的模块图和效果图。帧同步信号frame作为模块的复位信号,当frame为低电平即帧消隐时,复位该模块。rden、rdclk为FIFO的读请求和读时钟,cs、rs、wr、rd为液晶屏的intel 8 080所需的控制总线信号。在每帧的帧有效时间内读取FIFO中的像素数据并通过8 080总线将数据传至GRAM,从而在LCD实时显示图像。

图4 LCD刷新显示模块和效果图

2.3 云量计算模块设计

云在地气系统水分循环中起着重要作用同时云的形成和演变是大气中发生错综复杂的物理过程的具体表现之一。迄今为止,已发展了多种自动云检测方法,主要可分为3大类:阈值法、统计学方法及辐射传输算法。阈值法由于易于实现而成为云检测的主流算法。本系统由于CMOS传感器的输出数据为10 bit数字信号,故设计选用阈值法作为检测方法[12-13]。

云量指在一定观测视场内,有云像元占视场内总像元的比例或者在一定视场范围内的有效云覆盖程度。我们所采用阈值法的基本思路是:利用某一设定的阈值对单个像元进行判识,若像元的测量值大于所设定的阈值,像元的云量为100%,否则为0。经云检测后,像元可分为两类:完全晴空像元和完全云像元。在像元级云检测基础上,一个像元矩阵(根据之前LCD显示模块的介绍,系统使用的是320×240像元)中,设像元矩阵中的总像元数为N,完全像元数为Ncld,则对像元矩阵来讲,总云量Ac可表示为公式(1):

模块时钟可以和CMOS输出数据时钟相同或者更快,务必检测出每一个像元,然后与设置的阈值进行比较,求出 Ncld。云量计算模块仿真图如图 5,counter输出即云量像素点个数。在图像获取的时候,由于阳光照射,会对系统产生影响,因此在电路板上加一个位置固定的条形挡光带,选用黑色的,在不同的时间点进行测量的时候,手动对挡光带进行调节来遮阳,以适应不同时节、不同时间,以期达到最好的挡光目的,若挡光带对图像产生影响,则根据所挡面积将云量乘以相应系数,并调节不同光强时候的阈值,用来减少测量误差。

图5 云量计算模块仿真图

2.4 NiosⅡ系统设计

本设计中NiosII系统主要完成了对外围逻辑功能模块的控制,对CMOS传感器、LCD进行初始化等工作。其逻辑结构如图6所示,该系统[14]由Nios II软核处理器、PIO接口、EPCS控制器、JTAG调试模块、SDRAM控制器[15]等模块构成。

图6 NiosⅡ系统逻辑框图

在Nios II系统生成PIO核来作为外围逻辑控制接口,主要实现对片内其他逻辑模块的控制、对外围芯片的初始化配置,包括初始化完成信号,输入像素信号等。由于系统需要很大的数据缓存,即大空间RAM,因此选用外部SDRAM使用,Quartus II中的Qsys提供了SDRAM控制器IP核,通过设置参数让其正常工作。

Nios II软核处理器主要完成CMOS面阵的初始化,通过对I2C总线编写控制来实现,使用MCU对两个输入输出接口进行编程,产生SDA和SCL的时序对传感器控制寄存器赋值及LCD的初始化等工作。为实现基于以太网的数据传输,设计使用了嵌入式操作系统μC/OS-II,并集成了NicheStack TCP/IP协议栈。其中只有初始化程序和应用程序需要设计者自行设计,其他软件层都在设置生成BSP文件时,由开发工具根据Nios II系统硬件自动生成。

3 结 论

系统以FPGA为设计平台,实现了全天空图像的云量采集测量和显示,采集图像显示系统通过CMOS可以实时准确显示所采集的天空图像,云量采集模块计算采集结果可靠,系统设计合理,整体运行稳定可靠,达到设计要求。

[1]张永宏,郝培培,张齐东,等.新型地基全天空自动成像仪的研制[J].控制工程2013,20(2):320-323.

[2] Cazorla A,Olmo F,Alados-Arboledas L.Development of a sky imager for cloud cover assessment[J].JOSA A 2008,25(1):29-39.

[3] ALTERA Corporation.Cyclone IV Device Handbook,Volume 1[EB/OL].2007,02.https://www.altera.com/content/dam/altera -www/ global/en_US/pdfs/literature/hb/cyc2/cyc2_cii5v1.pdf

[4] Aptina Corporation. MT9M001STM Device Handbook[EB/OL].2005,11.www.onsemi.cn/pub_link/Collateral/MT9M001-D.PDF

[5]ISSICorporation.IS42S32160B/IS45S32160B Device Handbook[EB/OL].(2009-11).www.issi.com/WW/ pdf/42-45S32160B.pdf.

[6]王诚,吴继华.Altera FPGA/CPLD设计(基础篇)[M].北京:人民邮电出版社,2005.

[7]吴厚航.爱上FPGA开发-特权和你一起学Nios II [M].北京:北京航空航天大学出版社,2011.

[8]侯殿有.单片机C语言程序设计[M].北京:人民邮电出版社,2010.

[9]赵震甲.使用FIFO完成数据传输与同步 [J].中国集成电路.2005.8:49-51.

[10]潘松,黄继业.EDA技术与VHDL[M].清华大学出版社,2005.

[11]韩金科.基于CMOS的图像采集系统设计[D].郑州:郑州大学,2010.

[12]张斌,俞卫平.气象仪器和观测方法指南[D].北京:北京气象出版社,2005.

[13]杨军.气象卫星及其应用[M].北京:气象出版社,2012.

[14]田丰,邓建国等.SDRAM控制器的设计与VHDL实现[J].集成电路应用,2005,31(2):74-77.

[15]江国强.SOPC技术与应用[M].北京:机械工业出版社,2006.

Acquisition and display system of cloud amount based on FPGA image processing

JIANG Ze-an,ZHANG Kai-lin
(College of Information Science&Engineering,Ocean University of China,Qingdao 266100,China)

Cloud amount is significant to climate researches.Normal observation is mainly achieved by visual inspection while complex and high-precision measurement can only be realized by all-sky camera.In order to make cloud amount observation convenient and efficient,we design and implement an acquisition and display system of cloud amount based on FPGA image processing.The system,through the data of CMOS array image sensor,conducts FPGA chip-on design and NiosⅡsoft core design so as to realize the display and measurement of cloud amount image.As is shown by experimental measurement,the system,with high running stability,is easy to operate and meets design requirements.

cloud amount;FPGA;image processing;acquisition and display

TN911.73

:A

:1674-6236(2017)05-0190-04

2016-01-29稿件编号:201601286

江泽安(1990—),男,辽宁大连人,硕士研究生。研究方向:信号与数据处理、设备通讯与控制。

猜你喜欢
云量时钟像素
赣州地区云量变化特征及其与降水的关系
像素前线之“幻影”2000
ASC200型地基双波段全天空云量自动观测仪云量比对分析
别样的“时钟”
古代的时钟
“像素”仙人掌
1971—2010年虎林市云量与气温、降水的年际变化特征分析
ÉVOLUTIONDIGAE Style de vie tactile
有趣的时钟
时钟会开“花”