基于千兆以太网的图像采集系统设计

2010-07-25 00:33马腾飞高世杰吴志勇
网络安全与数据管理 2010年9期
关键词:驱动程序以太网传输

马腾飞 ,高世杰 ,吴志勇

(1.中国科学院长春光学精密机械与物理研究所,吉林 长春 130033;2.中国科学院研究生院,北京 100039)

随着光学测量技术的提高,测控设备不仅要获得目标的飞行轨迹等参数,同时还要获得飞行姿态参数、瞬时速度等目标特性参数。这些参数的测量必须依赖于高帧频、高分辨率成像器件,因此对图像采集系统的硬件和软件结构设计、特别是在数据传输和提高图像处理速度方面都提出了较高的要求[1]。

传统的光电经纬仪图像采集系统分立的图像和测量信息采集模块使得同步采集不易实现,而且受到图像传输线距离的限制,使得数据采集前端与存储计算机必须处在同一地点,限制了系统的灵活性。因此需要一种集成的、可远程传输的采集系统。本文针对Camera Link数字图像接口的红外相机设计了图像采集及传输系统,同步采集图像及测量信息通过千兆网实时传输至存储计算机,并通过软件对图像进行恢复及判读。

1 采集系统组成

图像采集系统由基于FPGA的采集前端、存储控制计算机、摄像机、B码时统等组成。计算机通过千兆以太网对采集前端发送控制命令,FPGA采集数字图像并进行适当的组合,通过千兆网发送至存储控制计算机,B码时统输出各类同步信号完成整个系统的高精度同步。系统组成由图1所示。

图1 图像采集系统组成框图

2 采集系统设计

2.1 图像采集

Camera Link 接口是现阶段高速相机普遍采用的图像输出接口,它是由美国国家半导体实验室提出的一种channel link技术标准发展而来的,在传统低压差分信号(LVDS)传输数据的基础上又增加了并转串发送器和串转并接收器[2]。DS90CR286的主要作用是把相机按照Camera Link标准输出的LVDS信号转换成TTL电平信号。转换后的TTL信号包含像素时钟及28位的并行数据(包括像素数据、帧同步信号、行同步信号和其他的控制信号)。

实验采用分辨率为 320(H)×256(V)、14位像素、50 Hz或100 Hz拍摄的红外相机,而千兆以太网接口芯片AX88180的数据总线为32位。为了提高总线利用率,在行同步信号及帧同步信号的控制下,将两个相邻的14位像素组合成32位数据后缓存入FPGA片内FIFO。采用片内FIFO可以减少缓存带来的延时并节省系统成本。

出于网络效率的考虑应采用较大的数据包,缓存图像以两行为单位,这样每个FIFO中缓存的数据量为1 280字节。由于片内FIFO信号的延时导致满空状态并不准确,并且持续对已满FIFO写请求以及已空FIFO读请求很容易导致片内FIFO崩溃[3],所以采用容量为2 048字节的 FIFO,根据 FIFO的 wrusedw[8:0]标志产生 bufferfull信号,并且在每次读操作完成后异步清空FIFO,使得前一次操作后的状态不会影响到下一次操作,较好地解决了状态不准确的问题。

乒乓操作是数据采集和数据处理应用中最常采用的技巧之一,通过输入数据选择单元和输出数据选择单元按节拍相互配合切换,将过缓冲的数据流及时送到处理单元,实现了采集模块与发送模块的异步操作。采用FPGA内部存储资源建立两块FIFO对乒乓的图像缓存,由FPGA控制更新FIFO标记。乒乓FIFO的FPGA实现如图2所示。

2.2 测控信息的同步采集

图像采集系统要求所有设备高精度同步工作,这样才能保证图像和对应的角度信息、时间信息的一致性,从而保证数据处理的精度。系统采用的B码终端同步精度可以达到100 ns,可产生各种频率的同步信号,并以此作为系统的同步源完全可以满足高精度采集系统之间以及系统内部信号的同步精度要求。

测控信息采集主要是测量角度信息和时间信息的采集以及采样时刻的控制。本系统采用RS-422接口通信,将测控信息的采集与图像采集在单块电路板上完成,可以保证信息的严格同步。为了保证测量精度,高速测量设备都应与控制信号实现同步工作,测控信息采集时刻应与摄像机曝光时间中心对齐。采集到的测控信息缓存至专用FIFO中,帧同步信号无效时,在FPGA的控制下,加上测量信息标记后通过千兆以太网发送。

3 千兆以太网传输系统设计

3.1 千兆以太网结构

千兆以太网是开放系统互连(OSI)参考模型中数据链路层和物理层的技术,物理层负责用户设备和网络端设备之间物理与电气的接口,为链路层提供在两个通信系统之间发送序列位流的途径。数据链路层的主要组成部分是媒体无关子层(MAC)和网络驱动程序,负责在两个相邻终端间的线路上无差错地传输以帧为单位的数据,每一帧由控制信息和数据组成[4]。

