李 维,喻虹娜,王 俊,曾庆云,陈晓冬
(中航工业洪都,江西南昌330024)
某型飞机应答机原来配套的方式C高度编码器,在飞机向场管报告飞机高度时,由于收集的静压存在飞机气流扰动误差,造成高度编码器输出的飞机高度有明显的误差,随机误差最大可达±150英尺。由于高度显示和送往应答机差异很大,因此需研制新型高度编码器,与某型飞机的应答机配套,以解决高度误差问题。
某型飞机高度编码器主要任务是将大气机输出的高度信号转换为应答机需要的C模式的格雷码信号,其组成如图1所示。
高度编码器采用一个ARINC429专用的数据发送与接收芯片HS-3282,对大气机所发出的ARINC429数据进行采集。该芯片可以将ARINC429的双极性归零制三态输出码转换成CPU能够接受的二态TTL脉冲信号。同时将±10V的电压电平转换成±5V的电压电平。CPU接收HS-3282转换后的ARINC429数据,选择修正气压高度信号HC和气压装订信号PBS进行数据转换计算。最后,按ARINC572的要求,将最终计算结果气压高度信号HP进行电平转换和格式转换后,向应答机输出并行高度编码信号。
图1 高度编码器组成
转换原理如下:
1)接收大气数据计算机的修正气压高度和气压装订信号(ARINC429串行信号);
2)由气压装订的压力值(mmHg)计算或查表给出装订高度(M);
3)修正气压高度+装订高度,给出相对海平面的绝对高度;
4)由公制的绝对高度(m)换算成英制的绝对高度(ft);
5)输出格雷码格式的英制绝对高度。
转换原理如图2所示。
图2 转换原理
高度编码器硬件电路原理如图3所示。整个硬件电路主要由I/O电路模块、降压/稳压模块、时序控制模块及HS-3282组成。I/O电路模块即两路数据输入(429I1、429I2)、一路数据输出(C模式格雷码)。降压/稳压功能主要由WRB-SP-3W电源芯片实现,首先飞机输入的28V电压经过滤波,然后输入到电源芯片内,WRB-SP-3W将经过滤波的直流电压降压为单片机能够接受的5V电压,它可以满足30-18V电源的输入。时序控制模块主要由CPU和时钟电路组成,主要完成数据总线的开闭和对HS-3282的控制。HS-3282主要完成对ARINC429数据的接收以及将其转换成为CPU能够接收的数据信号,通过时序电路的控制,将数据发送给CPU进行计算。
图3 高度编码器硬件电路原理
2.1.1 HS-3282芯片简介
HS-3282是美国HARRIS公司推出的一款高性能的COMS型429总线接口电路,其工作频率为1MHz,单电源+5V供电,低功耗,直接与ARINC429总线连接,一路发送,两路接收。接收器和发送器相互独立,同时工作。双通道接收器之间也是独立的并行接收,可以直接连接到ARINC429总线,而不需要电平转换。还有一个主要功能就是将ARINC429总线上的±10V电压信号转换为CPU能够接收TTL+5V电压信号。数据字长可以是标准的32Bit或25Bit,接收数据时进行校验,而发送数据时产生校验。内部定时器可自动调整字间隙。其发送缓冲是一个8×32Bit的FIFO。其内部结构如图4所示。
图4 HS-3282内部结构
2.1.2数据对应关系
ARINC429总线上(接收器输入或发送器输出)的数据格式如表1所示,它主要包括:奇偶校验位(P)、数据状态位(SSM)、符号位(SIGN)、数据最高有效位(MSB)、数据区(DATA)、数据最低有效位(LSB)、源/目标标识位(SDI)和标志位(LABEL)。
当HS-3282接收到ARINC429总线上的数据之后,将其转换为他自己的数据格式。然后经过时序控制电路,将数据发送到单片机。由图4可以看出HS-3282的外部数据总线是16位,而ARINC429数据信号是32位,所以HS-3282是分两次读出所接收到的串行数字量。HS-3282将ARINC429数据分成了两个部分,即两个字。具体对应如表2、表3所示。
表1 ARINC429数据格式定义
表2 HS-3282接收第一个字的格式
表3 HS-3282接收第二个字的格式
51系列单片机内部包含有一个8位的中央处理器CPU、4K×8ROM、128×8RAM、4个8位并行I/O接口、32条I/O接口引出线、一个全双工串行通讯接口、2个16位定时器/计数器和21个具有特殊功能的寄存器。AT89C52单片机就是51系列单片机中的一种型号。在ARINC429接口电路中,主要使用了51单片机的并行I/O口、中断等功能。
图5 软件系统主程序流程
首先,AT89C52根据HS-3282控制字的格式,确定好其相应的控制方式。写好控制字,将其放在总线上。通过P3.0将其写入HS-3282,进行初始化设置。设定ARINC429字长为32位,传送速率为100Kbit/s。
AT89C52通过P3.1、P3.2、P3.3对HS-3282进行控制,将HS-3282转换后的数据发送到P0口和P2口,然后通过中断方式接收数据。先接收前16位总线的信号,进行数据标号识别和SSM判断,如果数据有效且是需要的信号,进行第二个16位数据接收。
当接收到修正气压高度信号HC和气压装订信号Pbs后,先对气压装订数据进行判断,看其范围是否在要求的400mmHg—825mmHg范围内,在范围正确的前提下,确定查表指针。在事先预存在CPU的400mmHg—825mmHg范围内每个0.25 mmHg的换算表(共1701个点)中,查找其对应的换算值。
对查到的换算值及修正气压高度进行正负判断,进行流程图所示的操作。得到结果即为绝对高度Hp,接着进行公制转英制计算:
H绝对高度(ft)=H 绝对高度(m)×3.28084最后一步就是将绝对高度转换成格雷码。
对于C模式高度编码采用11位脉冲以格雷码编码格式进行。11位脉冲编成三组,其编排顺序如下:
D2 D4 A1 A2 A4 B1 B2 B4 C1 C2 C4
高度范围为-1000英尺到126700英尺,高度编码增量为100英尺。
脉冲组D2 D4 A1 A2组成每8000英尺高度增量的16个格雷码,脉冲组A4 B1 B2 B4组成每500英尺高度增量的16个格雷码,脉冲组C1 C2 C4组成每100英尺高度增量的5个“五周期循环码”。末位超过或等于50英尺进100英尺,不足50英尺舍去。
由于起始点为-1200英尺,编码时应加1200英尺计算。对于A4 B1 B2 B4组,当上一位有进位,且进位奇数时,取该组的数的补数,一直到上一组为偶数时止,此时该组不取补数,取正常的数。对C1 C2 C4组,上二组同为奇数或同为偶数时取正常的数,当上二组为一奇数与一偶数时,取该组数的补数.格雷码编码如表4所示,五周期循环码如表5所示。
表4 格雷码编码
表5 五周期循环码
格雷码具体转换方法:
1)Hft=Hft+1200
2)D2d4a1a2=Hft/8000(取余数HY1)
3)A4b1b2b4=HY1/500(取余数HY2)
4)C1c2c4=HY2/100
将除法所得的数据转换为相应的格雷码。
注1:对于A4 B1 B2 B4组,当上一位有进位,且进位为奇数时,取该组的数的补数,一直到上一组为偶数为止,此时该组的数不取补数,而取正常的数。对于C1 C2 C4组,上两组同时为奇或同时为偶数时取正常的数,当上两组为一奇一偶时,则取该组的补数。
注2:在Hft加1200之后,应对其进行四舍五入。若后两位大于50则百位加1,个十位清零;若后两位小于50,则后两位清零。
文章针对高度编码器的本身应具有的功能,结合HS-3282芯片和ARINC429总线的特点,简要介绍了基于HS-3282和ARINC429总线通讯的硬件设计方法和软件计算方法。该产品的硬件电路结构简单,数据通讯程序可读性好,数据采集传输准确可靠。目前该产品已装配飞机,使用情况正常,信号稳定,数据正确。
[1]DD-03282 ARINC-429 TRANSCEIVER.
[2]王瑞.航空ARINC429总线接口控制芯片HS-3282的原理及应用.电子元器件应用,2006,6.