四目立体测量图像同步采集存储系统的设计

2014-05-15 02:21王爱君王宏涛石东雨
应用科技 2014年5期
关键词:四目摄像机芯片

王爱君,王宏涛,石东雨

南京航空航天大学机械电子工程系,江苏南京 210016

四目立体测量图像同步采集存储系统的设计

王爱君,王宏涛,石东雨

南京航空航天大学机械电子工程系,江苏南京 210016

运用四目立体测量技术实现具有复杂曲面形状物体的逆向设计,在航空、航天、汽车和造船等工业领域具有广泛需求。设计了用于四目立体测量的图像同步采集存储系统,采用FPGA作为控制器,利用Camera Link接口连接摄像机和FPGA,触发采集、传输图像数据;采用外部动态随机存储器SDRAM和FPGA内部FIFO相结合缓存图像数据;采用USB2.0接口芯片实现FPGA与计算机数据通信。利用软件ModelSim完成系统各功能模块时序逻辑仿真,实验结果表明系统能够完成四目立体测量图像同步采集存储任务。

四目立体测量;FPGA;图像采集;图像存储;数据通信

四目立体测量系统广泛应用于航空、航天、汽车及造船等工业领域[1-2],系统使用4个位置相对固定的摄像机,分别从不同视角同时获取同一物体的多幅图像,利用视差原理计算出物体的三维信息,完成不同视角测量数据的自动拼合,从而获取具有复杂曲面形状的物体三维外形轮廓数据。四目立体测量系统中有4个摄像机与计算机间需要进行图像数据通讯,数据存储量大,对图像采集的同步性和数据传输速度提出了很高要求。在此,针对四目立体测量系统设计并实现了一种图像同步采集、存储方法。

1 系统硬件组成

如图1所示,系统主要由图像采集模块、图像存储模块、通信模块及外围辅助模块组成。系统主控制器选用Altera公司的Cyclone III系列FPGA芯片EP3C40F484C8;摄像机选用德国Basler区域扫描摄像机Aviator avA1000,该摄像机采用Camera Link标准接口[3],支持串行LVDS格式信号。图像采集模块中每个摄像机均需要一个Camera Link接口电路与FPGA连接,接口电路中主要有DS90CR288、DS90LV047A及DS90LV019芯片,分别实现图像数据采集、摄像机控制信号传输、摄像机与FPGA间的串行通信。图像存储模块缓存测量过程中的图像数据,测量过程中每个摄像机采集4张被测物体图像,摄像机分辨率为1024×1024,每张图片大小为3 M,故需要采集图像数据量为4×4×3=48 M;设计图像数据采样频率为20 MHz,图像数据经接收芯片DS90CR288转换为28位并行数据,其中24位为图像数据,3位为同步信号,1位为保留位,则图像数据传输速率为4×24×20=1920 Mbps,SDRAM的最高数据带宽为133×16=2 128 Mbps,故选用三星公司SDRAM芯片K4S561632A,可以满足采集要求,其存储容量为4 M×16 Bit×4 Banks。通信模块负责系统与计算机之间图像数据的通讯,USB2.0接口芯片选用Cypress公司的EZ-USB FXZ系列芯片CY7C68013,该器件指令周期快、功耗小、性价比高,支持12 Mbps的全速传输和480 Mbps的高速传输。外围辅助模块设计JTAG在线调试接口和AS下载接口,为在线调试、程序下载提供了便利。

图1 系统硬件结

2 图像数据采集与存储

2.1 图像数据采集

根据摄像机触发曝光时序图,摄像机由外部采集开始触发信号ExASTrig及外部帧开始触发信号ExFSTrig共同控制触发曝光。设计中将4个摄像机各自的触发控制芯片DS90LV047A的输入引脚DIN1及DIN2分别与FPGA通用I/O引脚相连,FP-GA通过DIN1引脚给4个摄像机提供ExFSTrig信号,通过DIN2引脚给4个摄像机提供ExASTrig信号。在摄像机触发程序中FPGA首先给ExASTrig信号高电平,摄像机进入“等待帧开始触发”采集状态,下一时钟周期给ExFSTrig信号高电平,摄像机退出“等待帧开始触发”采集状态开始帧曝光和数据读出,芯片DS90CR288接收图像数据,当帧同步信号FVAL、行同步信号LVAL及数据有效同步信号DVAL都为高电平时,图像数据有效,可以进行数据传输。由于FPGA采用并行设计思路,位于不同al-ways语句块中的摄像机触发控制程序在每个时钟上升沿同时执行,实现了4个摄像机同步触发采集图像数据。

2.2 图像数据缓冲存储

四目立体测量的图像数据采集量大,因此设计了运用SDRAM实现图像数据缓冲存储的功能[4-5]。SDRAM操作时序复杂,需要设计控制器控制数据读取及存储,图2所示为SDRAM控制器结构图。

