APP下载

ATC A/C 模式应答机编码电路设计*

2021-03-23刘宏斌

电子器件 2021年1期
关键词:应答机状态机译码

王 凯,刘宏斌

(1.中国民航大学电子信息与自动化学院,天津300300;2.中国南方航空股份有限公司,广东 广州510405)

空中交通管制应答机(ATC transponder)是空中交通管制雷达信标系统(ATCRBS)的机载设备,是保证飞机在繁忙空域飞行和进行着陆过程中的安全的重要设备之一。 它的功用是向地面交通管制中心报告飞机的识别代码和气压高度。 目前,国际民航组织规定的航管二次雷达询问模式中与民航有关的是A、B 模式(用于识别代码询问)和C 模式(用于气压高度询问)[1-2]。

本文以FPGA 为基础,实现ATC A/C 模式应答机编码电路的设计。 传统的ATC A/C 模式应答机采用中小规模数字电路来实现译码和编码功能,体积和重量大。 可编程逻辑器件以其优异的灵活性和实用性,在机载导航设备设计中被大量使用[3-5]。以FPGA 为处理核心的编码电路减少了电子元器件的数目,使得机载无线电设备的体积和重量大大减小,系统的复杂性降低,方便技术人员检测、排故和换件。 编码电路还具有自测试功能,由自身内部产生模拟询问信号,以使译码和编码电路工作,从而可以检测系统是否可以正常工作。 此外,编码电路可以与接收电路、发射电路级联,可以用于辅助维修、应答机系统的仿真验证等。

1 ATC A/C 模式应答机编码电路架构设计

图1 给出了ATC A/C 模式应答机编码电路系统的结构,电路由时钟模块(图中没有画出)、控制面板、ARINC429 发射器、ARINC429 接收器(2 个)、询问模式译码、高度信息译码、控制面板信息译码、应答信号编码、自测试组成。 下面分别介绍各个模块的功能和作用。

图1 ATC A/C 模式应答机编码电路结构

时钟模块提供其他模块所需要的不同时钟信号。

控制面板控制应答机系统的工作状态。 本课题中只设计了一套ATC A/C 模式应答机编码电路。系统选择开关控制系统的开关状态。 模式开关用于选择应答机能够正常响应的询问模式。 当开关置于A 位时,应答机只在收到A 模式询问后才应答飞机的识别代码;当开关置于B 位时,应答机只在收到B模式询问后才应答飞机的识别代码。 通过四个旋转编码器置定识别代码,四位数码管显示置定的识别代码。 按下识别钮,应答机即产生特别位置识别脉冲(SPI),按压一次识别钮,不论在按压后是否松开按钮,均可使SPI 脉冲保持22 s。 高度报告开关用于控制应答机是否应答高度询问。 按下自检钮,应答机开始自测试。 应答灯在应答机应答询问时点亮。 应答灯在每次应答后还能在一定时间(15 s)内保持通亮,这样,当应答机连续应答时,应答灯是一直保持通亮的。 如果自测试失败,故障灯点亮。

控制面板将识别代码、SPI 开关、高度报告开关信息编码为ARINC429 信号,送给ARINC429 发射器[6-7]。 ARINC429 发射器将其转换为ARINC429协议定义的电信号格式[8]。

ARINC429 接收器将ARINC429 信号转换为FPGA 可接收的LVTTL 电平信号,一路接收来自大气数据计算机的高度信息,送给高度信息译码模块,经译码得出高度信息;另一路接收来自控制面板的部分控制信息(识别代码、高度报告开关和SPI 开关),送给控制面板信息译码模块,经译码得出这些控制信息[9-10]。

询问模式译码模块鉴别询问信号的模式。 自测试信号作为询问模式译码模块内部的二选一数据选择器选通信号。 在正常模式下,询问模式译码模块对询问信号进行译码;在自测试模式下,询问模式译码模块对来自自测试模块的模拟询问信号进行译码。

