基于HDLC协议的数字图像传输链路设计

2012-06-23 06:38苏桂芝杨志谦
火控雷达技术 2012年2期
关键词:数字图像校验链路

苏桂芝 杨志谦 邵 威 夏 勇

(中国电子科技集团第三十八研究所 合肥 230088)

1 引言

数字图像是由模拟图像转换而来的一组数据矩阵信息[1],可以对其进行特征提取、图像分析、图像处理以及图像识别等工作。在现代化的工业生产中,正越来越多的使用数字图像技术对目标进行检测、跟踪和定位,从而大大的提高了工作的效率。一般情况下,数字图像通过电缆从采集点传送到信息处理中心,但是在一些难以使用电缆的场合,如旋转、移动的图像采集设备或大范围、远距离的视频监控系统中,则大多采用无线通信作为有效的传输方法[2]。无线通信方式虽然可以不受地形等因素的限制,但极易受到周围电磁环境的影响,并且数字图像的数据量一般都较大,在无线传输链路中容易产生误码和丢帧的现象,使得最终的显示结果出现较大的失真。HDLC协议是一种高级数据链路控制协议,它具有差错检测功能强大、实时和同步传输的特点。为了在图像传输过程中降低误码率,并且保证其高速性和实时性,本文设计了一种基于HDLC协议的传输链路。

2 数字图像的表示形式

通常人眼观察到,未经采样与量化的图像称为模拟图像,但是计算机无法接受模拟图像,因而必须对它进行采样和量化使之转换成为数字图像才能被处理,即图像的数字化[3]。

取样是将模拟图像在空间上离散化,是将一幅连续图像在空间上分割成M×N个网格,把取样网格点上对应的连续亮度转换为单个特定数码的过程,称之为量化。行数、列数和量化等级都取2的整数次幂,且每级只取整数值。这样就形成一个矩阵,其每个元素称为图像元素,简称象素。象素的值称为灰度级,通常量化为 256级,用 0、1、2、…、255表示[4]。图像上每一点的灰度级与其亮度相对应。一般说来,灰度级越大,图像越亮,颜色越浅,这样就得到一幅数字图像。

在数字图像的无线传输过程中,数字图像采用函数的形式来表示。黑白图像可以应用二维函数f(x,y)表示,x,y是平面的两个轴的坐标,f(x,y)表示点(x,y)的亮度值(灰度值)。彩色图像可用f(x,y,λ)表示,λ为波长。活动彩色图像可用f(x,y,λ,t)表示,λ 为波长,t表示时间。

在准备传送前,将数字图像的象素信息按照八方向链表形式进行编码,形成一组数据。正东方向零度为000,逆时针方向依次为001——111。按照后点相对于前点的方向进行编码,如图1所示。

图1 八方向链表

3 HDLC协议模型

HDLC(High Level Data Link Control)协议是国际标准化组织(ISO)推出的高级数据链路控制协议[5]。HDLC是面向位的链路控制规程,在 HDLC协议中,采用帧结构传输数据,用一帧表示一组完整的信息,如图2所示,它既可以用于通信的控制,也可以用于数据的传输。

HDLC协议规定,所有信息的传输必须以个标志字开始,且以同一个标志字结束,这个标志字就是0x7E。接收方可以通过搜索0x7E来判断帧的开始和结束,以此建立帧同步[6]。地址字段表示链路上站的地址,控制字段实现了HDLC的许多重要功能,根据其最前面两个位的取值,可将HDLC帧划分为:信息帧(I)、监督帧(S)和无编号帧(U)。信息字段为所要传输的数据。帧校验采用循环冗余校验码CRC[7],对地址、控制和信息字段进行校验,插入的“0”不在校验范围。16位帧校验序列码多项式为:

32位帧校验序列码多项式为:

HDLC协议包含帧发送控制和帧接收控制,因确定0x7E(01111110)为控制字符时,传输的帧的比特序列中就不能出现与它相同的比特序列,否则就会出现判断的错误。这也就是帧数据传输的透明性问题。同样,在两个01111110的标志字段之间的比特序列中,如果出现了和标志字段一样的比特组合,那么就会误认为是帧的边界。为了避免出现这种错误,HDLC规定采用插零/删零的方法。

图2 HDLC帧结构