图2 SDRAM控制器结构

因数据接收芯片DS90CR288输出的数据时钟频率与SDRAM读写频率属于不同时钟域,故需要采用异步FIFO作为数据输入与输出的缓存。异步FIFO数据存储部分在FPGA为双口RAM,利用开发软件Quartus II调用宏模块生成双口RAM,如图3所示,其拥有相互独立的读时钟和写时钟。

接口控制模块通过状态机设计方法[6]整体控制SDRAM不同状态转换,包含初始化操作状态机、读写及自动刷新操作状态机,完成SDRAM初始化、定时刷新和读写等操作的控制。初始化由计数器控制在系统上电延时200 μs后,先由一个预充电指令完成对所有页的预充电,然后执行8个刷新指令,接着通过模式寄存器配置指令完成SDRAM的工作模式配置。刷新控制在程序中通过计数器来完成,当到达规定的计数周期200 μs时,向SDRAM发出刷新请求,直到SDRAM完成刷新操作,并发出刷新应答信号,计数器重新赋值开始下一次的计数。初始化过程结束以后,读写控制部分接收并分析系统的读写信号和地址信息,进入读写状态机。

命令模块包括初始化状态寄存器init_state[4:0]和读写状态寄存器work_state[3∶0],分别用于完成SDRAM初始化和读写操作,经过仲裁机制控制接口模块将寄存器值传送给命令模块产生相应的操作指令[7]。

数据路径模块负责在读、写命令期间处理数据的通路操作,DQ是双向数据线,用来传输从SDRAM读出数据和向SDRAM写入数据,程序中由寄存器work_state[3∶0]控制读写状态转换,在读出状态下,由计数器cnt_clk[8∶0]控制连续读出256字的数据到输出FIFO中;在写入状态下,连续写入数据到输入FIFO中。图4所示为SDRAM控制器写数据仿真图,从图中可以看出,首先SDRAM控制器发出行有效命令(10011),选中了第0个逻辑块的第0行,然后在2个时钟周期后,发出写命令(10100,图中光标位置),列地址为0,同时不加延迟地把第一个数据0x0000放在SDRAM的数据总线上,命令执行一次,写入8个16 bit数据。在写命令时,地址线的值为0x400,其中4对应A10,设置为1,表示允许自动预充电,SDRAM在每次读取操作后,逻辑为1的数据被读取后会放电,很有可能会导致其逻辑值变为0,所以需要再写入数据,保证读取后值不丢失。

图4 SDRAM控制器写数据仿真波形图

3 图像数据通信

设定USB接口芯片CY7C68013工作在Slave FIFO模式,图5所示为通信读写FIFO控制器。

rst为FPGA复位信号;clk为时钟输入信号;u_ flaga、u_flagb、u_flagc为USB接口,flaga_led、flagb_ led、flagc_led分别表示CY7C68013的端点FIFO FL-AGA、FLAGB、FLAGC的状态;u_ifclk输出时钟提供芯片Slave FIFO模式下的工作时钟;u_slwr为FIFO读使能,u_slrd为FIFO写使能;u_sloe为FIFO输出使能,当u_sloe无效时数据总线不能输出有效数据,u_addr0和u_addr1为端点选择信号,不同信号组合决定EP2、EP4、EP6和EP8其中一个缓冲器与FD总线连接;data为双向数据线。根据通信时序编程,生成状态机如图6所示。

通信中固件程序运行于CY7C68013内部,完成接口数据传输功能,用于控制硬件完成预期设备功能,Cypress公司为FX2固件开发提供了固件程序框架及相关的库文件,用户在TD_Init()、TD_Poll()等函数中添加特定功能的代码即可完成设计。USB设备驱动程序处于设备端固件和主机应用程序之间,负责对底层硬件进行操作,主要作用是使操作系统能够识别USB设备,并建立起主机和设备端之间的通讯[8]。

图5 通信读写FIFO控制器

图6通信控制器状态机

4 实验

为验证系统SDRAM数据读取与存储功能,设计测试应用程序在图7所示实验平台进行测试实验,实验平台由上位机、控制电路板、程序下载器及电源等构成。测试开始前,将系统控制硬件平台与计算机相连,安装相应驱动程序,准备工作完成后进入测试主界面,按照如下步骤进行测试:

图7 实验平台

1)在测试界面中输入十六进制测试图像数据,点击“发送”命令按钮,FPGA中的DMA接口响应上位机命令接收测试图像数据,并将数据存储内部FIFO中。

2)FPGA数据控制模块从FIFO中取出测试图像数据,并根据SDRAM写操作时序将数据写入SDRAM,并向上位机发送数据存储完成指令,如图8所示。