当询问模式译码模块的译码结果与控制面板上置定的询问模式相符时,应答信号编码模块产生相应应答信号,如果是A 或B 模式询问,则将控制面板上输入的飞机识别代码进行编码后输出;如果是C 模式询问,则将来自大气数据计算机的飞机气压高度进行编码后输出。 在正常模式下,输出应答信号;在自测试模式下,输出自测试应答信号。

当处于自测试模式下,自测试模块产生模拟询问信号,以使译码和编码电路工作,检测自测试应答信号是否正确[11],从而可以检测系统是否可以正常工作。

2 ATC A/C 模式应答机编码电路主要模块设计及实现

本设计的主要功能模块是询问模式译码、应答信号编码等。

2.1 询问模式译码设计及实现

各询问模式的脉冲间隔不同,A、B、C 模式的脉冲间隔分别为8 μs、17 μs、21 μs,脉冲间隔时间误差为±0.2 μs,脉冲宽度为(0.8±0.1)μs。

询问模式译码状态转移图如图2 所示,采用状态机实现,状态机一共有五个状态:S0(等待第一个询问脉冲)、S1(检测确定第一个询问脉冲宽度)、S2(等待第二个询问脉冲),S3(检测确定第二个询问脉冲宽度)、S4(询问脉冲宽度过大等待脉冲结束)[12]。

图2 询问模式译码状态转移图

S0状态:在此状态下,状态机一直在等待第一个询问脉冲信号的出现,如果第一个询问脉冲信号出现,状态机将转入S1状态。

S1状态:在此状态下,状态机对第一个询问脉冲的宽度进行检测和确定,如果脉冲宽度小于0.7 μs,则转入S0状态,重新等待第一个询问脉冲;如果脉冲宽度等于(0.8±0.1)μs,则转入S2状态,等待第二个询问脉冲;如果脉冲宽度大于0.9 μs,则转入S4状态,等待脉冲结束。

S2状态:在此状态下,状态机一直在等待第二个询问脉冲信号的出现,如果第一个和第二个询问脉冲信号的间隔小于7.8μs,状态机将转入S1状态;如果脉冲间隔为(8±0.2)μs、(17±0.2)μs、(21±0.2)μs,状态机会将这一时间间隔记忆下来,转入S3状态,检测确定第二个询问脉冲宽度;如果等待时间超过21.2 μs,状态机将转入S0状态,重新等待第一个询问脉冲。

S3状态:在此状态下,状态机对第二个询问脉冲的宽度进行检测和确定,如果脉冲宽度小于0.7 μs,则转入S0状态,重新等待第一个询问脉冲;如果脉冲宽度等于(0.8±0.1)μs,根据两个询问脉冲的间隔得出译码结果,转入S2状态,等待下一个询问脉冲;如果脉冲宽度大于0.9 μs,则转入S4状态,等待脉冲结束。

S4状态:如果询问信号满足ARINC718 规范,不会转入该状态。 如果询问脉冲宽度大于0.9 μs 将转入此状态。 在此状态下,状态机一直在等待询问脉冲的结束,如果询问脉冲结束,状态机将转入S0状态,重新等待第一个询问脉冲。

使用ModelSim 对询问模式译码模块进行仿真,仿真结果如图3 所示。

图3 询问模式译码模块仿真结果

图3 中,对于不同询问模式,均可以产生正确的译码结果,达到设计需求。

2.2 应答信号编码设计及实现

图4 给出了应答脉冲串的格式。 应答脉冲串由框架脉冲F1 与F2、信息脉冲及SPI 脉冲组成[13]。框架脉冲F1 与F2 恒为逻辑“1”。 12 个信息脉冲均匀分布在框架脉冲之间,它们的顺序依次为C1、A1、C2、A2、C4、A4、B1、D1、B2、D2、B4、D4。 X 脉冲位于两个框架脉冲的正中间位置,恒为逻辑“0”。 在框架脉冲F2 之后4.35μs 处是特别位置识别脉冲SPI。

图4 应答脉冲串格式

