大气数据系统中ARINC429总线接口的FPGA设计
2009-04-07
作者:于坤林1, 陈曾平2
摘 要: 传统的大气数据系统接口设计往往比较复杂。针对这种情况,着重介绍了一种利用FPGA 技术来实现大气数据系统中ARINC429总线接口的设计方法。并对ARINC429总线协议进行了分析,给出了大气数据系统输出ARINC429参数。该接口具有结构简单、设计灵活、可靠性高等优点。
关键词: 单片机; FPGA; 大气数据系统; ARINC429总线接口
在飞机座舱显示中,飞行员要依靠大气数据信息保证飞行安全。大气数据系统是以微处理器为核心,具有多种输入输出接口,用来测量、计算并指示飞机的多个飞行参数,包括计算空速、真空速、飞行速度、升降速度、大气高度、马赫数、大气总温、大气静温等,其运行状况直接决定着飞机飞行的安全性,因此大气数据计算机在飞机飞行时显得尤为重要。传统飞机的大气数据系统的接口控制是采用分离的元器件或多个小规模的集成电路来控制的,本文着重论述一种用FPGA技术来实现的ARINC429总线接口设计,利用FPGA 技术来实现ARINC429总线接口的控制,具有结构简单、体积小、设计灵活、可靠性高等优点。
1 ARINC429 数字信息传输要求
ARINC429总线是美国航空电子工程委员会于1977年7月提出并于同年9月被认可的工业标准,是一种广泛应用在民用航空中的标准总线。
1.1 电气特性要求
ARINC429发送和接收设备均采用双绞线屏蔽线传输信息,其速率为100kb/s或12.5kb/s,通常以脉冲形式发送,并采用双极型归零制的三态码方式调制,即信息由“高”、“零”和“低”状态组成的三电平状态调制。总线发送器开路时,发送器输出电压如表1所示。
额定电压将受到噪音和脉冲畸变的干扰,这样实际接收器输入端的电压范围为:
高电平:+6.5~+13V,“零”电平:+2.5~-2.5V,低电平:-6.5~-13V。
1.2 信息要求
将一个32位数据字分为5组,即:
(1)标志码(label),第1~8位,用于表示信息的类型。
(2)源/目的识别码(SDI),第9~10位。当需要将特定字发送给多系统设备的某一特定接收系统,或者多系统设备的源系统需要根据字的内容被指定的接收器识别时,可用源目标标示功能。
(3)数据区(data),第11~29位。
(4)符号状态位(SSM),第30~31位。BCD数字数据的符号(正、负、北、南等)。AIM数据的字类型(初始字、中间字、控制字和结束字)和发送器硬件的状态用第30和第31位编码表示。
(5)奇偶校验位(parity),第32位,奇校验。
ARINC429总线协议的字格式如表2所示。
上述字的发送格式为:源/目标标志位、源/目标标示位、数据区、标记位、符号/状态位和奇偶校验位。其中源/目标标志位与正常顺序相反,先发送高位再发送低位。
大气数据系统采用ARINC429标准输出大气参数,其输出ARINC429参数如表3所示。
2 硬件设计
2.1 大气数据系统设计
图1所示为该系统的整个结构框图,大气数据系统由大气数据计算机(这里采用的是单片机)、温度传感器和压力传感器以及信号调理电路A/D转换器等部分组成。
由大气压力传感器及大气温度传感器输出测量信号,并将其传送到大气数据计算机;经过计算机的分析计算处理送到ARINC429数据总线上;标准型大气数据计算机在ARINC429数据总线上输出以下信息:压力高度、升降速度、马赫数、计算空速、真空速、大气总温、大气静温等。
2.2 ARINC429总线接口电路设计
系统中ARINC429总线接口电路设计如图2所示,它主要由单片机、现场可编程门阵列(FPGA)以及ARINC429数据发送/接收单元等组成。单片机选用的是ATMEL公司生产的AT89C51芯片,它是8位单片机,主要完成接口电路中ARINC429总线发送/接收数据的处理。ARINC429数据发送/接收单元主要由两个芯片来实现:一是ARINC429总线协议芯片,采用INTERSIL公司生产的高集成度CMOS可编程控制芯片HS-3282,该芯片符合ARINC429航空标准及其他串行数据标准,用来完成发送数据缓存,数据的发送和接收的转换;二是ARINC429总线驱动芯片HS3182,它用来完成接口电路内部逻辑信号与ARINC429差分信号的转换,并且可以调节ARINC429总线传输速率。FPGA选用的是XILINX公司生产的XCS10芯片。系统中采用一片FPGA芯片来完成接口电路中的逻辑控制,其编程语言采用Verilog语言,通过ISE5.x进行编译、综合适配和仿真。
3 软件设计
ARINC429总线接口电路的软件设计主要包括以下三个部分:软件初始化、接收数据、发送数据。
3.1 软件初始化
上电复位后,软件应在正式工作前初始化HS-3282,即向控制器写控制字,对控制字的设置,主要包括字长、数据速率、奇偶校验等设置。字长可以设置为32位或25位。外部提供的工作时钟为1MHz,内部接收和发送速率可以设置为100kb/s或12.5kb/s。奇偶校验由控制字PARCK(BD12)决定。该位置0为奇校验,置1为偶校验。
3.2 接收数据
数据接收部分以对中断响应的处理为核心。因为HS-3282有两个接收器,因此在硬件设计时,将接收器标志DR1/、DR2/分别与单片机的INT0和INT1相连接,当产生接收中断时,首先判断是哪个接收器引起的中断,再进行相关的信息接收处理。中断接收数据先存放在数据缓冲区内,再由主程序读出。
3.3 发送数据
在进行数据发送过程中,首先检查发送器的状态,只有当标志位TX/R为1时,发送器才能工作;再将待发送数据送至发送缓冲区内,通过对相应的发送使能信号PL1/、PL2/及ENTX进行控制,实现ARINC429总线数据的发送。
利用FPGA 技术来实现ARINC429总线接口的控制,具有结构简单、体积小、设计灵活、可靠性高等优点。
参考文献
[1] 朱国军,于坤林.机载计算机原理与应用[M].长沙:国防科技大学出版社,2002:150-154.
[2] EDA先锋工作室,王诚. FPGA/CPLD设计工具Xilinx ISE5.x使用详解[M].北京:人民邮电出版社,2003.