一种多接口通信子卡的试验工装设计

2021-03-22 16:20杨媛媛王晓华冯思桐徐玉杰
电脑知识与技术 2021年6期

杨媛媛 王晓华 冯思桐 徐玉杰

摘要:本文介绍了一种多接口通信子卡的试验工装设计方案。子卡具备CAMLINK接口、CAN接口以及FC通信接口三种通信接口,在综合考虑资源因素、经济因素、结构因素、维修因素等多方面因素后,设计的工装最终实现目标需求。

关键词:CAMLINK接口;CAN接口;FC接口

中图分类号: TP311        文献标识码:A

文章编号:1009-3044(2021)06-0240-03

Abstract: This paper introduces the design scheme of a test fixture for multi - interface communication card. The card has CAMLINK interface, CAN interface and FC communication interface. After comprehensive consideration of resource factors, economic factors, structural factors, maintenance factors and other factors, the designed tooling finally realizes the target requirements.

Key words: Camlink;Can;FC

1 多接口通信子卡

本文所设计的试验工装的目标对象为一款多接口通信子卡(以下简称通信子卡),通信子卡上集成了CAMLINK接口、CAN接口和FC接口三种通信接口,其中FC接口及CAN为双向输入输出接口,CAMLINK为输入接口。通信子卡的结构组成及通信数据流见下图。

通信子卡使用CAMLINK接口作为LVDS数字视频流的输入接口,CAMLINK接口使用标准CAMLINK接口芯片,实现串行高速数据的解码和转换。在接收到LVDS数字视频数据后,通信子卡逻辑的CAMLINK组件单元完成数据采集,并将采集到的图像数据作为负载Payload,由子卡逻辑的FC组件按标准协议帧结构组织FC流消息并发送出去,直至一副图像数据被完整发送至FC网络。

通信子卡通过CAN总线接口接收前端系统中的CAN数据,CAN总线接口使用标准CAN接口协议芯片和CAN收发器实现,数据帧格式采用CAN2.0B标准帧格式,支持最高通讯速率1Mbps。通信协议支持选择性接收,可以通过设置滤波参数来过滤由串行CAN总线上获得的数据。在接收到CAN消息后,由通信子卡逻辑的CAN组件单元进行滤波选择,将满足接收要求的数据存储在协议芯片中,按规定解析后将数据传递至内部RAM中,通信子卡逻辑的FC组件从内部RAM中获取数据,将整个CAN消息作为负载Payload,按标准协议帧结构组织FC短消息并发送至FC网络。

通信子卡通过FC接口接收后端的控制信息和工作参数,FC接口使用FPGA芯片及光电收发器实现,采用标准FC协议进行通信,传输速率为2.0Gbps。在接收到FC消息后,通信子卡逻辑的FC组件单元按FC协议解析并将Payload数据存储到内部RAM中,子卡逻辑的CAN组件单元从RAM中获取数据并进行分包,将分包后的数据内容按CAN协议标准格式进行数据转换,并通过CAN接口分包发送至前端。

2 试验工装设计方案

针对通信子卡本身的特点,其试验要求使产品在正常通信条件下,经历高温、低温、振动等试验测试项,观察在各种试验测试条件下,通信子卡是否能持续正常通信。试验工装必须解决的问题如下:1)必须有可靠的外部CAMLINK数据源;2)必须有可靠的外部CAN数据源;3)必须有可靠的外部FC数据源;4)尽量减少外部设备数量,减轻试验搭建难度,降低外围设备对试验的影响;5)必须保证各通信接口的通信效率、通信协议符合性和数据的准确性;3)各待测模块的统一供电;4)试验设备的可扩充性和经济性、可靠性,,尽量采用现有的成熟产品。综合考虑如上因素,形成的试验工装设计方案如下。

2.1 供电平台

方案设计了通信子卡适配平台提供测试设备的供电和卡槽,可以根据通信子卡的生产情况、试验台的大小、各接口通信处理能力、功耗等因素来评估具体设计多少个卡槽。