在千兆以太网标准集中,1000BASE-T标准在桌面领域占据主流地位。1000BASE-T采用复杂的、效率很高的4D-PAM5编码方式,在每对5类非屏蔽双绞线(UTP-5)上以125 MHz的线路频率实现250 Mb/s的传输速度。考虑到实际应用环境,本系统设计符合1000BASE-T标准的千兆以太网传输系统。

3.2 硬件设计

AX88180是台湾ASIX公司针对嵌入式应用推出的千兆以太网数据链路层(MAC)芯片,提供16/32位类SRAM主机接口,内置40 KB的SRAM数据缓存,可用于多种需要高速接入网络的嵌入式系统,在串流媒体、多媒体网络、高频宽带传输等领域有广泛的应用前景。Marvell公司的m88e1111是一款应用广泛的千兆以太物理层(PHY)芯片,其在内部实现4D-PAM5编解码及一系列的硬件信号处理技术、在实际应用中具有优秀的表现。

图3所示为千兆以太网硬件组成图,采用Cyclone EP1C12系列FPGA作为主控制器。FPGA与AX88180之间采用SRAM LIKE接口连接,通过编程实现对其控制寄存器及内部缓存的访问。物理层芯片M88E1111与AX88180之间通过简化千兆媒体无关接口(RGMII)互连。

图3 千兆以太网硬件设计

3.3 千兆以太网控制驱动程序

数据采集前端要通过千兆以太网与计算机交换数据,必须实现针对AX88180的控制驱动程序。本文设计的采集系统具有图像传输及命令接收功能,所以驱动程序需要实现千兆以太网双向通信。设计中采用模块化设计思想,驱动程序被分为4个模块,分别是初始化模块、发送模块、总线控制模块和接收模块。

其中初始化模块在系统上电时运行,完成网络初始设置、状态判断后阻塞。数据发送模块主要产生数据发送所需要的时序,对AX88180发送相关寄存器进行设置,将数据写入芯片的发送缓存,等待发送成功后返回。总线控制模块根据程序运行状态控制数据总线与地址总线在初始化模块、发送模块、接收模块之间切换。场同步信号无效后,总线控制模块判断AX88180中断状态,如果接收中断有效则将总线交给接收模块,接收模块从AX88180接收缓存中读取数据帧并且更新接收缓存指针地址后返回,场无效时间足够完成数据包接收及命令解析的操作。各模块之间的关系如图4所示:

图4 各模块之间的关系

4 软件设计

4.1 网络协议

数据要经过计算机网络传输,必须经过网络协议的封装,即在数据前面加上各层协议的信息首部。考虑到系统应用在点对点通信环境下,并且生成协议首部的所有信息(包括MAC地址、IP地址、UDP端口号、数据包长度等)都可以事先确定。所以提前将协议首部生成,附加在数据前面直接发送即可。数据帧由接收计算机端网卡及系统协议栈后去掉各层信息头后到达应用程序。实验采用各层协议格式如表1所示。

4.2 存储软件设计

由于传输的数据量很大,而且存盘时间除了主要依赖于存储系统的硬件性能外还有很大的随机性,所以必须设计良好的缓存结构,以防止因存盘导致数据丢失。本系统采用不定常队列式缓存结构,将每个队列单元设置为1 282×1 024字节(1 024个数据包为一个缓存单元),采用较大的数据单元可以有效减少写磁盘请求次数。

表1 采用的协议格式

采用多线程程序设计,动态分配缓存单元。网络接收线程将缓存接收满后访问队列并且将缓存挂载至队列尾。存储线程在队列不空时,从队列中取出缓存单元后存盘。使用互斥信号量实现网络接收线程与存盘线程之间的同步。接收数据包与存盘操作均采用异步模式,以提高程序的效率,降低系统负荷。系统可以做到只要平均写磁盘速度大于数据采集速度,就可以保证无丢帧的存储图像数据。

本文设计的图像采集系统,较好地解决了图像与测量信息的同步采集问题。经过实际测试,系统可以稳定在600 Mb/s的传输速度下运行,满足大多数红外相机的数据传输需求,在实际应用中取得了良好的效果。对于其他需要远程传输数据的采集系统,也有一定的参考价值。

[1]张昊.高速视频中运动目标姿态自动判读方法的研究[D].天津:天津大学,2005.

[2]王小艳,张会新,孙永生.Camera Link协议和FPGA的数字图像信号源设计[J].国外电子元器件,2008(7):59-61.

[3]王智,罗新民.基于乒乓操作的异步FIFO设计及VHDL实现[J].电子工程师,2005,31(6):13-16.

[4]谢希仁.计算机网络(第四版)[M].北京:电子工业出版社,2003.

猜你喜欢
驱动程序以太网传输
混合型随机微分方程的传输不等式
牵引8K超高清传输时代 FIBBR Pure38K
基于1500以太网养猪场的智能饲喂控制系统的设计与实现
阻止Windows Update更新驱动程序
关于无线电力传输的探究
计算机硬件设备驱动程序分析
支持长距离4K HDR传输 AudioQuest Pearl、 Forest、 Cinnamon HDMI线
谈实时以太网EtherCAT技术在变电站自动化中的应用
浅谈EPON与工业以太网在贵遵高速公路中的应用
万兆以太网在连徐高速公路通信系统改造中的应用