姚引娣
(西安邮电大学 通信与信息工程学院, 陕西 西安 710121)
基于相机连接接口的大图像实时显示系统
姚引娣
(西安邮电大学 通信与信息工程学院, 陕西 西安 710121)
采用高速缓存、帧分多路输出,实现一种实时大图像多显示器联合显示系统。该方案采用现场可编程逻辑阵列芯片,利用双倍速率同步动态随机存储器芯片作为数据缓存单元,通过片上同步动态随机存取存储器乒乓缓存数据,将每帧图像数据平均分配并通过相机连接(Camera Link)接口发给上位机显示。 通过Chipscope在线调试软件测试,该实时显示系统支持5路Camera Link输出,每路Camera Link图像输出采用12比特位宽,支持最大数据吞吐量为960Mbps,能解决超大尺寸图像因常规显示器显示范围有限而不能在一个显示器上完整显示的问题。
现场可编程逻辑阵列; 相机连接接口;乒乓控制; 双倍速率同步动态随机存储器
随着图像采集处理技术的发展,实时获取大尺寸图像已成为可能[1-2],但由于目前常见计算机显示范围有限,在单一显示器上完全显示图像尺寸为3 840 × 1 920以上的大尺寸图像仍难以实现。利用单片机的高速同步串行口高速时钟将多端口串行Flash存储的数据以“存储器直接存取”方式输出[3],其显示长度长但其宽度有限,只有64点。通过调度局域网中多台计算机终端进行配合,使不同终端同时显示一幅超大影像的不同部分[4],其设计复杂度高,同时占用多台电脑,不适用于嵌入式系统设计。
基于Camera Link协议的接口简化了计算机和摄像头之间的连接,可为高速、高精度的数字摄像头提供简单、灵活的连接,已被广泛应用于工业设计[5-7]。由于Camera Link协议规定的接口速度高,图像处理单元必须通过高速缓存和DMA控制才能实现。
FPGA逻辑资源丰富、处理速度快,可以满足采用Camera Link协议的实时图像处理要求[8-10],因此,针对单显示器无法完全显示大尺寸图像的问题,本文采用高性能的Xilinx Virtex-5 FPGA芯片,结合高速DDR缓存、帧分多路和实时乒乓读写技术等机制,设计一种超大尺寸图像多显示器联合显示的实时显示系统。
硬件整体框图如图1所示,FPGA负责图像处理,它通过DS90CR288从图像采集卡读入大尺寸图像数据,然后把处理后的图像数据通过Camera Link接口模块DS90CR287上传给上位机作进一步分析。为了提高处理速度,它利用DDR做高速数据缓存[11-12]。
图1 系统硬件结构
大尺寸图像数据处理和外围图像接口电路设计是系统硬件设计中两个主要的模块。
(1) 大尺度实时图像处理模块
该模块负责将输入的大尺度实时数据通过图像转换处理算法后上传给上位机作进一步处理。硬件设计需要考虑输入输出的图像数据接口。目前常规计算机液晶显示器显示范围最大为1 920×1 080,而对于尺寸在3 840×1 920以上的大尺寸图像,例如高分辨率卫星图像,由于大尺度图像超出目前显示器的显示范围,需要多路输出给多个上位机(一般采用PC机)以便进行观测。由于图像数据传输速度较快,因此需要采用专供高速数据缓存的两片DDR芯片。根据以上需求,FPGA芯片选用Xilinx公司的Virtex-5 LX110T芯片,它的Block RAM资源和逻辑资源均符合设计的要求;片上存储器选用美光公司的MT4HTF3264HY-53E DDR芯片,DDR芯片共计2片,每片DDR的容量大小为2 Gbit,可以满足存储所需超大尺寸图像的要求。
(2) Camera Link图像输入输出接口模块
该接口模块的主要功能是在输入时将串行数据转化成并行数据,它通过DS90CR228芯片将LVDS差分信号转化成FPGA能接收的TTL单端信号;输出时将并行数据转化成串行数据,再经过DS90CR287芯片将FPGA输出的TTL单端信号转化成LVDS差分信号。
DS90CR287和DS90CR288分别为并转串驱动器和串转并接收器,其接口电路工作原理如图2所示。
图2 Channl Link接口电路
并转串驱动器将28位CMOS/TTL信号以7∶1方式串行化为4条LVDS数据流,然后通过串转并接收器恢复CMOS/TTL信号。该接口电路可支持高传输速率为2.38 Gbit/s。
为了能够满足不同数据量和速度的传输要求,Camera Link协议还提供不同的端口配置,如表1所示,每个端口定义为一个8位的字。
表1 3种配置的端口分配
Camera Link接口支持3种配置:初级配置(Base)、中级配置(Medium)和高级配置(Full)。3种结构所使用的端口、连接器和Channel Link芯片数量各不相同,其中高级配置最多支持8个端口,即端口A至端口H。为了简化设计,采用Base配置模式[13],使用到A、B两个端口中的12根数据线。
系统的整体框图如图3所示,主要由Camera Link数据接收模块、DDR读写控制模块、多路乒乓读写缓存模块和Camera Link数据输出模块4部分组成。
图3 系统软件设计
(1) Camera Link数据接收和数据输出模块
Camera Link数据接收模块主要负责对DS90CR288传来的图像数据采样,把采样来的有效数据传输给DDR读写控制模块,而Camera Link数据输出模块主要负责同时读取多路SDRAM中的缓存数据并按照Camera Link格式的时序关系同时输出给DS90CR287。
Camera Link接收模块和Camera Link输出模块的时序关系均如图4所示,VS为帧有效信号,HS为行有效信号,DATA为有效数据。方案采用Base配置,其数据位宽为12位。当帧有效信号为上升沿时,它表示新的一帧图像开始传输,直到下降沿时该帧图像才传完。当行有效信号为上升沿时,它表示行的一行数据开始传输,此时数据总线上的数据为有效像素数据,直到下降沿该行数据才传完。
图4 Camera Link数据输入输出时序关系
(2) DDR控制模块
由于DDR不支持同时读写功能,为了满足视频图像的实时显示的要求,方案采用两片DDR,通过乒乓读写完成其读写操作,即当一片DDR写完一帧图像数据后,开始往另一片DDR里写下一帧图像数据,乒乓读写缓存模块开始读取已写满一帧图像的DDR,如此往复。因此,输出图像和实际的图像在时间上只相差了一帧,可以满足实时性的要求。
这里,乒乓读写控制是通过状态机来实现,其中,一个读状态和一个写状态分别对应着两片不同的DDR。而对DDR的读写操作通过调用Xilinx提供的DDR读写控制IP核MIG来实现。一个MIG不能同时控制两片DDR的同时读写操作,故通过调用两个MIG IP核分别控制两片不同DDR芯片的读写操作来完成该操作。
(3) 乒乓读写缓存模块
该模块分为多路乒乓读写,对应着多路Camera Link数据的输出,其乒乓读写的缓存单元通过调用Xilinx提供的SDPARM IP核实现[11]。SDPRAM IP核可设置为两端口独立的时钟模式,从而解决了DDR时钟和Camera Link时钟不匹配的问题,同时,由于两端口可以配置为不同数据的位宽,它方便实现DDR2数据位宽为64位到Camera Link输出位宽为12位的转变。
整幅图像的数据量太大,而FPGA片上Block RAM资源有限,不能把整幅图像都写入SDPRAM中再读取,因此SDPRAM只能用于行缓存而不能用于帧缓存。为了解决该问题,DDR控制器先往第1路SDPRAM中写,写完1/5行之后,自动跳到第2路的SDPRAM,以此类推直到写完各路SDPRAM为止,从而实现了把一行图像像素平均分到5路上并输出显示。DDR的吞吐量是12 800 Mbps,而Camera Link的吞吐量是960 Mbps,5路Camera Link输出的吞吐量是4 800 Mbps,故方案能保证DDR往多路SPRAM写的时间小于Camera Link输出模块读取一个SPRAM数据的时间,可以最大支持3 840×1 920大尺寸图像以30Hz帧频扫描输出,从而实现图像数据无间断的输出。
为了便于测试系统性能,采用Chipscope实时测试工具抓取波形图。本方案提供5路Camera Link数据输出接口,各路数据输出接口位宽为12 bit,工作频率为80 MHz。由于Chipscope抓取的数据量有限,为了便于调试,对图像尺寸进行了缩小,每行只有16个像素,行与行之间的间隔也为16个周期,每路的有效数据以累加的形式出现,第1路数据为1~16,第2路数据为2~17,第3路数据为3~18,第4路数据为4~19,第5路数据为5~20,ChipScope采集的波形图如图5所示。
图5 Chipscope采集的波形
从图5可见,行有效和帧有效信号输出正常,当行有效开始时,5路数据基本同时输出,满足系统的设计要求。从放大图可看出:行有效信号在时钟的上升沿处变化,行有效开始后有效数据开始输出,输出的数据与实际的数据一样,并且数据的变化均在时钟上升沿处,符合图4所示的Camera Link时序关系。不难看出,本系统可以完成图像数据的多路分配,并将分配好的数据同时传给上位机,其数据的输出格式符合Camera Link时序关系,能满足设计的要求。
采用Virtex-5 110T FPGA芯片作为逻辑控制及高速信号处理器件,采用两片DDR实现高速数据缓存处理,并采用乒乓读写方式实现多路Camera Link联合显示超大尺寸图像,给出了一种大规模图像多屏实时显示方案。该方案具有数据缓存容量大,传输速度快,硬件接口电路简单,无缝显示超大尺度的完整图像等特点,解决了常规显示系统不能完整显示一幅超大尺寸图像的问题。测试表明,该方案能满足实时图像显示的要求,可用于多屏幕无缝显示大规模图像领域。
[1] 马灵,杨俊峰,宋克柱,等.地震数据采集中基于FPGA的多DDRSDRAM控制器设计[J].中国科学技术大学学报, 2010,40(9):939-945.
[2] 张伟,刘文,刘朝晖.CPLD控制的高速图像数据采集接口设计与实现[J].电光与控制,2009,16(2):91-96.
[3] 邬芝权,靳桅,朱云芳,等.基于多端口串行Flash的超长条形LED显示屏控制[J].西南交通大学学报,2012,47(3):433-438.
[4] 彭会湘.一种基于网络信息平台的影像显示方法[J]. 计算机与网络, 2014(3): 82-85.
[5] 王鸣浩,陈涛,吴小霞.基于Camera Link接口的高帧频数字图像采集显示系统[J].微电子学与计算机,2011, 28(3):149-152.
[6] 陈根亮,肖磊,张鉴.一种基于FPGA的DDR SDRAM控制器的设计[J].电子科技,2013,26(1):52-55.
[7] 宋修锐,吴志勇,陈卓人,等.红外Camera Link相机合成信号源设计[J].光电子技术,2013,33(3):173-176.
[8] 王鸣浩,王志,吴小霞.基于SOPC的高帧频数字图像采集显示系统[J].液晶与显示,2011,26(5):650-654.
[9] 李娟,刘艳滢.基于FPGA的图像采集模块的设计[J].仪表技术与传感器,2012(10):27-30.
[10] 肖积涛,马幼鸣,周鸣争,等.基于FPGA的高速数据采集系统的设计与实现[J].计算机技术与发展,2012,22(6):217-220.
[11] 赵志刚,郭金川,杜杨,等.基于DDR2 SDRAM缓存的CMOS图像数据采集与传输系统[J].仪表技术与传感器,2010(6):90-93.
[12] 朱齐丹,刘进业,康岭.Camera Link硬件接口电路设计[J].应用科技,2008,25(8):57-60.
[13] 吕耀文,王建文,曹景太.Base型Camera Link脱机存储系统设计[J].光电子技术,2012,32(4):242-245.
[责任编辑:瑞金]
An oversized images real-time displaying systembased on camera link
YAO Yindi
(School of Communication and Information Engineering, Xi’an University of Posts and Telecommunications, Xi’an 710121, China)
A real-time oversized image multi-monitor display system is achieved by adopting high-speed buffer and framing multipath-output in this paper. The system is realized in a field programmable gate array (FPGA) chip. In this scheme, double data rate synchronous dynamic random access memory (DDR SDRAM) chips are used to buffer oversized image data. The image data are distributed averagely by synchronous dynamic random access memory (SDRAM) ping-pong buffer, then transmitted to principal computer via a Camera Link connector, and displayed in screen of PC. Tested results from Chipscope online debug software illustrate that the real-time displaying system supports 5 channels output of Camera link, the bit width of each Camera link is 12bits, and the highest throughout of image data of each Camera link is 960Mbps. These mean that the proposed system can solve the problem that oversized image cannot be displayed in one single displayer where the display range of displayer is limited.
field programmable gate array, camera link, ping-pang control, double data rate synchronous dynamic random access memory
10.13682/j.issn.2095-6533.2015.04.011
2014-12-16
西安邮电大学青年教师科研基金资助项目(ZL2013-11)
姚引娣(1978-),女,硕士,工程师,从事信息与通信系统研究,E-mail:yaoyindi@xupt.edu.cn
TN919.6
A
2095-6533(2015)04-0054-04