无人水下航行器控制系统CAN转换节点设计与测试*

2013-10-16 08:06
舰船电子工程 2013年2期
关键词:串口总线单片机

徐 袭 石 敏

(1.91388部队93分队 湛江 524022)(2.水声对抗技术重点实验室 湛江 524022)

1 引言

无人水下航行器UUV(Unmanned Underwater Vehicle)控制系统采用控制局域网CAN(Controller Area Network)为系统通信网络,可实现UUV精准、高效地运动控制,能较好模拟水下运动物体的目标特征。在UUV水下运动目标模拟中,随着特征模拟复杂度的不断提高,需增加多种特征模拟设备,以使其模拟相似度更高。增加如噪声、振动等特征模拟设备,某些只具备简单的RS485(232)等串口通信控制接口,接入UUV控制系统CAN网络不便,无法准确的匹配整个系统的运行模拟,影响了模拟水下运动物体特征的准确性,因此需解决部分设备的CAN网络接口问题。本文在UUV控制系统CAN网络基础上,采用CAN总线协议控制芯片SJA1000,利用STC89单片机,设计了CAN网络转换节点,实现了特征模拟设备的CAN网络互联功能,有利于提高UUV模拟水下运动目标特征的准确性。

2 CAN原理

CAN即控制器局域网,最早由德国BOSCH公司提出,目前已形成国际标准,其主要特点如下[1~2]:

1)通信方式灵活。为多主方式工作,网络上任一节点均可在任意时刻主动向网络上其他节点发送信息,不分主从;

2)采用非破坏性总线仲裁技术,节省总线冲突仲裁时间,不会出现网络瘫痪情况;

3)CAN直接通信距离最远可达10km(传输速率5Kb/s以下),通信速率最高可达1Mb/s;

4)节点数取决于总线驱动电路,目前可达110个,报文标识符可达2032种,而扩展标准的报文标识符几乎不受限制;

5)通信介质可为双绞线、同轴电缆或光纤,选择灵活。

由于大多数特征模拟设备具备RS485(232)接口,结合UUV控制系统的网络需求,提高设备与系统的协调性,需实现RS485(232)到CAN总线的传输转换功能。

3 系统功能

某UUV控制系统用CAN实现系统网络控制,需增加特征模拟设备接入该网络提高模拟逼真度。本文设计的CAN转换节点可将具备RS485(232)接口的设备直接转化为CAN网络接入设备,实现设备CAN网络连接,易于UUV控制系统主控计算机对该设备的控制,设备也可接收并处理CAN网络传递的指令,实现对设备内控[3~4]。

图1 CAN转换节点在UUV控制系统中的应用

该转换节点主要实现RS485(RS232)到CAN总线的协议转换。可实现单个RS485(RS232)端口到单个CAN端口的转换;CAN实现CAN2.0B协议;CAN速率可达500Kb/s;RS485速率可达9.6Kb/s,具备较强抗干扰能力,CAN转换节点在UUV控制系统中的应用如图1所示。

4 节点设计

UUV控制系统CAN转换节点实现功能,其本质就是一个网关的功能,实现不同传输协议的转换。本文CAN转换节点,以CAN协议控制器SJA1000、单片机STC89S58和MAX485(232)接口芯片为主,可快速便捷地构成UUV控制系统CAN网络转换节点。

4.1 硬件部分

UUV控制系统CAN转换网络节点硬件实现方式有多种,市场上目前有两类器件可实现CAN总线至串口转换功能:一类是兼容性控制器,即微处理和CAN协议控制功能相结合,具备串口通信接口,如某些型号DSP、ARM芯片;另一类是独立CAN控制器和独立串口通信芯片[5]。本文采用第二类,使用独立CAN控制器可方便灵活选择处理器,组成多样化系统[6~8]。硬件组成示意图如图2所示:

图2 CAN转换节点硬件结构示意图

1)CAN接口模块:该模块含总线控制器和收发器两部分。CAN总线控制器SJA1000是NXP公司研制和推出的CAN通信控制器,辅助有接口管理逻辑、缓冲发送、FIFO接收端口、滤波器等,PCA82C250作为收发器是CAN协议控制器和物理总线的接口;

2)处理控制模块:要实现对CAN协议信息的管理,须选择合适微处理芯片,STC89S58芯片可实现对CAN协议芯片SJA1000的控制与管理。SJA1000的AD0~AD7与单片机的数据总线相连,P2.7引脚作为SJA1000的片选使能端,由ALE,WR,RD控制SJA1000的数据发送和接收;

3)串行通信接口模块:该模块采用 MAX485(232)芯片作为收发器,满足RS485(232)串行协议的要求,符合RS485(232)串行协议电气规范。为提高可靠性,在单片机与RS485(232)之间增加光耦隔离,消除干扰和杂波;

4)抗干扰措施:高速光耦6N137可提高节点抗干扰能力,CANH和CANL与地之间并联小电容,可滤除总线上高频干扰。

节点硬件电路部分原理图如图3所示。

图3 CAN转换节点电路原理图(局部)

4.2 软件部分

CAN接口器件实现了其物理层和数据链路层功能,应用层功能则需编制应用程序实现。单片机程序编制采用Keil uVision2,使用C语言进行节点功能的程序编写、编译和调试。其运行程序通过调用驱动程序提供的接口来实现数据收发。该驱动程序含:CAN控制器初始化、报文发送、报文接收及出错处理程序等。程序处理流程如图4所示。RS485(232)串口通信程序的编写直接调用对应接口程序即可。

