徐 袭 石 敏
(1.91388部队93分队 湛江 524022)(2.水声对抗技术重点实验室 湛江 524022)
在水下目标模拟技术应用中,无人水下航行器(Unmanned Underwater Vehicle,UUV)作为一种良好的特征模拟设备,通过加载部分装置即可逼真模拟部分水下运动物体的目标特性。由于水下环境的复杂性及UUV自身特点,要实现较好的特征模拟功能,对其自身控制系统的可靠性与实时性要求较高,系统需完成大信息量、高实时性的数据传输与交换,方能实现UUV的精准、高效控制与特征模拟。网络控制系统(Network Control Systems,NCS)是近年来发展起来的新型控制方法,可用于解决UUV的复杂控制问题。网络控制的核心在于控制通信网络协议与结构,根据UUV控制系统构架,CAN(Controller Area Network,CAN)网络作为一种可靠的工业应用总线网络,完全可以满足 UUV控制系统网络通信的要求[1~2]。本文在CAN网络通信原理的基础上,研究分析UUV控制系统网络结构及通信协议,设计UUV控制系统的CAN网络通信编码方式,并利用CANoe总线仿真工具,对设计的CAN总线网络进行了仿真验证。
CAN即控制器局域网,是由德国BOSCH公司提出,目前已经形成国际标准,主要用于汽车内部测量与执行部件之间的数据通信。由于其高可靠性及独特的设计,其应用范围越来越广,不再局限于汽车工业,已在机械制造、海洋船舶、机器人及传感器等领域得到快速发展与应用。其主要特点可概括如下[3]:
1)通信方式灵活。CAN为多主方式工作,网络上任一节点均可在任意时刻主动向网络其他节点发送信息,不分主从;
2)采用非破坏性总线仲裁技术,当多个节点同时向总线发送信息时,优先级较低的节点会主动的退出发送,而最高优先级的节点可不受影响的继续传输数据,节省了总线冲突仲裁时间,不会出现网络瘫痪情况;
3)CAN只需通过报文滤波即可实现点对点、一点对多点及全局广播等几种方式传送接收数据,无需专门的调度;
4)CAN的直接通信距离最远可达10kM(传输速率5Kb/s以下),通信速率最高可达1Mb/s;
5)CAN上的节点数主要取决于总线驱动电路,目前可达110个,报文标识符可达2032种(CAN2.0A),扩展标准的报文标识符几乎不受限制;
6)CAN的通信介质可为双绞线、同轴电缆或光纤,选择灵活。
结合UUV控制系统的网络需求,CAN总线所具备的以上特点完全可以满足其控制系统需求。
UUV控制系统由于控制量多,控制要求高,传统的集中控制系统通信方式已满足不了其要求。UUV在水下工作时,各部分装置发挥效能,确保其正常工作,如由惯性导航系统进行水下导航,水面状态由全球定位系统(Global Positioning System,GPS)进行位置校正[4]。应用 CAN 总线的UUV控制系统的网络体系结构如图1所示:
图1 UUV控制系统网络结构
系统由自动驾驶仪、电推系统、舵机控制系统、避碰系统、水声通信系统等组成,其中自动驾驶仪作为主机,完成整个CAN总线网络信息系统的数据传输与管理,控制UUV的工作状态,系统其它功能部分作为CAN网络节点可发送数据或接收传输给自己的数据,使各部件间的内部信息能通信互联,实现对UUV的控制需求[5~6]。
UUV控制网络采用CAN总线通讯协议。按照信息量需求,可选择采用CAN2.0B协议,其传输数据帧支持29位扩展报文标志符。根据UUV不同部件其不同功能实现需求,可将其大致分为四部分来描述要传递的控制信息,分别是优先级部分、接收节点标志部分、发送节点标志部分、模式/数据标志位部分、报文编号部分和数据编号部分,具体设置时应根据系统的需要和扩展要求设置,某典型数据帧设置如表1。
表1 某UUV控制系统CAN典型数据帧设置
各节点对接收到的报文,按照预先定义,进行区分和处理。报文数据科采用二进制格式,除特殊定义外,符合相应的标准即可。
UUV控制系统要实现实时高效的控制,除了设计好相应的CAN通信数据帧格式外,还需考虑UUV内部实际物理传输的需求。与大型船舶相比较,UUV内部传输布线空间位置不同,传输的数据量大小不同,物理传输距离长短不同,电磁环境影响程度不同,要实现高速率、可靠的控制系统,必须合理的选择相应的传输介质,设定合理的传输速率等网络要素。选择合适的波特率,使得系统可以依靠CAN总线控制器自身的仲裁和错误处理机制,达到最大程度上的抑制外界干扰的目的,提高CAN总线系统的可靠性。典型的UUV控制系统CAN网络传输参数的典型数据如表2所示。
表2 某UUV控制系统CAN典型参数设置
按照UUV系统要求,对通信传输参数进行选择和设置,构建CAN网络通信,参数设置的正确与否,需要进行分析和验证,以便应用于实际的系统中具备可靠性。
为保证UUV控制系统CAN网络协议相关参数设置的正确性,可采用总线应用开发软件CANoe对所构建的CAN通信网络进行虚拟节点的数字仿真。若仿真效果较好,可在虚拟仿真的基础上,加入实际部件节点硬件,进行半实物仿真验证[7]。
图2 CANoe模拟仿真软件界面
对UUV控制系统CAN网络进行仿真使用CANoe软件即可完成,该软件是德国Vector公司开发的CAN总线应用系统开发软件。可由Vector的CAN总线接口硬件,实现虚拟总线与真实物理总线的连接。
使用CANoe进行CAN总线的全数字仿真,也可进行物理节点与虚拟节点相结合的半实物仿真,可对真实物理总线的通信进行实时监控[8]。利用 CANoe构建仿真系统及半实物仿真,仿真系统构建软件界面如图2所示。
主要根据UUV控制系统的CAN通信设计的数据帧及参数,对CANdb数据库进行设置,逐一对总线系统节点、传输数据帧、数据场和环境变量配置,然后进行仿真配置,主要设置系统设计波特率、采样点和滤波参数等,最后进行CAPL语言编程,编制相关的节点传输机制和模式,完成后,即可进行仿真测试,验证方案的可行性。
对UUV控制系统的CAN总线通信设计方案的测试,首先启动仿真环境,通过统计窗口观察总线上的数据帧的发送和接收情况,窗口界面如图3所示。
图3 CANoe仿真系统数据统计与分析窗口
CAN总线通信测试,依据数据统计窗口相关显示内容,注意以下几方面[9~0]:
1)系统作为CAN节点的信息发送接收功能是否完成;
2)CAN总线平均总线负载率(Bus Load)和总线峰值负载率(Peak Load)是否满足设计要求;
3)各节点的工作流程是否合理、完善。总线的负荷与各节点工作流程密切相关,可以通过调整工作流程达到减轻CAN总线负荷的目的;
4)CAN总线上的数据传输的实时性是否满足要求。
针对以上测试要素,测试时若满足不了相应的UUV控制系统通信工作要求,可以及时在软件中调整,再次进行仿真测试验证;若该系统CAN通信测试结果满足要求,可转入到对该网络的半实物仿真中,即用物理节点代替计算机虚拟节点,进一步验证UUV控制系统CAN网络通信设计的可行性,半实物仿真示意图如图4所示。
图4 CANoe半实物仿真示意图
通过前述典型协议分析和设计,利用CANoe仿真,可验证UUV控制系统CAN网络传输设计的正确性,其控制网络测试网络负载小于25%,无错误帧及丢帧现象出现[13]。
运行良好的控制系统是保证UUV准确模拟水下运动物体目标特性的前提,本文采用CAN总线对UUV控制系统通信网络进行设计和分析,讨论了CAN网络数据帧在系统中的具体应用设计和传输参数设置,并使用CANoe仿真软件对所设计的UUV控制系统CAN网络进行了仿真,通过仿真验证了UUV控制系统CAN网络通信设计的正确性,该方法应用于UUV控制系统通信网络设计,将有效提高UUV系统控制特性和特征模拟性能。
[1]邬宽明.CAN总线原理与应用系统设计[M].北京:北京航空航天大学出版社,2002:18-32.
[2]史久根.CAN现场总线系统设计技术[M].北京:国防工业出版社,2004:25-32.
[3]王晓燕,裴亮,付晓.基于CAN总线的浮标数据采集系统设计[J].微计算机信息,2008,24(5):20-21.
[4]张立川,徐德民,刘明雍.无人水下航行器网络控制器设计[J].船舶工程,2010,32(5):30-32.
[5]刘卫东,高立娥,徐建宁,等.基于CAN总线的自主水下航行器内部通信与仿真[J].系统仿真学报,2007,19(6):1320-1322.
[6]张颖,张有志,方敏,等.基于CAN总线多主节点结构的自治水下机器人通信系统[J].上海海事大学学报,2010,31(1):39-42.
[7]杨立,严卫生,高剑,等.一种基于CANoe的CAN总线系统开发方法[J].测控技术,2007,26(4):66-67.
[8]任维彬,宋小庆,陈克伟.基于CANoe的战车综合电子系统任务信息流测试与分析[J].装甲兵工程学院学报,2012,26(1):72-77.
[9]肖龙龙,程谋森,张为华.运载器控制系统CAN总线数据传输仿真与评估研究[J].2009,29(2):256-260.
[10]黎善斌.基于网络控制系统的CAN实时性能研究[J].化工自动化及仪表,2003,30(4):1-6.
[11]卢珺,程远胜.单片机系统中CAN总线位移传感器的设计[J].计算机与数字工程,2011(9).
[12]郝佳,吴杰长,郭朝有.CAN总线通信过程的Stateflow建模与仿真[J].计算机与数字工程,2011(9).
[13]荆楠,王林,安佰岳.基于CAN总线网络控制系统中的时延分析及对策[J].计算机工程与设计,2009,30(20):4599-4602.