基于CAN总线的综合船桥模拟实验系统的设计*

2011-02-27 07:28陈立家黄立文
关键词:模拟系统报文总线

陈立家 黄立文

(武汉理工大学航运学院 武汉 430063)

船桥模拟实验系统能够部分代替船桥设备的实船测试,船桥设备可以在该实验系统上通过联合调试试验进行设备功能测试.在功能测试完成后再进行实船的可靠性测试,这样能缩短船桥设备的开发周期,减少船桥设备的开发成本.目前,该实验系统,处于一个探索研究阶段.本文以美国Sperry公司的船桥设备为对象,论述我校船舶操纵模拟器与Sperry船桥系统集成方案.系统采用速度快、可靠性高和可扩展能力强的CAN现场总线技术构建开放式、分布式一体化网络能够使这2个系统有机融合,实现模拟船桥的综合集中监视、实时控制与运动仿真.该实验系统结合了综合船桥和船舶操纵模拟器的优点,必将成为船舶操纵模拟器的一个新的发展方向[1-2].

1 系统结构模型

船桥模拟实验系统由雷达、电子海图、综合信息显示、模拟系统服务器、模拟系统教练员站、三维视景和若干船用传感器(包括GPS,AIS,计程仪,罗经和VDR等)组成.其中模拟系统服务器和教练员站负责解算六自由度船舶运动模型,设置航海环境、海域和交通状况并控制、监视并重放和分析训练过程,是该实验系统船舶运动的核心.三维视景系统利用现代先进计算机图像处理技术,为操作者提供最直接、信息量最大的信息来源.使操作者具有身临其境的感觉,在视景效果上采用了 Anti-aliasing,Z-buffering,MIPMAP texture等技术,可显示具有丰富纹理的天空、海面和相关物标航海环境等内容.系统中的雷达、电子海图、综合信息显示和船用传感器部分为本实验系统真实的系列船用设备.系统网络拓扑结构如图1所示.

传统的船用传感器设备采用NMEA0183协议和普通串口形式进行通信,在多传感器环境下组网比较困难、接口相对复杂、不能达到导航传感器之间的数据共享,因此本文提出的解决方案为将所有船用导航传感器从串口升级为CAN总线,综合信息显示控制台与模拟系统以太网的通信通过以太网卡来实现,与串口接口的通信CAN总线和接口转换电路来实现.那么当CAN总线网络与以太网和串行口之间要实现数据通信时,可以通过综合信息显示控制台内部的程序来实现[3].

图1 全船实时监测网络拓扑结构图

2 基于CAN总线协议的船桥模拟系统实现

2.1 CAN总线系统硬件设计

1)接口转换电路设计 由于系统中各个导航设备使用的接口为传统的 RS-232串行接口,数据传输遵循NMEA0183协议,因此系统设计关键之一是需要将RS-232转换成为CAN总线,形成CAN总线的各个节点.

RS-232与CAN总线转换电路结构如图2所示,由光电隔离电路,单片机电路和CAN总线驱动电路组成.导航信息经过船桥导航仪器自身的RS-232接口发送到转换电路的6N137光电隔离电路.光电隔离电路对转换电路和导航仪器之间实现了电器隔离,起到保护作用,同时也减少电磁干扰.MAX232器件起到T TL和RS232电平转换的作用.单片机是转换电路核心器件,起到调度作用.导航信息通过单片机的UART进入单片机,经过单片机程序的处理,以报文的形式,存储到CAN控制器中,自行发送.发出的报文经过光电隔离电路送到CAN总线驱动电路.该驱动电路主要由PCA82C250组成.对CAN协议控制器提供差动接收能力,对传输总线提供差动发送能力.在转换的CAN总线上理论上可以连接1 024个导航设备.含有航向信息的报文经过PCA82C250送到总线上,与其它导航仪器进行信息共享.因报文中有仲裁的信息,优先级高的将会赢得总线,其它的转换器处于接收状态.

图2 CAN总线接口硬件结构

2)CAN总线冗余设计 冗余是指系统或设备具有多于一种手段执行同一种规定功能的能力.船桥导航系统需要采取冗余手段来提高系统的可靠性.本系统中采用的是一种双路CAN总线冗余通信设计方案.其拓扑结构图如图3所示.硬件采用Fujitsu的一款带2个CAN控制器的16位单片机MB90F543.设计系统采用两套总线(CAN0,CAN1),每套包含独立的总线电缆、总线驱动和总线控制器,可以实现物理介质、物理层、数据链路层及应用层的冗余[4].总线驱动电路原理图如图4所示.

图3 冗余CAN总线拓扑结构

图4 CAN总线接口驱动电路

2.2 CAN总线系统软件设计[5]

CAN总线系统软件程序设计主要包括节点初始化程序、报文发送程序、报文接收程序以及CAN总线切换等.在初始化CAN内部寄存器时注意要使得各节点的位速率必须一致,而且接、发双方必须同步.限于篇幅仅介绍CAN总线冗余切换程序设计思路.