2.2 CAMLINK接口

方案设计使用定制的CAMLINK信号发生器作为CAMLINK数据源。信号发生器由CameraLink信号发生器(硬件)和信号发生器配置软件组成,是一款能输出多种图像格式的设备,应用于图像采集和处理系统的功能验证和性能测试。信号发生器能通过配套的信号发生器配置软件配置输出图像的时序和数据内容。信号发生器可以通过设置图像参数,输出规定行数和规定列数的LVDS模拟图像数据,输出数据内容为:第一行数据为数据起始值,第二行的第一个数据位数据起始值,且数据依次以递增步进为步进进行数据值的递增,直至数据位满,然后归0,继续递增至位满。重复从0递增至位满的数据规律直至一帧数据结束。每一帧数据相同。通信子卡按时序顺序接收各行数据,并将每行数据填充至FC帧的payload,组成FC-ASM流消息发送出去。有规律的数据内容可以方便协议转换后的数据校验。同时,该激励源可以在不影响通信质量的情况下,通过增加CAMLINK转换接头来扩充CAMLINK链路数目,从而能够扩充更多的待测设备进行试验,增加试验通货量。

2.3 FC接口

方案设计使用航空工业计算所设计的4-FIC标准子卡作为FC激励源,4-FIC标准子卡是航空工业计算所已经交付验收的成熟产品,通过了行业内的标准FC协议设备的通信检测,具备较高的可靠性和通信稳定性。4-FIC标准子卡具备4个独立运行的FC通信节点,可以同时与4个待测通信子卡进行独立通信。通过开发测试软件,4-FIC标准子卡可以作为发送端,向外输出规定内容的FC短消息,同时也可以作为接收端,接收经CAMLINK-FC协议转换后的FC流消息并进行数据比对,接收经CAN-FC协议转换后的短消息并进行比对,消息比对结果通过串口输出。在原有逻辑上进行测试软件开发,不改变原有功能,仅控制其发送的数据内容及增加在数据接收之后的数据比对,对4-FIC标准子卡的可靠性和通信稳定性无影响。使用4-FIC标准子卡作为FC数据源,也可以省去开发新设备或评估和采购设备的花銷。

2.4 CAN接口

方案设计使用由航空工业计算所设计的IRST模块作为CAN标准激励源进行试验,IRST模块是航空工业计算所已经交付验收的成熟产品,通过了行业内的标准CAN协议设备的通信检测,具备较高的可靠性和通信稳定性,IRST模块具备标准CAN接口,可以实现CAN消息的发送和接收,在IRST原有逻辑上进行软件开发,不改变原有功能,仅控制其发送的数据内容及增加在数据接收之后的数据比对,对IRST的可靠性和通信稳定性无影响。使用IRST作为CAN数据源,可以省去开发新设备或评估和采购设备的花销。

但是若为每一个待测通信子卡配备一块IRST模块作为CAN激励源,试验环境搭建过于复杂,且从经济上考虑,试验设备花销过大,后期若计划增加试验通货量或增加试验设备成本和难度都过大。考虑到CAN总线是串行总线,CAN总线上的数据能够被所有在该条总线上连接的CAN設备监听到,设备可以通过软件实现配置好的滤波参数来过滤总线数据,选取自身需要的数据进行接收和处理。因此方案设计在通信子卡适配平台上设计CAN总线接口,该接口通过串行CAN总线将所有卡槽连接起来。IRST与适配平台的CAN接口相连接,使用时,通过该接口向CAN总线发送多条数据。每个待测模块提前配置滤波参数,确定所要接收的CAN数据,在接收到总线上的CAN消息时,根据滤波功能进行筛选,获得发给自己的待测CAN消息并进行CAN-FC协议转换,协议转换后的比对结果可以通过串口输出。

由于还需验证待测通信子卡的FC-CAN协议转换,4-FIC允许将接收到短消息作为FC数据源,将消息原样转发给待测通信子卡,子卡接收到FC消息后,将会进行FC-CAN协议转换,将转换后的CAN消息发送至CAN总线而被CAN激励源接收,由激励源进行数据比对,形成CAN-FC-FC-CAN的验证测试闭环。

