梁一峰,曲一萍,余怀秦,薛磊
(西南电子设备研究所,四川成都 610036)
数字接收模块用于机载电子信息系统设备中,主要完成某频段宽带信号的截获,为系统对敌侦察与干扰提供支撑,其故障或失效不仅会导致直接的经济损失,还可能对电子信息系统装备效能的发挥产生灾难性的后果,因此数字接收模块PCBA 测试非常重要。在以往生产的模块中,技术人员针对某一部分硬件开发单独的FPGA 测试程序,测试人员需要分别加载相应的测试程序进行测试。这样完成一个数字接收模块的PCBA 检测往往需要耗费较长的时间,而且检测功能覆盖不全。文中充分借鉴了一些行业内的PCBA检测系统设计经验[1-5],设计了一种基于CAN 单片机和FPGA 的数字接收模块PCBA 自动测试系统,实现了通过上位机一键操作,完成指令的下发和检测结果的收集。实验表明,该系统设计灵活,可靠性高,检测覆盖全面,完善后系统故障检测效率可提高90%。
在机载电子信息系统[6~9]设备中,数字接收模块主要用于某频段的宽带截获。该模块主要由一个单比特转接板(以下简称转接板)、两个SOC 模块、柔性板组成。其中,SOC 模块主要由单比特组件板(以下简称组件板)和变频模块组成。模块主要功能完成某频段宽带信号的截获,SOC 模块完成信号的采集与PDW 计算,转接板负责将两个通道的PDW 信息上报。
1.1.1 转接板
转接板使用某系列FPGA(U1)作为主控芯片,FPGA 外挂三片MLVDS 驱动芯片(D5-D7),分别引出四对、四对、三对MLVDS 信号到LRM 连接器,FPGA 引出五对GTX 收发信号到LRM 连接器。FPGA 直接引出11 对LVDS 信号到LRM 连接器,其中八对LVDS 信号在可通过母板形成回环。FPGA直接引出四对LVTTL 信号到LRM 连接器,其中三对LVTTL 信号在可通过母板形成回环。CAN 单片机(D39)集成了电压检测、温度监控等功能,两组CAN信号通过LRM 连接器引出,CAN 和FPGA 的通信使用SPI 协议,通过九根普通I/O 连接。
1.1.2 组件板
组件板使用某系列FPGA (U11)作为主控芯片,FPGA 外挂四片AD 芯片(U5-U8),四个AD 采集的信号送到四个协处理器(U1-U4),经过协处理器处理后的结果报送给FPGA。FPGA 外挂一片视频AD 芯片D13,采集视频AD 信号。FPGA 直接引出15 对LVDS 信号到柔性连接器(X1 或X10),上报粗测码、精测码及同步时钟等信息。
1.1.3 柔性板
柔性板的主要作用是接收来自转接板的电压信号,为组件板供电,同时将组件板的粗测码、精测码及同步时钟等信息上报给转接板的FPGA(U1)。
数字接收模块整体方案如图1 所示,转接板接收上位机通过CAN 下发的指令,对指令要求的检测项进行检测,检测完成后将检测结果通过CAN 总线上报给上位机。
图1 数字接收模块测试整体方案
1.2.1 CAN、FPGA通信检测
CAN 的检测由上位机软件和CAN 单片机共同完成,上位机发送CAN 程序版本读取命令给CAN 单片机并回读,版本正确说明CAN 通信正常。FPGA的检测由上位机、CAN 单片机、FPGA 共同完成,上位机发送FPGA 检测指令和数据,CAN 单片机转发给FPGA,FPGA 收到后将数据回传,上位机收到下发数据说明FPGA 通信正常。
1.2.2 GTX、MLVDS、LVDS、LVTTL的检测
GTX、MLVDS、LVDS、LVTTL 的检测由转接板上的FPGA(U1)和上位机软件共同完成,转接板U1 接收上位机通过CAN 总线下发的对GTX、MLVDS、LVDS、LVTTL 的指令,将上位机下发的数据发出,数据经过母板的GTX、MLVDS、LVDS、LVTTL 环路回读后,将数据发回给上位机。上位机负责比对下发的数据和收到的数据是否一致,如果不一致则说明通信链路异常。
1.2.3 U1-U4、U5-U8的检测
U1-U4、U5-U8 的检测主要由组件板上的FPGA(U11)完成,U11 接收转接板转发过来的由上位机通过CAN 下发的对U1-U4、U5-U8 进行检测的指令后,独立完成相应的检测,并通过转接板的U1 转发上报给CAN 总线,上报到上位机。
1.2.4 柔性板的检测
柔性板的检测由转接板和组件板上的FPGA 配合完成,转接板U1 接收上位机。通过CAN 下发的检测指令,配合组件板FPGA(U11)共同完成柔性板的检测,并将检测结果通过CAN 总线上报给上位机。
为完成一个转接板、两个组件板及柔性板的检测,使得所有检测指令都可通过上位机进行下发并回读检测结果,需要设计完整的通信链路,负责整个检测系统指令和数据的下发及检测结果的回读。
通信链路各节点职责描述表1 所示。
表1 通信链路各节点职责
检测指令由上位机发送给CAN 单片机,CAN 单片机解析后发送给U1,如果是要求U1 检测的指令则U1 完成检测,如果是要求U11 完成的指令则会由U1 转发给U11,所有检测的结果沿指令下发链路反向上传。指令的报文类型是扩展帧共96 位,读写指令为32 位,检测指令和下发数据各占32 位。
具体帧结构如图2 所示,其中“4000”指令是要求U1 完成GTX 通信测试。
图2 检测指令帧结构
2.2.1 读写控制命令
写命令用于将检测指令和数据通过CAN 下发到FPGA。读命令,配合写命令使用,先下发写命令,FPGA 收到指令和数据后进行相应的检测和数据发送。在完成写指令后下发读命令,FPGA 收到读命令后将检测的结果和收到的数据一同发回上位机。
2.2.2 下发数据位
在下发数据位的设计中,对于一些检测需要下发数据,通过收回的数据与下发的数据对比,判断相应链路是否存在故障。在检测八位LVDS 通信时,需要先后两次下发0x55 和0xAA,确保LVDS 引脚能够正常完成数据的收发,而不是因为电性能故障导致某个引脚持续被拉高或置低。同时,GTX 的检测需要携带数据。
2.2.3 CAN寻址
上位机下发指令,需要指明接收指令的CAN 单片机地址。
2.2.4 检测指令
对不同的检测项的检测指令进行编码,如“4000”为GTX 检测,“1000”为转接板LVDS 检测等。
系统需要完成CAN 单片机、U1、U11 的通信测试,确保检测指令和数据能够正常下发和回读,完成LVDS、MLVDS、GTX 测试确保收发接口工作正常,完成U5-U8、U1-U4 测试确保两种AD 芯片初始化正常,完成柔性板的检测,确保转接板与组建板之间数据传输通道正常。
2.3.1 通信环路
CAN、FPGA 的通信检测采用环路检测的方法。CAN 的通信检测是上位机下发CAN 通信检测指令,CAN 收到指令后回复,上位机完成解析的CAN 通信环路。FPGA 的通信检测则是由上位机下发FPGA通信检测指令,CAN 单片机解析并转发给U1、U11,U1、U11 收到指令后回复,报文经过单片机转发给上位机,上位机解析完成检测。
2.3.2 数据环路
GTX、LVDS、MLVDS、LVTTL 的检测由上位机和FPGA 共同完成。通过对PCBA 板的LRM 连接器的母版进行设计,使这些接口在硬件连接上形成环路。在需要检测时,上位机下发检测指令,下发到FPGA 经过环路后收回,根据上位机检测收到的数据与下发数据是否一致即可判断GTX、LVDS、MLVDS、LVTTL 的硬件是否工作正常。
2.3.3 高频器件
U1-U4、U5-U8 为高频模-数转换的器件,其检测由FPGA 完成,U11 接收到检测指令后,通过SPI 接口配置U1-U4、U5-U8 的Built-In SelfTest 寄存器,将U1-U4、U5-U8 的输出配置为用户自定义的测试数据。U11 的LVDS 口接收数据并解析,将解析所得的数据与用户自定义数据进行对比,若保持一致则表明U1-U4、U5-U8 芯片工作正常。
2.3.4 数据透传
与数据环路检测的方法不同,柔性板之间虽然也是LVDS 信号,但是该PCBA 板的硬件设计导致了通过柔性版的信号只有少部分可以双向收发,大部分只能单向发送。因此,对柔性版的检测通过组件板U11 实现,该FPGA 收到检测指令后,将预设的数据通过LVDS 总线发送给转接板U1,再通过CAN 单片机转发给上位机。上位机接收数据并与预期数据进行比对,如果一致则判断柔性板工作正常。
在完成CAN 程序、U1、U11 程序编写后,通过上位机下发检测指令对系统进行原型验证。以GTX 通信检测为例,首先下发写控制命令10100CAA,写数据55555555,写地址及检测指令,03FE4000。写命令下发完成后,再次下发读控制命令10100CBB,数据位可以任意填写XXXXXXXX,读地址及检测指令03FE4000,如图3 所示。
图3 指令下发与结果回读
指令下发后通过chipscope 在线调试查看(如图4所示),U1 已正确收到检测指令,上位机能够收到模块回复的CAN 报文,接收数据与发送数据一致说明模块GTX 工作正常[14-17]。
图4 U1接收并解析检测指令
文中针对需要互相协作通信的多个PCBA 板故障定位检测的复杂性,提出了基于CAN 单片机和FPGA 的数字接收模块PCBA 自动测试系统,完整阐述了系统的设计方案及检测方法。经初步验证,证明了该自动测试系统的可行性,与以往需要加载bit文件及cdc 文件抓取信号的方式相比,检测效率提高了90%以上。下一步的工作是完善上位机测试软件,使检测系统可以做到一键检测,届时检测效率可进一步提升。