吕志刚 曹晓霖
(中国船舶重工集团公司第七一○研究所 宜昌 443003)
自主水下航行器内部通讯总线设计*
吕志刚 曹晓霖
(中国船舶重工集团公司第七一○研究所 宜昌 443003)
设计了基于CAN、RS422/232通信协议的AUV内部通讯总线系统,系统使用的中央控制单元通信板具有模块化、可配置性强等特点,满足AUV系统对其内部通讯总线的开放性要求;自主水下航行器由若干个执行机构组成,对应于不同的CAN总线节点,用CAN总线构成分布式控制系统取代集中式控制系统,从而实现实时通信,试验结果表明,该总线结构可使AUV系统的通信电缆得到有效精简,并使AUV系统获得较好的通信性能。
控制器局域网; 自主水下机器人; 分布式控制; 网络通信
Class Number TB556
自主水下航行器(Autonomous Underwater Vehicle,AUV)是一类无人控制、自带能源、自主导航与控制、自动力推进和自主作业的水下机器人,主要应用于海底图像采集、海洋环境监测、海洋资源探测与开发、水下救援和打捞等方面,也是一种有效的水中兵器,代表未来水下机器人技术的发展方向。
水下机器人控制系统一般分为集中式控制系统和分布式控制系统,集中式控制系统过分依赖中央控制单元,整个控制系统可靠性低;分布式控制系统在使用范围、可扩展性、控制速度、系统模块化、可维护性等方面具有明显优势[1~2],有利于系统的拆卸、装配和调试,系统的开放性、可靠性和鲁棒性也有所增强。目前AUV底层通信一般采用集中式控制,其通信协议完全依赖软件的支持,系统通信软件负担较重;并且在没有可靠的总线竞争仲裁与帧重发机制的情况下,数据丢失率与总线数据的流通量成正比,有时甚至会导致整个通信网络的瘫痪。
AUV由大量传感器和执行机构组成,它们与中央控制单元的通讯接口协议多种多样,这就要求AUV内部总线通讯协议具有很好的开放性,可以满足不同的通讯接口协议的使用要求,甚至便于接入带有不可预见通讯协议的传感器设备。
2.1 总体架构
整个总线系统由中央控制单元、电源测控装置、电源管理系统、传感器和各执行机构控制器等节点组成。各分布式控制节点通过CAN、RS422/232通信总线与中央控制单元进行连接,并通过自身的总线通信模块与其进行数据传输,中央控制单元是整个AUV内部通讯的核心部件,负责与各传感器、执行机构控制器和其它部件进行状态的查询和指令的下达,并对总线系统进行监控,当总线系统上发生系统性的故障时对故障进行判别并做出相应的应急处理。
从控制软件的角度来看,可将AUV控制系统分为现场控制级、协调控制级和组织控制级[3],分层控制可降低AUV系统控制的复杂性,并大大提高了各节点控制软件的独立性,使得AUV系统各控制节点的软件具有很好的模块性,便于AUV系统中各节点的调试、装配和维修。
2.2 CAN通讯协议的采用
网络的拓扑结构主要有总线网、网状网、树型网、环型网等[6~7]。这几种拓扑结构各有优缺点,具体说明如表1所示。
控制器局域网(CAN)是一种多主方式的串行通讯总线,能有效地支持具有很高安全等级的分布式实时控制,其传输速度最高可达1Mbits/s,并且CAN通信具有公开的技术规范,满足不同设备之间的兼容性需求;CAN通信的整个协议均由一块芯片以及软件来运行,类似于一个增强的多信道UART,所有错误检测传送和接收技术都能够用CAN控制芯片的硬件来执行。
AUV内部通讯总线的工作环境与汽车内部通讯总线之间具有很多相似之处,比如机械震荡、强电磁干扰等。CAN通信总线在汽车行业和机器人内部通讯系统中已得到广泛的应用,因此在我们的AUV系统内部通讯总线设计中采用CAN通讯协议。
2.3 控制系统硬件设计
某型AUV系统设计中大部分执行机构控制器的核心控制芯片均采用了微芯公司dsPIC30F6014A单片机,该芯片混合了高速运算能力和MCU高性能控制特性于一体,提供了许多外设,包括:16位比较/PWM输出功能、数据转换接口(DCI)、UART模块、两个CAN总线模块、3线SPI模块、16位捕捉输入功能、12位模数转换器等,其功能组成模块示意图见图1所示[4]。总控制节点硬件结构通过PC104板中集成的CAN通信接口连接到CAN总线网络中,总控制节点通过调用随PC104主板卡提供的CAN模块驱动涵数,来实现CAN通信的管理和监控。
图1 主控制器功能组成模块
dsPIC30F6014A芯片内集成了CAN控制器,但要完成数据帧的收发功能还需外加MCP2551[5]CAN驱动芯片。为了增强AUV内部通讯抗电磁干扰能力,在dsPIC30F6014A的CTX和CRX引脚与MCP2551驱动器之间增加高速光电耦合器6N137,图2是执行机构控制节点的硬件原理框图,图中的控制芯片dsPIC30F6014A除实现CAN通讯外,还控制执行机构动作及查询其相关状态。
图2 执行机构控制节点硬件结构图
2.4 CAN通讯协议
CAN通信的数据传输属于数据流的串行通信方式,通过串行总线将各个CAN通信节点连接[8]。本系统的CAN总线通信采用主从模式,由主节点即总控制节点:中央控制单元;从节点即执行机构控制器:由电源测控装置、电源管理系统及各执行机构控制器等组成。由于设备较多,为了提高通信的可靠性,降低总线的通信负载,采用两条总线进行通信。中央控制单元与各设备的总线拓扑结构如图3、图4所示。
图3 CAN总线1电气网络图
图4 CAN总线2电气网络图
对于CAN总线各系统的地址即为CAN总线各系统节点的ID号。由于CAN总线通信中的各个节点ID号不仅代表该节点地址,同时还代表该节点的通信优先级,基于该特点并结合运载平台各CAN通信节点的重要性和通信的频繁性,采取高通信低优先级,低通信高优先级原则,在对ID号进行地址分配时将总控制节点的ID号分配最高优先级。总控制节点与各分控制节点的通讯协议如表2所示。
表2 总节点与各分节点的CAN通讯协议
为了保证AUV系统中CAN总线通讯的快速性、可靠性和正确性,总控制节点与各分控制节点的通讯数据格式必要满足如下四个方面的要求: 1) CAN通讯总线上只发送和接收标准帧且为数据帧,即各系统节点的ID号均为11位的数据帧; 2) CAN通讯总线上发送的数据帧分为三种类型:动作指令帧、查询帧、状态反馈帧。动作指令帧是用于总节点向各分节点下达动作指令的数据帧[9];查询帧是用于总节点向各分节点下达查询各系统当前状态的数据帧[10];状态反馈帧用于各分节点向总节点反馈当前工作状态的数据帧; 3) 总节点不论发送动作指令帧还是查询帧,各分节点都要反馈当前的状态; 4) 本通讯总线采用主从方式通信结构,即在总节点不发送动作指令帧或者查询指令前,各分节点不自动发送状态反馈帧。
2.5 CAN通讯软件设计
系统中各个分控制节点通过CAN通讯总线接收命令和反馈当前状态,实现与总控制节点通信,从而实现相应的功能和状态的反馈,各份节点的软件设计是基于MPLAB_C30软件编译器编写的,程序主要由CAN初始化、发送数据、接收数据和指令执行四部分组成。
各分节点的软件设计采用中断方式进行数据的接收,总线上各分控制节点接收总线上传给本节点的数据时,首先触发CAN接收中断,在中断中对接收数据进行身份检验,对于符合传输协议的数据进行接收,否则不予接收。对于通过的数据进行进一步的区分,首先判断该指令的类别(查询指令、动作指令和与目前状态不相符合指令),然后按照相应的软件流程继续执行,各分控制节点软件指行流程图如图5所示。
图5 软件执行流程图
基于CAN总线通讯的分布式控制技术满足设计者在产品设计和使用过程可以自行制定高层通信协议的要求,为设计过程中的硬件配置和调试带来方便,同时方便的连接方式和良好的可扩展性使得AUV设计时能够按舱段进行功能划分。另外,CAN总线能够按照通讯信息的重要程度由高至低的优先级进行划分,保证了CAN总线运行的可靠性和快速性。
经试验证明系统通过总控制节点的模块化、可配置性设计满足了AUV系统对其内部通讯总线的开放性要求。并且总控制节点内部的容错处理能力以及总控制节点内部应急处理模块的设计增强了AUV系统的可靠性和容错能力,为避免AUV在试验过程复杂工作环境下的丢失,提供有力的保障措施。
总之,基于CAN总线的分布式控制技术的诸多优点吸引我们把基于CAN总线通讯的分布式控制技术引入到AUV系统设计中来,代表了AUV控制系统的发展方向。
[1] 候魏.自主水下航行器建模与控制系统研究开发[D].天津:天津大学,2004.
[2] Szabo S, Oplustil V. Distibuted CAN Based Control System for Robotic and Airborne Applications[C]//Proceedings of the 7th Intemational Conference on Control, Automation, Robotics and Vision. Singapore: Nanyang Technological University,2002:1233-1238.
[3] Ridao P, Yuh J. On AUV control architecture[C]//Proceedings of the IEEE/RSJ International Conference on Intelligent Robots and System. Piscataway, USA: IEEE,2000:855-860.
[4] Microchip Company. dsPIC30F6014A User Manual[M]. Chandler: Microchip Company,2006.
[5] Microchip Company. MCP2551 User Manual of High-Speed CAN Transceiver[M]. Chandler: Microchip Company,2002.
[6] 阳宪惠.现场总线技术及应用[M].北京:清华大学出版社,1999.
[7] 罗雪梅,黄明琪.现场总线的物理层与数据链路层[J].贵州:贵州工业大学学报(自然科学版),2002(3).
[8] Sanfridson M. Timing Problems in Distributed Real-time Computer Control Systems[R]. Stockholm: Technical Report of Mechatronics Lab Department of Machine Design Royal Institute of Technology,2000.
[9] Eker J, Hagander P, Arzen K E. A Feedback Scheduler for Real-time Control Tasks[J]. Control Engineering Practice,2008(12):1369-1378.
[10] Shi G Y. A Genetic Algorithm Applied to a Classic Iob-shop Scheduling Problem[J]. International Joural of System Science,1997(1):25-32.
Inner Communication Bus of AUV
LV Zhigang CAO Xiaolin
(No. 710 Research Institute, CSIC, Yichang 443003)
A communication bus system based on CAN(controller area network), RS422/232 protocol, which is internal communication bus system and meets the openness of AUV system is designed. A central control unit communication board that used by system has characteristics of modular, configurable and so on. AUV is composed of a number of actuators, corresponding to different CAN communication nodes. The structure of centralized control system is replaced by this kind of multi-node distributing control system, and the real time communication by CAN bus is realized. The experiments illustrate that the amount of communication wire can be reduced by implementing this king of structure, and the communication performance for the AUV system can be promoted remarkably.
controller area network, autonomous underwater vehicle, distributing control, network communication
2014年9月4日,
2014年10月23日
吕志刚,男,硕士,工程师,研究方向:水中兵器学。曹晓霖,女,编辑,研究方向:水中兵器学。
TB556
10.3969/j.issn1672-9730.2015.03.016