总第250期 2015年第4期 舰船电子工程 Ship Electronic Engineering Vo1.35 No.4 147 基于CAN总线的水下航行器 分布式控制系统的研究与设计 吕志刚 (中国船舶重工集团公司第七一。研究所宜昌443003) 摘要论文将介绍一种应用于水下航行器的分布式控制系统的设计方法,该系统由中央控制单元、通讯部分和分布 式控制器组成,具有连线简单、扩充方便、通讯稳定可靠、控制实时性高等特点。并对分布式控制器的硬件电路设计和控制 软件作了阐述,该控制系统已应用于某大型水下航行器中,控制效果良好。 关键词CAN总线;分布式控制;dsPIC30F6014A;水下航行器 TP273 DOI:10.3969/j.issn1672—9730.2015.04.039 中图分类号Research and Design of Distributes Control System of the Underwater Vehicles Based on CAN.bus LV Zhigang (No.710 Research Institute,CSIC,Yichang 443003) Abstract This paper describes the design of a distributes control system method used in marine vehicles,This system consists of the center contro1 unit(CCU),communications component and distributes controller,which have simple connec— tion,the expansion of convenient,reliable communications and real-time high’S contro1 characteristics.Besides distributes controller’S hardware circuit and control software are described,The control system has been applied to a large marine vehi— cles。which has good contro1 effect. Key Words CAN—bus,distributes control system,dsPIC30F6014A,underwater vehicles Class Number TP273 1 引言 水下航行器控制系统是航行器信息处理和控制 的主体,其设计好坏将决定航行器的整体行为和性 能,航行器控制系统结构一般可分为三种类型_1]:1) 集中控制方式:利用一台微型计算机实现全部功能, 这种方式具有结构简单、经济的特点,但处理能力有 运动学计算、控制算法、运动轨迹等,子控制器由多 个CPU组成,每个CPU控制一个相应的执行机构, 这些CPU和中央控制单元通过总线形式相联系。 这种结构的控制器工作速度和控制性能明显提高, 是一种比较理想的航行器控制方式_9]。 2控制系统结构 本控制系统采用分布式控制方式,因为在水下 航行器控制系统中控制对象多而分散,若采用点对 点的集中控制方式,控制模块与被控对象之间就需 限,难以满足高性能控制要求并且控制器风险高度 集中。2)主从控制方式,用主从两个CPU进行控 制,主CPU担当系统管理、航行器语言编程和人机 接口功能;从CPU担当各个子模块的具体控制。3) 分布式控制:普遍采用中央控制单元、子控制器二级 分布式结构,中央控制单元负责整个系统管理以及 要大量连接电缆,会导致航行器内部布线复杂且制 造和安装困难,并且存在故障隐患。分布式控制结 构可以根据控制对象的位置来设计控制模块,从而 收稿日期:2014年lO月2日,修回日期:2014年11月18日 作者简介:吕志刚,男,硕士,工程师,研究方向:水中兵器学。 148 吕志刚:基于CAN总线的水下航行器分布式控制系统的研究与设计 总第250期 缩短了控制对象与控制模块之间的距离。各模块 通过CAN(Controller Area Network)总线通信, 该方式仅需要一根线作为通信线。此外,分布式系 统结构还可以降低单板的静态电流,增加单板的稳 定性。本控制系统由中央控制单元模块、通讯模块 和子控制器模块组成I2],如图1所示。 图1分布式控制系统简图 2.1 中央控制单元控制模块 中央控制单元是控制系统的中枢,要求体积 小,运算速度快,满足实时控制的要求,通常采用高 性能工业控制计算机。中央控制单元主要负责与 各分布式控制器进行通信,并根据这些控制器反馈 的状态实现相应的控制策略,然后将控制命令通过 CAN总线发送给相应的子模块。主控制模块的微 控制器采用了可靠性高、抗干扰能力强的专用通信 芯片SJ1000,其内部集成了CAN控制器,控制程 序流程如图2所示。 图2控制程序流程图 2.2通讯模块 航行器的分布式控制系统中,对通信方式的选 择至关重要,中央控制单元和各节点控制器间的通 信既要满足硬件连接简单,扩充方便,又要满足通 信的高可靠性和实时性。本设计采用CAN总线作 为通信标准,CAN总线是一种有效支持分布式和 实时控制的串行通讯网络,与一般的通信网络相比 具有可靠性高、实时性和灵活性好的优点,非常适 合作为航行器控制系统中的通信方式。 在控制系统中,中央控制单元通过PC104板 中集成的CAN通信接口连接到cAN网络,在中 央控制单元中调用PC104主板卡提供的CAN模 块驱动涵数,来实现CAN通信的管理和监控。 CAN网络各设备间通过双绞线连接,因为双绞线 的特性阻抗为120fl,为了增强CAN通信的可靠性 和抗干扰性,在CAN网络的两个端点加入120fl 的抑制反射的终端匹配电阻_7q]。 图3 CAN通信原理图 2.3子控制器模块 子控制器模块是整个控制系统的底层,与各节 点驱动电机集成在一起,实际上是一个单独的功能 控制和驱动模块,主要用来控制各个节点功能的具 体执行过程,子控制器接收中央控制单元的控制命 令,对各个节点的功能进行控制,同时把底层的信 息反馈给中央控制单元,便于中央控制单元协调规 划,统一管理。所有的子控制器的通信模块和微处 理器在硬件上完全相同,根据各节点的功能控制差 异,内部下载的软件程序有所不同。各个子控制器 是整个控制系统的核心,它的性能好坏直接关系到 水下航行器的整体性能。 3控制器硬件系统设计 控制器硬件系统结构可分为主处理器单元、电 源及电源隔离电路、CAN通信接口电路、检测电 路、驱动电路等模块,具体电路形式如图4所示。 图4控制系统硬件电路 3.1主控制器芯片 本设计核心控制芯片采用了微芯公司的 dsPIC30F6014A单片机,该芯片混合了高速运算能力 和MCU高性能控制特I生于一体,提供了许多外设,包 括16位比较/PWM输出功能、数据转换接口(IX2I)、 2015年第4期 舰船电子工程 149 UART模块、两个CAN总线模块、3线SPI模块、16 位捕捉输入功能、12位模数转换器等见图5所示 引, 因此非常适合于对实现航行器各功能进行数字控制。 网CI AN2网AI l DC网l I模块l l模块l l l 定时器I I DCI 图5主控制器功能组成模块 3.2 CAN接口电路 dsPIC3OF6O14A芯片内集成了CAN控制器, 要完成数据帧的收发还需要外加CAN驱动芯片, 本设计采用微芯公司的MCP2551作为CAN驱动 器_1。。。为了增强抗外部干扰,在dsPIC30F6014A 的CTX和CRX引脚与CAN驱动器之间加两个 高速光电耦合器6N137E 。 引脚编号引脚名称引脚功能 图6 MCP2551封装类型和引脚信息 3.3电源隔离电路 本系统设计中电源的隔离采用小功率电源模 块(DC/DC)和滤波芯(BNXo02)片来实现,如图7 所示。 ———————— PSG cG 茵 : 图7电源隔离电路 4控制系统软件设计 系统中各个ECU通过CAN总线发送接收命 令,实现与中央控制单元通信,从而实现相应的功 能和状态的反馈,软件的设计是基于MPLABC30 —软件编写的,程序主要由CAN初始化、发送数据和 接收数据三部分组成,如图8所示。 图8主程序流程图 5 结语 本文设计的系统采用分布式控制,采用CAN 总线作为通信方式通信,和过去航行器控制中常用 的RS232、RS485总线相比具有通讯稳定可靠、实 时性高等优点,且结构简单、成本低。在分布式控 制器中选用了dsPIC30F6014A作为控制芯片,既 能方便地利用丰富的外围模块实现控制功能,又能 以较快的运算速度实现较复杂的数据处理,克服了 过去集中式控制系统中的中央控制单元任务集中、 任务多等缺点。该控制系统即插即用,功能扩展和 故障处理方便、连线简单;并且缩短了模拟信号的 传输距离,有效地该善了抗干扰能力。 参考文献 Eli范永,谭民.机器人控制器的现状及展望EJ].机器人, 1999,2I(1):75—80. [2]刘华,程莉,等.机器人控制器与被控机器人的通讯方 法研究EJ].机器人技术与应用,2002(4):34—37. [3]邬宽明.CAN总线原理和应用系统设计[M].北京:北 京航空航天大学出版社,1996. [4]杨飞,郑贵林.基于CAN总线的监控系统设计[J].微 计算机信息,2005,21(7):34—36. [5]芯片公司.dsPIC30F6014A数据手册[M].钱德勒:芯 片公司,2006. [6]芯片公司.MCP2551 CAN高速接收器数据手册[M]. 钱德勒:芯片公司,2006. [7-1 Sanfridson M.分散式实时计算机控制系统的时间问题 [R].斯德哥尔摩:机械设计皇家技术学院机电一体化 实验部技术报告,2000. [8]Shi G Y.用于典型lob-shop排定问题的遗传算法VJ]. 系统科学国际期刊,1997(1):25—32. E9]Eker J,Hagander P,Arzen K E实时控制任务反馈调 度器EJ].控制工程实践,2008(12):1369—1378. [10]杨洁.CAN总线在移动机器人中的应用研究[D].西 安:西安科技学院,2002.