民航VHF ACARS数传通信系统消息处理方案*
2014-03-06陈乐然
陈乐然
(中国西南电子技术研究所,成都 610036)
1 引言
民航通信最早是通过高频(High Frequency,HF)和甚高频(Very High Frequency,VHF)话音通信完成的,但随着民航运输业的迅猛发展,民航通信业务量大大增加,话音通信VHF频道拥挤和阻塞、HF系统通信质量不高、人为因素干扰容易使人产生误解和错误等缺陷日益突出,直接影响到飞行安全和航班准点。为了提高通信链路的可靠性和完整性,航空公司引入了VHF地空数据通信系统,由于其传输速率快,抗干扰能力强,误码率低,已成为保障飞机安全、准点、效率和效益提高的必要手段[1]。正是认识到数据通信的优越性,当前世界上很多地区均采用一种面向字符的VHF地空数据通信系统——飞机通信寻址与报告系统(Aircraft Communication Addressing and Reporting System,ACARS)。ACARS系统地空通信的工作方式为半双工,数据链基于字符传输,同时采用无线信道载波侦听多路访问(Carry Sense Multiple Access,CSMA)通信协议,共同保证传输链路稳定可靠和信息的传输质量,具有资料和数据在航空公司内部共享以及增加信息量、降低成本等优点。
我国民航数据链网络的建设也主要支持基于VHF的ACARS数据链通信技术,但使用的是美国ARINC公司的ACARS系统。随着国内民航飞行量的快速增长,非常有必要实现国内自主研发的ACARS系统,同时储备自己的关键技术。基于上述需求,结合实际工程应用,在对ACARS关键技术深入研究的基础上,采用DSP+FPGA核心设计架构,配合其他功能设备,实现了国内自主研发的VHF地空数据链民航ACARS通信系统。
2 机载甚高频ACARS通信系统简介
ACARS系统主要由机载系统和地面系统组成,其中机载系统由ACARS通信管理单元(Communication Management Unit,CMU)、综合显示控制器、机载VHF设备、飞机特性组件和相关线路、软件等部件组成,通过航电总线与航电系统连接,完成飞机话音和数据通信功能;地面系统由地面收发站和数据处理站、航空公司处理和分析终端等组成。
机载系统中的CMU和VHF设备通常作为ACARS数据链系统的机载终端,共同实现地空数据链通信管理,主要包括数据链通信的网络管理、数据路由、消息处理等功能。CMU接收来自航电系统的各种应用消息,采用ACARS协议进行处理后,通过数据链子网(VHF机载设备、HF等)发送出去。本文主要针对这些应用消息机制进行阐述,同时介绍了消息处理的设计与实现。ACARS通信系统的消息包含两种消息:下行消息(即飞机向地面传送的消息)、上行消息(即地面向飞机发送的消息)。消息处理机制主要在VHF机载设备中完成。
VHF机载设备的主要工作模式为ACARS A,数据传输速率为2.4 kb/s,信道接入方式采用 CSMA方式。设备由电源、终端、信道及功放单元组成,其中终端模块是设备最核心处理模块,主要完成控制管理、数据处理、中频信号的A/D、D/A变换、调制、解调、协议等功能。ACARS通信系统消息处理由其中的数据处理单元完成,功能涉及ACARS上行消息处理、下行消息处理、CSMA机制、信道质量检测、子网统计数据和审计模式等。
3 消息处理机制介绍
消息处理机制支持ARINC 750规范和ARINC 618协议。ARINC 618主要描述VHF ACARS通信系统实现的功能、方法和过程,ARINC 750中则具体定义了CMU和VHF机载设备之间的 ACARSIP[2]消息,该消息明确了实现地空协议正常运行所需的所有交互信息。ACARSIP让CMU和VHF机载设备协同运转,以实现ARINC 618中所定义的功能。
3.1 ACARSIP消息帧格式及消息类型
3.1.1 消息帧格式
一个完整的上/下行消息帧如图1所示,由1个Pre-key、1个比特同步、1个符号同步和1个消息块组成,其中 pre-key值[3](设备信道工作稳定时间)、比特同步段(位同步)、符号同步段(帧同步)称为VHF前导。消息块前引入VHF前导保证了接收端接收的数据更加稳定可靠。
图1 ACARS上/下行消息帧格式Fig.1 The frame of ACARS uplink/downlink message
3.1.2 消息类型
参照ARINC 750规范VDR-CMU Primitives Table,表1列出了所定义的CMU-VHF机载设备通信的各种消息格式。
表1 VHF-CMU源语Table 1 VHF-CMU primitive
CMU控制VHF机载设备完成所有消息处理。CMU发送每个请求报文后都应收到来自VHF机载设备发送的响应报文,比如表中PARAM.request(操作参数请求)和PARAM.confirm(参数确认)为一个消息对,用于地空协议操作参数的配置;UNITDATA.request(CMU数据传输请求)和 UNITDATA.confirm(CMU数据传输响应)为一个消息对,用于ACARS地空通信的下行消息;而UNITDATA.indication(VHF机载设备数据传输指示)为VHF机载设备向CMU发送上行ACARS消息,等等。CMU必须等待VHF机载设备响应前一条报文后才能发送下一条报文。
3.2 工作原理及流程
民航ACARS A消息处理流程图如图2所示,主要功能包括上行消息处理功能、下行消息处理功能、CSMA机制、信道质量检测、子网统计数据功能、审计模式功能。设备接收到CMU的下行链路消息后,进行CSMA检测,信道空闲时通过下行消息处理机制,发送该下行链路至无线信道;设备从无线信道接收到上行消息后,经过信道质量检测算法,发送质量检测报告给CMU,并通过上行消息处理机制,进行地址筛选以及BCS校验,发送上行消息给CMU;设备收到CMU发送的子网统计数据控制指令或审计模式控制指令后,可具备或终止子网统计数据功能或审计模式功能。
图2 ACARS A消息处理流程框图Fig.2 Flow chart of ACARS A message processing
3.2.1 下行消息处理功能
设备在进行下行消息处理之前,必须第一步先保证机载与地面的工作参数一致。通过解析CMU下发的工作参数对机载设备的工作频率、调制模式进行设置(设备的调制方式为频率间隔25 kHz的DSB-AM/MSK(Double-Sideband Amplitude Modulation/Minimum ShiftKeying),工作频段范围为117.975~137.000 MHz)。在 CMU下发的工作参数中还包含pre-key值,通过图1的消息帧格式可以看到,该值是在下行消息发送前由设备先发送出去的,意在pre-key发送过程中,设备接收机自动增益控制(Automatic Gain Conytol,AGC)建立,发送功率输出稳定,接收调制调解器本地振荡器同步。pre-key的长度应该尽量小,保证地面系统能够成功的解调出数据即可。
若设备收到来自CMU的数据传输请求报文,则表明飞机有向地面发送的ACARS下行消息块了。在设备向地面无线信道发送消息前,应通过CSMA检测机制判断信道忙闲,在一定范围内可以避免无线信道的访问冲突。若信道空闲则在消息块前添加VHF前导,发送到无线信道上。设备传输消息块后,向 CMU回复 UNITDATA.confirm消息,告知CMU已经发送完ACARS消息。
3.2.2 上行消息处理功能
在设备接收到正确的ADDR.request消息后,设备具备了上行消息处理功能。通过该消息,设备获得目的地址集(Destination Address Set,DAS)地址,主要为当前飞机的航班号、飞机注册号、ALL CALL地址。
设备接收到上行消息后,首先判别CMU是否对消息有审计模式请求。CMU要求审计模式状态对上行消息不需要BCS(Block Check Sequence)校验。审计模式分为两种:一是审计模式功能1,设备对上行消息通过地址筛选后,确认该消息是送给本飞机的则将该消息发送给CMU;二是审计模式功能2,设备对收到的所有上行消息直接发送给CMU。
若CMU关闭审计模式,则上行消息需经过BCS校验、信道质量(Signal Quality Parameter,SQP)检测、地址筛选。信道质量检测主要指设备通过对接收信号的幅度检测来大致推断飞机的飞行距离,作为发送重传及协议处理的依据[4],保证通信的畅通。ARINC 618规定,只有经过合法BCS校验后的消息才能向CMU发送当前链路的服务质量SQP值,最后进行地址筛选及消息封装,将上行消息发送给CMU。
3.2.3 统计数据收集
ARINC 618中包含的统计信息包括VHF累积信道忙碌、累积MAC(Media Access Control)延迟、接收到的本机的错误BCS数据或不完整数据、从周围飞机接收到的错误BCS数据或不完整数据、下行链路块数目或不完整的下行链路块数目等。统计数据的收集有助于了解本机及周围飞机的射频状况。
CMU通知设备进行数据统计,主要分两种模式统计:一是周期性统计,CMU提供统计的时间周期值,设备则周期性发送统计数据报文给CMU,直到CMU通知设备停止统计数据收集或更改时间周期;二是单个统计模式,CMU通知设备执行单个统计数据收集以及采集数据的时间长度,设备进行数据采集后在规定的采集时间长度后发送统计数据报文给CMU。
4 消息处理的设计及实现
ACARSIP消息处理由数据处理单元完成,采用通用的DSP+FPGA的实现架构形式,消息处理设计及实现主要在DSP中完成,此处仅针对DSP进行阐述。DSP实现的功能包括上行消息、下行消息处理中的基带处理,CSMA机制,信道质量检测,子网统计数据功能,审计模式功能;FPGA配合信号处理单元共同完成信道忙闲检测、信道质量检测以及与CMU、信号处理单元的相关接口。CMU与信号处理单元之间的消息流主要通过DSP来交互。消息处理的设计实现方案如图3所示。
图3 消息处理设计实现框图Fig.3 The realization framework of message processing
4.1 DSP软件处理描述
4.1.1 DSP 软件处理流程图
根据第3节ACARSIP消息处理的功能阐述,在DSP软件架构设计上将消息处理划分为消息(上行/下行)处理和统计数据采集两个功能模块,如图4所示。
图4 DSP软件处理流程图Fig.4 Flow chart of DSP software
4.1.2 Request和 Confirm 消息 ID 设计
来自CMU的Request消息有7种,DSP主要是通过识别Request消息的不同Primitive ID来完成表1所列各种消息任务的,消息ID处理流程图如图5所示。
图5 消息源语ID处理流程图Fig.5 Flow chart of message primitive ID
4.1.3 下行消息处理设计
下行消息主要处理来自CMU的数据传输请求报文UNITDATA.request,要发送的下行链路消息都在这个报文中。下行消息长度一般为100~200 B,消息是以块为单位进行发送的。一个消息块被限制在不超过220 B,因此若下行消息大于220 B时,CMU会将消息分块向地面发送。此处DSP采用在定时中断里进行实时发数,由于信道忙闲检测采用的是非坚持CSMA算法,如果检测到信道繁忙,则退避时间t,t根据一定规则在30~300 ms内随机选择,故这里的定时周期选用的随机产生时间t的范围即为30~300 ms。图6是下行消息处理流程图。
图6 下行消息处理流程图Fig.6 Flow chart of downlink message
设备传输消息块后,向CMU回复UNITDATA.confirm消息。从图6可以看出,在下行消息传输中会出现两种情况:一是当前缓冲区消息块已发送完毕,设备应答UNITDATA.confirm消息,消息数据字段填0x01h,表示该缓冲区消息已成功发送;二是可能因为信道一直处于忙状态,缓冲区数据未能及时下发,当设备再次收到下一个UNITDATA.request消息块后则通过应答UNITDATA.confirm消息(消息数据字段填0x02h)表示该缓冲区消息已被新消息块覆盖,缓冲区内容被修改。
此时DSP同时进行统计工作,比如在定时中断里可以统计 VHF累积信道忙碌百分比值、累积MAC延迟时间、从周围飞机接收到的不完整的下行链路块数目个数等等,应答CMU的统计模式请求。
4.1.4 上行消息处理设计
(1)DSP上行消息设计流程
DSP收到来自FPGA的基带信息后,首先判决该消息是否为上行消息,通过比较上行/下行链路块识别符域消息判定为上行消息后,则进行审计模式的判定。根据3.2.2节及图4的介绍,只有在非审计模式下DSP才对上行消息进行后续的BCS校验、地址筛选和信道质量检测。
DSP完成BCS校验,该校验主要采用CCITT多项式循环冗余码校验(CRC)进行编码,长度为16比特,生成多项式函数为:P(X)=x16+x12+x5+1(其中x为生成多项式变量)。若校验正确,则DSP进行信道质量SQP的检测计算并封装SQP.indication通过FPGA发送给CMU。SQP主要是由DSP配合FPGA及信号处理单元完成。信号处理单元通过对信道变频后的中频信号进行检波及滤波处理,检出包络信号送FPGA,FPGA给出接收信号幅度PdBm的电压值,再经过AD采样送DSP,DSP通过计算得出接收信号的SQP值。
同时,DSP比较上行消息中“地址”域中的地址与自己保存的DAS地址,若地址一致则表示该上行消息确实是由地面发给本飞机的消息。DSP判决BCS校验正确、地址筛选正确后才以UNITDATA.indication封装消息上报CMU。
(2)DSP统计设计
DSP继续完成统计工作,判断来自FPGA的基带消息,若为下行消息,则说明接收到了周围飞机发来的消息,可以统计周围飞机接收到的完整的下行链路块数目、不完整的下行链路块数目或者完整但BCS校验不正确的链路块数目等;若为上行消息,则可以通过地址筛查统计到该消息是发给自己飞机的消息块数目还是发给其他飞机消息块数目等。
4.2 验证和测试结果
VHF机载设备通过了3个验证阶段,测试情况如下:
(1)在工程实际应用中,系统互通,VHF设备的发送与接收成功率达到100%;
(2)VHF设备分别于2012年、2013年在西南某民航机场进行民航电台ACARS A消息测试。分析监测数据,消息开始、结尾标志正确,BCS校验正确,并能读取到有效的相关信息,例如有效的航班号、应答指令、起飞降落指令、离港机场和目的机场的代码、预达时间、温度/压力/速度等引擎消息等信息。因为在民航机场不能随意非法发送射频信息,因此下行消息的发送暂时无法验证;
(3)VHF设备和国际民航电台VHF-2100进行互通,正确接收概率100%。
5 ACARS消息处理的总结分析
通过上述消息处理机制及方案实现介绍可以看出,ACARS A应用消息处理具备以下几个优点:
(1)pre-key值的使用节约了设备研制开发周期,提高了软件移植性和兼容性。在以往的通用数据链设备中,为了保证信道同步,DSP在调试过程中要随着设备不停调整同步时间保证信道稳定,开发周期长,且浪费人力资源。引入ACARS的pre-key值后,根据pre-key值的范围0~85 ms,信道设计人员在前期就通过设计保证模拟电路的可靠性和稳定性,同时在后期设备联试过程中可由设备负责人员进行pre-key值的设置来调整最佳信道同步时间,不再需要DSP人员的全程参与。pre-key值的人为设定也有效提高了设备DSP软件的可移植性,不会因为不同设备模拟电路的硬件特性差异再由DSP计算不同的信道同步时间产生多个软件版本,保证了设备之间的兼容性;
(2)ACARS消息机制设计的人性化和高可靠性。通过ACARS消息机制对设备的链路状态会了解比较清晰,比如当设备链路繁忙时CMU会发出设备删除传输缓冲区的消息PURGE.request,及时删除则不会引起链路消息堵塞;由于ACARS消息是按消息块发送的,当CMU发送消息到设备后,设备将向CMU发送一个确认信号,如果确认所传输的消息正确CMU才会发送下一消息块,直至全部消息块都被接收完成,大大提高了通信的可靠性;
(3)通过本文对ACARS消息统计功能的阐述可以了解到空中本飞机与周围飞机的相关射频情况,提供实时的确认问题能力,为飞行管理和维护提供附加的资料信息,减少成本。
6 结束语
本文介绍的民航VHF ACARS通信系统消息处理方案已应用于工程项目中,通信稳定可靠。在当前我国大力发展民用航空技术的背景下,该方案对后续适航机载通信设备的研制和开发具有重要的借鉴意义。本文是针对VDL-A数据链工作模式进行研究的,但国际民航组织还同时制定了VDL-2、VDL-3和VDL-43种数据链工作模式,这3种模式均是在VDL-A功能上的扩展和增强。随着民航对实时数据的需求不断提高,在后续工作中对数据传输速率更大的数据链工作模式研究势在必行[5]。
[1]孔杰.甚高频ACARS通信系统物理层信号处理单元设计[J].电讯技术,2013,53(4):440-443.KONG Jie.Design of Physical Layer Signal Processing U-nit for VHF ACARS Communication System[J].Telecommunication Engineering, 2013, 53(4):440 -443.(in Chinese)
[2]ARINC Characteristic 750-4,VHF data radio[S]
[3]ARINC Specification 618-6,Air/Ground Character-Oriented Protocol Specification[S].
[4]ARINC Specification 620-3,Data link ground system standard and interface-specification(DGSS/ID)[S].
[5]徐见源,邓雪云,曹力.基于ARINC-618协议的地空数据链技术研究[J].民用飞机设计与研究,2011(4):13-15,23.XU Jian-yuan,DENG Xue-yun,CAO Li.Study on the Ground Air Data Link Technology Based on ARINC-618 Protocol[J].Civil Aircraft Design and Research,2011(4):13-15,23.(in Chinese)