微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 一种航管应答机高度模拟器设计与实现

一种航管应答机高度模拟器设计与实现

时间:04-20 来源:互联网 点击:

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接口转换电路及必要的显示和控制电路构建的航管应答机高度模拟器,在功能上可完全替换原专用气压源,大大降低了航管应答机检测仪器费用,具有结构简单、性能稳定可靠、操作简便、性价比高等特点,已广泛的应用于航管应答机在地面的各级检测和维修,取得了良好的军事和经济效益。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top