基于CAN 和FPGA 的自动测试系统设计

2023-12-09 02:55梁一峰曲一萍余怀秦薛磊
电子设计工程 2023年23期
关键词:环路上位指令

梁一峰,曲一萍,余怀秦,薛磊

(西南电子设备研究所,四川成都 610036)

数字接收模块用于机载电子信息系统设备中,主要完成某频段宽带信号的截获,为系统对敌侦察与干扰提供支撑,其故障或失效不仅会导致直接的经济损失,还可能对电子信息系统装备效能的发挥产生灾难性的后果,因此数字接收模块PCBA 测试非常重要。在以往生产的模块中,技术人员针对某一部分硬件开发单独的FPGA 测试程序,测试人员需要分别加载相应的测试程序进行测试。这样完成一个数字接收模块的PCBA 检测往往需要耗费较长的时间,而且检测功能覆盖不全。文中充分借鉴了一些行业内的PCBA检测系统设计经验[1-5],设计了一种基于CAN 单片机和FPGA 的数字接收模块PCBA 自动测试系统,实现了通过上位机一键操作,完成指令的下发和检测结果的收集。实验表明,该系统设计灵活,可靠性高,检测覆盖全面,完善后系统故障检测效率可提高90%。

1 系统方案设计

1.1 数字接收模块组成

在机载电子信息系统[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.2 整体方案设计

数字接收模块整体方案如图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 总线上报给上位机。

2 检测逻辑设计

2.1 通信链路设计

为完成一个转接板、两个组件板及柔性板的检测,使得所有检测指令都可通过上位机进行下发并回读检测结果,需要设计完整的通信链路,负责整个检测系统指令和数据的下发及检测结果的回读。

通信链路各节点职责描述表1 所示。

表1 通信链路各节点职责

2.2 检测指令设计

检测指令由上位机发送给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 检测等。

2.3 检测方法设计

系统需要完成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 单片机转发给上位机。上位机接收数据并与预期数据进行比对,如果一致则判断柔性板工作正常。

3 效果评估

在完成CAN 程序、U1、U11 程序编写后,通过上位机下发检测指令对系统进行原型验证。以GTX 通信检测为例,首先下发写控制命令10100CAA,写数据55555555,写地址及检测指令,03FE4000。写命令下发完成后,再次下发读控制命令10100CBB,数据位可以任意填写XXXXXXXX,读地址及检测指令03FE4000,如图3 所示。

图3 指令下发与结果回读

指令下发后通过chipscope 在线调试查看(如图4所示),U1 已正确收到检测指令,上位机能够收到模块回复的CAN 报文,接收数据与发送数据一致说明模块GTX 工作正常[14-17]。

图4 U1接收并解析检测指令

4 结束语

文中针对需要互相协作通信的多个PCBA 板故障定位检测的复杂性,提出了基于CAN 单片机和FPGA 的数字接收模块PCBA 自动测试系统,完整阐述了系统的设计方案及检测方法。经初步验证,证明了该自动测试系统的可行性,与以往需要加载bit文件及cdc 文件抓取信号的方式相比,检测效率提高了90%以上。下一步的工作是完善上位机测试软件,使检测系统可以做到一键检测,届时检测效率可进一步提升。

猜你喜欢
环路上位指令
听我指令:大催眠术
ARINC661显控指令快速验证方法
LED照明产品欧盟ErP指令要求解读
特斯拉 风云之老阿姨上位
上海市中环路标线调整研究
“三扶”齐上位 决战必打赢
基于ZigBee和VC上位机的教室智能监测管理系统
以新思路促推现代农业上位
Buck-Boost变换器的环路补偿及仿真
单脉冲雷达导引头角度跟踪环路半实物仿真