按照该程序控制流程,转换节点的微处理器将从串行接口获得的信息数据,添加发送标识,发送到缓冲区,然后通过指令对寄存器发送传输请求,启动 CAN的模块自行将发送缓冲中的数据读取出来,并且按照CAN的协议编写成符合CAN的信息,同时通过接收其发往总线,实现数据转换发送,反之亦然[9]。

4.3 节点测试

该转换节点软硬件设计完成后,需验证其实际可用性与可靠性,采用相应的装置可完成对所设计节点的测试,以验证其性能[10~11]。

1)测试方案

采用RS485(232)协议转换器,RS485(232)控制软件、测试计算机,USBCAN II,CANoe测试软硬件等构成节点软硬件测试平台,测试平台构成如图5所示。

图4 CAN转换节点软件CAN驱动流程图

图5 CAN转换节点测试平台示意图

2)测试方法

(1)使用串口通信软件控制USB-RS485(232)设备发送串口数据,利用USBCAN进行观测,确定该转换发送功能是否正常;

(2)使用ZLGTEST软件控制 USBCAN II设备发送CAN网络信息,利用串口通信控制软件观测,确定该转换接收功能是否正常;

(3)使用多个节点,且同时采用上述两方式测试,检查CAN网络及节点工作是否正常;

(4)将特征模拟设备连接钻换节点,组成CAN网络进行数据传输与设备控制测试,验证其组网状态下工作的可靠性;

(5)结合CAN网络数据量大小,利用测试分析软件CANoe进行相关数据传输时效性测试,确定满足UUV控制网络CAN的需求。

以上测试方法与步骤,应对各设备CAN网络传输参数及串行通信参数设置正确,确保测试有效。

3)测试结果[14]

使用节点测试平台测试所设计的节点,通过独立验证部分传输功能及联合测试节点在网络中的数据传输效能,该节点满足设计要求,可应用于UUV控制系统CAN网络的相关设备转换接入,组网性能测试与数据帧分析软件CANoe界面如图6所示。

图6 节点组网测试数据统计与分析窗口

5 结语

UUV模拟水下运动物体目标特性,需增加部分重要模拟设备,以提高其目标模拟性能。为解决设备与UUV系统CAN网络互连问题,本文采用CAN协议芯片SJA1000与单片机为主要硬件,利用C语言编制驱动程序,设计并实现了RS485(232)与CAN转换节点,构建了节点测试平台,并对设计实现的节点进行了测试验证,测试表明转换节点满足UUV控制系统CAN要求,可对非CAN网络设备接入该网络,增强UUV模拟水下运动物体特征的准确性提供支持。

[1]邬宽明.CAN总线原理与应用系统设计[M].北京:北京航空航天大学出版社,2002:18-32.

[2]史久根.CAN现场总线系统设计技术[M].北京:国防工业出版社,2003:55-63.

[3]张立川,徐德民,刘明雍.无人水下航行器网络控制器设计[J].船舶工程,2010,32(5):30-32.

[4]王晓燕,裴亮,付晓.基于CAN总线的浮标数据采集系统设计[J].微计算机信息,2008,24(5):20-21.

[5]杨立,严卫生,高剑,等.一种基于CANoe的CAN总线系统开发方法[J].测控技术,2007,26(4):66-67.

[6]冯源,向桂林,李军.基于C8051的冗余CAN总线智能节点设计[J].航空计算技术,2008,38(5):107-111.

[7]陈永社,石秀华,李世超,等.基于CAN总线内测系统串口数据采集节点设计[J].弹箭与制导学报,2008,28(5):264-266.

[8]杨芬,吴伯农,吴海军.智能传感器的CAN总线接口设计[J].单片机与嵌入式系统应用,2011.8:7-10.

[9]张永红.基于CAN总线的嵌入式网络控制节点的设计与实现[J].制造业自动化,2011,33(8):143-147.

[10]肖龙龙,程谋森,张为华.运载器控制系统CAN总线数据传输仿真与评估研究[J].2009,29(2):256-260.

[11]黎善斌.基于网络控制系统的CAN实时性能研究[J].化工自动化及仪表,2003,30(4):1-6.

[12]郝佳,吴杰长,郭朝有.CAN总线通信过程的Stateflow建模与仿真[J].计算机与数字工程,2011,39(9).

[13]卢珺,程远胜.单片机系统中CAN总线位移传感器的设计[J].计算机与数字工程,2011,39(9).

[14]王姜博,李文新,慕德俊,等.CAN节点通讯及处理的强度测试设计[J].计算机技术与发展,2011,21(6):189-192.

猜你喜欢
串口总线单片机
基于NPORT的地面综合气象观测系统通信测试方法及故障处理
基于EM9000工控板高性能双串口通信模型设计与实现
基于单片机的SPWM控制逆变器的设计与实现
基于单片机的层次渐变暖灯的研究
基于单片机的多功能智能插排
基于单片机的便捷式LCF测量仪
一种基于CAN总线的误码测试方法
船舶电子设备串口数据的软件共享方法
CAN总线并发通信时下位机应用软件设计
基于CAN总线的水下通信系统设计