首页 » 科学 » 高速CMOS图像存储与实时显示系统设计_图像_数据

高速CMOS图像存储与实时显示系统设计_图像_数据

admin 2024-10-29 11:51:41 0

扫一扫用手机浏览

文章目录 [+]

(1.中北大学 电子测试国家重点实验室,山西 太原030051;

2.中北大学 仪器科学与动态测试教诲部重点实验室,山西 太原030051)

高速CMOS图像存储与实时显示系统设计_图像_数据 科学

针对遥测系统图像单元存在数据量大、速率快、无法直接存储显示等问题,设计了一种高速图像存储与实时显示系统。
系统以Spartan 6系列现场可编程门阵列(FPGA)作为核心处理器,利用Full模式Camera Link接口采集CMOS相机输出的图像数据,利用DDR3乒乓缓存技能将图像数据写入由SATA掌握器组成的磁盘阵列中,并且通过千兆以太网接口将处理后的数据上传至打算机;图像数据采取抽帧以及降落分辨率的形式,将其转换为1 024×768像素的VGA分辨率格式,末了通过VGA接口对图像进行实时显示。
实验结果表明,该系统能够对分辨率为2 048×2 048像素、帧频为150 f/s的高速图像数据进行永劫光存储与实时显示。

中图分类号:TN919.5

文献标识码:A

DOI:10.16157/j.issn.0258-7998.2017.06.002

中文引用格式:马林,李锦明,张虎威,等. 高速CMOS图像存储与实时显示系统设计[J].电子技能运用,2017,43(6):7-10,14.

英文引用格式:Ma Lin,Li Jinming,Zhang Huwei,et al. Design of high-speed CMOS image storage and real-time display system[J].Application of Electronic Technique,2017,43(6):7-10,14.

0 弁言

在航空航天图像监测领域,高分辨率、高帧频的工业相机有着广泛的运用,它可以有效捕捉高速翱翔器的翱翔姿态,终极通过打算机对图像进行剖析与处理,提取出其运行速率、加速度等主要参数[1]。
随着工业相机分辨率以及帧频的不断提高,对图像存储系统的哀求也越来越高,特殊是在载人航天测试领域,存储系统必须能够应对繁芜的工况环境。
传统的Nand Flash以及机器硬盘等存储介质存在容量小、操作繁芜以及抗滋扰能力差等缺陷,而SSD固态硬盘凭借其容量大、速率快、环境特性好等特点,在科研、航空航天以及军事测试等领域,有广阔的运用前景。

现阶段,紧张利用传统的Flash对图像数据进行采集。
文献[2]和[3]采取Flash阵列进行数据的存储,虽然在一定程度长进步了读写速率,但是存在接口操作繁芜、稳定性差等缺陷。
文献[4]利用图像采集卡进行图像数据的实时显示,增加了系统的体积与繁芜度,而且图像的分辨率不高。
本文通过采取FPGA对系统功能进行开拓,利用4块SSD固态硬盘构成存储阵列对高速图像进行存储,可以在翱翔器回收后读取原始图像数据,同时以抽帧并降落分辨率的形式对图像数据进行实时显示,以减小遥测数据回传时的带宽占用,实现了图像数据的大容量高速存储与实时显示,并且具有可移植性。

1 系统总体设计

系统设计总体框图如图1所示。
系统选用Point Grey公司生产的GZL-CL-41C6型号高速灰度相机,通过Camera Link接口发送图像数据和同步旗子暗记,串口吸收相机掌握命令,图像分辨率为2 048×2 048像素,帧频为150 f/s,像素格式为8 bit[5]。
由于相机产生的数据量约为600 MB/s,而SATA2.0接口的单块固态硬盘的写入速率约为180 MB/s[6],以是利用4块固态硬盘构成RAID0阵列进行存储。
系统采集工业相机输出的高速图像数据,并将数据发送到FPGA后分成两路,一起经由DDR3缓存后,并行存入固态硬盘整列中;另一起经由格式转换后存入DDR3缓存中,然后通过VGA接口实时显示图像数据。

2 系统硬件电路设计

2.1 图像采集模块

系统前端工业相机利用了8-tap模式输出像素数据,即一次输出8个像素数据,以是利用Full模式Camera Link接口电路。
在Full模式下,Camera Link接口利用两个连接器,须要利用3个数据接口芯片、一个相机掌握芯片和一个串行通信芯片。
通过接口芯片将Camera Link电缆所传输的LVDS差分旗子暗记转换为FPGA可以直接进行处理的TTL电平旗子暗记。

