基于嵌入式技术的水声传感网和VHF通信网络的互联网关设计*

2018-05-08 09:38:56羊秋玲解冰珊金志刚苏毅珊黄向党
计算机工程与科学 2018年4期
关键词:通信协议水声网关

羊秋玲,解冰珊,金志刚,苏毅珊,黄向党

(1.海南大学信息科学技术学院,海南 海口 570228;

1 引言

水声传感网UASNs(Underwater Acoustic Sensor Networks)是将能耗低、具有通信与计算能力的传感器节点部署到监测水域,以自组织方式构成的水下监测网,采集的数据通过声学通信等方式传递给水面基站或船舶并最终到达用户。目前水声传感网主要利用水声通信实现通信和组网[1,2]。传感节点监测并采集网络分布区域内的信息,进行信息处理后经由具有远距离传输能力的节点发送至水面基站,最后通过卫星或近岸基站发送给用户。水声传感网在海洋的科学探测、商业开发和灾害探测等方面都有十分重要的意义[3]。

甚高频VHF(Very High Frequency)通信是移动无线电通信的一个重要通信手段,广泛应用于航空及海上近距离通信。VHF电波主要依靠空间波传播,水上甚高频通信工作频段为156~174 MHz,具有干扰较低、保密性好、覆盖范围大和稳定性高等优点。VHF无线电通信在海事管理、船舶避让、遇险搜救、安全信息播发、港口生产调度上发挥着重要作用[4,5]。至2005年底,甚高频设备已成为海上普及率最高的通信设备[5]。

大部分水声传感网络通过卫星通信将监测数据传至管理中心,然而卫星通信延时较大,与之相比,VHF通信的收发距离短,延时小,且VHF设备是水上船舶中普及率极高的通信设备,因此,可以通过VHF通信网络实现水声传感网监测数据在水上船舶用户间的高效传输。

现有的网关中,已有ZigBee传感网络和以太网/WiFi的无线网关[6],对ZigBee汇接点发送来的数据包进行解析和协议转换,重新封装成TCP/IP数据包或WiFi数据帧,经过以太网/WiFi传输至服务器,反之亦然,实现数据在三个协议之间的双向传递,并通过逆向运算法自动执行如检测温度自动开启空调等动作,实现了现有网络基础设施对传感器网络的远程管理。已有ZigBee传感网络和WiFi的双模无线网关设计[7]中,ZigBee数据包解析由Linux操作系统完成后,将数据存入指定内存共享,在外部请求时由无线网卡以WiFi方式发送给用户,使得ZigBee传感网可用WiFi控制,代替控制中心PC。已有基于WiFi和RF(Radio Frequency)的智能家居无线网关[8],通过WiFi接收平板电脑等移动终端下发控制命令,经过数据处理和协议转换,通过RF发送给由RF模块组联的家电网络,若某家电状态有变化,也会经过网关反馈给平板电脑等移动终端进行显示,解决了家电远程实时监控问题。

目前还没有面向水声传感网和VHF通信网络的网关研究,针对卫星通信的长延时和高费用问题,本文结合嵌入式技术,提出水声传感网和VHF通信网络的网关硬件设计方案以及协议栈转换方法,实现水声调制解调器向VHF上传数据和反方向下载任务,同时对网关的功能进行扩展,使其具有人机交互、GPS定位等功能。本文提出的网关设计基于Linux操作系统,可通过制定高性能的模块化硬件和高效灵活的软件,直接完成一系列测试、数据处理和自动化的应用,可作为海洋观测的虚拟仪器应用于海洋监测网络。

2 无线网关总体设计和工作机理

2.1 总体设计

网关整体由系统核心模块、水声调制解调器(Modem)模块、VHF模块、人机交互模块、SD卡存储模块、GPS定位模块组成。系统核心模块由处理器和内存构成,扩展板由人机交互模块、VHF模块、水声调制解调器模块(汇聚节点)、SD卡存储模块、GPS定位模块组成。系统核心模块单独实现为一块核心板,与扩展板通过板对板连接器互联,方便升级和维护。其结构如图1所示。处理器是整个网关的核心器件,为ARM芯片,运行Linux操作系统,完成数据包的解析、协议栈转换和信息处理等功能。

Figure 1 Overall structure of gateway图1 网关总体结构

所使用的处理器具有低功耗的特点,支持DDR2、CAN、EMAC和USB OTG PHY等多种外设,接口简单。VHF模块传输距离可达20 km,充分满足通信距离需求,无数据传输时可以配置进入低功耗模式。

2.2 工作机理

网关可实现水声调制解调器向VHF上传数据和反方向下载任务两个功能。

水声Modem向VHF上传数据的流程图如图2a所示。水声传感器网的传感节点负责采集信息,数据处理后发送至汇聚节点,汇聚节点将数据发至处理器,处理器完成协议转换后经由VHF模块传送至用户。数据也可通过网关扩展板上的触摸液晶显示屏直接观测。

由VHF向水声传感网下载任务的流程图如图2b所示。用户使用邻近的VHF收发机向网关下发对应功能的编码,经由VHF传输至网关,网关的VHF模块接收后,由处理器经过协议转换和数据处理,将相应的信标信息传至水声传感网的汇聚节点,汇聚节点广播至每一个传感节点,进行相应的操作。下载任务也可由网关扩展板上的触摸液晶屏实现。

Figure 2 Flowchart of upload data and download task图2 上传数据和下载任务流程图

3 无线网关硬件平台设计

无线网关所涉及到的硬件部分主要包括核心模块、水声Modem模块、VHF模块、人机交互模块、SD卡存储模块、GPS定位模块等,下面对主要模块的硬件组成以及通信机制进行介绍。

3.1 系统核心板与扩展版

系统核心板为系统核心模块,由处理器、内存芯片和FLASH存储器组成。处理器采用TI的AM3505-Sitara,是一颗片上系统芯片,支持Linux等,拥有4个通用异步收发传输器(UART)、3个内部集成电路总线(I2C)控制器、3个USB接口、4个SPI接口、3个MMC/SD/SDIO接口等。

内存芯片选用mt47h128m8,大小为128 MB,工作电压为1.8 V,与处理器内存接口相连,运行应用程序和操作系统。FLASH芯片选用K9F2G08B0B,工作电压为2.7 V,与处理器的通用内存接口(GPMC)控制器相连,存储定制的Linux、bootloader和应用程序。

系统扩展板由人机交互模块、VHF模块、水声Modem模块(汇聚节点)、SD卡存储模块、GPS定位模块组成。其中,人机交互模块为一块触摸液晶屏,型号为TJC4024T032_011R,3.2寸串口屏,与处理器之间通过UART连接。SD卡存储模块采用2 GB(SANDISK)标准SD卡,通过SDIO接口与处理器相连,用于更新程序。GPS定位模块选用北斗2模块UM220,与处理器之间使用UART接口相连。在扩展板上设置CAN总线接口与SPI接口以便于与其他设备进行互联,提高可扩展性,用同样方法设置。系统核心板通过2个64针板对板连接器将处理器上的接口接出,供扩展板外接使用,如图3所示。

Figure 3 System core board图3 系统核心板

3.2 水声Modem模块

水声Modem模块使用AquaSeNT AMN-OFDM-13A OFDM 调制解调器,通过异步串行接口(RS232)转USB转化器与处理器相连。AquaSeNT AMN-OFDM-13A OFDM 调制解调器集通信、组网、测距、定位于一体,其通信距离最大达5 km,通信速率为1.5~9 kbps,频率为21~27 kHz,接口为RS232。在网关中作为汇聚节点,进行水下无线数据通信,包括点对点通信、组网通信等,负责水下传感器的数据信号上传和控制台的指令下达。

3.3 VFH模块

VHF 模块采用KYL-668无线数传电台,内置高性能射频收发芯片、微控制器以及射频功放。处理器通过RS232转USB转换器连接VHF模块,设置模块工作参数并控制整个模块的收发。工作频段为150/230/450 MHz 等载频,信道间隔25 kHz,可设置400多个频道。天线接口为 L16 插座配 50 Ω屏蔽电缆。RF 输出功率为5~25 W可调,通讯距离在开阔地最远可达20 km。

4 无线网关软件平台设计

4.1 协议栈转换

无线网关软件采用模块化设计,如图4所示,由硬件驱动层、操作系统层、网络协议层和应用程序层组成。硬件驱动层主要描述网关中水声Modem模块、VHF模块以及其他外设的驱动;操作系统层移植ARM Linux,完成网关的控制操作;网络协议层主要包括水下通信协议栈Sealinx和VHF通信协议栈VDL(VHF Data Link)。应用层完成数据打包或数据重组。

Figure 4 Gateway structure and communication protocol model图4 网关结构和通信协议模型

水声通信协议栈:水声通信协议栈由Sealinx协议栈[9]修改得来。Sealinx协议栈是专为水下通信设计的分层协议栈,包括介质访问控制MAC(Media Access Control)层、网络层、传输层和应用层。本文提出的网关在其应用层和传输层之间加入一数据处理层,用于对采集的数据进行筛选和处理。每一层都可包含多个协议以提供不同的服务,如在MAC层可执行UW ALOHA和Slotted FAMA协议。Sealinx协议栈通过核心模块实现协议的跨层传递,核心模块负责接收和发送信息。

VHF通信协议栈:VHF通信协议栈数据链路层使用的是甚高频数据链通信协议VDL,数据链路层由MAC子层、数据链路服务DLS(Data Link Service)子层和甚高频管理实体VME(VHF Management Entity)子层组成。

VME子层负责为通信双方的收发信机建立和保持连接,为每个保持的连接创建一个链路管理实体LME(Link Management Entity),通信双方的对等LME相互通信,以此来建立连接和修正连接参数。其它子层发生阻塞时,VME控制LME开始移交程序。DLS子层提供链路间传送数据包的方法。每一个连接都会创建一个数据链路实体DLE(Data Link Entity),对等的DLE之间相互通信。通信双方的一对DLE管理收发信机间的所有业务,包括控制信息和数据信息。DLE也负责将丢包情况通知VME。DLS管理一个优先级队列,包含相应的DLE负责传送的所有数据包,其中管理和控制帧具有比信息帧更高的优先级。MAC子层决定数据包何时传输,无差错控制能力,包将交给DLS进行验证。此外,MAC子层也不具备排队功能,需通知DLS将队列中的包传递给它[10,11]。

本文在此基础上使用以太网的TCP/IP协议,可以进一步提高效率。

4.2 VHF模块串口通信协议介绍

KYL-668无线数传电台自带串口通信协议,可实现处理器对电台的控制和配置。命令帧格式定义如表1所示。

Table 1 Truth table of triple-value match line表1 三值匹配线真值表

帧头固定为55 AA;帧长度为所有命令数据的字节数加1,最大帧长度为255字节;命令数据域存放命令的内容,详细定义如表1所示;CHK检验和域存放的内容为帧长度与所有命令数据的和,两字节,高字节在前,低字节在后。

VHF模块设置命令如表2所示。

Table 2 Command setting of VHF module表2 VHF模块设置命令

4.3 水声Modem模块串口通信协议设计

根据已有的串口传输协议[7],水声Modem模块串口传输协议自定义帧格式由帧头、功能号、有效数据长度、有效数据和FCS校验5部分组成,如图5所示。

Figure 5 Customized frame format of serial transmission protocol in underwater acoustic modem module图5 水声Modem模块串口传输协议自定义帧格式

帧头定义为0x01;功能号由所需功能确定,详细定义如表3所示;有效数据长度表明有效数据域的长度,最大值为255;有效数据存放水声通信协议帧;CRC校验码用于校验有效数据是否正确传输。

Table 3 Function number definition表3 功能号定义

5 仿真与分析

操作系统移植μC/OS-II嵌入式实时操作系统,对于TCP/IP协议栈,采用广泛使用的轻量级网络协议协议栈LwIP(Light-weight Internet Protocol),它具有开源、代码尺寸小、存储器利用量少的特点,适用于嵌入式操作系统。以下介绍网关的实现。

5.1 硬件系统实现

硬件系统分为水声通信模块和VHF模块。

水声通信模块:Sealinx协议栈的开源代码和运行已有详尽的资料[12],在此不作详细讨论。但是,需在Sealinx协议栈的应用层加入水声遥控ARC(Acoustic Remote Control)。ARC是实现用声音控制水下节点的一组协议,不包含在Sealinx协议栈内。ARC由命令解释模块、命令筛选模块和命令处理模块组成。命令解释模块进行命令解释,若无语法错误则将命令移交筛选模块,筛选模块检查命令是否有效,然后移交对应的处理程序执行。ARC设置一默认的命令处理程序的shell脚本文件。发送端负责统一命令格式,移除命令中的冗余空格,减少网络流量。发送端发出的命令由目标地址、命令本身和相关参数构成,每条命令都有一个随机选择的序列号。发送端发送一条命令后,接收端返回一个ACK,如果一直没有收到ACK,则同一条命令至多发送三次。如果接收端需返回其他信息,发送端不需对此信息确认。若发送端未收到此信息而需要接收端重发,则发送端发送特殊指令“!!”。

VHF模块:关于μC/OS-II和lwIP移植的参考资料很多,本文不作详细讨论。以下简述VHF通信的实现。μC/OS-II系统建立一个初始化网络接口的任务,该任务完成下述操作:调用lwIP用到的队列、信号量和堆栈等参数;将VHF模块驱动中设定好的网络地址、MAC地址、网关等TCP/IP协议需要用到的地址参数打包装入lwIP协议中,管理这些地址数据;调用VHF模块初始化程序进行VHF模块初始化。然后利用μC/OS-II的多任务功能建立两个任务,一个负责发送,一个负责接收,采用查询方式执行,将lwIP协议中处理各种网络协议的接收和发送程序与VHF模块的接收和发送关联起来。在lwIP的input程序和output程序中,调用VHF模块驱动中的接收或发送程序,完成水下传感网络的无线网关和水上甚高频通信网络的通信连接。

5.2 主要流程

系统初始化:系统上电后,首先进行系统初始化。执行ZMain文件夹中的ZMain.c中的ZSEGint main()函数进行硬件初始化,其中包括总中断osal_int_disable(INTS_ALL)、初始化板上硬件设置HAL_BOARD_INIT()、初始化HAL 层驱动HalDriverInit()、初始化I/O口InitBoard(OB_COLD)、初始化非易失性存储器sal_nv_init(NULL)、初始化MAC层ZMacInit( )、分配地址zmain_ext_addr( )、初始化操作系统osal_init_system( )等。初始化完成后,即可开始运行Sealinx内核,调度任务。若任务列表中无就绪任务,则使处理器进入低功耗睡眠状态。

网关主程序:网关主程序在硬件上电启动,应用程序初始化后,网关开始监听网络,有数据到来则进入终端。首先判断是否是水下数据,如果是,则按照Sealinx协议栈处理数据然后重新封装发送至VHF模块,网关返回监听状态;如果不是水下数据,判断是否是VHF数据,若果是则以VHF协议处理数据,重新封装成水下数据转发给水声Modem模块,返回监听状态;如果是未知数据,则网关丢弃该数据包。其流程图如图6所示。

Figure 6 Main program flowchart of the gateway图6 网关主程序流程图

5.3 测试结果

网关原型如图7所示。网关的测试包括上传数据的上行链路测试和下载任务的下行链路测试,结果如图8和图9所示。

Figure 7 Prototype图7 网关原型

Figure 8 Uplink图8 上行链路

Figure 9 Downlink图9 下行链路

由测试结果可以看出,嵌入式网关完成了水声通信协议和VHF通信协议的转换,实现了水下传感网络和水上VHF通信网络的互通,网关的基本功能已经实现。本文提出的网关设计方案用嵌入式网关代替水声通信使用的PC机,体积小,去掉了冗余功能,且所选用的器件具有低功耗的特性,极大地降低了功耗,更加节能。

6 结束语

本文提出了一种基于嵌入式技术的水下水声传感网和水上VHF通信网络的无线网关设计方案,该网关采用低功耗的AM3505-Sitara为核心,通过低功耗的水声调制解调器汇聚节点实现数据收集,并对网络进行控制;通过VHF模块上传信息和下载任务。同时,本文提出的网关在功能上进行了扩展,可用触摸液晶屏实时监测和控制水声传感网状态,可用GPS对网关实时定位,网关还可直接完成一系列测试、数据处理和自动化的应用,性能高、扩展性强、集成度高,可作为全球海洋观测的虚拟仪器应用于海洋监测网络。

参考文献:

[1] Shahapur S S, Khanai R.Underwater sensor network at physical,data link and network layer-a survey[C]∥Proc of 2015 International Conference on Communications and Signal Processing(ICCSP),2015:1449-1453.

[2] Qarabaqi P, Stojanovic M.Statistical characterization and computationally efficient modeling of a class of underwater acoustic communication channels[J].IEEE Journal of Oceanic Engineering 2013,38(4):701-717.

[3] Felemban E, Shaikh F K,Qureshi U M,et al.Underwater sensor network applications:A comprehensive survey[J].International Journal of Distributed Sensor Networks,2015(11):1-14.

[4] Liu Jing-jing,Ren Hong-xiang,Yu Cao-rong,et al.Simulation and practical evaluation of shipping VHF communication equipment[J].Journal of Chongqing University of Posts and Telecommunications(Natural Science Edition),2015,27(6):735-739.(in Chinese)

[5] Chen Liang,Jin Yong-xing,Hu Qin-you,et al.Transmission loss in maritime VHF communications system[J].Navigation of China,2015,38(3):1-4.(in Chinese)

[6] Li Zhong, Wang Peng-cheng,Lu Hai-kong,et al.Design of gateway based on ZigBee,Ethernet and WiFi technology[J].Measurement & Control Technology,2015,34(3):97-100.(in Chinese)

[7] Du Yong-hui,Li Yun-jun.Dual mode wireless gateway based on ZigBee and WiFi[J].Microcontrollers & Embedded Systems,2013,13(9):39-41.(in Chinese)

[8] Wang Chao,Luo De-han,Zheng Wei,et al.Design of embedded intelligent home wireless gateway based on STM32[J].Computer Technology and Development,2013,23(3):241-244.(in Chinese)

[9] Le S N,Peng Z,Cui J H,et al.Sealinx:A multi-instance protocol stack architecture for underwater networking[C]∥Proc of the 8th ACM International Conference on Underwater Networks and Systems,2013:1-5.

[10] Chen Yan, Dong Shu-fu, Jiang Lei. The technology and application of VHF data link[J].Science & Technology Information,2008(29):395-397.(in Chinese)

[11] Hu Bo, Wang Zhi.The technical characteristics requirements of maritime VHF-band radio data communication system[J].Navigation of China,2009,32(3):6-9.(in Chinese)

[12] Roy S,Arabashani P,Bagha N,et al.Ocean testbed for underwater network experiments[EB/OL].[2015-09-29].http:∥www.ee.washington.edu/research/funlab/ocean_tune/index.html.

附中文参考文献:

[4] 刘晶晶,任鸿翔,余曹荣,等.船用VHF通信设备的仿真与实操评估[J].重庆邮电大学学报(自然科学版),2015,27(6):735-739.

[5] 陈亮,金永兴,胡勤友,等.海上VHF无线通信传输损耗[J].中国航海,2015,38(3):1-4.

[6] 李众,王鹏澄,陆海空,等.基于ZigBee、以太网、WiFi技术的网关设计[J].测控技术,2015,34(3):97-100.

[7] 杜永慧,李允俊.ZigBee和WiFi的双模无线网关设计[J].单片机和嵌入式系统应用,2013,13(9):39-41.

[8] 王超,骆德汉,郑魏,等.基于 STM32 的嵌入式智能家居无线网关设计[J].计算机技术与发展,2013,23(3):241-244.

[10] 陈岩,董淑福,蒋磊.甚高频数据链技术及其应用[J].科技信息(学术版),2008(29):395-397.

[11] 胡菠,王智.水上甚高频无线电数字通信系统技术特性要求

[J].中国航海,2009,32(3):6-9.

猜你喜欢
通信协议水声网关
基于改进RPS技术的IPSEC VPN网关设计
基于Z-Stack通信协议栈的红外地温采集电路设计
认知水声通信系统中OFDM技术的应用
电子制作(2017年22期)2017-02-02 07:10:34
新型多功能水声应答器电子系统设计
电子制作(2017年19期)2017-02-02 07:08:28
FRFT在水声信道时延频移联合估计中的应用
基于DMX512通信协议的多路转发器设计与研究
基于NS-3的PLC多频通信协议仿真平台设计与实现
电测与仪表(2016年2期)2016-04-12 00:24:52
LTE Small Cell网关及虚拟网关技术研究
移动通信(2015年18期)2015-08-24 07:45:08
应对气候变化需要打通“网关”
太阳能(2015年7期)2015-04-12 06:49:50
基于压缩感知的水声数据压缩与重构技术
声学技术(2014年1期)2014-06-21 06:56:22