APP下载

双冗余CAN总线在船舶通信中的可靠性分析

2015-05-30王海平

中国新通信 2015年9期
关键词:应用层驱动器总线

王海平

【摘要】 为提高CAN总线网络在船舶通信导航集成系统中的可靠性,本篇专项技术报告分析了基于32位的ARM控制器(STM32F105VC)和隔离驱动器ADM3053的双冗余CAN总线通信设计方案。

【关键词】 CAN总线船舶通信双冗余

一、双冗余CAN总线的硬件设计

在CAN总线网络的硬件方案中,包括32位的ARM控制器(STM32F105VC)、CAN总线隔离驱动器(ADM3053)和CAN总线传输接口电路。

1、系统冗余设计。针对硬件电路设计,原理上包括局部冗余和系统冗余。局部冗余设计一般只实现了物理传输介质和物理层协议的冗余。而系统冗余方案从物理传输介质和CAN总线通信的物理层、数据链路层及应用层都进行了系统冗余,因而全面提高了船舶通信集成系统的实时性和可靠性。另一方面,系统冗余不需要故障检测、故障判断及附加的冗余部分切换电路。本篇技术分析报告设计了双冗余CAN总线通信硬件电路方案,其原理框图如图1所示。

2、硬件电路冗余设计。硬件原理方案中,采用32位的ARM控制器(STM32F105VC)。由于STM32F105VC芯片内部集成了两个和CAN2.OB标准兼容的CAN总线模块,支持CAN协议的CAN2.OA、CAN2.OB的主动和被动版本,这些突出的特点使得STM32F105VC非常适合双冗余CAN总线通信系统的硬件设计。另外选用CAN总线隔离驱动器(ADM3053)作为总线的驱动单元,对CAN的传输总线提供差动驱动功能。

3、硬件电路可靠性设计。ADM3053可以提供电源和信号双隔离功能。该器件采用3.3 V或5V的单电源在VDD1引脚供电,总线侧仅在VDD2采用5v单电源。总线侧(VDD2)的功率损耗可以采用集成VDD2SENSE信号通过微控制器检测。同时,该驱动器在总线引脚集成了+/-36V的故障保护CANH和CANL,可以防止12V和24V系统中电源/接地的短路。该器件还具有限流和热关断特性,可防止发生输出短路以及总线短接至地或电源引脚的情况。

二、双冗余CAN总线通信系统软件协议设计

1、船舶通信系统中CAN总线应用层协议。在船舶通信系统中,研发人员可依据IEC61162标准的要求,定义CAN总线通信的应用层协议。其设备数量因船舶吨位不同有所区别,总数量一般在20左右。所以系统中选择了Basic:CAN的帧格式,标识码是静态分配的,采用11位报文标识码,信息标识符结构如:数据输出设备编号、数据类型、数据接受设备编号。

2、应用层协议通信的格式。应用层通信协议是通过应用层信息帧在CAN总线物理链路中的数据传输来实现的。应用层协议将各信息帧解析之后,传输给用户应用程序显示界面使用;同时,用户程序通过应用层协议将需要发送的信息进行封装,然后发送给CAN总线网络中的接收设备。

3、双冗余CAN总线通信流程。在双冗余CAN总线系统中,对于冗余设计的两路CAN总线要求内部寄存器的参数设置,如通信波特率、滤波器必须统一,保障冗余电路的一致性;同时,要注意双路中的初始化程序、报文发送程序、报文接收程序的切换。双冗余CAN总线是同时工作的。一旦某节点中的CANH、CANL断开或只有一个发送链路在总线上,将会造成STM32F105VC中发送/接收错误计数器不断增加到128,从而触发节点处于忽略错误态,并启动纠错程序。通过以上设计,双冗余CAN总线网络在物理层、数据链路层和应用层都获得了冗余,全面提高船舶通信系统的可靠性。

4、双冗余CAN总线中容错纠错机制。为防止系统中数据漏包和误包等情况的出现,造成系统检测信息误操作,我们在系统中设计了节点应答机制,对于检测到得错包和漏包,在总线空闲时发送请求,要求重发,从而提高系统的容错能力。另外,为防止CAN总线应数据冲突等原因造成总线死锁,在系统设计了错误检测重启机制,从而达到纠错的目的。

三、结论

为了保障船舶在远洋航行中的通信导航系统可靠性,本技术报告论述了基于双冗余CAN总线网络原理及优势,并研发了基于STM32F105VC和ADM3053的CAN总线应用层协议,编制了相应的通信程序和容错纠错程序,保障通信过程中的可靠性。

猜你喜欢

应用层驱动器总线
藏起驱动器号确保数据安全
基于PCI Express总线的xHC与FPGA的直接通信
机载飞控1553B总线转以太网总线设计
基于分级保护的OA系统应用层访问控制研究
压电陶瓷驱动器的迟滞特性
新一代双向互动电力线通信技术的应用层协议研究
物联网技术在信息机房制冷系统中的应用
SiC基和Si基永磁同步电动机驱动器的比较
多通道ARINC429总线检查仪
新型低电压大变形微驱动器数值求解及仿真