姚晓玲
摘 要:本文介绍了CAN总线的技术特点、CAN通讯协议的构成及拖缆遥控小艇系统结构,讨论了CAN总线技术应用于拖缆遥控小艇的可行性及CAN控制节点软硬件设计。
关键词:CAN总线;遥控;小艇;硬件;软件
中图分类号:U666.1 文献标识码:A
1 概述
本文提出的基于CAN总线的系统设计方案是一种经济有效的方案,既能提高系统可靠性,又能节约開发时间和成本。拖缆遥控小艇放置在母船甲板,执行任务时,母船将小艇吊放入水,小艇与母船之间主要通过一根电缆(CAN总线)保持实时数据传输和通信。一般情况下,根据小艇上固定监控摄像头的实时视频信息,由母船遥控小艇执行任务。
2 CAN总线简介
CAN(Control Area Network),即控制器局域网,由德国Bosch公司最初为了汽车监控和控制系统而设计,其高性能及高可靠度吸引世界上众多的著名汽车制造商采用此总线来实现汽车内部控制系统与各检测和执行机构间的数据通信。由于CAN总线技术本身的特点,其应用范围已经扩展到机械工业、纺织工业、农用机械、机器人、数控机床、医疗器械及传感器等领域。
CAN属于总线式串行通信设备,由于采用了许多新技术及独特的设计,与一般的通信总线相比,CAN总线的数据通信具有突出的可靠性、实时性和灵活性。其主要特点如下:
(1)通信方式灵活:CAN为多主方式工作,网络上任一节点均可在任意时刻主动向网络上其他节点发送信息,而不分主从,且无需站地址等节点信息;
(2)CAN节点信息可以分为不同的优先级,满足不同的实时要求;
(3)CAN采用非破坏性总线仲裁技术,多个节点同时发送信息时,优先级低的节点会主动退出发送,保证优先级高的节点优先传送数据,从而大大节省总线冲突仲裁时间;
(4)CAN总线通过报文滤波(根据报文的ID决定接受或屏蔽该报文)实现点对点、一点对多点及全局广播;
(5)CAN直接通信距离可达10 km(传输速率5 kb/s以下),通信速率最高达1 Mb/s,此时通信距离最长40 m,CAN总线通信速率与传输距离的关系;
(6)CAN总线节点目前可达110个;
(7)CAN的每帧数据都有CRC校验及其他检错措施,保证了数据通信的可靠性;
(8)发送的信息遭到破坏后,可自动重发,节点在错误严重的情况下能够自动退出总线。
3 拖缆遥控小艇的系统组成
拖缆遥控小艇由供电控制分系统、舵机控制分系统、主推进电机分系统、视频监测分系统、导航分系统、GPS定位系统、母船控制中心等组成。各分系统主要功能如下:
(1)供电控制分系统:使用可编程逻辑控制器,可对任何一个分系统进行供电控制;
(2)舵机控制分系统:接收来自母船控制中心的操舵指令,控制舵页转动,调整小艇的航向;
(3)主推进电机分系统:接收来自母船控制中心的指令,控制主推进螺旋桨正转或反转,使小艇前进或倒退;
(4)视频监测分系统:在小艇桅杆、艇首等位置处安装视频监控摄像头,向母船控制中心提供视频信号,辅助操控人员实时了解小艇的状况;
(5)导航分系统:由电罗经和姿态传感器组成,向母船控制中心提供小艇的航向、纵摇和横摇等信息;
(6)GPS分系统:向母船提供小艇位置信息;
(7)未来扩展分系统:根据小艇未来需要执行的任务,可随时在总线上添加新的系统;
(8)母船控制中心:遥控操纵小艇时,从母船控制中心对小艇下达各项指令。
4 系统硬件设计与功能实现
供电控制分系统、舵机控制分系统、主推进电机分系统、导航分系统、GPS分系统由于其任务功能相对简单,可采用飞利浦LPC21系列ARM控制器。该控制器是基于一个支持实时仿真和跟踪的16/32位ARM微处理器,带有128/256k字节嵌入的高速Flash存储器,其集成2路CAN控制器、4路10位A/D转换器和多个串行接口。
考虑视频监测分系统数据量较大,总线占用率较高,只采用CAN总线对云台转动和镜头变焦转换等相关控制信号进行传输,视频监控图像通过专用电缆传输。下位机的微处理器可采用P89C51单片机,控制器系统采用飞利浦SJA1000作为CAN通信控制器、82C250芯片作为CAN总线收发器。P89C51单片机负责CAN通信控制器的初始化,CAN通信控制器实现对云台转动和镜头变焦转换等相关控制数据的接收和发送。
母船控制中心采用一台工控机实现功能,系统中所有的命令都由该工控机给出,对各分系统的命令通过程序以数据的形式发出。
(1)基本CAN总线节点硬件电路设计
电路主要由四个部分构成:微控制器、独立CAN通信控制器、CAN总线收发器、高速光电耦合器。
微处理器负责CAN通信控制器的初始化,通过控制CAN通信控制器实现数据的接收和发送等通讯任务。
(2)协议转换硬件电路设计
在硬件设计中,协议转换器有多种,如CAN到RS-232/RS-485协议转换器、CAN到TCP/IP协议转换器等。
内部通讯总线的协议转换器,主要由以下几部分组成:
① +5V DC电源线性稳压电路;
② CAN驱动器电路;
③ 微控制器的石英振荡器电路;
④ 电平转换电路;
⑤ 其他电路。
+5V DC电源线性稳压电路为整个协议转换电路提供电源,稳定可靠的电源是整个协议转换器正常工作的前提;CAN驱动器电路由CAN控制器和CAN驱动器构成。CAN的整个协议都由CAN控制器芯片及其上的固化程序来运行;微控制器是协议转换器的核心及协议转换器软件的载体;电平转换电路采用专用电平转换芯片。
5 系统软件设计与实现
(1)控制体系结构
拖缆遥控小艇的控制体系结构分为两层:行为执行层和硬件驱动层。
母船控制中心属于行为执行层,发出舵角指令、转速指令等信息;
供电控制分系统、舵机控制分系统、主推电机分系统属于硬件驱动层,完成指令到硬件的动作。
结合CAN总线协议的模型结构,根据软件分层的思想,在以上协议的基础上,将各种基本的CAN通信功能设计成接口函数,以便应用时直接调用。
CAN总线软件结构模型主要包括:
初始化函数;接收函数;发送函数;中断函数;错误处理函数等。
(2)通信协议规划
其中,优先级部分D28~D26共3位,可表示8个报文优先级;D25~D16每位对应一个节点;D15~D12每位对应一个节点;D11:0表示模式报文,1表示数据报文;D10~D4可容纳128种报文;D3~D0:0000表示该报文不带数据。
拖缆遥控小艇的各分系统都有统一的对外接口——CAN接口,对系统的更改和优化在软件层面可以实现,这样使得系统既易于维护,又有着很好的移植性。总线协议转换器及其软件为各个节点提供透明的数据传输功能,协议转换器接收到节点设备传来的消息后,将该消息加上发送标识符后转发到总线上;另一方面,协议转换器接收到带有接收标识符的CAN帧后,可将其转发给连接此协议转换器的设备。
6 结论
从以上分析可以看出,采用CAN总线技术可以实现对小艇的遥控操作,并且明显减少了系统之间的连线,未来需要扩展新系统时,只需将新系统通过CAN节点接入CAN总线即可。当需要增加设备之间传递的信息量时,不需要增加设备之间的连线,只需修改相关应用程序。另外,CAN总线可以实现信息共享,对于同一个信息,只需要在系统中设置一个提供该信息的采集单元,其他需要该信息的设备可以通过总线获得。
参考文献
[1] 饶运涛等.现场总线CAN原理与应用技术[M].北京:北京航空航天大学出
版社,2007:11-18.
[2] 周立功.ARM嵌入式系统基礎教程[M].北京:北京航空航天大学出版社,
2008:112-113.
[3] 周立功,译.CAN-bus规范V2.0版本[M].