基于单片机的航管应答机高度模拟器设计
扫描二维码
随时随地手机看文章
摘要:针对航管应答机在地面测试时需要专用气压源提供模拟高度信息的缺点,分析了航管应答机高度接口信号的特性,总结出高度数值与高度接口信号之间的对应关系,设计了基于单片机的航管应答机高度模拟器硬件电路,编制了软件流程,并进行了调试使用,结果表明,该高度模拟器具有操作简便、精度高、性价比高等特点,已广泛应用于航管应答机的中继级和大修级维修领域。
关键词:航管应答机;高度模拟器;单片机;格雷码
航管应答机是二次雷达系统中的机载设备,无需人工参与,即能自动应答地面雷达对飞机的代码和高度询问。航管应答机需要应答的代码信息可通过航管应答机的控制盒根据飞机的编号进行人工设置,高度信息则是由飞机上的大气机通过探测飞机的飞行高度进行实时提供。当在地面对航管应答机进行测试时,所需的高度信息一般通过专用的气压源为航管应答机测试提供模拟高度,专用气压源价格高,便携性差,操作使用不便。通过分析解读专用气压源与航管应答机之间的接口特性和信号定义。如果利用单片机为核心,通过扩展相关接口,模拟气压源高度输出接口信号特性,并增加相应的显示和控制电路,即可完全替换专用气压源在航管应答机地面测试中的应用。
1 高度接口信号分析
1.1 编码特性
航管应答机高度接口信号单位为英尺,范围在-1200~126700,步进值为100英尺,接口信号的编码采用格雷码循环编码。格雷码是一种数字排序系统,其中的所有相邻整数在它们的数字表示中只有一个数字不同,它在任意两个相邻的数之间转换时,只有一个数位发生变化,大大减少了由一个状态到下一个状态时逻辑的混淆,其编码数据与十进制数据之间的对应关系如表1所示。在选用格雷码编码时既可以选用表1中的对应关系,也可以选用部分格雷码重新定义与十进制的对应关系。
高度接口信号的编码采用11位格雷码循环编码,形成三位编码数,自左至右其权值分别为8000、500和100,其中左边一位编码数是四位格雷码(16个数),用D2 D4 A1 A2表示,对应于表1中的0~15。右边一位是三位格雷码(5个数循环),用C1 C2 C4表示,选用表1中的格雷码0001、0011、0010、0110、0100,采用的是循环编码的形式,对应于十进制数的0、1、2、3、4或4、3、2、1、0,在第一个周期内对应于0、1、2、3、4,在下一个周期内对应于4、3、2、1、0,紧接着后面的周期内又重新对应于0、1、2、3、4,以后逐次循环。中间一位是四位格雷码(16个数循环编码),用A4 B1 B2 B4表示,对应于表1中的0~15或15~0,循环形式如右边一位格雷码。为了方便编码,在对高度数据进行编码时首先加上1200,这样,高度数据的最小值-1 200就变成了000,然后对000进行格雷码编码为001,既代表了-1 200英尺的模拟高度。
1.2 数据传输格式
高度接口信号有效数据码为11位,加上同步信号和校验字共需传输4个字节32位数据,其数据发送顺序如表2所示,其中同步信号占一个字节,首先传输;数据字节占2个字节紧接着同步字节传输,11位有效数据传送顺序如表所示,未占用数据位填充0;校验字节占1个字节,最后传输,其各位数据值为前3个字节对应位异或所得的结果。
1.3 接口类型
不同型号的应答机高度信号通信接口类型略有不同,常用的包括RS-422和ARINC429两种类型,RS-422和ARINC429均是工业和航空领域常用的通信接口,也都有较多的专用芯片供选用。
1)RS-422接口
RS-422接口是一种应用非常广泛的通信接口,他采用单独的发送和接收通道,因此不必控制数据方向,各装置之间的信号交换均可选用软件握手或硬件连接的方式。RS-422信号采用了差分形式的传输形式,具有较强的抗干扰能力。RS-422接口最大传输距离可达4 000英尺,最大传输速率为10Mb/s。
2)ARINC429信号
ARINC429数据总线是美国航空无线电公司(ARINC)制定的一种民用飞机机载总线规范,它是一种面向接口型的单向广播式串行数据传输总线,在一条总线上定义有一个发送器和一个或多个接收器,以差动输出的对称方式工作,采用双绞屏蔽线异步传输数据。ARINC429总线结构简单、性能稳定、传输可靠,抗干扰能力强。
2 硬件电路设计
高度模拟器硬件电路组成框图如图1所示,以单片机89C52最小应用系统为数据的采集和处理核心,并扩展了422接口转换、429接口转换、高度码采集、显示、复位和译码等部分电路。其中422接口转换电路与单片机的RXD、TXD接口分别选用单片机的P3.0、3.1,D0~D7选用P0口,显示电路中的DDAT、DCLK和DEN分别选用P2.0、P2.1和P2.2。
2.1 显示电路
由于要显示的高度数据范围在-1 200~126700英尺之间,由于步进值为100,最后两位始终为00,因而显示位数可以设置为8位,其中最左边为符号位,最右边为单位符号“F”。由于显示内容简单,因而显示电路采用数码管的形式进行显示。数码管驱动芯片MAX7219是美国MAXIM公司生产的串行输入/输出共阴极显示驱动器。该芯片可直接驱动最多8位7段数字LED显示器,它与单片机的接口非常简单,仅用3个引脚与单片机相应端连接即可实现对数码管的驱动,其电路原理图如图2所示。其中“DIN”为串行数据输入端口,在时钟“CLK”上升沿将数据载入内部16位寄存器;“LOAD”装载数据有效位,连续数据的后16位在“LOAD”上升沿时被锁定。DIG0~DIG7用于选择数码管中的显示位数,SEGA~G、SEG DP用于确定显示的数值和小数点。
2.2 ARINC429接口电路
实现ARINC429接口信号可采用分立元器件搭建,也可选用专用接口芯片如HS-3282/3182、DEI1016/BD429、HI6010/HI8586/8588等,还可以选用FPGA进行开发设计。目前选用专用接口芯片构建ARINC429接口电路是性价比较高的实现方式。由于HI-6010是专用于8位数据总线的ARINC429接口芯片,与8位单片机AT89C52的硬件接口简单,因而本系统中选用该芯片,其硬件电路原理图如图3所示。其中HI-6010是实现ARINC429协议的主体。HI-8586和HI-8588分别用于ARINC429发送数据和接收数据时信号的电气特性调理与适配。
3 软件流程设计
为了方便的程序的编写与调试,软件语言采用C语言,程序采用模块化结构。根据软件的功能将整个程序分为显示子程序、高度数据采集子程序、高度码处理、发送子程序等部分。其主程序流程如图4所示,高度码处理子程序如图5所示。
在主程序流程图中,首先对单片机系统及其外围接口电路进行初始化,显示并发送默认高度数据,然后循环判断高度数据输入数值是否变化,如果变化,则调用高度数据采集子程序,对输入的高度数据进行采集并显示,如果输入高度数据超出高度数值范围,则通过显示子程序处于闪烁状态,提醒操作者输入高度数据越界。否则调用高度码处理子程序,对高度数据进行格雷码转换,并在同步字节数据的配合下,计算出校验字节,最终形成32位的高度码数据。
在高度码处理子程序中,主要包括高度3位编码数G1G2G3的求解及其高度格雷码的转换、校验字节的计算等过程。默认高度数据是实际高度数据的1/100,首先对将输入的数据高度加上12,由于G1、G2、G3的权值分别是8000、500和100,因而将其除以100后分别为800、50、1,对其各位编码数的求解既是将高度数据除以各自的权值再取整即可得到。对编码数G1格雷码的转换由于最大值是15,不存在循环编码的问题,因而可直接按照表1中各类数据的对应关系顺序查表即可。对于编码数G2和G3,由于
,
,C2采用逆序查表编码还是顺序查表编码取决于G1的奇偶性,G3采用逆序查表编码还是顺序查表编码取决于G2的奇偶性。
4 结论
采用单片机为核心,通过扩展RS-422接口和ARINC429接口转换电路及必要的显示和控制电路构建的航管应答机高度模拟器,在功能上可完全替换原专用气压源,大大降低了航管应答机检测仪器费用,具有结构简单、性能稳定可靠、操作简便、性价比高等特点,已广泛的应用于航管应答机在地面的各级检测和维修,取得了良好的军事和经济效益。