基于FPGA的多路数据单信道传输方法研究

2016-10-28 03:14肖志河石志强
计算机测量与控制 2016年7期
关键词:传输方式时序信道

刘 欢,肖志河,石志强

(1.北京环境特性研究所,北京 100854;2.电磁散射重点实验室,北京 100854)

基于FPGA的多路数据单信道传输方法研究

刘 欢1,2,肖志河1,2,石志强2

(1.北京环境特性研究所,北京 100854;2.电磁散射重点实验室,北京 100854)

为了解决图像数据远距离快速传输的问题,以光纤作为传输媒介,对基于FPGA平台的图像数据传输方法进行了研究;对图像数据的特点及远距离传输面临的问题进行了分析;设计了运行在FPGA上的多路图像数据时分复用系统;从算法设计的角度展开,对系统的整个运行框架、时分复用模块工作原理、优缺点进行了分析,提出了一种结合优先级的时间轮片通道复用方式,重点对通道复用模块核心算法进行了介绍,详述了编码单元、发送请求模块的设计方法及特点;最后,在仿真环境下,对整个算法进行了验证,实验仿真分析表明数据得到有效传输,实验结果证明多路数据单信道传输方法有效合理。

高分辨率; 图像传输 ;时分复用;优先级;时间轮片

0 引言

目前,图像数据传输的方式主要有3种:第一种是基于数据压缩的传输方式,典型方案是将前端记录的图像数据采用编码的方式进行压缩,降低数据率,然后通过以太网、无线信道等进行传输。其优点是技术较为成熟、传输距离不受限制,但缺点是随距离增加传感器的图像质量下降,实时性也较差。因此,压缩传输只适合作为一般观测类应用,不适合对图像实时性要求较高的应用;第二种是基于模拟信号的PAL(NTFS)制式传输方式,这种视频信号常采用同轴75欧姆电缆进行传输,传输距离很容易达到200 m以上,具有实时性强,传输距离远的特点,但其不足是传输方式决定分辨率有上限,PAL制式的分辨率最高为576行,因此无法满足高分辨率图像的传输需求;第3种是以VGA、DVI、HDMI以及cameralink为代表的一类视频传输方式,其中VGA、DVI、HDMI等传输方式在消费领域较为常见,cameralink传输方式则在工业领域应用广泛,它们的共同点是传输视频分辨率适应范围较广,能够实时传输高分辨率高帧频的数据流,但缺点是只能进行近距离传输,例如VGA、DVI和HDMI传输方式的传输距离不会超过15 m, cameralink传输方式的传输距离不会超过10 m。并且随着分辨率的提高,传输距离和传输质量还会进一步下降。

一种常见的改进方式是将VGA、DVI、HDMI、cameralink通过光电转换单元转换为光信号,通过光纤进行传输,这样即解决了实时性的问题,又由于光通道有传输距离远,不易受外界影响的特点,解决了远距离传输的问题[1-2],目前大部分视频采用单路光纤来传输单路信号,用该方式传输多路视频信号就需要多根光纤,很高的光纤带宽没有得到充分利用,信道利用率低,系统成本高。因此,有文章提出基于时间轮片的时分复用数据传输方案,实现单路光信道传输多路数据,但该方案在总数据率达到或超过信道带宽或者某一通道的图像数据出现异常时,会使整个传输信道出现错乱,可靠性较差。

为提高光信道利用率和传输的可靠性,本文设计一种结合时间轮片和基于优先级调度算法的多路数据单信道传输的时分复用方法,该方法通过将单路图像进行压缩编码并合理设计多路视频传输策略,最终实现了一个可以将多路视频流通过单信道进行传输。

1 系统功能、结构及工作原理

整个复用模块结构如图1所示。

图1 多路数据单信道传输时分复用模块

从图1可以看到,数据编码单元对输入视频流进行无损编码,减少视频流的数据量。在这一部分中,本文将行场同步信息复合进图像数据流中,然后对消隐期时序进行压缩,通过计数的方式,将消隐期的时序信息完整保留进编码后的数据流中,达到既压缩视频传输带宽,又能完整保留数字图像时序信息的目的。同时,针对本文最终要处理的14位图像的特点,设计了一种简单合理的奇偶校验恢复方式。

时分复用选通打包模块作为系统的重要组成部分由发送请求模块和发送决策以及状态机编码模块组成。模块结构如图2所示。

图2 时分复用打包模块

发送请求模块检测通道使能信号并通过fifo标志信号产生发送请求,在内部计时模块的参与下输出超时发送请求标志。

发送决策及编码状态机实现对经过编码后的选通通道数据二次打包,添加通道信息后通过单通道发送出去,实现多通道数据信道复用。

为了体现通道的可扩展性,本设计在每个通道发送请求模块上添加了通道使能标志,可以通过通道使能标志来决定是否使能相应的通道发送。经过压缩的数据在数据有效时,一般采用固定发送包大小的传输方式连续的传输数据,但在行消隐或者场消隐期间,编码后的数据量少,如果采用该方式可能导致信号得不到及时的传输,严重情况下会打乱接收端对图像数据的时序恢复。因此,发送端采用fifo的半满标志去触发数据传输请求,并且通过内部计时设置一个超时传送机制。以此解决传输的时效性问题。

