内河船舶嵌入式网关系统设计
2012-08-21齐英凯何润添初秀民徐海潮
齐英凯,何润添,初秀民,徐海潮
(1.武汉理工大学交通学院,湖北武汉 430063;2.武汉理工大学智能交通系统研究中心,湖北武汉 430063)
近年来,国家对内河航运高度重视,大力发展内河智能航运的技术。其中,在航船舶与货物状态感知与集成是内河智能航运的重要基础。尽管我国内河营运船舶正在朝着标准化和高速化迈进,然而老旧船舶、中小船舶所占比重依然偏高,存在诸多安全隐患,为船舶运行与货物状态信息的集成带来了挑战。加之船舶运行与货物信息具有多态异构的特点,包括船舶航行信息:船位、航速、航向、艏向、风速、风向、回声测深等20余种数据。机舱设备状态信息:主机系统、燃油系统、滑油系统、冷却水系统、排气系统、空气系统、锅炉系统和辅机系统等8大类400多个数据。货物状态信息包括:货物温度、湿度、压力、进水等信息。如何在现有内河船舶上实现上述信息的集成、构建船舶信息网络是内河智能航运面临的亟需解决的问题。
目前船舶机舱设备应用较多的现场总线为CAN总线。CAN协议通信网络是一种由CAN控制器组成的高性能串行数据通信网络,是当前国际上应用最为广泛的现场总线之一。以太网则是当前互联网时代信息交互平台的传输媒体,也是TCP/IP使用最普遍的物理网络。随着航运管理与船舶自动化及信息化的发展,以太网越来越多地应用于船舶信息交互现场,将船舶驾驶、机舱控制、货物状态等信息在局域网甚至广域网进行数据共享,从而可实现通过WEB方式浏览甚至远程访问船舶设备运行状态数据库及远程控制,以确保船舶设备的各子系统能够协调、安全、可靠、长时间地运行。从船舶机舱控制设备的实际应用情况来看,连接各种船舶现场总线和以太网的网关将成为今后船舶信息网络技术研究的重点[1]。因此,针对内河船舶自动化与信息化程度低、数据多源异构特点,开发低成本内河船舶专用网关具有应用价值。本文将采用嵌入式技术设计一种适合于内河船舶使用的经济型网关系统,将CAN总线与以太网之间形成物理层与数据链路层对接,将现场总线上的底层数据与Internet的数据形成信息交互。由于CAN总线与以太网两者的物理接口及通信协议不一致,无法实现简单相连,因此在设计开发上述的网关需要完成的2个任务:①物理层的接口连接;②数据链路层的协议转换。
1 嵌入式网关系统整体设计
基于CAN总线与以太网的船舶信息网络架构如图1所示,由CAN总线现场总线构建的设备网络,由以太网构建上层广域信息网,通过嵌入式网关系统实现两者的有机无缝通信,进而为中小型船舶的现场设备信息采集通信及控制提供必要的平台支持。CAN与以太网协议转换的嵌入式网关功能是实现CAN协议格式的总线数据与以太网协议格式的相互传输,与以太网网络及现场CAN通信节点构成通信采集及控制体系。以太网信息管理终端与CAN总线上的CAN节点设备通过Ethernet、协议转换系统、CAN Bus相互通信,其中嵌入式网关系统起到核心的异构网络的互连作用。
图1 CAN总线与以太网的网络信息架构图
嵌入式网关的整体示意图如图2所示,由微处理器、电源电路、时钟电路、接口电路等组成。系统设计关键是将CAN现场总线设备网络与以太网网络进行数据交互,并实现CAN总线数据检测和信息接入功能及以太网数据检测及信息接入功能。系统的具体工作原理如下:上层管理网络向现场设备发送信息指令时,微控制器将接收到的数据由以太网协议格式进行解析并重新封装成标准的CAN总线通信协议格式,然后向现场测试设备终端发送,由此完成上层管理网络对现场设备终端网络的控制;底层设备终端网络向上层管理网络发送数据信息时,微控制器将接收到的数据由CAN总线协议格式进行解析并重新封装成标准的TCP/IP协议,然后往以太网的监控端发送[2]。由于以太网固有的优势,因此底层的数据信息还支持互联网络的远程访问及共享。
图2 嵌入式网关示意图
2 嵌入式网关系统硬件设计
系统的硬件设计主要包括电源设计、时钟电路设计、CAN总线接口电路设计以及以太网接口电路设计。
2.1 系统电源设计
嵌入式网关采用常用的直流12 V供电,在设计过程中采取两级供电。微处理器采用3.3 V供电,采用AMS1117系列稳压芯片产生3.3 V电压,为保证整体系统电源的稳定性需要前级电路来调整;前级供电选用美国半导体公司的LM2576系列开关电源芯片。LM2576系列开关稳定芯片内部集成一个52 KHz的振荡器,只须必要的容感就能形成高效的稳压电路,内部有完善的保护电路。
2.2 嵌入式网关时钟电路设计
虽然嵌入式网关选用的微处理器内置有简单的RC振荡器,但为了提高整体系统的性能,嵌入式网关的时钟电路采用的是外部8 MHz有源晶振。该有源晶振有精度和温度比较性能,内置有谐振整形电路。该有源晶振能产生一个非常精确的频率为系统提供原始的时钟源,嵌入式网关以较低的外部时钟信号获得较高的工作频率,以降低因高速开关时钟所造成的高频噪声。
2.3 CAN总线接口电路设计
CAN总线接口电路主要包括CAN控制器及CAN发收器两部分。本系统设计中选用的SAJ1000作为CAN控制器来实现对外提供与微处理器的物理线路的接口;选用CA82C250作为CAN发收芯片,在不需要通信中断节点的情况下,通讯节点数目可达110个。
SAJ1000为独立的CAN协议控制器,芯片的AD0~AD7为地址数据复用线,与微处理器的通信协议接口进行相连;当用户通过远程服务器查询现场CAN总线数据时,SJA1000负责将现场数据解析并往微处理器发送,再传到以太网[3-4]。
CAN控制器经过RX和TX引脚的信号分别经过2个光耦隔离器6N137的OUT引脚和IN引脚,然后分别与PCA82C250的TXD和RXD相连,以此连接到PC82C250的内部收发器;CAN收发器通过有差动发送和接收功能的2个总线终端CANH和CANL连接到总线电缆。
在CANH输出端与地之间接入一个肖特基二极管用以防止过高的电压来保护芯片;CANH和CANL与地之间分别串联30 pF的陶瓷电容,对于滤除总线上的高频干扰及信号噪声有明显效果。
2.4 以太网接口电路设计
以太网控接口电路主要由以太网控制器RTL8019AS和隔离变压器 20F001组成。RTL8019AS是一款高集成、能够实现Ethernet协议的MAC层的以太网控制芯片,内置16KB的SRAM、双DMA通道和FIFO完成数据包的接收和发送功能。RTL8019有以下3种工作模式:跳线方式、即插即用方式和免跳线方式,后2种工作方式一般用于PC机,在本系统设计中由于使用微处理器代替了PC机的功能,因此使用跳线方式显得更加简单方便[5-6]。
在电路设计中,将RTL8019AS数据线与微处理器的PB0~PB7相连,其它口作为保留,为后期二次开发作预留接口。系统配置过程中需要存储的网关IP地址、MAC地址和SJA1000的ID网络标示符、网络掩码等数据,通过总线形式存储到微处理器的片内Flash空间内,如此,能够灵活方便地修改有关参数,适应不同的应用环境及方便后期二次开发。
3 系统软件设计
在系统软件设计中,CAN协议与以太网协议间的信息流转换设计为透明式的数据转换,其模型结构如图3所示。
系统的软件流程图如图4所示。系统上电之后,程序开始对各功能模块进行相应的初始化,由此完成系统的整体配置。在此过程中,完成处理器的配置、IO端口的配置、功能模块时钟的配置、波特率的设置等。可通过硬件方式和软件方式对系统进行相应的配置,系统配置成功之后,进入循环等待接收数据帧,如果收到符合标准的数据帧则进入相应的中断处理程序,完成数据的传递。不同协议之间的数据传输主要是由微处理器的接收与发送中断处理程序完成,各总线协议的实现分别是由对应的功能模块完成,微处理器的中断处理程序将发送缓冲区中等待处理的数据帧发送到协议总线上,同时将从协议总线上接到的数据帧存在接收缓冲区里等待相应的程序处理。
图3 系统软件设计结构模型图
图4 软件设计流程图
4 系统功能测试
当整体系统设计完成后,必须经过完整的测试才能保证系统按照设计目的进行正常工作。在进行系统整体功能测试时,以功能模块为基本单元,循序渐进的对整个系统进行调试与测试。首先加载协议转换系统程序,包括系统参数的配置及以太网上位机客户端程序,运行服务器程序和客户端程序,然后就可以检测以太网与协议转换系统是否连通。设置好相应的网关IP地址子网掩码,通过使用局域网ping命令测试系统是否连通,每次系统发送4个随机产生的ICMP数据包,协议转换系统应答4个ICMP数据包,嵌入式网关对其CAN控制的一个发送缓冲区里进行数据的写入操作,“This is a test!”,测试效果如图5所示,结果正确。
图5 CAN→Ethernet数据通信测试
为了进一步验证嵌入式网关的性能,选用具有CAN接口AIS-B级船台在武汉长江二桥附近进行实船测试,通过AIS接收机的数据通过网关,可以准确地显示在电子江图显示系统中。
5 结语
本文针对由现场总线构成的船舶现场终端设备网络和由以太网构成的上层信息管理网络之间的数据难以有效共享这一问题,从现实需求出发,结合CAN总线和以太网技术的优势特点,采用意法半导体公司的微处理器,以功能模块组合,设计了嵌入式网关系统实现CAN总线与以太网的数据传输,提高内河船舶机舱设备与货物状态信息的集成能力。在后续的开发中,将完善系统,规范嵌入式网关的输入、输出结构,并进行可靠性测试使其产品化。
[1]赵亚冰.港口海域船舶安全管理研究 [J].中国水运,2010(3).
[2]关腾飞.基于船舶安全航行的研究 [J].中国海事,2010(7).
[3]宋雪良.基于CAN总线局域网与以太网互连技术研究[D].哈尔滨工程大学硕士论文,2005.
[4]赵洁,茅云升.基于CAN总线的船舶配电监测系统研究 [J].船海工程,2011(4).
[5]周立功.ARM嵌入式系统基础教程 [M].北京:北京航天航空大学出版社,2005.
[6]胥静.嵌入式系统设计与开发实例详解基于ARM的应用 [M].北京:北京航空航天大学出版社,2005.
[7]吴团结.基于CAN总线技术的舰船动力系统综合控制[J].中国舰船研究,2006(2).
[8]吴化柱,乔毅,栾美艳,等.LabVIEW 在现场总线控制系统的应用研究 [J].仪表技术与传感器,2005(4).