乌轶聪
(中国电子科技集团公司第二十研究所,西安 710068)
微波着陆系统[1](Microwave Landing System,MLS)由机载设备和地面设备2 部分组成,MLS机载设备能根据地面设备发送的信号,测得飞机相对于地面台的距离、方位和仰角信息,MLS 机载设备由MLS 接收机、测距设备和天线组成,MLS 接收机是一种具有1553B数据总线接口功能的C波段接收机,能将解算出的角度信息和数据信息通过1553B 总线或模拟量等形式输出到上位机。
某型MLS 接收机在使用过程中,其上位机多次随机报MLS 接收机故障,而此MLS 接收机在试验室进行检测,设备各项功能正常,指标合格,只是在拷机过程中1553B 总线状态字会随机由1800H更新为1804H,报MLS 接收机故障。本文针对这一现象进行了定位分析和解决。
MLS 接收机原理如图1所示,设备主要包括接收通道、信号处理电路、电源电路和1553B 总线接口电路。接收通道是一个三次变频超外差式接收机,C 波段射频信号通过三次变频后输送到信号处理电路,信号处理部分有2 个微处理器,即主处理器和辅助处理器,主处理器处理所有角度信息和数据信息,辅助处理器处理输出警旗信号、台站识别音、ARINC429 数据等,并完成整机监测和自检信号格式控制及1553B 总线接口的数据传输。电源是开关式DC/DC 电源变换器,内部具有加电控制功能,输入来自上位机的直流28 V 电源。
图1 MLS 接收机原理图
1553B 总线即数字式时分制指令/响应性多路传输数据总线[2],总线系统一般由3 部分组成:总线控制器BC、远程终端RT、数据总线Data Bus。在这里上位机是总线控制器BC,MLS 接收机是远程终端RT,BC 和RT 并联于总线上。1553B 总线协议的一条消息由多个字组成,总线上有3 种字:命令字、数据字、状态字。MLS 接收机正常工作时1553B 总线状态字为1800H,当有故障时,状态字第十七位子系统故障标志位从0 变为1,状态字即为1804H。
MLS 接收机有完整的故障自检功能。硬件上,设备设计有自检电路。自检电路分静态监测和动态检测,静态监测主要对各监测点参数进行采集和处理,判断各相关电路是否工作正常;动态检测是由信号器模拟发射信号格式产生出自检信号序列传送到接收通道,通过对这个信号序列的处理来检测整机的性能和各种处理功能。设备自检主要通过信号处理电路中的辅处理器软件组织完成,辅处理器软件对故障的自检包括上电自检、周期性自检和启动自检。
当MLS 接收机故障时,设备通过周期性自检能检测到对应模块故障,此时信号处理电路判断设备故障并向1553B总线接口电路微控制器的故障单元中写入一个8 位数据81H,其最高位为1,微控制器中的1553B 总线接口处理器程序将该数据81H与数80H 进行“与”运算,即判断该数最高位是否为1,若为1,则将微控制器的P1.5 脚置高,即该管脚输出高电平。微控制器的P1.5 脚与1553B 总线处理器的状态信号位SSYSF 相连,当P1.5 脚输出高电平时,1553B 总线处理器判断为子系统故障,便将状态字更新为1804H,上位机报MLS 接收机故障。MLS 接收机检测故障流程如图2所示。
图2 MLS 接收机检测故障流程图
本次故障是由于MLS 接收机1553B 总线状态字报1804H 故障直接导致的,故根据故障现象和设备的结构组成,以MLS 接收机1553B 总线状态字报1804H 为顶级事件建立故障树,如图3所示。
图3 1553B 总线状态字报1804H 故障树
针对故障树中可能的原因,逐一进行分析和排查。
我们将一个检测正常的接收通道装入MLS 接收机,加电后,设备测试正常,拷机过程中设备功能指标正常,但状态字仍然更新为1804H,此时对该接收通道进行检测,接收通道检测正常。通过该实验证明该故障不是由于接收通道导致,故接收通道导致故障可以排除。同样方法也排除了信号处理电路和电源电路故障的可能。此外,由于MLS 接收机1553B 总线状态字报1804H 时,其各项功能正常,指标合格,可以判断完成MLS 接收机各项功能的模块电路是正常的,故可以排除接收通道、信号处理电路和电源电路导致故障的可能。
根据设备故障上报机理,故障状态上报与1553B 总线接口电路有直接关系,且排除了其他模块单元导致故障的可能,故可将状态字1804H 故障定位于1553B 总线接口电路。以1553B 总线接口电路故障导致接收机1553B总线状态字报1804H为顶级事件建立故障树,如图4所示。
图4 1553B 总线接口电路故障导致接收机1553B 总线状态字报1804H 故障树
1553B 总线接口电路原理如图5所示。主要由微控制器、1553B 总线控制器、1553B 总线收发器、总线隔离变压器、双端口、可编程逻辑器件、晶振等组成。根据之前给出的故障产生机理,参与状态字更新过程的器件为1553B 总线控制器JM1553B和微控制器SM9956B1D,故从这2 种器件对该问题继续进行分析。
图5 1553B 总线接口电路原理图
根据之前给出的故障产生机理,由于微控制器SM9956B1D 的P1.5 脚与1553B 总线处理器的状态信号位SSYSF 相连,当P1.5 脚置高时,则1553B总线处理器判断为子系统故障,将状态字更新为1804H。现将MLS 接收机进行加电拷机,当设备状态字更新为1804H 时,单独检测微控制器的P1.5脚,此时P1.5 脚为高电平,也就是说1553B 总线处理器的状态信号位SSYSF 被微控制器的P1.5 脚置高,导致设备状态字更新为1804H。因此,此次状态字更新为1804H并非由于1553B总线处理器故障导致,而是由于微控制器的P1.5 脚置高导致。据此1553B 总线处理器故障可以排除。
由于1553B总线接口电路中其他器件并不参与状态字的更新过程,因此,该状态字1804H 故障只与微控制器SM9956B1D 有关,与其他器件没有关系,故可以排除其他器件故障的原因。
综上所述,MLS 接收机1553B 总线状态字报1804H 故障是由于微控制器SM9956B1D 的原因造成,故将本次MLS 接收机故障定位于设备1553B总线接口电路的微控制器SM9956B1D。
微控制器SM9956B1D 与信号处理电路辅处理器之间使用串口通讯,该微控制器靠中断机制处理数据,中断分为3 类:定时器中断、外部中断、串口中断,其中定时器中断与外部中断的优先级高于串口中断。
为了测试中断处理过程对串口收发数据的影响,我们通过使用逻辑分析仪监测串口数据帧、外部中断信号以及I/O 端口的方法,来查看串口收发数据和中断之间的关系。在监测实验中,当SM9956B1D 正在处理一个中断(外部中断或定时器中断),若此时有串口发送中断要进入,它会等该中断(外部中断或者定时器中断)函数处理完成后,再执行串口发送中断。如果SM9956B1D 执行串口发送中断的过程中,又有串口数据接收,这种情况会将串口发送中断继续处理完毕,但不进行串口接收中断处理,因此SM9956B1D 就不响应刚接收到的数据。SM9956B1D 后续没有进串口接收中断,故会丢掉当前的串口接收数据。当该数据为关键数据时,经观察实验约200 ms 后,端口P1.5 拉高,随即MLS 接收机报故。
微控制器与辅处理器之间的串口通讯是靠串口中断处理的,若微控制器有外部中断或定时器中断正在处理,此时如有一个串口发送中断待处理,在处理完外部中断或定时器中断后,去处理待处理的串口发送中断,对于随后到达的串口接收中断SM9956B1D 则会忽略。由于设备的状态数据是辅处理器发送给微控制器,所以当微控制器未接收到接收机状态的关键数据时就会造成设备状态字报1804H 的故障。
经以上试验证明和理论分析,可以判定微控制器SM9956B1D 是由于在某些情况下不能接收信号处理电路辅处理器发来的数据,导致设备状态字更新为1804H,造成MLS 接收机报故。
由于 MLS 接收机故障是由于微控制器SM9956B1D 本身原因造成,故我们考虑更换微控制器来解决问题。我们需要选择一种满足以下条件的器件:
(1)与微控制器SM9956B1D 兼容,可以原位替换SM9956B1D;
(2)器件不会对MLS 接收机的功能性能和环境适应性造成影响且容易采购得到;
(3)能稳定接收信号处理电路辅处理器发来的数据。
国产器件SM9956B1D 的原型是国外器件微控制器SM89516,SM89516 属于MCS-51 系列微控制器的一种,因此结合采购渠道和成本等因素,可以在MCS-51 系列中选择一种微控制器,原位替换SM9956B1D。87C51是一种带有EPROM的MCS-51微控制器,拥有标准的MCS-51 体系结构和指令系统,与SM89516 完全兼容且容易采购,综合以上因素,我们选择微控制器MD87C51/B 作为待选器件与SM9956B1D 进行分析和对比。
通过表1将2 种器件的主要工作参数进行对比的情况来看,2 种器件的工作环境条件和质量等级相同,电性能参数差距微小,管脚定义一致[3-4],因此器件替代不会对MLS 接收机的功能性能和环境适应性造成影响,这2 种器件是兼容的。我们将微控制器MD87C51/B 代替SM9956B1D 装入MLS 接收机,对MLS 接收机进行检测,设备各项功能正常,指标合格,然后进行拷机,拷机中未出现状态字 1804H 故障。用逻辑分析仪监测微控制器MD87C51/B 与信号处理电路辅处理器串口通信过程,监测中MD87C51/B 未出现忽略串口接收中断的情况,能稳定接收信号处理电路辅处理器发来的数据,MLS 接收机未出现报故。此时,我们将该微控制器再换回SM9956B1D,再进行拷机,拷机过程中MLS 接收机1553B 总线状态字报1804H。
表1 MD87C51/B 与SM9956B1D主要工作参数对比
以上分析与实验证明微控制器MD87C51/B 满足选择条件,用MD87C51/B 代替SM9956B1D 可以解决本次MLS 接收机报故的问题。
综上所述可得出结论:上位机多次随机报MLS接收机故障的问题是由于微控制器SM9956B1D 某些情况下不能接收信号处理电路辅处理器发来的数据,导致设备1553B 总线状态字更新为1804H 造成的。通过实验验证,将1553B 总线接口电路的微控制器更换为MD87C51/B 可以解决MLS 接收机报故的问题。