发送决策机制采用具有优先级的决策模型。即在不同通道的发送请求同时到达时,优先处理通道号小的发送请求。这样,在通道带宽不够的情况下,能够优先保证通道号小的通道进行传输,最大限度的保证通道传输的完整性。

本文中复用通道的数量取决于信道带宽,对于2.5 Gbps的信道,最多可以复用2 Gbps的传输数据,这要求各通道的带宽之和不超过2 Gbps,整个模块的发送速率取决于串行收发器的收发速率。

2 通道复用模块核心算法设计

本系统针对的实际工程图像数据为14位位深。通过高位添加2位数据,采用16位数据进行编码传输。其中,数据的第15位作为系统的控制字/数据标识的区分,这里定义1:控制;0:数据。将信道的14位作为单字节数据的校验位来使用。

2.1 编码单元

标准的视频图像流如图3所示,其中有效视频流数据只在行有效期间进行传输。实际只需要传输行有效期间的视频数据,对于行消隐以及场消隐,可以通过传输一个标志位以及表示时序的信息即可。

图3 图像数据一般格式

由时序图可知,传输状态分为场消隐、行消隐(场有效)和数据有效。因此,设计了如表1~2帧结构。

表1 数据有效帧结构

表2 场/行消隐帧结构

对于有效数据,首先输出一个数据有效控制字,然后顺序输出带校验的有效行数据,在有效行结束后,输出包尾控制字,完成一组数据的编码。对于行/场消隐,则首先输出对应的行消隐或者场消隐开始标志,然后按照像素时钟进行计数。计数值大于0x7F输出一个计数满标志,重新开始计数,从输入视频流中检测出对应的行场消隐状态改变候,结束计数,输出对应的计数值,并输出包尾控制字。

因为图像传输对误码率的容忍度较高。因此,在图像数据传输过程中,采用较为简单的偶校验,如果接受部分检测到图像数据的误码,则利用前一位有效像素直接代替本位像素进行显示。但是对于行/场帧计数,因为会影响到图像的整个时序,则采用冗余码,计数限定在7位,在一个16位传输数据中,分别利用低14位,同时传输计数结果,第14位则对计数值进行一次偶校验[3]。这样,在接收端,首先利用0~6位加校验位来判断传输计数结果的有效性,如果计数值无效,则利用7~13位计数结果进行后续恢复。

2.2 发送请求模块

通常通过光纤等串行信道发送的数据包具有固定的包长,这种方式缺点明显,主要表现在低码率的通道,对于数据率差异很大的两个通道,低码率通道发送延迟要明显高于高码率通道,多路传输不同步。

对于单路图像数据,由于编码后的图像流在传输过程中具有突发传输的特点。即有效数据流传输时,码率高,只传输消隐期数据,则码率很低。如果只是凑够了一定的数据包大小才启动一次传输,则会造成消隐期数据发送迟滞,严重情况下会打乱接收端时序,最终传输失败。

这里,采用一种类似时间轮片的方法,一方面采用fifo状态标志来产生发送请求,即当fifo中数据达到发送长度时,发送请求模块产生一次发送请求;另一方面,如果fifo不空的时候,启动一个内部计时机制,在达到超时的情况下,虽然fifo内的数据达不到发送正常包的长度,依然去请求一次发送,来满足系统实时性的要求。

发送决策及编码状态机的工作流程是首先对不同模块产生的请求进行排序。如果当前只有一个通道产生发送请求,则对产生发送请求通道的数据进行一个打包发送。如果两个通道同时产生发送请求,则首先响应通道号较小的通道,当发送完通道号较小的通道缓存fifo数据后,然后再发送其它。在正常情况下,这种方式显现不出太大优点。但是如果视频通道的总数据率达到或超过信道带宽或者某一通道的图像数据出现异常时,这种方式,只阻塞通道号大的通道即低优先级的通道,通道号小的通道图像即高优先级的通道正常传输,而不是整个传输信道出现错乱,从而提高传输的可靠性。

在通道编码过程中,分别定义如下控制字:

通道1包头:0xC077

通道2包头:0xC877

通道3包头:0xD177

通道4包头:0xD977

包尾:0xD277

空字节1:0xFFFF

空字节2:0xFFFE

其中空字节1和2,主要的目的是给后面串行发送模块预留出来时钟校正和字节排序码的时序。

整个包格式如表3所示。

表3 整个包格式

当发送状态机相应某一通道发送请求后,首先发送8个空字节1,接着发送1个空字节2。然后,开始发送添加了包头和包尾的一段通道数据,当发送fifo的数据为空时,结束发送。

3 实验仿真验证与分析

