杨彬彬,曾垒,章宁
(1.国营芜湖机械厂;2.安徽省航空设备测控与逆向工程实验室,安徽 芜湖 241007)
某型监控处理机是某型飞机综合航电系统的一个分系统,是非航空电子系统的故障检测中心,主要实现非航空电子系统的集中式监控管理以及非航空电子系统与综合航电系统之间的接口。某型监控处理机主要监控管理电子系统的若干子系统设备,同时将这些设备的各种工作状态信息通过数据总线多路传输数据总线报给飞行员或维修人员。通信控制器作为监控处理机与外界通讯媒介,传递非航空电子系统各设备的工作状态。通信控制器的故障将直接影响监控处理机乃至整个非航空电子系统的安全性和稳定性。外场测试主要依靠自身的BIT来完成故障的诊断和测试,该测试可以将故障定位到SRU级。内场测试主要依靠通用自动测试设备来帮助完成内场级的故障诊断和测试,测试可以将故障定位到SRU级,且测试只针对整机测试,无法实现针对通信控制器的测试和故障诊断。因此,亟需设计并研制一套针对通信控制器的功能测试与诊断系统,对通信控制器的功能、性能参数以及故障情况等进行检查。本文设计和研制的通信控制器的自动测试与诊断系统能够完成系统的初始化设置、正常通信、BIT自检等功能测试,并具备数据采集分析功能,实现了对被测对象的自动测试。
通信控制器是监控处理机的通讯组件,用于完成8路RS-422异步串行数据通信(全双工4路、半双工4路),保证电子系统内子设备与内部LBE总线可以有效交互信息。该通信控制器结构框图如图1所示。时钟电路、串行通信控制电路、收发电路共同保证串行通信收发功能,所以整个通信控制器按功能划分成4个部分:串行通信收发电路,缓冲驱动电路,译码控制电路,以及自测试BIT电路。串行通信收发电路主要完成数据通信过程中,信息的编码格式及数据串并转换等。缓冲驱动电路由3片总线驱动器构成,用于完成地址锁存和控制信号、数据总线预处理。译码控制电路由2片可编程门阵列芯片构成,用于串行通信的通道选择和自测试控制等。自测试BIT电路的主要功能是将所有的通道的接收发送端构成回路,进行串行通信电路的回绕自测试,实现对串行控制器和发送接收驱动器的检测。
图1 通信控制器结构框图
通信控制器自动测试系统是以LBE总线控制模块为中心,模拟机上总线交互场景,支持对通信控制器性能参数的自动检测,并支持通信控制器BIT检测以及故障诊断。
检测设备主要需求是:(1)对测试电路提供供电电源;(2)多串口通信模块,模拟子设备通讯模块,与内部总线交互信息;(3)模拟LBE总线工作模式,与内部总线交互信息。
测试软件的主要任务是:(1)提供人机交互操作界面;(2)实现手动/自动测试流程控制、测试结果显示功能;(3)实现本地回绕/外部回绕/收发功能3种模式切换、测试等。
电源采用多路隔离电源提供,共需提供三路电源,分别为+15V、-15V、+5V,总功率≤60W。
多串口通讯模块是基于PXI总线的多协议通用异步串行通讯产品。该模块具有4个独立的RS-232/RS-422/RS-485的串口通讯端口,每个端口的最大数据通讯速率为921.6Kbps,4个端口之间采用光电隔离,端口具有±15kV的静电放电保护能力。
LBE总线控制模块用以模拟机上LBE总线控制模式,总线信号主要包括:地址总线(address):三态信号,由主设备发出,为访问存储器或I/O提供地址;数据总线(data):提供主设备与从设备之间的数据通路;字节使能信号(XBE):三态信号,为从设备字节使能信号,由主设备发出;总线请求信号:该信号由第二主设备发出,用于向第一主设备申请占用总线;总线允许信号:该信号由第一主设备发出,表示允许第二主设备占用总线。该信号低电平有效;16位设备标识信号:三态保持信号,由从设备发出,表示该设备为16位设备,低电平有效;总线命令信号:由主设备发出,定义当前总线周期的操作类型;总线设备选择信号,由主设备发出,表示总线上的控制信号、地址信号和数据信号可以用于寻址总线上256M内从存储器,低电平有效;系统控制信号:用于系统控制,包括访问请求信号、等待信号、中断信号、总线时钟信号以及复位信号等;测试及系统状态指示信号:用于指示系统的工作状态或者在测试时使用,包括禁止存储器信号,外部时钟信号,禁止时钟信号,体质计数器信号以及禁止DMA信号等。
在本文设计的测试系统中,LBE总线控制模块为主设备,通信控制器为从设备。主从设备间需交互控制命令及状态信息,接口需满足双向数据传输功能。
LBE总线控制模块采用XC3S200AN-4TQ144为控制器,XCF04为配置存储器,模拟LBE计算机内总线时序进行读写操作,FPGA读写的数据通过串口与上位机通讯,所有的数据控制及数据处理均由上位机程序完成。如图2所示,该控制模块主要包括供电电路、串口电平转换电路、FPGA控制器电路以及总线输入输出驱动电路。
图2 LBE总线控制模块电路结构
通信控制器由4片88C681/28组成,完成8路RS-422A异步串行数据通信(半双工4路,全双工4路)。异步串行数据通信接口传输率:9600bps,通信字长为11位,其中1位启动位,8位数据位,1位奇偶校验和1位停止位,偶校验。且上电复位后,通信控制器处于不工作状态,需经初始化方可进行正常通信状态或自测试状态。串行通信的自测试电路包括内部回绕测试和外部回绕测试。
在上位机的控制下,由LBE总线控制模块对LBE总线信号进行收发控制以驱动LBE总线电路,向DUART(88C681/28)的方式寄存器(IMRn)、时钟选择寄存器(CSR)、中断屏蔽寄存器(IMR),中断矢量寄存器(IVR)等写命令字,设置异步通信波特率、协议参数、中断参数等,实现DUART初始化(图3)。
图3 初始化流程图
当设置MR2n[7:6]=00时,相应通道工作于正常通信方式,在这种方式下,接收器和发送器是独立工作的。通信控制板有2种通信模式,分别如图4、5所示。LBE总线控制模块将上位机发送的串行数据转化成并行数据后发送给通信控制器,通信控制器将数据线上8位数据转换成RS-485/422信号发送给多串口通讯模块,发送给上位机进行验证;另一方面,上位机通过多串口通讯模块发送RS-485/422信号给通信控制器,通信控制器的串行异步通信协处理器(88C681/28)将其转化成并行数据,通过LBE总线发送给LBE总线控制模块,经过LBE总线控制模块处理后将该信号转换成RS-232信号发送给上位机验证。
图4 半双工测试方案
图5 全双工测试方案
3.3.1 内部回绕测试(图6)
图6 内部回绕测试方案
当设置方式寄存器MR2n[7:6]=10,可以直接查询接收保持寄存器(RHR)或发送保持寄存器(THR),实现本地回绕测试,此时外部通信链路都不测试。
内部回绕测试过程:设置DUART工作在本地回送方式(MR2n[7:6]=10),发送器的输出在内部与接收器输入相连;LBE总线控制模块将上位机发送的串行数据转化成并行数据经LBE总线发送给通信控制器;在此基础上,PC控制LBE总线控制模块向DUART写入命令字(读接收保持寄存器RHR的值),再通过LBE总线读取RHR的值,以验证收发过程的正确性。
3.3.2 外部回绕测试(图7和图8)
图7 外部回绕测试方案
图8 测试软件主界面
外部回绕测试是通过向88C681/28的模式寄存器MR写入控制字07H,同时通过数据总线,在相应地址写控制命令字使电子开关断开,从而使8路RS-422/485切断与外部电路的连接,将所有的通道的接收端和发送端构成回路,通过数据总线读取THR的值,实现对串行控制器和发送接收驱动器的检测,从而实现串行通信的外部回绕测试。
本文设计了一种通信控制器的自动测试与诊断系统,介绍了各部分硬件资源及测试软件逻辑设计,解决了通信控制器的初始化设置、正常通信、BIT自检功能测试问题,该测试系统经试验证明切实可行,效果良好,提高了测试效率和保障能力,具有一定的实用价值。