APP下载

CANaerospace协议探究及设计应用

2019-07-22吴一坤

舰船电子对抗 2019年3期
关键词:样机舵机报文

吴一坤

(中国电子科技集团公司第二十研究所,陕西 西安 710068)

0 引 言

当前,数据总线技术被广泛应用在飞控系统中,提升了整个系统的可靠性、灵活性及扩展性。CAN作为标准的工业总线之一,具有独特的设计思想、优良的性能,经过多年发展已日趋成熟,在众多领域得到了广泛应用。实现CAN总线系统通信需要依托标准的CAN协议规范,就像用户使用互联网需要依托TCP/IP协议一样[1]。CAN总线提出的CAN2.0 A/CAN2.0B协议标准,使它具有物理层和数据链路层功能。在此基础上,CAN应用层协议往往需要用户自行设计制定,或采用国际组织已发布的成熟应用层协议进行剪裁移植。

CANaerospace由德国Stock航空系统公司制定,是目前应用在航空领域较为主流的CAN应用层协议之一,适用于飞行器机载设备之间进行总线通信。探究其协议特点、报文结构、总线调度机制等核心技术规范,并对其剪裁移植、优化设计,以实现应用验证,是本文研究的重点。

1 CANaerospace协议探究

1.1 协议特点

CANaerospace规范了航空机载设备间总线通信的协议接口,其主要特点如下[2]:

(1) 总线型网络拓扑,如图1所示。支持3种数据传输方式:点对点、多主以及广播。无需系统启动过程,不会出现因为主站失败而引发的危险情况。

(2) 针对应用场景高可靠性要求,支持系统冗余。

(3) 总线网络可在一定范围内动态调度,支持节点热插拔。

(4) 协议规范公开,用户可自定义协议内容及报文类型等,便于扩展应用。

图1 CANaerospace总线型拓扑结构

1.2 报文类型和消息格式

1.2.1 报文类型

CANaerospace协议定义了7种基本报文类型,每种类型都具有特定的功能作用和使用规范,如表1所示。同时,对每种报文类型分配了固定的CAN标识符范围,用来定义它们的优先级,而范围内的标识符可由用户自行制定分配。

表1 CANaerospace报文类型及说明

该协议标准保证了总线上所有消息报文都具有唯一的CAN标识符,即每条报文具有唯一的优先级。当总线多节点同时发送报文时,高优先级信息先被传输,较低优先级信息停止发送,并等总线空闲时再次尝试。

1.2.2 消息格式

CANaerospace协议规定采取“大端模式”,基本信息格式如图2所示,所有报文数据域分为两部分(共8字节),用来表示报文的标题和报文有效数据信息[3]。

图2 CANaerospace消息数据域格式

节点编号主要用于标识总线数据传输中的不同节点,表示范围为1~255,编号0表示所有节点。

数据类型标明总线报文的数据特征。CANaerospace规定每条报文都支持多种数据类型(FLOAT、LONG、SHORT、CHAR等),用户也可在特定标识符范围内自行定义需要的数据类型。

服务代码即节点服务协议代码。对于正常操作数据,它用来表征此刻总线数据的状态,使得在任何时间,都对节点单元接收数据的有效性已知。

报文编号按照总线上报文传输的数量增加,超过255后又归0,并再次进行累加。此编号用于监测报文信息传输进程和正确顺序,以验证总线节点是否正常工作。

1.3 定时触发总线调度

CANaerospace协议规定数据传输基于时间触发方式进行,正常工作状态下,各类报文信息会按照协议预先分配的周期时间进行传输,同时也在特定情况下接收中断,传输非周期信息。以CANaerospace基准系统为例,如表2所示,设定系统信息传输频率为80 Hz,即传输周期为12.5 ms,这里将12.5 ms的传输时间称为最小传输间隔。在实际控制系统应用中,并不是所有设备报文信息都需要以如此短的周期传输,可以根据设备信息的具体情况,对最小传输间隔进行不同组合,以满足各类报文信息的传输需求,使总线上能传输更多参数[4]。

表2 基准系统报文定时发送频率

2 协议制定

基于对CANaerospace协议的详细探究,本章将对其进行剪裁移植,优化设计出运行在实验室飞控系统原理样机的CAN总线应用层协议。

2.1 通信情况

飞控系统原理样机中,飞控计算机通过总线与伺服舵机进行数据交互,作为系统的主控节点,它以80 ms为周期向伺服舵机发送控制指令,伺服舵机收到指令后立即响应,并以20 ms为周期回报自身舵面角度和舵机状态信息。总线上可能传输的数据帧主要分为2类:飞控计算机发送的控制指令帧和伺服舵机回报信息帧,控制指令帧优先级高于回报信息帧。

CAN总线飞控系统通信模型主要为生产者/消费者模型。该通信模型下,在总线非破坏性仲裁中,竞争获胜的节点,成为发送信息的“生产者”,其余节点成为接收信息的“消费者”。设置总线通信波特率为500 kbps。数字舵机节点传输的报文信息种类有限,数据量较少,正常工作模式下,协议中不考虑多帧传输的情况。

2.2 报文结构

CANaerospace支持CAN2.0B协议,兼容CAN2.0 A。考虑原理样机系统传输的数据种类少、总线系统节点个数少以及减小信息延时等方面的原因,本协议制定使用11位标识符,并规定节点之间数据交换只使用数据帧,不使用远程帧传输。

