1. 引言
目前,井下语音通信系统主要方式有:1) 井下小灵通;2) 依靠调度电话;3) 依赖于传感器网络技术的语音通信系统 [1] [2] [3] 。很显然,前两种在矿井正常生产时能够很好地发挥作用,一旦发生紧急情况(如电力中断、矿难等),其缺点就暴露无遗:依靠井下小灵通会失去信号,有线网络的调度电话也被阻断,整个语音通信网络处于瘫痪状态,但依赖于多跳自组织的无线语音传感器网络仍可工作,即使发生矿难,救援人员可通过钻孔,放置信标节点,利用传感器网络自愈性能,即可与井下节点建立通信,从而和井下被困矿工语音通信,保障营救工作快速有序的展开 [4] 。
本文在文献 [5] [6] 的基础上,对基于wsn井下安全监控系统实时语音通信进行研究,从系统体系结构、软硬件设计以及具有优先级的语音和环境监控调度算法等方面进行详细设计。系统在语音通信和环境监控方面,采用具有优先级任务调度算法来保证语音通信和环境监控的实时性、公平性和可靠性。
2. 兼有应急语音通信实时环境安全监控系统的体系结构
图1给出了矿井安全监控系统的整体框架图,包括井上pc监控子系统和井下wsn监测子系统。井上子系统主要由监控终端、综合环境监控平台(瓦斯浓度、co浓度、温度、湿度、灰尘、烟雾、风机以及气压等信息收集与实时分析)、语音监控平台(接收井下设备或者矿工呼叫以及向设备和矿工发布工作指令等)、数据库服务器(记录和保存各种监测相关数据也包括语音信息)构成;井下子系统主要由各种各样的传感器节点构成。根据是否经常移动,分为相对固定节点(功能较强的sink节点)和移动节点(普通的sensor节点)两类,相对固定节点主要安排在巷道的拐弯处或直巷道的固定位置,用于采集巷道相关信息(如瓦斯浓度、co浓度、应急语音呼叫等),转发其它节点的通信数据,保持无线链路畅通;移动节点主要用于每个矿工或机器所处位置的监测,可安装在矿工的矿灯上,也可安装在挖掘机等设备上,还可随机安装在瓦斯等信息涌出变化较快的关键位置。
从图1中还可看出,井上pc监控子系统各部分通过有线(如rj45)彼此连接,而井下wsn监测子系统主要由功能较强的分站(sink)节点和普通sensor节点通过无线相连。环境安全监测数据仅从井下传送到井上,而语音通信可双向传输。
3. 系统硬件设计
就系统硬件设计而言,井上pc监控子系统可由各种通用的计算机或服务器构成,较易实现;相反井下兼有语音通信的无线传感器节点在功能上需满足对监测区域内的各种环境信息以及语音信息采集、网络自组织、数据汇报、自身电量监控等。因此一个功能相对完整的井下传感器节点结构应由微处理控制器、各种环境信息采集模块、语音采集模块、电源模块、射频模块以及本地监控电路等组成。为此选择crossbow公司 [7] 的imote2作为各种环境信息和语音采集传感器开发节点,stargate作为系统的sink开发节点,如图2所示。
下面对兼有语音通信的无线环境安全监测节点的几个关键组件详细描述如下:
. structure of mine environment monitoring system
图1. 矿井环境监控系统体系结构
. sensor hardware structure with voice communication
图2. 具有语音通信的传感器硬件结构
3.1. 传感器节点微处理器
井下兼有语音通信的传感器节点的设计应以环境监控精度、可靠性好、功耗低和较好的便携性为目标。因为微控制器是节点的计算和控制核心,所有的设备控制、模块任务调度、功能协调等都在微控制器控制下完成的。因此,井下传感器节点微控制器采用intel公司8位高性能、低功耗微控制器pxa271 cpu,该处理器可工作于低电压(0.85 v)低频率(13 mhz)模式,使用动态电压调节技术可进行低功耗操作,频率范围可从13 mhz达到416 mhz,也支持几种不同的低功耗模式,如睡眠和深度睡眠模式。另外,pxa271是多芯片模块,即在一个cpu封装内集成3个芯片:256kb sram,32mb flash以及32mb sdram。这些能够灵活地支持不同种类的传感器、a/d、射频器的集成等。
3.2. 节点语音采集与处理模块
现有imote2硬件本身不提供麦克风和扬声器,为实现节点语音的实时采集与处理,需另增加语音采集与处理硬件模块(如语音dsp),同时该模块对采集语音模拟信号在发送给微处理器的ac97和i2s接口之前必须进行数字化处理。
3.3. 无线通信模块
针对节点无线通信模块,以imote2平台为核心的传感器采用德州仪器公司的cc2530 ieeee 802.15.4射频发射器。该芯片支持2.4 ghz带宽16通道250 kb/s数据传输率,而且性能稳定,环境监测数据精度高,功耗较低,并且该芯片传输速率最高可达2 mbps,发送20~30字节的数据包也在微秒级,除了能够准确地传输环境监测数据外,这也保证了语音传输的实时性。
3.4. 电源管理模块
在imote2为核心的传感器节点的电源管理模块中有四种供电方式,但考虑到井下作业特殊环境,节点采用一次性电池或内置锂电充电器。另外,若剩余电量低于预定阈值,电源管理模块还应具有自动预警功能。
4. 系统软件设计
对以上系统框架进行分析,可将系统软件分为井上pc监控系统和井下wsn嵌入式监控系统两部分,本节将从井上系统组成和井下传感器节点进行系统的软件实现。
4.1. 井上pc监控系统
井上pc监控系统以b/s架构设计,包括各种应用软件服务器,比如瓦斯浓度、co浓度、温度、湿度、气压以及烟雾的数据接收与分析服务器,语音监控平台,各种监控终端以及保存井下环境各种监测数据和语音信息的数据库服务器。这些设备和软件不仅负责整个网络的运行与管理,而且还可发布各种相关工作指令到井下设备或矿工,从而完成指令的实时交互。
4.2. 井下分站(sink节点)设计
考虑到井下分站(sink节点)处理能力有限,而且没有音频接口,因此分站只进行监测数据或语音信息转发,并不进行处理。分站程序设计也可以分成两部分:一是接收节点发来的信号转发给井上的数据或语音分析服务器;二是接收分析服务器发来的数据,并发给普通的传感器节点。其中,分站和分析服务器之间通信是通过socket建立tcp连接实现的,为保证数据传输过程中的安全,可实用ssl协议;分站和节点通信采用无线传输,而分站可通过读写串口实现信号的收发。
分站传感器读取串口数据,先将这些数据包放到一个缓冲器中,等接收完一个文件或者缓冲器满的时候,将数据包中环境监测数据或语音信息提取出来,合成一个监测数据或语音文件。
对于需要转发的监测数据或语音文件,先将其进行分割,分成一个个小的数据包,然后将这些数据包通过射频发射器(cc2530)以无线信号的形式发送出去。无线信号在无线传感器网络中通过多跳路由达到基站(stargate)。基站通过cc2530接收到节点发来的信号,传给imote2网关节点。网关节点通过串口与分站相连。
在每个数据包中都有明确的源地址和目标地址,一个节点可很快确定一个数据包是否发给自己的,如果不是,则转发,此外,为了避免由于丢包所导致的音频文件不完整,采用消息反馈和数据包重发机制。当一个数据包没有及时到达时,会重新发送一个数据包。而且,通过编号可以保证每个数据包的前后顺序是对的。
4.3. 井下具有语音采集与处理节点设计
该节点依据实际开发条件可采取两种方案:
方案1:传感器数据采集板先采集原始声音的模拟信号,然后通过a/d转换器将该模拟信号转化成数字信号,再通过i
2c
将转化后的数字信号传给imote2节点。
方案2:传感器数据采集板先将采集原始声音的模拟信号转化成ac97 phy chipac97物理层的语音片,然后在通过ac97接口,发给imote2节点。
4.4. 节点语音的压缩与编码
井下传感器节点资源有限,尤其是突发事件发生具有大量的数据和语音信息在网络中传输,因此为减少网络带宽,在各种采集的数据传输之前需对数据进行压缩与重新编码。
4.5. 节点多任务优先级调度算法
井下传感器节点不仅包括各种环境参数(瓦斯浓度,co浓度,温度,气压以及烟雾等)采集模块,还包括无线通信和语音模块。当pxa271 xscale cpu外接的模块不止一个时,就面临多任务的协调问题,因此,针对系统实时性与公平性,需设计一种有效、公平、实时的任务调度算法,其具体策略为:
1) 假设系统具有普通级和最高级两个优先级任务队列,环境参数采集任务为普通级,而无线通信和语音任务为最高级。在系统软件编译时为各个模块任务按照任务优先级进行任务号分配,优先级越高对应的模块任务号也越大。
2) 微控制器在执行任务调度时,总是在其队列选择优先级最高的任务来执行,如果最高级优先级队列为空,才选择普通级队列任务来执行,同一队列中的任务按先来先服务原则进行。
3) 为防止传感器节点正在执行的任务阻塞或进入死循环而造成系统瘫痪,每个任务都有一个执行时间限制。设计一个负责任务超时管理的时钟中断触发的事件处理,每隔一定时间间隔来检查当前运行任务的任务号。如果与上次检查的任务号一致,则将任务执行的计数变量减l,并检查是否为0 (任务执行超时检查),若为0,说明任务执行超时,终止此任务,退出检查。如不为0,说明任务未超时,结束检查,让任务继续执行。
5. 系统测试与分析
为评估具有语音通信的传感器节点的功能和性能,从以下三个主要方面进行验证。
5.1. 节点语音通信有效性测试
在室外空旷远距离环境,将两台配有语音通信sink节点的计算机构成一个半双工无线网络环境,如图3所示,其中sink节点与计算机采用串口连接,一台计算机负责发送语音文件或实时语音信息,另一台负责接收与回放。
在每次测试过程中,语音通信测试样本时间至少持续30 s,sink节点间距为5 m,10 m,20 m,40 m,每测距重复50次观察语音回放效果。测试发现在sink节点感知有效区域内平均的通信成功率为95%,符合井下需求,这也表明该系统能保证井下多服务融合为矿井安全生产提供较高的服务。
5.2. 节点语音通信质量测试
与文献 [6] 方法类似,主要考查影响节点音质的两个关键因素:采样率和缓冲区, 仅以缓冲区为例在采样率恒定情况下音质测试结果如表1所示。
从表1中可发现,语音传感器节点的缓冲区越大,音质越好,但延迟时间较长。这是因为当语音编码采样率恒定情况下,节点缓冲区越大,对经过多跳传输的语音数据的缓存能力就越强,丢包率也越小,所以,音质好,但延迟较大。
5.3. 温度、湿度和语音数据同步监测测试
在4个具有语音功能的imote2节点上分别同时安装mda300 [7] (温度和湿度采集)模块测试,设语音检测任务的优先级高于其他监测任务,重复50次取统计平均值,测试结果如表2所示。
表2中表明,即使在温度和湿度等多任务信息检测情况下,语音也连续、清晰、可懂。原因是系统采用优先级任务调度算法,可保证语音有很好的实时性。
. node speech communication validity test platform
图3. 节点语音通信有效性测试平台
. sound quality test to change the size of node buffer
表1. 改变节点缓冲区大小的音质测试
. three kinds of sensor data synchronous monitoring test
表2. 三种传感器数据同步监测测试
6. 结论
本文通过对无线网络环境监测技术的研究,突破井下传感器的使用范围。即仅对区域环境的瓦斯浓度、温度、灰尘、烟雾、风速等信息的监测扩展到实时语音通信。测试表明以stargate和imote2为核心开发传感器节点,不但简单、经济,还能有效地保证系统的环境监测和语音通信,同时采用具有优先级的多任务调度算法也能够保证系统节点语音通信的实时性、可靠性。若对该系统稍加改进,也可广泛应用于大中型工业园区、医院病区护理、医疗急救的安全监测等领域。
基金项目
2018 年云南民族大学研究生创新基金项目(2018yjcxs229)。
notes
*通讯作者。