李欢丽,李 平,张 杨,时昊天,冯文韬,吴馨远
(西安现代控制技术研究所,西安 710065)
随着武器装备信息化、智能化程度不断提高,原来大量使用的RS422、CAN、1553B等总线传输带宽已逐渐不能满足系统的传输需求。 而FlexRay总线的最大传输速率为20 Mbps[1-3],且有较高的可靠性[4-5];同时,具有静态和动态两种访问机制,使用灵活,实时性高[6],因此逐步在武器装备中得到应用。文献[7]从高码率、高可靠性及高实时性方面分析了FlexRay总线可适用于运载火箭电气系统,并基于FlexRay总线设计了运载火箭火箭总线网络。文献[8-9]使用FlexRay总线开展了无人机飞控系统研究,设计FlexRay总线通信节点,并对FlexRay总线通信性能进行测试,其通信速率、通信效率、实时性等方面都较CAN总线具有优越性。而FlexRay总线的应用也随之带来了大量的测试需求。目前,传统测试较多采用Vector公司研发的CANoe进行总线测试,可模拟节点的数据收发;文献[10]设计了一种基于CPCI架构的FlexRay总线仿真测试系统,实现了从协议层面进行多节点不同速率、不同拓扑的总线网络仿真、节点数据收发等功能。文中从工程实践角度,在协议层测试的基础上,提出了总线协议层+物理层多层级测试方法,并设计了一种集协议层、物理层测试于一体的FlexRay总线测试系统,实现从物理层测试对总线的传输品质、从协议层对总线的数据传输性能的测试。
协议层+物理层多层级测试方法主要由传统的FlexRay总线协议层测试[11]与文中提出的物理层测试相结合,如图1所示。
图1 协议层+物理层多层级测试方法Fig.1 Protocol level+physical level multilevel test method
协议层测试主要功能为模拟发控、飞控、惯导等电子部件的FlexRay总线节点通信,按照规定流程及协议收发数据,并且可作为监测节点,对FlexRay总线数据采集记录及存储,为测试提供数据支撑,协议层测试原理图见图2所示,R0与R1为FlexRay总线的匹配负载。
图2 协议层测试方法原理图Fig.2 Schematic diagram for protocol level test method
物理层测试主要功能为通过产生方波、正弦波等模拟量激励信号,注入被测FlexRay传输介质(如双绞线),利用示波器采集注入信号与特定节点的输出信号,计算得出传输介质的传输损耗、传输延迟等参数,从而评估被测传输介质的传输品质,物理层测试原理图见图3所示,R0与R1为FlexRay总线的匹配负载,R为被测传输介质的等效阻抗。
图3 物理层测试方法原理图Fig.3 Schematic diagram for physical level test method
FlexRay总线测试系统主要由主控单元、总线收发及模拟信号激励单元组成。
主控单元选用标准的工控计算机,通过PCIe接口与总线收发及模拟信号激励单元相连接,在主控单元上完成测试数据的输入、显示、存储等功能。
总线收发及模拟信号激励单元用于实现总线协议层数据的收发及激励信号的生成,由FPGA模块、时钟模块、存储模块、FlexRay总线收发模块、信号生成与调理模块、电源模块、对外接口等组成。
总线收发及模拟信号激励单元硬件框图见图4所示。
图4 硬件框图Fig.4 Hardware block diagram
2.2.1 FPGA模块
为实现高速数据处理,FPGA模块采用Xilinx K7系列的XC7K325T-2FFG676I芯片作为处理核心。其采用28 nm工艺,可实现优异的性能功耗比和最大的设计灵活性,具有高达326 080个逻辑单元以及速率最高可达12.5 Gbps的收发器。为实现上电后的准确配置,采用主动串行加载方式,使用MT25QL256做配置存储,总线选用SPI×4模式,总线速率为50 Mbps,可提高FPGA加载速度。
2.2.2 存储模块
存储模块采用MT41J256M16HA,单片内存容量是512 MB,工作频率为800 MHz,设计两片构成1 GB存储容量。
2.2.3 FlexRay总线收发模块
FlexRay总线收发模块作为FlexRay总线节点,模拟节点通讯功能,按照规定流程和协议收发数据,测试总线工作状态。也可配置为监测节点,对总线数据进行采集记录,并可对数据帧添加时标。FlexRay总线收发模块采用总线控制器+隔离器+总线收发器架构,其中总线控制器采用NXP公司的MFR4310芯片,该芯片符合FlexRay通信系统协议规范V2.1A,可配置为2.5 Mbps、5 Mbps、8 Mbps和10 Mbps通信速率。总线收发器采用TJA1083,TJA1083支持FlexRay物理层V3.0.1标准。隔离器采用ADUM1402,实现收发器与控制器间的电气隔离,避免外部干扰损坏内部芯片。
2.2.4 信号生成与调理模块
对物理层的测试需要向传输介质注入特定的信号,利用信号生成与调理模块可向传输介质注入正弦波、方波、三角波三类信号,结合示波器可对传输品质进行有效测量和评估。
信号生成与调理模块主要包含波形发生器和调理电路,采用ADI公司的AD9833芯片。该芯片是一款低功耗、可编程波形发生器,能产生正弦波、三角波和方波,在频率激励和波形发生场景中有广泛的应用。
调理电路主要采用ADA4891运放+TLP0401可编程电阻器,用于实现最高10 MHz的信号调理,并且通过TLP0401可编程电阻器来调整输出端运放放大倍数从而达到输出幅值可控的要求。
2.2.5 供配电
FlexRay总线测试系统输入电源为220 V、50 Hz的市电,经过电源模块将PCIe所需的供电进行转换,提供各部分模块所需的电压和电流,根据FPGA模块、FlexRay总线收发模块、信号生成与调理模块等主要模块进行功率统计,并按照电源转换效率为80%计算,所需功率为15 W。
软件分为上位机软件与下位机软件,其中上位机软件运行于windows7平台,下位机软件运行于FPGA中,二者通过PCIe总线进行数据交互。软件架构图见图5所示。
图5 软件架构图Fig.5 Software architecture
上位机软件包括Windows驱动程序、主控软件,主控软件通过PCIe配置FlexRay总线工作模式、工作速率,模拟信号幅值、频率等参数。参数配置软件界面见图6所示,激励信号参数配置软件界面设计见图7所示。
图6 FlexRay参数配置软件界面设计Fig.6 Interface design for FlexRay parameter configuration software
图7 激励信号参数配置软件界面设计Fig.7 Interface design for excitation signal parameter configuration software
下位机软件主要由FPGA实现,FPGA总共设计了LocalBus、SPI、PCIe、AXI总线、BIT 5个软件模块,用于实现与主控单元、各子模块的信息交互。各个模块的信息交互见图8所示。
图8 下位机软件模块信息交互图Fig.8 Information for software module of slave computers
其中LocalBus软件模块用于实现地址线、数据线、控制线控制,完成与MFR4310的数据交互;SPI软件模块用于连接AD9833,主控单元对AD9833和数字电位器的操作指令由FPGA转换成SPI总线时序对其进行控制;PCIe软件模块用于与主控单元进行信息交互,主控单元下发的指令和数据经PCIe软件模块传递给FPGA模块,同时FPGA模块将需要显示和记录的数据通过PCIe软件模块上传给主控单元;AXI软件模块在FPGA内部起到中间桥梁的作用,通过AXI接口把板卡上的各设备映射到不同的地址空间,实现主控单元端驱动访问板卡上的设备快速便捷。
将设计的FlexRay总线测试系统、被测试的FlexRay总线通讯节点与示波器构成集成测试验证系统,对FlexRay总线测试系统的物理层及协议层测试功能进行测试验证。
物理层测试控制界面见图9所示,可针对相应通道配置输出波形类型(正弦波或方波)、输出模式(单次输出或连续输出)、输出电压以及输出频率等参数。设置输出波形为正弦波、输出电压为1 V条件下,测试传输介质所输出信号的品质。
图9 模拟量测试控制界面Fig.9 Test control interface for analog signal
用示波器采集FlexRay测试系统输出的信号与FlexRay节点测试点的信号,如图10所示,黄色曲线表示FlexRay测试系统输出的信号,绿色曲线表示FlexRay节点测试点的信号。可以看出,测试点输出信号的延迟时间的标准偏差为172.45 ns,表明所测试的FlexRay总线的传输介质延迟时间在百ns级,满足信号的传输要求,因此该传输介质可正常传输FlexRay信号。
图10 物理层测试结果Fig.10 Physical level test results
协议层测试,通过在FlexRay总线测试系统的控制软件上完成总线参数配置、控制芯片参数配置、消息配置等内容后,通过运行控制软件验证了控制流程、协议转发的正确性;其在示波器上采集输出的FlexRay信号特性的正确性,电压的峰-峰值为4.56 V,如图11所示。
文中提出了总线协议层+物理层多层级测试方法,并设计了一种集协议层、物理层测试于一体的FlexRay总线测试系统,极大的提高了FlexRay总线的测试覆盖性,测试结果表明,该系统能够完成FlexRay总线的多种指标测试,对武器装备的研制起到了积极的支撑作用。