系统采用双CAN冗余方式运行,系统中2路CAN总线同时工作,2路总线都正常时每一时刻在导航设备间传递同样的数据,每个节点对2路总线发来的数据都会接收到,但只读取主CAN线路的数据.如果CANH与CANL短路,CANH或CANL断开、CANH与地短路、CANL电源短路、总线驱动器损坏等,均会造成发送和接收错误,产生节点状态改变中断事件,调用总线转换程序.总线转换程序为:停止故障总线→启用另一路总线→通过另一路总线发送通知报文→告知其他节点→设置相应的一些标志,对应的程序流程图如图5.对应的节点状态改变的中断子程序为

图5 双冗余总线切换流程

总线CAN0到总线CAN1的切换,总线CAN1到总线CAN0的切换,分别由两个不同函数实现Bus0_Busl()和Bus1_Bus0().其中一路CAN总线出现故障后,节点会读取另一路总线上的数据,并发出警报,提示工作人员对损坏的那路CAN总线进行修复.这样双冗余CAN总线不仅在物理链路层上获得了冗余,而且通过软件编程使数据链路层和交互信息都得到了冗余,提高了通信系统的可靠性.

3 冗余CAN总线可靠性分析[6]

由于船舶上的特殊环境对船舶系统网络提出了更高的要求,不但要求信息传输速度快,抗干扰能力强,还要求网络具有高稳定性和高可靠性.故在现场总线技术上采用了上述的全面冗余同时运行方式的CAN总线网络拓扑结构方案.

产品可靠性一般符合指数分布,若产品的寿命或某一特征值t的故障密度为

则称t服从参数λ的指数分布.那么:

系统不可靠度

系统可靠度

故障率

平均故障间隔时间

设2路CAN通道的寿命服从指数分布,故障率分别为λ1和λ2,则CAN总线的2个通道的不可靠度分别为

同理:如三路冗余的CAN通道的不可靠度分别为

根据并联系统的定义及可靠性逻辑框图可知:可靠性数学模型为

式中:F3(t)为系统的不可靠度;Fi(t)为第i个单元的不可靠度.

这样可以得出由这2路CAN通道组成的冗余模块的不可靠度函数为

这样可以得出由这3路CAN通道组成的冗余模块的不可靠度函数为

假设双路冗余CAN总线系统可靠度为

三路冗余CAN总线系统

假定单路CAN通道模块的平均寿命(MTBF)为100 000 h,工作50 000 h,则单路CAN通道模块的可靠度为

2路CAN通道模块的可靠度为

3路CAN通道模块的可靠度为

由此可见系统有单路CAN总线改进为双路冗余CAN总线后系统的可靠性得到了提升,而从2路CAN总线改进为3路CAN总线后系统提升的幅度有限,而且3路冗余CAN总线从硬件实现的角度考虑,电路的复杂性远远高于双路冗余的CAN总线系统.

同时结合故障分布规律考虑,一般通信系统中冗余单元的个数与系统可靠度函数之间的关系如图6所示(图中:Ri(t)为系统可靠度,n为冗余单元个数).从图中可以直观看出,当从n=1增加到n=2的时候,也就是使用双冗余度的时候,系统的可靠度提升最快,但是随着n的数值的不断增大,可靠度的提升变得比较缓慢.因此本系统采用的是双冗余的CAN总线系统实现.

图6 冗余单元数与系统可靠度函数的关系

4 结束语

提出基于CAN总线的船桥模拟试验系统并对该系统进行冗余设计,同时进行可靠性分析并给予论证.结果表明:该总线系统弥补了传统的船桥导航系统内部都是通过串口的方式通信存在的组网困难,不仅在船桥模拟系统中能大大提高系统的可靠性和通信效率,同时,对于船载导航系统网络化改进也起到重要的参考意义.

[1]金一丞,尹 勇.公约、技术与航海模拟器的发展[J].中国航海,2010(3):1-6.

[2]Det Norske Verit AS(DNV).Standard for certification No.2.14 maritime simulator systems october 2007[S].Norway:DNV Press,2007.

[3]王福友,郝燕玲,袁赣南,王佳佳.舰船导航系统CAN总线网络设计的关键技术[J].中国造船,2008,(6):81-87.

[4]江宇娟,陈 娟,王 亮.基于双余度CAN总线的起落架数据采集节点[J].测控技术,2010(2):74-77.

[5]陈立家,焦战立,熊文龙.基于精简TCP/IP协议栈网络服务器的实现[J].武汉理工大学学报:交通科学与工程版,2007,31(6):565-568.

[6]吴晓平,汪 玉.舰船装备系统综合评估的理论与方法[M].北京:科学出版社,2007.

猜你喜欢
模拟系统报文总线
基于J1939 协议多包报文的时序研究及应用
基于VR技术的变电站三维场景设计模拟系统研究
CTCS-2级报文数据管理需求分析和实现
浅析反驳类报文要点
一种基于CAN总线的误码测试方法
基于STM32单片机的微电网模拟系统设计
基于ARM和Zigbee 的变压器试验培训模拟系统
ATS与列车通信报文分析
房颤导管消融模拟系统在研究生教学中的应用
CAN总线并发通信时下位机应用软件设计