顾震宇,巫亚强,李红丽,周 杨
(西北机电工程研究所,陕西 咸阳 712099)
随着火炮技术的日益复杂,对随动系统的数据传输速率及稳定性要求越来越高。由于传统总线技术对信息的采集、传递效率低,逐渐不能适应复杂武器系统的通信要求。因此,设计基于高速FlexRay总线技术的火炮随动系统,有助于提高系统实时性、可靠性和快速反应能力。
FlexRay是新一代现场总线接口标准,利用两条独立的物理线路进行通信,每个通信信道可提供1~10 Mbps的确定数据传输速率,双通道传输同一数据时可实现硬件冗余,提高系统可靠性,传输不同数据时最大可达到20 Mbps[1]。
FlexRay总线采用了时间触发和事件触发的双触发通信方式。采用时间触发通信时,先生成网络时间报表,通过报表安排,各节点能预先掌握将要进行通信的时槽,接收器提前知道报文的到达时间。因此,报文在总线上的时间可以预测,对总线的访问具有确定性。而事件触发部分与CAN总线相同,是基于优先级的,用来处理突发事件消息的响应工作,提高系统实时特性[1]。
设计基于FlexRay总线技术的随动系统,可改善消息响应速度,确保消息准确到达相应节点,从而提升武器系统整体性能。
目前随动系统中大量应用CAN总线技术,由于物理特性的局限,其传输速度及稳定性逐渐下降,以下通过建模分析CAN总线和FlexRay总线的稳定特性,证明FlexRay作为下一代通信总线的可行性。
FlexRay帧结构包含静态段和动态段两部分,其中静态段为主要通信方式,基于时分多址技术。消息长度包含:传输开始序列TSS,一般为3~15位;帧开始序列FSS,1位;帧结束序列FES,2位;每个字节为8位,但字节开头需要添加2位的字节开始序列BSS,所以一共是10位;td为发送和接收过程中存在一个传播时间延时,大约为2~3位[2]。静态段消息结构如图1所示。
根据静态段消息结构构建模型,设置FlexRay静态段消息传输时间为CF,在数据帧中数据场的长度为Sm,位时间为τbit。
其静态段传输时间计算公式为[3]:
CF=[TSS+FSS+FES+td+(8+Sm)·
(8+2)]·τbit
带入限定范围内帧序列位数,得到:
CF=[10+1+2+td+(8+Sm)·(8+2)]·τbit
CF=(93+td+10·Sm)·τbit
CAN通信采用事件触发方式,根据各节点分配的优先级状况,会出现总线竞争关系,即同消息等级因争夺发送权而冲突,此时,低优先级消息必须等待延时结束,而随着高优先级信息增多,低优先级消息阻塞现象更为严重。
作为与实时性密切相关的系统,确切掌握消息的最坏响应时间是确保系统正常运行的前提,CAN响应时间从通信事件开始到目标节点为止,包括收发节点内部处理时间,从节点到控制器的时间,总线仲裁时间,和控制器传入节点的时间。用到的参数定义如下:
Tm为启动通信的时间间隔;Jm为由事件发生到消息开始送入独立通信控制器的时间最大变化量;Cm为在总线上传送消息m所需时间(要考虑位填充值);Dm为由应用决定的传送消息m允许的时限;Rm为传送消息m时最坏等待时间。
Rm由两部分组成:一个是低优先级m在总线上传输造成的阻塞Bm,一个是高优先级m在总线上竞争控制权造成的干扰Im。当这两部分取最大值时就构成了Rm的最坏等待时间。其中,lp(m)为比消息m优先级低的消息集合;hp(m)为比消息m优先级高的消息集合。以下利用递推公式得出CAN总线消息最坏响应时间[4]:
Rm=Bm+Im
(1)
Bm=max(Cl)l∈lp(m)
(2)
Im=∑((Rm+Jk+τ)/Tk)·Ckk∈hp(m)
(3)
(4)
通过FlexRay静态段和CAN通信传输时长公式的对比可以发现,FlexRay静态段消息传输不存在冲突,响应时间基本恒定,存在的抖动现象较小,在保持了系统响应实时性的同时,不影响系统稳定性。而CAN总线消息传输需要竞争,通过递推公式可以看出,随着传送消息的增加,高优先级消息m数量增大,高优先级信息的竞争增强,响应时间随逻辑时间成上升趋势,若为了满足系统实时性需要,必须降低单位时间通信量,保持总线负载率不超过30%左右。
基于FlexRay的随动系统基本结构如图2所示,炮长任务终端向总线上传递射击主令,由火控计算机进行接收,并通过捷联惯导装置传输的定向角、姿态角和本炮坐标位置,结合随动系统反馈的状态信息和误差信号计算出火炮实时掉转指令,控制随动系统进行调炮。
FlexRay接口适配器是随动系统与各节点联系的纽带。节点是一种带有FlexRay控制器的接口,能进行数据采集和处理,并具有信息收发功能。所有节点均挂接在FlexRay总线网络上,通过接口适配器接入系统内部,进行调炮指令接收,完成对随动系统的控制,进而实现火炮的调炮指令,见图3。
FlexRay随动节点选取MC9S12XF系列单片机,它是Freescale公司研发的高性能单片机,总线速度可达50MHz,外围时钟可达40MHz,具备片上纠错能力,使节点设计可靠性得到提升[5]。由于单片机集成总线控制器功能,外围只需加入一个收发器即可。总线收发器选用Freescale公司的TJA1080,该模块主要由状态机、信号路由器、输入/输出管理模块、收发模块以及发送器组成。
当MC9S12XF512单片机向总线上发送数据时,先将数据传送到TJAl080上,由收发器把嵌入于CPU的总线控制器的逻辑电平转换成抗干扰能力强的差分电平,经滤波和电阻匹配发往FlexRay总线网络;接收时,FlexRay总线网络信息经阻抗匹配和滤波,发送到收发器的BP与BM端口,收发器接收到总线的信号后,转换成逻辑电平,送入集成于CPU中的FlexRay总线控制器,完成接收过程,见图4。
MC9S12XF512初始化设置后,读取寄存器。一旦初始化成功,给定收发寄存器地址值,然后设置单片机内各个寄存器地址,进行正常的总线数据读写。MC9S12XF512利用自带FlexRay控制器判断当前是否有数据读写。其中数据读功能是通过判断是否有挂起的硬件中断实现的。当MC9S12XF512收到数据时,先关中断,检测到中断程序后,数据信息写入相应寄存器,再进行数据处理。在无数据收发情况下,MC9S12XF512定期发送测试命令确定系统是否工作正常。也可以根据需要,将单片机转入睡眠状态,节省网络资源。
利用MC9S12XF512单片机实现随动系统通信的软件流程如图5所示。
随着火炮系统的快速发展,FlexRay总线将逐渐成为取代CAN总线的新一代高速总线通信技术,应用于火炮武器系统当中,使控制系统在速度、稳定及可靠性方面得到提升。本文从理论数学模型出发,分析了FlexRay总线稳定性优势,并以MC9S12XF512单片机为核心设计了基于FlexRay的随动系统接口电路,提高和改善了随动系统的实时可靠性能。
[1] 丁天宝,王刚.基于FlexRay的新型复杂武器总线体系[J].火炮发射与控制学报,2011(3):60-62.
DING Tian-bao,WANG Gang.Bus system of a new complex weapon based on FlexRay[J].Journal of Gun Launch & Control,2011(3):60-62.(in Chinese)
[2] FlexRay consortium.FlexRay communication system protocol specification,version 2.1 revision A[S] 2005.
[3] YE Qiong-song,FRANCOISE SIMONOT-LION.Evaluating quality of service and behavioral reliability of steer-by-wire systems[J].IEEE Emerging Technologies and Factory Automation,2003(1):193-200.
[4] IAN BROSTER,ALAN BURNS,Probabilistic analysis of CAN with faults[J].IEEE Real-Time Systems Symposium,2002(23):269-278.
[5] Freescale Semiconductor Inc.MC9S12XF512 Reference Manua[EB/OL].(2010-05-18).Http://www.freescale.com.