整个工程是在quartus环境下进行设计,目标器件是WP4CGX110T[4][5],使用的仿真开发平台为modelsim 10.1d。

在设计中,为了仿真结果更接近实际,分别对3个通道输入如下仿真激励信号:通道1和3:320×256×50 Hz,通道2:640×512×100 Hz,时钟均为50 MHz。图4为输入的三路激励波形。图5是数据编码模块的仿真。

图4 仿真激励波形

图5 数据编码模块仿真结果

图中VSYN1、HSYN1分别指代的是场有效及行有效信号,stream_data1为编码后的数据流,stream_data_en1为编码后的数据有效标志,由图中stream_data_en1可知,编码后的数据流只包含有效行的数据以及少量的消隐期计数数据,整个对传输数据流的压缩效果较好。

优先级编码传送结果如图6~8所示。

图7 高优先级抢占低优先级传输

图8 低优先级抢占高优先级

图中bag_en指示的是不同通道打包发送的一组数据,可用来估计不同时刻到底是打包的哪个通道数据。由图中看出,在不同请求同时到来的情况下,程序先满足通道数小的通道,进行数据包的发送,而在不同通道包发送过程中,程序不会去响应其他通道发送请求,能够达到设想的效果。

最终的发送请求和传输细节可由图9看出。

图9 信道发送综合效果图

在图中,当视频信号处于消隐期的时候,模块依然可以通过内部定时产生等间隔的超时发送请求,满足实时传输的要求。而且由请求信号和bag_en 信号的疏密可知,3路视频已经完整的复用在了最终的数据流bag中,达到了实时复用的目的。

由仿真结果可以看出,数据编码、时分复用打包模块达到了设计的效果,整个多数据单信道复用的传输方法算法有效可行,达到了预期的目的。

4 结论

本文所设计的多路数据单信道传输时分复用模块,很好地解决了多路视频同时传输的问题。尤其是发送请求模块,结合时间轮片和基于优先级的调度算法,在满足各通道实时传输的条件下,为尽可能多的时分复用信道提供一种可靠方法,理论上可以复用接近一个串行通道的传输极限,对于2.5Gbps的信道,最多可以复用接近2Gbps的传输数据,是一种经济、实用的图像数据传输方式,可以应用于多路视频同时传输系统。

[1] 吴 贺.多通道数字光电转换系统的设计与实现[D]. 西安:西安电子科技大学,2013.

[2] 肖儿良,韦荣明,颜文超. 基于Aurora及CameraLink的高速数字图像传输[J]. 信息技术, 2015(4):94-97.

[3] 姚七栋,张春玉.CRC校验及其软件实现[J]. 现代电子技术,2006(13):67-68.

[4] 陈忠平,高金定,高见芳.基于Quartus II的FPGA/CPLD设计与实践[M].北京:电子工业出版社,2010.

[5] 王 诚,蔡海宁,吴继华.Altera FPGA/CPLD设计(基础篇)[M]. 北京:人民邮电出版社,2011.

Research on Method for Single Channel Transmitting Multi-channel Data Based on FPGA

Liu Huan1,2,Xiao Zhihe1,2,Shi Zhiqiang2

(1.Beijing Institute of Environment Characteristics, Beijing 100854, China;2.National Electromagnetic Scattering Laboratory, Beijing 100854, China)

In order to solve the problem of fast and long-distance transmission for image data, using optical fiber as medium , optimization for the method of image transmission based on the FPGA was studied. Characteristic and the long-distance transmission difficulties of image data were also analysed. We designed a time-division multiplexing (TDM) transmission system running on the FPGA. To begin with algorithm design, this paper analyses the advantages and disadvantages of the operating framework and operating principles of reused-module. Meanwhile, a reused-module based on the time-slice was proposed. This paper introduces the core algorithms of reused-module, details the coding unit and the design method and characteristics of the transmission requiring module. Finally, the effectiveness of the image transmitting method was verified by the experiment, and the results demonstrate that the method for single channel transmitting multi-channel data is efficient and reliable.

high resolution; image transmission; TDM; priorities; time-slice

2016-01-26;

2016-03-07。

刘 欢(1985-),男,河北廊坊人,硕士研究生,主要从事信号处理方向的研究。

肖志河(1966-),男,北京人,研究员,硕士研究导师,主要从事电磁场散射、信号处理等方向的研究。

1671-4598(2016)07-0276-04

10.16526/j.cnki.11-4762/tp.2016.07.074

TP391 文献标识码:A

猜你喜欢
传输方式时序信道
清明
基于不同建设时序的地铁互联互通方案分析
基于FPGA 的时序信号光纤传输系统
可穿戴式多通道传感系统功能需求分析及设计
一种毫米波放大器时序直流电源的设计
基于分布式传感器的GIS局部放电在线监测实时数据传输方式的研究
基于导频的OFDM信道估计技术
一种改进的基于DFT-MMSE的信道估计方法
基于MED信道选择和虚拟嵌入块的YASS改进算法
浅谈工程建设中的信息化发展与网络传输方式选择