空地导弹发控系统多通道ARINC429通讯的设计与实现

  • 原芳 ,
  • 黎玉刚 ,
  • 闫锋
展开
  • 西安现代控制技术研究所, 西安 710065

原芳(1975-),女,陕西西安人,高级工程师,硕士,研究方向:导弹发射控制系统设计。

收稿日期: 2020-05-19

  网络出版日期: 2025-05-30

Design and Implement of Multi-channel ARINC429 Data Transmission Module of a Fire Control Mission

  • YUAN Fang ,
  • LI Yugang ,
  • YAN Feng
Expand
  • Xi’an Modern Control Technology Research Institute, Xi’an 710065, China

Received date: 2020-05-19

  Online published: 2025-05-30

摘要

为实现空地导弹发控系统多通道数据接收和发送的实时性,提出基于PowerPC+FPGA主从处理器架构的解决方案。该方案结合PowerPC高速处理能力和FPGA强大扩展功能,且利用VxWorks实时操作系统多任务的特点,实现多通道ARINC429通讯并行处理,有效提高系统的实时响应能力。设计的发控系统能够完成多路ARINC429信号的接收、处理、转换和发送,实现通道间灵活切换,数据传输效率高、无误码。经地面飞行试验验证,该系统性能稳定、实时性好、可靠性高。

本文引用格式

原芳 , 黎玉刚 , 闫锋 . 空地导弹发控系统多通道ARINC429通讯的设计与实现[J]. 弹箭与制导学报, 2020 , 40(4) : 113 -117 . DOI: 10.15892/j.cnki.djzdxb.2020.04.024

Abstract

In order to realize the real-time data reception and transmission of multi-channel in the air-to-ground missile launch and control system, the article proposes a solution based on PowerPC + FPGA master-slave architecture,which combines the high-speed processing capacity of PowerPC and the powerful expansion function of FPGA, it can realize the parallel processing of multi-channel ARINC429 data transmission. The system can receive, process, convert and send data, and it can realize the switch to channels flexibly with high data transmission efficiency and no error codes. The ground flight tests show that the system has stable performance, good real-time and high reliability.

0 引言

空地导弹发控系统可以用于完成空地导弹地面电气联试和飞行试验验证,主要模拟直升机综合火控系统的功能,负责给空地导弹提供工作电源,并完成与空地导弹之间的数据通讯,实现导弹工作状态的显示、操作并控制导弹发射等。
随着空地导弹武器系统性能的提高,功能复杂度不断提升,发控系统需要交联的外围设备和信息量越来越多,控制逻辑越来越复杂,这要求发控系统具有丰富的外部接口,并具有高可靠性和强大的数据处理与计算能力。
当前机载航电系统中多采用ARINC429接口。ARINC429规范又称Mark33数字信息传输系统(DITS),是专为航空电子系统通讯而规定的航空工业标准,它采用异步双极性归零码进行数据编码,通过一对双绞线差分传输,具有很强的抗干扰性能,是目前机载电子设备间一种常用的数据通信总线标准[1-3]
因此,为满足空地导弹武器系统多功能、高性能的要求,设计一种实时性强、可靠性高的多通道ARINC429通讯系统是保证空地导弹发控系统成功的关键。

1 ARINC429总线介绍

ARINC429总线具有数据传输灵活、传输载体轻便、抗干扰性强等优点。我国航空电子领域多采用ARINC429总线实现设备和系统间数据传输[4-6]
ARINC429总线是一种串行总线标准,采用32位数据字为传输单位,传输数据为差分信号,传输距离较远。ARINC429总线系统有星型和总线型两种拓扑结构,传输时采用单工传播方式,即一条总线只能实现从发送设备向接收设备的单向传输,且只能有一个发送设备,至多可以有20个接收设备,接收设备的多少主要是从负载角度考虑的。ARINC429数据传输速率有两种:高速传输速率为100 kbit/s,低速传输速率为12.5 kbit/s。16位CPU串行数据信号和32位ARINC429总线间的映射关系如图1所示。
图1 32位ARINC429总线数据映射图

2 硬件设计

2.1 总体设计

