一种高实时性无人机数据链帧处理技术

2015-03-15 08:58方威李德尚邹泉
飞行力学 2015年1期
关键词:数据链实时性缓冲区

方威, 李德尚, 邹泉

(中国飞行试验研究院 中航工业飞行仿真航空科技重点实验室, 陕西 西安 710089)

一种高实时性无人机数据链帧处理技术

方威, 李德尚, 邹泉

(中国飞行试验研究院 中航工业飞行仿真航空科技重点实验室, 陕西 西安 710089)

为满足无人机遥控飞行试验中数据链传输的高实时性和可靠性要求,提出了数据帧设计和处理技术,加入拼帧机制并改进了数据链传输性能。通过在理想仿真环境、半实物仿真环境和真实飞行中对帧处理技术的研究,总结了拼帧设计思路和方法。最后,通过分析遥控飞行试验的测试数据,验证了帧设计及处理技术的正确性和可靠性。

无人机; 数据链; 时间延迟; 帧处理

0 引言

在空地通信系统发展的初期,系统主要传送话音数据。此时,空地通信采用甚高频(VHF)空地通信系统和短波(HF)通信系统。这种通信手段存在一定的局限性,例如话音传送速度慢、通信质量不稳定以及容易出错等。因此,20世纪70年代,美国ARINC公司开发了一种基于VHF的空地数据通信系统,它具有通信速度快、抗干扰能力强、误码率低等特点,弥补了话音通信的缺点。21世纪以来,无人机技术取得了长足的发展,而其中的数据链(空地数据通信)成为连接无人机与指挥控制站的纽带,使得此项技术变得更为关键。

本文侧重于无人机数据链的软件设计,针对数据链通讯技术,基于某军用级数据链路平台,研究了上下行通讯中数据帧的设计和处理技术。

1 数据链组成及数据帧设计方法

1.1 数据链组成

无人机数据链一般由机载部分和地面部分组成,如图1所示。机载部分包括机载数据终端和天线,地面部分包含地面数据终端和一付或几付天线。

图1 无人机数据链的组成Fig.1 Composition of UAV’s data link

从功能方面讲,无人机数据链分为上行链路和下行链路。上行链路主要传输地面站至无人机的遥控指令,下行链路主要传输无人机至地面终端的遥测数据,一般下行链路的传输速率远远高于上行链路[1-2]。

1.2 数据帧设计方法

建立数据链平台后,要确定数据以何种格式传输,即数据帧设计。数据帧要结合无人机使用功能来设计,需同时考虑实时性要求、传输方式以及数据传输对数据链路上下行带宽的要求。带宽代表了数据链的传输性能,决定了数据传输的时间长短和数据量大小,所以要尽可能地利用带宽,设计满足使用要求的数据帧协议。

数据链根据传输长度一般分为两种:一种为面向比特型传输,例如美军战术数据链,数据传输的最小单位为一个比特位[3-4];另一种为面向字符型传输,例如点对点的军用数据链、民用数传电台等,数据传输的最小单位为一个字节(8个比特位),一般由422总线或232总线传输。由于第二种传输方式应用广泛,因此,本文讨论面向字符型帧协议。

图2介绍了两种帧格式,其共同点是均有同步字和校验码。设置同步字是为了标明帧头位置,校验码用于检验误码。图2(a)端对端帧格式简单、长度固定,最大程度地实现了多数据同时传输,特别适用于端对端、要求实时性高的遥控操纵;其不足之处

是所有数据都有其固定位置、不够灵活,且对带宽有一定的要求。图2(b)广播帧格式较为复杂、长度变化,除数据段外还有发送端和接收端号、信息种类、数据长度等信息,适用于广播式发送、要求实时性一般的场合;其缺点是数据没有固定位置,软件处理复杂[5]。

图2 数据链帧格式Fig.2 Frame format of UAV’s data link

2 帧处理技术

2.1 概述

本文基于实时性要求较高的遥控飞行,对帧处理技术的研究均基于端对端数据帧格式。数据帧处理技术包括帧发送和帧接收处理。数据帧发送参照帧协议要求,在发送缓冲区中对应位置填上同步字、数据位和校验字即可;帧接收相对复杂,不仅要参考帧协议要求,还要考虑硬件设备及其应用环境。以下结合无人机遥控飞行的试验过程,介绍帧处理技术以及加入拼帧机制的处理方法。不同仿真环境下的帧处理方式如图3所示。

图3 仿真环境Fig.3 Simulation environment

2.2 理想仿真环境中的帧处理技术

