舰船科学技术  2020, Vol. 42 Issue (3): 144-147    DOI: 10.3404/j.issn.1672-7649.2020.03.030   PDF    
基于CAN冗余的船舶数据采集与远程监控系统
汤旺杰, 金华标, 李鹤鸣     
武汉理工大学能源与动力工程学院,湖北 武汉 430063
摘要: 为增强船舶安全,实现船舶远程监控管理,结合嵌入式与船岸通信技术,基于TMS570实现船舶数据采集以及SIM808实现数据远程通信,设计了船岸通信数据的通用格式,并采用CAN冗余的方式增强船舶数据采集稳定性,提出一种船舶数据采集与远程监控方案。本系统经过测试,性能稳定可靠,对于船舶数据采集、远程监控和大数据平台具搭建有一定参考价值。
关键词: 数据采集     船岸通信     CAN总线冗余    
Design of data collecting system of ship and remote monitoring system based on CAN bus redundancy
TANG Wang-jie, JIN Hua-biao, LI He-ming     
School of Energy and Power Engineering, Wuhan University of Technology, Wuhan 430063, China
Abstract: In order to enhance ship safety, realize remote monitoring and management of ships, combined embedded and ship-to-shore communication technology, realized ship data collecting based on TMS570 and data remote communication by SIM808.And designed a general data format for ship-to-shore communication. Adopt CAN bus redundancy to enhance the stability of ship data collection, and propose a ship data acquisition and remote monitoring scheme. The system has been tested and its performance is stable and reliable. It has certain reference value for data collecting、remote monitoring and big data platform construction of ship.
Key words: data collection     ship shore communication     CAN bus redundancy    
0 引 言

目前,船舶制造业整体处于衰退的趋势,为提高船舶行业竞争力,将传统船舶制造业和互联网关联,为船舶制造提供新的发展方向。通过互联网可以远程实时监测船舶航行时的状态。实现远程数据实时监测有助于及早发现异常情况,采取措施保证营运安全。这些数据也可以提供给设计单位,作为后续船型改善的依据[1]

船舶联网为船舶大数据发展提供条件,船舶大数据建设的核心既是对船舶各类数据的采集与加工[2]。本系统对船舶数据进行采集,将数据发送至岸端,并设计了船岸通信统一的数据格式,旨在解决船舶大数据平台的数据来源问题,为船舶大数据平台的搭建提供基础。

1 研究现状

由于船舶发展的需要,采用不同的技术对船岸通信系统进行研究。闫明[3]通过物联网技术和冗余总线技术设计了船舶远程监控系统,具有很好的实时性和可靠性。刘翠梅[4]针对船舶舱室火灾监控,通过3G技术实现对船舶机舱火灾的监控。李杰[5]利用多传感器组网及融合跟踪识别技术实现船舶远程监控数据采集,经验证,该方法采集的数据准确性好,抗干扰能力强。郑宇平[6]通过Zigbee技术的无线网络节点, 并设计基于IOS的手机移动端监控软件设计了船舶远程监控系统,具有功耗低、实时性好和稳定性高的特点。张跃文[7]通过BP神经网络对船舶远程监控系统进行改进分析。分析表明,此种方法适用于远洋船舶的远程故障监测及船舶系统故障预测。张连军[8]针对长江汽渡船舶安全管理、数据查询、人员管理、证书管理、物资管理、和维修管理设计了船舶远程监控管理系统,对船舶监控管理技术有积极推进作用。

根据文献调查,CAN总线冗余技术能增加船舶数据采集的稳定性和实时性,但没有对冗余系统进行分析。文献通过各种技术实现船岸通信,但没有对通信的数据格式进行统一。

2 系统设计

本系统实现的功能是对船舶各类数据的采集与加工,目标是设计实现船舶数据采集并将数据进行远程显示、储存。具体包括:采集船舶状态参数包括船舶位置、船舶航速和船舶航向;采集船舶柴油机运行信息包括转速、扭矩、油门开度、机油温度、机油压力、瞬时燃油消耗量、累计燃油消耗量、中冷后进气温度和中冷后进气压力;采集尾气排放参数包括硫氧化物浓度、氮氧化物浓度、排气温度;采集船舶环境参数包括环境温度、环境湿度和大气压力。将采集到的船舶数据通过远程通信模块发送到远程端进行远程监测,并将船舶数据进行储存。其系统框架如图1所示。

图 1 系统框架图 Fig. 1 System flowchart
3 硬件设计

硬件设计包括数据采集模块和数据远程通信模块两部分。

数据采集模块主芯片采用的是德州仪器公司的TMS570芯片,该芯片有2路标准SPI模块、19路高端定时器,21路12位模拟数字转换器、1路SCI通信模块和两路支持CAN2.0B协议标准的CAN通信模块,硬件资源能够满足系统的功能需求。数据采集模块硬件结构设计包括单片机最小系统、CAN通信模块、SCI通信模块、AD采集模块。

