基于NiosⅡ的图像数据采集转发系统的设计
2013-02-13张会新
李 斌,张会新
(中北大学a.电子测试技术国家重点实验室;b.仪器科学与动态测试教育部重点实验室,山西 太原030051)
责任编辑:魏雨博
随着空间探测技术的发展和生活应用中数字化时代的到来,人们对数字图像信息的需求量越来越大,以图像处理、图像数据传输和存储为重要组成部分的信息技术取得了快速的发展。在空间遥测领域图像信息包括的内容丰富、图像细腻,在经过采集装置转化后形成的数字量巨大,所以在进行图像数据处理时需要大容量的存储器和很宽的数据传输带宽[1]。然而,在某些无线遥感领域,比如星载遥测和雷达图像采集等领域,图像采集的精度高、数据量大,采集器本身无法长时间的实时存储和处理这些大批量的数据,需要将数据传输至地面处理,这就需要一种高效的图像信息传输方式。这种传输一方面可以将采集器采集到的数据进行实时接收存储,另一方面还可以在采集器空闲时将已经存储的采集数据以较低的速度传至地面。这就有效地解决了图像采集设备短时间内大量数据的传输问题,在无线传输和遥测采集领域具有广阔的应用前景。本文依靠现有技术设计了一种可接收、存储和转发图像数据的系统,该系统具有处理速度快、设计灵活性高、有可配置性和可重构性的特点[2]。
1 系统总体设计
1.1 系统组成
本系统主要由图像数据采集转发装置、地面测试台及上位机软件组成。图像数据采集转发装置主要完成两路图像数据的接收、缓存、编帧和转发;地面综合测试台主要负责两路图像信号源的提供,以及对装置的功能及状态的测试,并完成对转发数据的接收和上传上位机处理;配套上位机软件主要完成转发图像数据的存储、显示和准确性分析。图像数据采集转发系统的连接关系如图1所示。
图1 系统连接框图
1.2 系统原理
如图2所示,整个装置电路部分由LVDS接收模块、基于FPGA的嵌入式SOPC控制系统、数据缓存模块和数据转发模块4个部分组成。LVDS图像数据接收模块使用专用解串芯片,实现串行图像数据转换为并行数据,并存储到相应的图像缓存中[3]。因系统接收图像数据速率远大于下发图像速率,即数据输入大于数据输出,为了保证单幅图像数据连续18帧不丢失,单路图像数据缓存的容量至少应为18帧图像的数据量。主存储模块使用2片容量为32 Mbit的高速PSRAM以保证图像数据的缓存。嵌入式的SOPC软核是整个系统的中央处理器,控制完成图像数据的解串、编帧、缓存、转发及其他辅助时序。数据转发模块需要连续不间断地进行数据转发,所以系统设计中采用内部FIFO进行转发数据的速率匹配,保证当系统正在接收另外一路图像数据时或者在处理其他操作时,下发数据仍然可以无缝传输。系统在接收数据和将数据传输至FPGA处理之间进行了隔离,隔离前后采用了不同的电源供电。数据转发模块在地面测试时与地面测试台连接,测试台通过USB将数据上传上位机实现数据分析与验证。
图2 电路设计原理框图
2 硬件电路关键技术设计
SOPC(可编程的片上系统)的硬件系统是指可以完成嵌入式处理器系统搭建的硬件结构。由于整个SOPC系统包括很多模块,在系统运行时需要大量的程序和数据存储空间,而FPGA内部的空间资源在系统设计中十分宝贵,所以将SOPC系统放在单独的存储空间内运行。Altera公司的SOPC提供的专用IP核中有SRAM控制器和SDRAM控制器。因此系统设计时,在FPGA外围设计了作为SOPC软核处理器内存的硬件结构SRAM和SDRAM。SRAM和SDRAM在嵌入式系统中经常作为程序存储器或者数据存储器使用,在软核运行时可以将处理器的程序和数据分别放在SRAM和SDRAM中,SRAM和SDRAM的电路如图3所示。
图3 SRAM和SDRAM电路设计
在接收图像数据时,要求接收时钟与工作时钟严格同步,而SOPC系统在实现数据时钟同步和接收速度等方面存在不确定性,所以本系统设计了接收单幅图像数据的前段缓存。由于Altera公司的二代NiosⅡ处理器是基于32位操作系统的,为了不浪费资源和便于同处理器在图像转存时直接操作,在单幅图像的缓存设计上优先考虑使用32位的存储介质,或者对16位的存储介质并行扩展。从两类单幅图像的数据量来看,图像1最大数据量为320×240×16 bit的图像连续18幅,即320×240×16 bit×18约为2 700 kbyte,图像2最大数据量为320×230×8 bit的图像连续8幅,即320×230×8 bit×8约为575 kbyte。按最大单幅数据量计算,如果采用双片存储介质并行扩展设计,要求单片存储量不小于1 350 kbyte,并且要求存储速度时间不大于125 ns。按以上要求本文选用容量为2 M×16 bit的伪静态随机存取存储器(Pseudo SRAM,PSRAM)RMP216MAAF芯片[4]。
PSRAM的写时序如图4所示,由WE信号控制写操作时,CS信号为低,ZZ信号为高,当WE信号为低电平时可以在地址总线的触发下实现数据的写入。在设计中采用字节写入的方式,所以LB和UB信号全部为低电平。
PSRAM的读时序如图5所示,由地址信号控制读操作时,CS信号为低,ZZ信号为高,OE信号为低,WE信号为高,在地址信号的触发下实现数据的读出。在设计中采用字节读出的方式,所以LB和UB信号为低电平。
本文采用2片PSRAM对图像数据的接收进行并行位宽扩展,这样就形成了2 M×32 bit容量的单幅图像数据接收端,远大于任务要求的最大单幅图像数据量。在LVDS解串器将图像数据转换为并行数据后,FPGA控制逻辑将相邻每两个图像数据合并成一个32位的数据写入PSRAM,在一幅图像数据接收完毕后,中间会间隔3~5 s,在这段时间内NiosⅡ处理器会将PSRAM中的图像数据转存至SDRAM中,然后PSRAM再准备接收第二幅图像数据。数据在SDRAM中的存储是按帧存储的,在转存图像数据的同时,处理器也在连续不断地将SDRAM中的图像数据编帧后转发至FIFO中。在接收完第二幅图像后会间隔60 s,这时处理器有足够的时间完成第二幅图像的转存和两幅图像数据的转发[5]。图像数据如上所述循环接收,数据缓存接收电路连接如图6所示。
3 系统软件关键技术设计
本系统软件的关键技术是NiosⅡ软核程序设计[6]。软核程序设计是在NiosⅡIDE环境中编写C语言程序,并结合软核外部VHDL模块完成图像数据的缓存、编帧和转发[7]。软核程序流程如图7所示。
图7 软核程序流程图
NiosⅡ处理器在上电复位以后,首先进行初始化,然后进入转发模式,判断SDRAM中有无图像数据,若有将转发有效数据,否则转发自检数据;然后再进入转存模式,判断PSRAM中一幅图像是否接收完毕,若接收完毕,根据图像的类型和这幅图像的总帧数,进行逐帧转存至SDRAM,否则等待图像接收完毕。整个过程中处理器程序在连续不断地判断,所以程序的功能是在图像转存和图像转发模式中不断地切换。
4 实验结果分析
如图8为计算机终端显示的转发图像数据,图9为上位机处理后还原出的图像。测试结果显示,接收数据正确无误,还原图像清晰完整。
图8 转发图像数据(截图)
5 结论
图9 图像还原(截图)
本文围绕遥测图像采集系统中图像数据的传输、接收、存储和转发展开研究,提出了采用嵌入式处理器NiosⅡ作为主控制器的设计方案。结合实际数据存储应用要求,研究了大容量高速PSRAM的存储特点,采用了并行位宽扩展的数据存储方式,实现了高速图像数据的大容量缓存。测试结果表明系统工作稳定、性能可靠,具有一定的实用性。
[1]王玉峰.基于SOPC的图像采集处理系统设计[D].吉林:东北电力大学,2008.
[2]孟令军,彭晴晴.阵列存储在遥测图像采集系统中的应用[J].电视技术,2011,35(8):65-67.
[3]陈昱同.基于LVDS的高速远程测试系统设计[D].太原:中北大学,2008.
[4]彭晴晴,孟令军.基于NiosⅡ的PCI Express接口卡的设计[J].计算机测量与控制,2012(2):523-525.
[5]葛保建.基于SOPC的软硬件协同设计平台的研究与实现[D].武汉:武汉科技大学,2008.
[6]陈志星.基于NiosⅡ的视频采集系统设计[D].武汉:武汉理工大学,2010.
[7]郭铮,刘文怡,冯妮.基于FPGA多通道高速数据采集存储器设计[J].电视技术,2012,36(17):55-57.