相机与FPGA连接示意图如图2所示。
系统选用TI公司生产的DS90CR288A作为数据吸收芯片,DS90LV-047ATM为掌握芯片,DS90LV019TM为串行通信芯片。
个中,D0~D23为数据旗子暗记,FVAL、LVAL、DVAL为同步旗子暗记,CC1~CC4为相机掌握旗子暗记,SerTC与SerTFG为串行通信旗子暗记。

2.2 VGA驱动电路

FPGA的输出为3.3 V的电平旗子暗记,而VGA接口哀求的输入旗子暗记为0~0.714 V的仿照旗子暗记,所以为了知足VGA显示哀求,必须对FPGA的输出旗子暗记进行D/A转换,以实现0~0.714 V的仿照旗子暗记输入[7]。
系统选用ADI公司生产的视频转换芯片ADV7123实现VGA驱动,由于相机输出的图像数据为灰度图像,以是将R、G、B三个通道中的任意一个与FPGA相连,并且将其他两路接地。
本设计将FPGA输出与赤色输入端口相连,并将未利用的绿色和蓝色仿照旗子暗记连接37.5 Ω终端电阻。

2.3 千兆以太网接口电路

系统利用了Realtek公司生产的以太网收发器RTL8211EG实现千兆以太网数据传输。
链路层、传输层以及网络层利用UDP/IP协议,由FPGA实现。
RTL8211EG与FPGA的电路连接示意图如图3所示,RTL8211EG通过GMII接口与FPGA进行连接,紧张用来连接以太网的MAC层和PHY层。
当利用千兆以太网进行数据传输时,接口时钟为125 MHz。
个中,吸收时钟由RTL8211EG的E_RXC供应;发送时钟由FPGA的E_GTXC供应,吸收与发送数据均在时钟上升沿进行采样。

3 系统软件设计与仿真

3.1 图像实时显示模块

系统相机输出的图像分辨率为2 048×2 048像素、150 f/s帧频的图像,无论是分辨率还是帧频都超过了通用VGA接口显示器的显示格式,以是可以采纳抽帧并降落分辨率的办法对图像进行显示。

3.1.1 图像压缩单元设计

系统对原始分辨率为2 048×2 048像素的图像进行如图4所示的缩小,将3×3范围内的9个像素数据合成为1个像素数据,终极得到分辨率为682×682像素格式的图像。
为了降落噪声旗子暗记在图像中的影响,利用了对9个像素数据取中值的办法进行合成。

在FPGA程序设计中,利用了9个FIFO对算法进行实现,实现方法如图5所示。
每个FIFO的大小为1 024×8 bit,通过9个FIFO对3行像素数据进行缓存。
个中,首先用FIFO1、FIFO2、FIFO3分别存储第一行的第1、2、3个数据,紧接着再存储第一行的第4、5、6个数据,直到第一行存储完毕;之后利用FIFO4、FIFO5、FIFO6以相同的办法缓存第二行数据,FIFO7、FIFO8、FIFO9缓存第三行数据。
前三行数据缓存完之后,再利用其余9个FIFO存储第4、5、6行数据,与第一组FIFO构成乒乓缓存构造。
这样,每一组FIFO可以在一个周期读出须要处理的9个像素数据,并对这9个数据提取中值。

对付N为奇数的中值运算,若N为9,则须要比较的次数为36次,结合FPGA并行处理的上风,同时利用36个比较器,可以达到最大处理速率[8]。
此外,VGA显示器分辨率为1 024×768像素,而经由处理后的图像分辨率为682×682像素,以是图像应在显示器中心显示,在进行VGA驱动显示时,可以将其他像素补0,即玄色图像。

3.1.2 抽帧缓存模块

由于相机输出图像的帧频为150 f/s,而常用VGA分辨率格式的帧频一样平常都在75 Hz以下,为了匹配VGA接口分辨率,对相机图像进行抽帧缓存处理,每两帧抽取一帧,依次存入两片DDR3中,终极以1 024×768@75格式的VGA分辨率进行显示。

抽帧显示时序图如图6所示。
将相机帧同步旗子暗记FVAL进行4分频,得到抽帧掌握旗子暗记F_Control,再天生一个以F_Control的边沿为复位旗子暗记的FVAL上升沿计数器CNT。
当F_Control为低电平时,将CNT为1的帧图像存入缓存1;当F_Control为高电平时,将CNT为1的帧图像存入缓存2。
读缓存与写缓存恰好相反,在F_Control为低电平时读取缓存2中的数据;在F_Control为高电平时读取缓存1中的数据。