数据远程通信模块采用的主芯片是芯讯通无线科技公司的SIM808芯片。SIM808采用GSM(全球移动通信系统)通信模式,其通信速率最高可达171 kbit/s,满足系统的对数据传输的要求。

4 软件设计

软件设计包括刷写在TMS570芯片中的下位程序和远程端程序,下位程序包括CAN收发程序、AD采集程序、GPS定位接收及解析程序、SCI通信程序和数据远程发送程序。远程监控程序主要有数据接收、显示和保存程序,系统软件结构如图2所示。

图 2 软件结构图 Fig. 2 Software flow pattern
4.1 船岸通信数据格式设计

目前,船岸通信数据格式没有通用标准,船舶通信的数据无法统一解析。本系统结合船舶MMSI(Maritime Mobile Service Identity水上移动通信业务识别码)和NMEA2000协议,设计了船岸通信格式,使船岸通信数据的格式具有通用性。

NMEA2000是CAN总线的上层协议,由美国国家海洋电子协会为船舶提出的CAN通信标准协议。NMEA2000协议规定:每帧数据包含8个字节的数据内容,且每帧数据包含唯一的PGN(Parameter Group Number 参数组编号)。设计的船岸通信数据格式的Byte7-Byte14为PGN在NMEA2000中对应的8个字节的数据内容。当岸端接收到船舶数据进行解析时,通过Byte1-Byte4可知数据来源于哪条船舶,通过Byte5-Byte6的PGN与NMEA2000协议能够解析出Byte7-Byte14的数据内容,使船岸通信数据协议与NMEA2000协议“无缝”对接,设计的船岸通信协议具有通用性,如表1所示。

表 1 船岸通信数据格式 Tab.1 Ship to shore 
5 CAN总线冗余

在船舶运行过程中,由于船舶振动、环境潮湿等状况,对电子设备的正常运行有很大的影响。通过系统框架图1可知:系统在数据采集过程中,船舶数据采集设备主要依靠CAN总线进行通信,保证CAN总线稳定可靠是保证数据采集系统稳定运行的关键。

5.1 CAN总线冗余设计

CAN总线冗余技术是增强CAN总线通信可靠性的一种常见措施,常见的冗余方式包括硬件冗余、软件冗余、时间冗余和信息冗余等,应用较为广泛的是硬件冗余。本系统采用硬件冗余的方法增强CAN总线传输稳定性。

5.1.1 CAN总线冗余方式选择

在物理冗余中,根据冗余要求不同冗余方式分为双冗余和三冗余。在目前大部分用到的为双冗余,在特殊情况下会用到三冗余。通过贮备模型分析可靠度,多冗余物理模型如图3所示,属于贮备模型的并联模型。

图 3 多冗余物理模型 Fig. 3 Multi reduant physical model

假设每条CAN总线可靠度服从指数分布:

$R\left( t \right) = {e^{ - \gamma t}} {\text{,}} $

系统的可靠度为:

${R_s}\left( t \right) = 1 - {\left( {1 - {e^{ - \gamma t}}} \right)^n}{\text{,}}$

根据平均无故障时间计算公式:

${T_n} = \mathop \int \nolimits_0^\infty {R_s}\left( t \right){\rm d}t {\text{,}} $

得出平均无故障时间

${{{T}}_{{n}}} = \frac{1}{{\rm{\gamma }}} + \frac{1}{{2{\rm{\gamma }}}} + \ldots + \frac{1}{{{{n\gamma }}}}{\text{。}}$

通过平均无故障时间可知,当增加冗余数时,增加平均无故障时间,可靠性增加,但冗余超过2次,每增加一次冗余,其收益递减,并且冗余超过3次会使系统变得复杂,增加新的不稳定因素。因此不是冗余数越多越好,本系统选择双冗余。

5.1.2 CAN总线冗余等级选择

目前,主要有CPU级冗余、控制器级冗余和收发器级冗余,文献[9]中通过串联和并联的复合模型对CAN冗余等级可靠性进行分析,CPU级冗余等级最高,控制器级冗余其次,收发器级冗余最低[9]。综合本系统应用情况,选择控制器级冗余。

5.2 CAN冗余测试

本系统CPU芯片TMS570内嵌两路支持CAN2.0B的CAN总线控制器,外接两路CAN总线收发器便可以满足CAN总线冗余测试条件。

5.2.1 CAN总线冗余测试方法

本次测试的平台包括冗余节点、一般节点和测试点,各个节点的功能如表2所示,结构如图4所示。CAN总线故障识别和CAN总线的切换是完成是实现CAN总线冗余的关键。

表 2 节点功能 Tab.2 Functions of each node