采用标识符静态分配方式,将总线上可能传输的2类数据帧ID设定在CANaerospace协议正常操作数据范围(CAN-ID为0x12C至0x707)内,控制指令和状态数据根据传输间隔,周期性传输或中断执行。

数据域中,CANaerospace协议原理样机数据帧结构如表3所示。结合原理样机在总线上数据传输的特点,本协议制定如下:

D0定义为节点ID,在飞控系统原理样机中,存在的节点包括飞控计算机和多个安装在不同位置上起不同作用的数字电动舵机,D0就用来区分网络上所有节点的位置信息,给每个节点都标识出ID号,当节点ID为0x00时,代表“所有节点”,表明可能会有广播帧的发送;

D1定义为数据类型,CANaerospace协议允许多种数据类型在总线上传输,并对不同数据类型定义了不同标识,对于数据接收者只要分析信息帧数据域D1的内容便可根据协议得出总线数据类型,这里制定发控指令和回报信息都为SHORT型(0x06);

D2定义为服务代码,对于正常操作数据,此字节显示当下的总线数据状态,保证了接收数据的有效性,CANaerospace协议已定义节点服务有4类,对原理样机定义为保留状态(XXS),供将来扩展使用;

D3定义为报文编码,编码按照数据帧发送数量而自动增加,最大至255后归0,再从0开始重新计数增加,可以通过报文编码来测定报文的进程和正确的顺序,监测总线收发;

D4~D5定义为舵面偏转角信息,最高1位为符号位,说明舵面偏转的正负方向,低15位为数据有效位,表明具体的偏转角度;

D6~D7定义为其他数据,例如电动舵机类型等。

表3 CANaerospace协议原理样机数据帧结构

3 协议验证

3.1 原理样机实验概述

本实验CAN总线网络上挂接飞控计算机节点、数字电动舵机节点以及PC机节点,构成实验室飞控系统原理样机,如图3所示。实验方案中,飞控计算机作为主控节点,周期性向舵机节点发送舵面偏转控制指令;电动舵机节点接收并响应飞控指令的同时,周期性向飞控计算机回报自身舵面实时偏转角度;PC机节点作为总线上的第3个节点,接收并显示CAN总线上的实时收发数据。RS-232串行总线连接飞控计算机与PC机,打印飞控计算机节点数据收发,有利于后续实验数据的对比分析。

图3 原理样机实验连接原理图

3.2 数据分析

CAN总线飞控系统原理样机测试实验中,连接在总线上的PC机节点通过CANTest软件平台记录所有通信发生过程中的数据信息。信息主要分为2类:飞控计算机每80 ms对电动舵机发送周期性控制指令,以及电动舵机每20 ms对飞控计算机回报周期性角度信息。

依据实验的严谨性,随机选择3组由-20°~+20°循环的实验数据,这3组数据在时间上是连续的,将第1组数据的第1帧记为基准时间0,后续数据按周期时间依次增加,如表4所示,对数据汇总解算。

表4 原理样机发控与回报角度数据

对3组实验解算数据详细分析,可得出以下结论:

(1) 时间连续的测试中,存在两处角度“跳跃点”,它的出现是为验证舵机在指令周期内,响应大角度偏转而设计的结果。在每组测试最后一帧+20°的指令发送后,依旧等待80 ms,发送下一组测试的第1帧-20°的指令,相同周期内发控角度跨度由2°变为40°,发生了跳跃,舵面持续向目标角度偏转,但短时间内无法到达,并继续以20 ms为周期回报实时角度信息。

(2) 除去角度“跳跃点”所产生的非稳定状态,计算每指令周期下发控角度和回报角度的误差,分析3组数据,可得绝对值最大误差为0.207 5°,最小误差为0.007 5°,所有误差绝对值处于0.007 5°~0.207 5°之间,远小于±0.5°的误差范围,数据表现良好稳定。

利用MATLAB拟合发控角度和实时回报角度的数据信息,仿真制图如图4所示。观测角度走势,分析舵机回报角度对飞控计算机发控角度的跟随性。

图4 原理样机通信数据曲线拟合

分析图4可得出以下结果:

(1) 3组飞控计算机发送角度都分别从-20°~20°,爬升斜率一致,出现两处角度“跳跃点”;

(2) 由结果走势可看出,回报曲线斜率基本同发控曲线斜率一致,每次相应的发控行为与回报行为之间相差一个指令周期,误差值极小,可得舵机对飞控计算机的跟随性良好,系统性能优良。

4 结束语

航空领域方面,CANaerospace是当今被广泛应用的机载设备之间通信的应用层协议,本文对它的核心特点、报文类型、总线信息调度方式等规范进行了深入探究,并着重应用此协议,进行剪裁移植,优化设计了关于实验室飞控原理样机的应用层协议。规范了样机的通信模型和总线数据交互类型,以及报文结构内每个字节的具体定义等。通过飞控系统原理样机的测试实验,结果证明CANaerospace应用层协议制定正确、CAN总线无人机飞控系统通信性能良好。

猜你喜欢

样机舵机报文
基于J1939 协议多包报文的时序研究及应用
以太网QoS技术研究及实践
基于报文类型的限速值动态调整
基于PD控制的仿昆虫扑翼样机研制
基于速度观测的双余度电液舵机系统容错同步控制
精心准备,蓄势待发——广日电梯地铁项目样机验收顺利通过!
浅析反驳类报文要点
Dunnnk让设计作品更加形象逼真
雄安新区出现基于区块链技术应用的智慧垃圾收集器样机
超音速舵机保护器