3)点击“接收”按钮后,FPGA响应上位机命令,根据SDRAM读操作时序将测试图像数据从SDRAM中读出,并存入内部FIFO中,再由DMA接口自动将测试图像数据传输给上位机,如图9所示。

图8 数据发送测试界面

图9 数据接收测试界面

通过以上实验过程可以看出,发送的测试图像数据与接收的图像数据相同,验证了所设计的图像同步采集存储系统可正确实现图像采集及存储。

5 结束语

四目立体测量技术是近年来兴起的一种获取物体三维轮廓信息的技术,可以广泛应用于航空、航天、汽车和造船等工业领域的产品逆向设计。本文设计了一种用于四目立体测量的图像同步采集存储系统,系统设计时选用FPGA作为主控制器、运用Camera Link接口电路实现图像采集、使用SDRAM芯片实现图像存储、采用USB2.0接口实现系统与计算机间图像数据的通讯。

根据测量时所使用的摄像机的性能参数选取各芯片的参数,以达到图像采集的数据量、图像数据传输速率的要求。对所设计的图像同步采集存储系统的实验测试结果表明,系统实现了图像采集、存储和通讯过程的正确性,可应用于四目立体测量解决实际工程问题。

[1]SHEN H,SHI Y,YAO Z.Numerical simulation of the laser forming of plates using two simultaneous scans[J].Compu-tational Materials Science,2006,37(3):239-245.

[2]MUSTAFAH Y M,NOOR R,HASBI H,et al.Stereo vision images processing for real-time object distance and size measurements[C]//International Conference on Computer and Communication Engineering.Kuala Lumpur,Malaysia,2012:659-663.

[3]XU Zhiyue,CHEN Yanpeng,Xian ZHANG.Design of serial image acquisition system based on Camera Link[C]//IEEE Conference on Industrial Electronics and Applications. Singapore,Singapore,2012:1804-1809.

[4]YAN Bei,SUN Yuefeng,DING Fengfeng,et al.Design of CMOS image acquisition system based on FPGA[C]//6th IEEE Conference on Industrial Electronics and Applications.Beijing,China,2011:1726-1730.

[5]XU Guosheng.The study on real-time data processing based on CCD scanning and detecting device on FPGA[C]//IEEE International Conference on Intelligent Computing and Intelligent Systems.Shanghai,China,2009:81-84.

[6]夏宇闻.Verilog数字系统设计教程[M].北京:北京航空航天大学出版社,2008:114-170.

[7]王明富,杨世洪.大面阵CCD图像实时显示系统中的SDRAM控制器设计[J].计算机应用,2009,5(5):1449-1451.

[8]ZHAO Yuhang,MA Muyan.The research for implementation of FPGA's interface based on USB 2.0 controller[C]//6th International Conference on Wireless Communications Networ-king and Mobile Computing.Chengdu,China,2010:1-4.

The design of image synchronous acquisition and storage system within quad-nocular stereo measurement

WANG Aijun,WANG Hongtao,SHI Dongyu
College of Mechanical and Electrical Engineering,Nanjing University of Aeronautics and Astronautics,Nanjing 210016,China

Make use of techniques of quad-nocular stereo measurement to realize the reversal design of objects which have complex free surface,which is widely needed in many industrial fields such as aerospace,automobile and shipbuilding.In this paper,an image synchronous acquisition and storage system is designed for quad-nocular stere-o measurement in this paper.By using FPGA has been chosen as main controller,the system utilizes Camera Link data interface circuit is used to connect cameras with FPGA to trigger to acquire and transmit image data.SDRAM and inner FIFO of FPGA serve as buffer storage to store image data.USB2.0 interface chip is applied to realize data communication between FPGA and computer.The time sequence and logic simulation of every module of the system has been completed through ModelSim software,the experimental result shows the designed system can meet the re-quirement of synchronous acquisition and image storage.

quad-nocular stereo measurement;FPGA;image acquisition;image storage;data communication

10.3969/j.issn.1009-671X.201310021

TP271

A

1009-671X(2014)05-023-05

http://www.cnki.net/kcms/doi/10.3969/j.issn.1009-671X.201310021.html

2013-10-29.

日期:2014-09-22.

江苏省自然科学基金资助项目(BK2009382).

王爱君(1988-),男,硕士研究生;

王宏涛(1968-),女,教授,博士生导师.

王宏涛,E-mail:meehtwang@nuaa.edu.cn.

猜你喜欢
四目摄像机芯片
芯片会议
给父亲
关于射频前端芯片研发与管理模式的思考
阔腿裤
摄像机低照成像的前世今生
新安讯士Q6155-E PTZ摄像机
多通道采样芯片ADS8556在光伏并网中的应用
如何消除和缓解“摄像机恐惧症”
破茧
高清新阵营