FC通信子卡选用CAN2.0标准帧进行通信,单个模块可以通过配置滤波参数选择接收CAN消息。其滤波参数计算方法如下图所示:

图2表征的含义为当收到CAN消息后,两个滤波器同时进行滤波。滤波时,首先通过验收屏蔽寄存器来筛选滤波的关心位,其中屏蔽寄存器比特位为1代表屏蔽该比特位,即不关心该比特位的值,屏蔽位为0代表不屏蔽该比特位,即应特别关注该比特位的值。确定屏蔽位和关心位之后,则判断接收到的CAN消息在关心位上的值是否与验收代码寄存器上的值相同,若相同,则滤波通过,若不同,则不通过,只有同时通过两个滤波条件,才允许接收继续传递至CAN总线上。

3 方案验证

最终实现的方案如图3所示。

由于现有4-FIC可以同时支持与4个FC节点通信,因此通信子卡适配平台最终选择4卡槽。试验开始之前,各待测通信子卡烧写逻辑和软件,并插入卡槽中,CAMLINK源使用数据转换头分别与各待测通信子卡CAMLINK接口连接,CAN源使用CAN数据线与适配平台相连接,FC源使用光纤与4FIC的光纤连接,适配平台上电后,首先设置通信子卡CAN接口滤波参数,接着依次上电FC激励源、CAMLINK源和CAN源。按约定规则设置CAMLINK源的数据,CAN数据后开启测试。

CAMLINK源数据设置为从0x1不断递增;CAN源数据设置为ID分别为0x1\0x2\0x3\0x4,其中产品1接收ID为0x1的消息,产品2接收ID为0x2的消息,依次类推。为了实现单独接收,需根据图2计算滤波参数。试验方案最终的滤波参数[ACR,AMR]为[0x200020,0x0F FF0F],[0x400040,0x0x0FFF0F],[0x600060,0x0x0FFF0F],[0x800080,0x0x0FFF0F],上电后将滤波参数分别配置给各待测通信子卡,待测子卡之间无顺序之分,只要分别是上述各组值即可。

试验开始后,分别向4个待测模块发送预先设置好的CAMLINK数据,数据经通信子卡内部转换成FC流消息,发送至FC激励源,激励源内部软件验证FC流消息payload的长度和内容,若长度和内容与预先约定规则相同,则CAMLINK-FC协议转换正确,否则失败。测试结果通过FC激励源串口打印。

CAN源通过适配平台的CAN接口向CAN总线持续发送4个ID数据,发往4个待测通信子卡。待测子卡在接收到消息后将其转换为FC短消息,FC激励源在接收到短消息后原样发出,通信子卡在接收到FC短消息后,将其转换为CAN消息并发送至CAN总线上,CAN激励源接收到该消息后,根据消息ID,与自己之前发送出去的相同ID消息内容进行比对,若相同,则CAN-FC协议和FC-CAN协议转换正确,否则失败。测试结果通过CAN激励源串口打印。

试验最终表明该方案可以完全满足多接口通信子卡的试验需求。

参考文献:

[1] 孟博,张楠,李亚各,等.一种机载FC接口模块的设计与测试[J].航空计算技术,2017,47(1):128-130,134.

[2] 邓发俊,武华,冯晓东.一种基于PCIe交换开关的多路FC节点机设计与实现[J].电子技术,2016,45(4):60-62.

[3] 周明,杨晓龙.基于FC-AE-ASM协议的FC端口性能测试[J].测控技术,2015,34(5):93-95,110.

[4] 付平,周颖,乔家庆.一种多通道CAN总线通讯M模块的设计[J].计算机测量与控制,2017,25(9):118-122.

[5] 刘琦,马飞,王鹏,等.基于FPGA的相机图像转接测试系统设计[J].电子测量技术,2015,38(7):33-37.

【通联编辑:唐一东】