图3(a)中,两台工控机分别运行串口发送软件和接收软件,设置定时器为15 ms,循环发送和循环接收。测试在理想仿真环境下数据传输的丢帧率、时间延迟。试验中取出接收缓冲区中的数据,根据帧协议判断同步字头、帧长和校验码分析测试结果。在没有作任何接收处理技术时,所有接收帧与发送帧完全一致,数据解包正确、丢帧率为零,时间延迟为15 ms(等于程序运行周期)。反映出在有线连接条件下,422总线之间的通讯正常,数据传输结果理想。

2.3 实物仿真环境中的帧处理技术

图3(b)中,数据链地面终端和机载终端分别连接工控机上串口,地面终端和机载终端用同轴电缆相连。取出接收缓冲区中的数据,根据帧协议判断同步字头、帧长和校验码。从结果看,接收数据长度不等于发送数据长度,且长度不断变化,导致数据无法解包。分析原因,由于此种环境下系统参与的硬件较多,每个硬件有各自的时钟,数据发送和接收在时序上不能保证精确统一,所以接收到的数据长度会不断变化,解决方式是采用拼帧机制。拼帧机制如图4所示。

图4 拼帧示意图Fig.4 Schematic diagram of frame piecing

图4中,软件中设置一个固定长度缓冲区(长度设置足够大),并为该缓冲区设置输入和输出两个指针。输入指针始终指向该缓冲区中最新接收数据段尾,输出指针始终指向前一次取出一个完整帧的帧尾对应在固定缓冲区的位置。实际应用中,当串口接收到数据后,取出接收缓冲区中的数据,将其放入固定缓冲区中,同时累加输入指针指向新数据段尾。接下来,从输出指针和输入指针之间的缓冲区数据中,即图中显示待处理帧数据段,根据同步字、帧长和校验码取出一个完整的帧数据,即图中显示的一个完整帧,再根据帧协议解出对应参数。最后更新输出指针位置到字节N+1位置。

加入了拼帧机制之后,解决了接收长度不断变化的问题,最终可以得到一个完整正确的帧数据。

2.4 真实飞行环境中的帧处理技术

图3(c)中,进行人在环地面闭环试验时,出现了操纵延迟随时间累积的现象。现象描述为开始操纵和响应的时间延迟较小,约为300 ms(数据链路延迟和飞机本体操纵响应延迟之和),但随着试验的进行,时间延迟开始逐渐增加,达到2 s左右的时间延迟,且仍有增加趋势,此时的遥控飞行操纵根本无法进行。

分析其原因,现有拼帧机制虽然保证可以接收到完整帧,但并没有考虑到实时性要求。例如,当固定缓冲区中输入指针和输出指针间的数据段长度较长时,采用先入先出(FIFO)顺序取出一个完整帧,此时在时间上靠后的数据即便也形成了一个完整帧(图4中实线输出指针和输入指针间的数据段),也不会提取出来,而是等待到下一个循环接收处理时再取出。所以接收到最新的数据要等到一个循环周期或多个循环周期才被取出,且循环周期会随时间不断累加,最终出现了操纵延迟随时间累积的现象。

解决方法是采用后入先出(LIFO)顺序取出一个完整帧。即在新数据段中找出所有的帧同步字,并作标记。首先判断数据段尾部的帧同步字是否能构成一个完整帧,如果是一个完整帧则取出,同时解出对应参数,此时这些参数即最新一次接收的数据,满足了实时性要求;如果不是一个完整帧(帧长度不够或校验码出错),则取该帧之前的一帧数据,满足了减少丢帧率的要求。拼帧机制流程如图5所示。

图5 拼帧机制流程图Fig.5 Flow chart of frame piecing

与前次试验结果相比,数据链时间延迟约为110 ms,且没有了操纵延迟随时间累积的现象,遥控飞行操纵基本可以进行。但从记录数据来看,会出现间歇性时间延迟变大和解出参数出错问题,后又恢复正常。

分析数据源,发现串口接收数据长度会突然增加很大,原因与机载飞控计算机的串口卡缓冲区设置及双余度管理、数据链终端的发送或接收缓冲区的数据堆积有关。解决方式是将接收缓冲区数据放入固定缓冲区之前,加入接收长度判断。若长度超过限定最大长度,则认为此组数据无效,丢弃不做处理,参数值维持在前一帧状态,直到接收到下一帧数据,状态才会改变。

3 在遥控飞行试验中的应用

经过上述对拼帧机制的改进,进行了多次的空中遥控飞行试验,试验结果满足飞行要求。

3.1 数据链时间延迟

图6为数据链时间延迟结果图。图中:实线为地面站接收信号test-rx;虚线为地面站发送信号test-tx;横轴为时间;纵轴为测试信号参数值(无量纲)。

图6 数据链时间延迟Fig.6 Time delay of UAV’s datalink