为保证多设备、大容量的信息交互,发控系统采用基于PowerPC+FPGA的主从处理器的架构形式。
主处理器为PowerPC,选用MPC8280通用双核处理器,应用嵌入式实时操作系统VxWorks,主要完成板卡初始化、数据收发控制和数据解析处理。MPC8280处理器能力强劲、性能优异,能将定点计算、浮点计算和程序流控制分开,允许各个功能单元执行独立的指令,以完成任务所需时间最短为目标。从处理器为FPGA,选用Xilinx公司的Spartan6,做为16位数据总线和ARINC429总线的中转站完成信号转换,控制协议处理芯片完成数据的发送和接收过程。主从处理器间通过60x总线进行通讯,这种主从处理器结构,将MPC8280的高速处理能力和FPGA丰富的外围接口结合在一起,充分利用VxWorks嵌入式实时操作系统多任务实时处理的强大能力和FPGA大容量、高吞吐量、并行处理的优势,有效提高了资源利用率。
文中设计的空地导弹发控系统实现的多通道ARINC429通讯系统具有4路发送和8路接收功能,即发控系统可以同时接收4路ARINC429数据串行输入,由CPU进行实时处理,同时可将CPU输出的数字量转化为8路ARINC429数据串行输出,控制外部设备。发控系统可实现与武器外挂单元、导航系统、稳瞄系统、数据链等多个外部设备同时进行数据通讯的要求,总线传输速率可调,数据收发灵活、可靠,实现了适配多种类型导弹发射的要求,提高了总线数据传输的稳定性和可靠性。
基于PowerPC+FPGA的发控系统多通道ARINC429硬件结构设计框图如图2所示。
图2 基于PowerPC+FPGA的发控系统ARINC429结构示意图

2.2 ARINC429数据传输模块设计

ARINC429数据传输模块由4组数据收发模块和4组数据驱动模块构成,可以实现4路发送和8路接收功能,每组芯片可独立编程,设定其波特率和数据格式。
每一组数据传输模块由1片DEI1016和1片BD429配套组成,共同完成数据缓存、收发数据时的串并、并串转换和差分信号驱动等功能。
DEI1016是ARINC429协议处理芯片,每片具有2路接收通道和1路发送通道,2路接收通道之间相互独立,接收通道是直接连接到ARINC429总线上,发送通道是经过BD429发送驱动芯片电平转换后再连接到ARINC429总线上。DEI1016芯片是通过FPGA控制其数据发送和接收过程的。图3所示为一组ARINC429数据传输模块的硬件原理图,其余几路的电路结构相同。
图3 一组ARINC429数据传输模块硬件原理图

3 FPGA设计

FPGA是将CPU的地址线、片选信号、读写控制信号等进行逻辑编码,生成DEI1016的接收和发送控制信号,完成ARINC429的数据传递。
DEI1016内部有一个16位的控制字寄存器,FPGA通过查询其控制信号/LDCW的引脚状态执行控制字寄存器的操作。当/LDCW=0时,控制字由数据总线锁存到控制字寄存器,此时的16位总线是作为控制总线,而非数据总线。控制字寄存器将各种控制信息传输给发送模块或接收模块,完成字长选择、奇偶校验、传输速率设置等。在文中的设计中采用32位数据字,100 kbit/s的高速接口和奇校验方式。
CPU发送ARINC429数据时,先把要发送的数据写入到FPGA内部缓存中,然后通过中断通知FPGA来取要发送的数据。FPGA根据TXR引脚电平的状态,判断发送是否准备好。当TXR为高电平时,表示芯片准备好,FPGA将内部发送缓存中的数据发送到DEI1016芯片内部缓冲区,一个32位的数据传输需要执行两次发送才能完成。数据发送流程如图4所示。
图4 数据发送流程图
CPU接收ARINC429数据时,FPGA是通过查询DEI1016芯片/DR1和/DR2的引脚状态判断接收缓冲区是否有数,当/DR1和/DR2为低电平时表示接收缓冲区有数,FPGA发送读接口时序,将WORD1和WORD2数据依次送至16位数据总线,存放在FPGA的接收缓冲区中,CPU响应中断读取FPGA内部缓冲区中的ARINC429数据。数据接收如图5所示。
图5 数据接收流程图
FPGA中接收和发送通道都设有大容量FIFO,以减轻收发数据时对CPU总线的负担,防止CPU来不及响应中断而丢失数据。429芯片的接收和发送是共享一条数据总线D[15:0],不能同时进行读写操作,需由FPGA内部完成读写流程的轮询。

4 PowerPC软件设计

4.1 发送模块软件设计