在程序设计时,对图像分辨率、图像缩放因子、图像帧频、抽帧系数等关键参数利用Verilog HDL措辞中的`define语法进行宏定义,实现任意分辨率和帧频的图像格式转换,以便相机和显示器型号的改变以及系统移植。

3.2 图像存储模块

系统以Spartan6-T系列FPGA中的GTP高速串行收发器为根本,实现SATA2.0掌握器的物理层,并利用Verilog HDL措辞实现链路层、传输层以及命令层的开拓,终极实现SATA2.0协议的DMA传输。

在进行图像存储时,首先将图像采集模块采集到的数据先通过异步FIFO进行位宽转换,系统利用FPGA中的MCB(Memory Controller Block)硬核来掌握DDR3存储器,为了最大化带宽,其用户端口位宽选择为128 bit,以是须要把Camera Link接口64 bit位宽的数据转换为128 bit位宽数据,再把数据输入数据分配模块。
数据分配模块流程如图7所示。
系统利用的DDR3存储器型号为MT41J256M16,容量为512 MB,将其分为上、下半页,数据以256 MB为单位按照流水线办法依次存入两片DDR3之中。

系统利用的SATA掌握器的寻址办法为逻辑块寻址,每个逻辑块的大小为512 B。
为了最大化利用存储带宽,利用突发读写模式,个中写突发读写掌握端口cmd_bl的位宽为18 bit,最大读写深度为262 144,一次可以读写262 144×512 B,即128 MB的数据。
硬盘存储数据分配流程图如图8所示,以128 MB为单位将DDR存储器每半页再次分块,SATA掌握器0~SATA掌握器4分别按照命令读取DDR3_0和DDR3_1中的数据,并以流水线的办法存入固态硬盘中。

4 系统测试

为了验证系统功能的精确性,对系统存储模块以及显示模块分别进行了测试。
利用三星公司的750 EVO固态硬盘进行测试,在SATA掌握器数据端口插入触发旗子暗记,当掌握器读取或写入硬盘数据时,记录数据流量及时间,当计满1GB的数据后,打算读写速率,同时对计数器清零,之后将速率信息通过串口模块发送到上位机。
系统存储模块读写速率测试如图9、图10所示。

通过Camera Link串行通信芯片发送命令,将相机图像设定为测试图像。
相机测试图像在同一行中灰度值逐渐递减,可以清晰地反响图像数据的传输过程,并且可以根据每一个像素的相邻数据判断图像传输是否发生缺点。
通过上位机回读显示的图像与实时显示的图像均显示良好,没有发生像素缺损和错位征象。

5 结束语

本文设计了一种高速CMOS图像存储与实时显示系统,紧张包括系统图像接口模块、VGA驱动电路以及图像回读模块等硬件电路,同时对图像显示模块及存储模块的软件进行设计。
经由读写速率测试以及图像显示测试,表明该系统可以对分辨率为2 048×2 048像素、帧频为150 f/s的高速图像进行存储与实时显示,具有较高的可移植性以及实用代价。

参考文献

[1] 韩帅.基于工业相机的图像采集与回放系统研究[D].太原:中北大学,2015.

[2] 张惠臻,周炎,王成.基于NAND Flash的嵌入式大规模数据存储机制[J].华中科技大学学报(自然科学版),2017,45(1):46-51.

[3] 徐永刚,任国强,吴钦章,等.NAND Flash图像记录系统底层写入掌握技能[J].光电工程,2012,39(9):138-144.

[4] 马志刚,刘文怡,凌伟.基于PCI和LVDS的高速数据存储系统的设计[J].电子技能运用,2014,40(4):80-83.

[5] BARRERA E,RUIZ M,SANZ D,et al.Test bed for real-time image acquisition and processing systems based on F1exRI0,Camera Link and EPICS[J].Fusion Engineering and Design,2014,89(5):633-637.

[6] 刘伟.SATA接口双硬盘掌握技能研究与实现[D].太原:中北大学,2016.

[7] 吴伟学.基于FPGA的图像采集与处理系统设计[D].广州:华南理工大学,2015.

[8] 李飞飞,刘伟宁,王艳华.改进的中值滤波算法及其FPGA快速实现[J].打算机工程,2009,35(14):175-177.

标签:

相关文章