识别码的信息脉冲分成A、B、C、D 四组,每组表示四位识别代码中的一位。 每组脉冲有3 个信息脉冲,这3 个信息脉冲组成八进制数。 每个脉冲的脉冲名称后的数字代表该脉冲的权值,这样,每组脉冲的权值之和就是这组脉冲所代表的代码数。

高度编码的增量为100 ft。 D1、D2 脉冲恒为“0”;D4A1A2A4B1B2B4 采用格雷码,增量为500 ft;C1C2C4 采用五周期循环码,增量为100 ft。

应答信号编码模块采用状态机实现,状态机一共有两个状态:idle 状态和answer 状态。

idle 状态:在此状态下,状态机一直在等待有效的询问,对于A 模式是指模式选择开关处于A 位且询问模式译码结果为A 模式;对于B 模式是指模式选择开关处于B 位且询问模式译码结果为B 模式:对于C 模式是高度报告开关打开且询问模式译码结果为C 模式。 如果检测到有效的询问,编码产生18 位数据reply_string,即相应的应答脉冲串,reply_string<={SPI,0,0,F2,D4,B4,D2,B2,D1,B1,X,A4,C4,A2,C2,A1,C1,F1},状态机将转入answer状态。

answer 状态:在此状态下,状态机将reply_string串行发送,产生应答信号。 串行发送的周期为0.05 μs,先发送第一位F1,在第1 ~9 个周期内,发送reply_string[i],在第10 ~29 个周期内发送0,这样使得脉冲宽度为0.45 μs,脉冲间隔为1.45 μs,第一位发送完毕,发送下一位,直至发送完最高位SPI,应答结束,状态机转入idle 状态。

使用ModelSim 对应答信号编码模块进行仿真,仿真结果如图5 所示。

图5 中,当高度报告开关打开、SPI 按钮按下、高度为28 400 ft 时,进行C 模式询问,产生相应高度码应答信号,应答信号内容正确且脉冲宽度和脉冲间隔符合要求,达到设计需求。

图5 应答信号编码模块仿真结果

3 ATC A/C 模式应答机编码电路系统测试

应答机接收到有效询问后,可以产生正确的应答信号。 图6 与图7 分别给出了代码为7162 的应答脉冲串、高度为28 400 ft 的应答脉冲串。 如图8所示,应答信号的脉冲宽度为0.5 μs,如图9 所示,应答信号的脉冲间隔为1.44 μs,脉冲宽度和脉冲间隔都在ARINC718 协议规定的范围之内[13]。

图6 代码为7162 的应答脉冲串

图7 高度为28 400 ft 的应答脉冲串

图8 应答信号的脉冲宽度

图9 应答信号的脉冲间隔

4 结论

本设计实现了ATC A/C 模式应答机编码电路的设计。 通过控制面板可以控制系统的工作状态,当接收到的询问脉冲与控制面板上所置定的模式相符时,应答机产生相应的应答信号。 如果是A 或B模式询问,则将控制面板上输入的飞机识别代码进行编码后输出;如果是C 模式询问,则将来自大气数据计算机的飞机气压高度进行编码后输出。 编码电路还具有自测试功能,由自身内部产生模拟询问信号,以使接收处理译码和编码电路工作,从而可以检测系统是否可以正常工作。 在Altera 公司的Cyclone IV 系列的EP4CE6E22C8[14]芯片上进行了硬件测试,仿真及测试结果表明,应答信号正确且符合ARINC718 协议规范,达到设计需求。

猜你喜欢

应答机状态机译码
卫星测控应答机的接收机在轨性能评估方法
基于校正搜索宽度的极化码译码算法研究
基于有限状态机的交会对接飞行任务规划方法
飞机应答机的奥秘
航管应答机退敏和恢复的设计研究
从霍尔的编码译码理论看弹幕的译码
星载测控应答机抗辐射加固与可靠性平台研究
LDPC 码改进高速译码算法
双口RAM读写正确性自动测试的有限状态机控制器设计方法
基于概率裁剪的球形译码算法