根据信号传输路径和硬件数据刷新率,可计算出理论时间延迟85 ms[6]。由于忽略了信号在其他介质中传播花费的时间,实际的时间延迟略大于85 ms。分析图6,选取每个锯齿波顶端为分析点,实线滞后虚线,观察多个顶端点,滞后时间基本相同,可知时间延迟固定无累加。从图中测量时间延迟范围在90~110 ms,与理论计算基本相符。

图7和图8给出了遥控飞行时的横向和纵向操纵时间延迟。操纵信号we和wa为地面站侧杆指令;p和q为回传到地面站的飞机滚转角速度和俯仰角速度;横向和纵向操纵时间延迟分别为324 ms和365 ms,是数据链和飞机本体时间延迟之和,基本满足遥控飞行。

图7 横向操纵时间延迟Fig.7 Time delay of lateral control

图8 纵向操纵时间延迟Fig.8 Time delay of longitudinal control

3.2 系统丢帧率

系统丢帧率包括整个链路受到干扰丢帧、终端处理丢帧以及为满足实时性而主动丢帧,如图9所示。图中每个点表示一帧数据,数据帧从1以一个单位递增到100。统计可得1~100单位中丢失的数据帧大多为22~27个,所以系统丢帧率范围为22%~27%。

图9 系统丢帧率Fig.9 System frame loss rate

帧缺失计数是指当程序每周期接收中出现接收零字节、接收缓冲区中无帧头、接收帧长度错误及接收帧校验码出错时的帧缺失计数累加。当上述任一条件不满足时,帧缺失计数清零。加入拼帧机制后,可知程序运行1~2个周期即可形成一个完整帧。帧缺失计数如图10所示。可以看出,帧缺失计数在0~1之间,与前述结果相符。遥控飞行时,地面虚拟视景画面运动连续,飞机状态参数显示数值连续,基本满足地面操作员观察的需要。

图10 帧缺失计数Fig.10 Frame loss count

4 结束语

本文提出的数据帧设计和处理技术加入了拼帧机制,并结合实时性要求作了进一步改进。对飞行试验数据统计分析表明,数据链上下行时间延迟约为110 ms,遥控操纵时间延迟约为350 ms,丢帧率约为25%。该帧处理技术已经过多次遥控飞行试

验验证,其实时性和可靠性基本满足飞行员提出的遥控驾驶要求。

[1] 王俊,周树道,程龙,等.无人机数据链关键技术发展趋势[J].飞航导弹,2011(3):62-65.

[2] 罗敏.数据链技术的发展及其应用[J].电子工程师,2008,34(9):51-52.

[3] 彭辉,相晓嘉,吴立珍.有人机/无人机协同任务控制系统[J].航空学报,2008,29(S1):135-141.

[4] 余昀.无人机数据链协议研究[J].舰船电子工程,2008, 28(9):50-54.

[5] 黄高阳,黄英君,骆志刚,等.数据链可靠传输协议的设计与仿真[J].系统仿真学报,2009,21(S2):218-225.

[6] 方威,王锋,丁团结.无人机数据链性能研究[J].飞行力学,2010,28(6):68-71.

(编辑:李怡)

UAV’s data link frame processing technology with high real time

FANG Wei, LI De-Shang, ZOU Quan

(AVIC Aeronautical Science and Technology Key Laboratory of Flight Simulation, CFTE, Xi’an 710089, China)

To meet the requirements of good real-time and high reliability for data-link transmission in UAV remote control flight tests, the data frame design and processing technology with frame piecing mechanism were introduced. The technology could improve data-link transmission performance. The frame piecing design concept and method were summarized through the research on the frame processing technology in the ideal simulation, semi physical simulation and actual fight test environments. Finally, feasibility and reliability of the frame design and processing technology were validated based on the analysis of remote control fight test data.

UAV; data link; time delay; frame process

2014-05-19;

2014-09-10;

时间:2014-11-04 08:27

方威(1983-),男,江苏徐州人,工程师,主要从事飞行控制、无人机数据链路通信研究。

V279; V217

A

1002-0853(2015)01-0087-05

猜你喜欢
数据链实时性缓冲区
基于规则实时性的端云动态分配方法研究
多平台通用数据链助力未来战场
高速公路工程项目实施中数据链应用探析
基于深度学习的无人机数据链信噪比估计算法
嫩江重要省界缓冲区水质单因子评价法研究
基于虚拟局域网的智能变电站通信网络实时性仿真
一种无人机数据链信道选择和功率控制方法
航空电子AFDX与AVB传输实时性抗干扰对比
关键链技术缓冲区的确定方法研究
一种车载Profibus总线系统的实时性分析