图 4 冗余结构图 Fig. 4 Reduant structure

CAN总线故障识别:CAN总线故障会导致CAN总数据不能正常收发,通过冗余节点循环发送数据,当冗余节点判断循环数据发送失败时,总线出现故障。

CAN总线切换:数据采集设备中有两路CAN总线,设定CAN1为主通信线路,当CAN1出现故障时,CAN总线通过程序切换至CAN2发送数据,完成CAN总线切换。

5.3 CAN总线冗余测试结果和分析

根据上诉CAN总线冗余测试方法进行测试,测试的现象如下:给系统上电,系统正常运行,在稳定运行一段时间后注入总线故障,系统无法正常运行,CAN总线从CAN1自动切换到CAN2,系统恢复正常工作,实现了CAN总线冗余。

双线CAN冗余系统关键指标是总线切换时间,它等于检测错误所需时间与处理故障总线未发送报文所需时间之和[10],切换时间越短,总线故障对报文传输造成的延迟就越小。CAN总线延迟在某些重要的控制场合会造成非常严重的后果,应尽量减少CAN总线上的延迟[11]。在CAN冗余测试过程中,以切换时间为观察对象,为了减少误差,对每种故障进行5次试验,实验结果如表3所示。

表 3 CAN总线故障测试结果 Tab.3 CAN bus fault test results

通过CAN冗余测试,表明系统可以对CAN总线故障进行识别和处理,总线切换后系统可以稳定的运行,冗余切换时间也较短。

6 系统测试与分析

系统测试包括系统功能测试和稳定性测试。系统功能测试:测试设计的系统是否达到预期的功能,在进行系统功能测试时,包括船舶数据采集和远程数据接收两部分。船舶数据采集测试主要包括CAN通信、AD采集、GPS数据采集,测试结果表明采集的数据准确可信,现场测试如图5所示。远程接收程序测试通过串口调试助手与远程接收程序储存的数据进行对比分析,两者数据一致,数据远程接收显示测试如图6所示。表明系统从采集端到数据发送端再到数据显示储存端实现了预期的功能。

图 5 现场测试图 Fig. 5 Field test diagram

图 6 数据远程接收显示测试 Fig. 6 Data remote receiving display test

本系统在船舶上安装连续运行一个月无故障且数据可靠,表明系统稳定可靠。

7 结 语

本设计完成了一套船舶数据采集与远程通信系统,从功能设计、软硬件设计到功能的实现,系统测试表明本套系统稳定可靠。

在CAN总线安全稳定运行的前提下,与本系统实际运行环境相结合,从硬件冗余的角度提出了CAN总线冗余的方法,在系统中实现CAN冗余。对CAN总线冗余进行测试,结果表明CAN总线能识别CAN错误并能进行CAN总线的切换,切换时间较短。提出船岸通信数据的统一格式并在软件中实现,对系统进行功能测试和环境适应性测试,测试结果表明系统达到预期目标并能稳定持续的运行。本文研究结果对船舶数据采集、远程监控和船舶大数据平台的搭建有一定的参考意义。

参考文献
[1]
陈弓. 基于大数据的智能船舶研究[J]. 江苏船舶, 2018(1): 1-3.
[2]
万辉, 张建雄, 高嵩, 等. 内河船舶大数据关键技术研究[J]. 中国水运, 2017, 38(11): 47-50.
[3]
闫明. 基于冗余总线技术和物联网技术的船舶远程监控系统开发[J]. 舰船科学技术, 2018, 40(24): 202-204.
[4]
刘翠梅. 3G无线通信在船舶舱室火灾远程监控系统中的应用[J]. 舰船科学技术, 2018, 40(16): 148-150.
[5]
李杰. 船舶远程监控数据的动态采集方法[J]. 舰船科学技术, 2018, 40(4): 136-138.
[6]
郑宇平. 基于物联网和嵌入式技术的船舶远程监控系统开发[J]. 舰船科学技术, 2018, 40(2): 191-193.
[7]
张跃文, 崔文彬, 吴桂涛, 等. BP神经网络对船舶远程监控系统的改进分析(英文)[J]. 中国航海, 2009, 32(2): 14-19. DOI:10.3969/j.issn.1000-4653.2009.02.005
[8]
张连军. 长江汽渡船舶远程监控管理系统研究[D]. 镇江: 江苏科技大学, 2014.
[9]
黄龙. 基于冗余技术的CAN总线可靠性研究[D]. 武汉: 武汉理工大学, 2014.
[10]
汤宜涌, 王传德. CAN总线冗余系统的研究及可靠性分析[J]. 中原工学院学报, 2010, 21(5): 73-75.
[11]
汪孟寅, 高明煜. 基于STM32F105微控制器的双CAN冗余设计[J]. 杭州电子科技大学学报(自然科学版), 2011, 31(2): 9-12.