插零/删零的方法规定:发送端在两个标志字段之间的比特序列中,如果检查出连续的5个1,不管它后面的比特位是0或1,都增加一个0;那么在接收过程中,在2个标志字段之间的比特序列中检查出连续的5个1之后就删除一个0。在数据发送端,经过0比特插入后的数据就可以保证不会出现6个连续1。在接收一个帧时,首先找到标志字段以确定帧的边界,接着再对其中的比特序列进行检查,每当发现5个连续1时,就将这五个连续1后的一个0删除,以便将数据还原成原来的比特。这样就保证了在所传送的比特序列中,不管出现什么样的比特组合,也不至于引起帧边界的判断错误。采用插零/删零的方法后,帧内就可以传送任意组合的比特序列,即可以实现数据链路层的透明传输。具体发送接收流程如图3所示。

图3 传输链路流程

4 传输链路设计

将HDLC协议用于无线的数字图像传输,一方面要保证数据的同步通讯,另一方面要实现数据的透明传输。

4.1 FPGA内部流程

图像数据信息经过数据总线和地址总线不断的从CPU传送至FPGA,由FPGA将大量的数据按照HDLC协议的格式进行打包,发送出去[8]。为了保证数据传输的同步性,在发送数据的同时,提供数据的同步时钟,且时钟的连续性和时钟频率是可控的,在接收数据时就可以通过同步时钟来判断数据流的标志位,实现帧同步。FPGA内部的HDLC协议处理流程如图4所示。

图4 HDLC协议处理流程

4.2 数据透明传输

HDLC的帧同步方式利用“0比特插入法”对数据实现透明传输,传输信息的比特组合无任何限制。在发送端和接收端相应地进行“插零”及“删零”操作。这样使得HDLC具有良好的透明传输特性。

实现“插零”和“删零”操作的部分源代码如下:

通过示波器观察发送出来的数据,波形如图5。

图5 HDLC数据与时钟

5 仿真及试验结果

首先对设计的HDLC链路进行仿真测试,采用无线电台发送一组0~255连续有序数据,在接收端CPCI计算机接收数据并存文件,将发送端的数据与接收到的数据加以比较,以测试整个链路的有效性。

采用MATLAB进行数据分析,由图6可看出,收到数据和发出数据完全重合,证明该链路是有效的。

图6 模拟传输测试图

当仿真测试完全正确后,还需对真实的图像数据进行传输测试,为了证明HDLC协议的有效性,分别采用普通方法传输和本文设计的链路进行无线传输,并对发送和接收到的数据进行比较,如图7、图8所示。

图7 实际图像传输比较(普通)

分析图7和图8,可以看出,在普通方式下传输图像数据,收到的数据和实际发送的数据存在明显的差别,即误码较多,而运用HDLC协议的传输链路收到的数据和实际传输的数据完全吻合,大大的降低了传输的误码率,满足数字图像数据的无线传输要求。

图8 实际图像传输比较(HDLC)

6 结束语

数字图象传输具有数据量大、实时性要求高的特点。本文将HDLC协议应用在数字图像的无线传输中,实验结果表明,本方法是可行、有效的,并且相比普通的无线传输,其误码率较低,传输过程稳定、可靠。

[1] 沈兰荪.图象编码与异步传输[M].北京:人民邮电出版社,1998.

[2]申长军,吴庆宏.低功耗无线数字传输块的设计与应用[J].电子技术应用,2004(9).

[3] 杨新伟,计欣华,陈金龙.三维白光数字图象频域分析法及其应用[J].机械强度,2009(04).

[4] 王剑.基于MATLAB的小波变换在图象压缩中的应用[J].计算机工程与应用,2003,(01).

[5]CHEN He,HAN Yue qiu.ASIC Design of High-Speed Low-Power HDLC Controller[J].JournalofBeijing Institute ofTechnology,2003,vol.12.

[6] 文冠果.一种新型的128路多通道HDLC引擎设计[J].微电子学与计算机,2004,21,(9).

[7] 石建平,黄乡生.基于FPGA的循环冗余校验算法实现[J].信息与电子工程,2008,6,(5).

[8] 谈国文,张炜,朱丹,顾英.基于HDLC协议的实时通信软件的设计与实现[J].计算机工程与科学,2000,(04).

猜你喜欢
数字图像校验链路
使用Excel朗读功能校验工作表中的数据
数字图像水印技术综述
天空地一体化网络多中继链路自适应调度技术
基于星间链路的导航卫星时间自主恢复策略
数字图像加密技术及其安全性分析
浅析民航VHF系统射频链路的调整
面向拼接与克隆篡改的数字图像内容取证系统设计
智能电能表的现场快速校验方法探讨
电子式互感器校验方式研究
一种IS?IS网络中的链路异常检测方法、系统、装置、芯片