文中的设计有4组收发单元,每组收发单元有1个发送通道,共有4个数据发送通道。发送数据采用定时中断的方式,即每一个发送通道对应一个发送函数,在中断中进行调用。
下面以设计4个20 ms周期发送和1个12.5 ms周期发送为例,阐述实现方式。具体操作是在软件中创建2个定时中断函数,一个为5 ms中断函数,完成4路20 ms的周期发送;一个为12.5 ms中断函数,完成1路12.5 ms的周期发送。20 ms周期的实现方式为:在5 ms中断函数中设置一个静态变量T,初始值为0,取值为0~3,中断响应一次T值累加一次,一个T值对应一个发送通道,T计数到3后清零继续循环,一个轮询后正好实现20 ms周期发送。
比如T=0表示武器外挂单元,T=1表示稳瞄装置,以此类推。当T=0时即为第一个5 ms中断,发送通道1的数据,调用发送给武器外挂单元的ARINC429函数;当T=1时即为第二个5 ms中断,发送通道2的数据,调用发送给稳瞄装置的ARINC429函数,……。当T=3时即为第四个5 ms中断,发送通道4的数据。当4个发送通道全部完成一次发送操作后,时间累计到20 ms,定时器复位清零,此时又开始执行通道1的发送,进而完成第二轮4个通道的ARINC429数据发送,从而实现20 ms周期发送的要求。部分代码示意如下:
void _int_5MS_time(void) //20 ms周期
{switch(T1)
{case 0: //发送通道1的数据
semGive(semFSZZ);
_429SEND_FSZZ_DATA();
T1++;
break;
case 1: //发送通道2的数据
semGive(semWM);
_429SEND_WM_DATA();
T1++;
break;
……
}
}void _int_125_time() //12.5 ms周期
{semGive(semDH);
_429SEND_FSZZ_DATAFromDH();
}
文中所述的发控系统设计有4个发送通道,相互之间独立,可以配置成不同的时钟周期,实现方式灵活多变。

4.2 接收模块软件设计

文中设计有4组数据传输模块,每组都有2个接收通道,共有8个数据接收通道。以4个数据接收通道为例,实现方式为:CPU首先创建4个同等优先级的接收任务,接收任务的调用是由数据接收周期确定的。当某一通道上有数据输入时,CPU接收到FPGA给出的中断信号,FPGA通过查询/DR信号确定获取接收数据的通道,CPU就从相应通道上读取数据,并调用接收函数将接收到的数据放入到对应的数组中。
应用程序对ARINC429数据的解析处理是先取其低8位,即标志位LABLE,然后判断其是否有效,只有符合协议要求的数据才被保留并进行解析处理。

5 试验验证

根据文中所述的软、硬件设计实现的发控系统与武器外挂单元、稳瞄装置、导航系统等进行周期通讯,图6(a)是采集的4路ARINC429数据传输波形图,图6(b)是波形的局部放大图。图中ch1是发控系统给武器外挂单元发送的数据;ch2是发控系统给稳瞄装置发送的数据;ch3是发控系统给导航系统发送的数据;ch4是发控系统接收到武器外挂单元的数据。其中ch1和ch2两个通道数据长度不同,但通讯周期都是20 ms,ch3是发控给导航系统发送的数据,数据量比较大,通讯周期为12.5 ms,ch4是发控接收武器外挂通道的数据,通讯周期也为20 ms。
图6 多路ARINC429数据传输波形采集图
经过长时间大量系统试验表明,在4通道并行及通讯周期不同的工作情况下,发控系统多通道ARINC429数据传输稳定可靠、无误码、抗干扰能力强,满足武器系统对数据传输实时性和高精度的要求。

6 结束语

文中设计的发控系统多通道ARINC429通讯系统采用PowerPC+FPGA的架构形式,使总线具有更大的数据吞吐率和通信速率,增强了数据处理和传输能力,同时减小了模块体积和种类。
仿真结果验证了文中设计方法的有效性,经武器系统联调测试,可以保证100%的数据传输正确率,满足机载武器对发控系统数据传输的要求。目前,采用该设计研制的发控系统已配合完成多弹种、多系列空地导弹的各项地面飞行试验,经验证该系统性能优越、稳定可靠,能够满足不同阶段数据通信可靠性的要求。
[1]
王昱煜, 曹峰, 于小燕, 等. 基于FPGA的ARINC429总线协议处理设计[J]. 信息与电脑, 2016(7):157-160.

[2]
彭虎, 周勇军, 郑永龙. 基于FPGA的ARINC429总线通信模块的研制[J]. 测控技术, 2018(3):113-117.

[3]
李兴旺, 颜国正, 沈勇. 基于POWERPC的ARINC429总线接口实现[J]. 计算机测量与控制, 2013, 21(3):719-721.

[4]
代华山. 基于FPGA的多路ARINC429总线设计[J]. 信息技术与信息化, 2013(5):45-47.

[5]
王鹏, 吴玉莲. 使用FPGA技术实现ARINC429接口电路[J]. 自动化与仪器仪表, 2016(5):214-215.

[6]
李声飞. 一种基于FPGA的多功能ARINC429总线接口[J]. 信息技术与信息化, 2016(12):48-51.

文章导航

/