第一文秘网    > 职业计划

一种具有语音报警功能的ZigBee传感平台的设计

作者:jnscsh   时间:2022-04-16 08:43:42   浏览次数:

摘 要:无线ZigBee传感器网络已经应用于防爆、救灾、环境、医疗、家居、工业等众多领域,具有广阔的应用前景。文中设计了一种具有语音报警功能的ZigBee传感平台,该平台利用CC2530作为核心处理器,通过处理器提供的SPI,I2C等总线接口可方便的连接温度、湿度、瓦斯等相关传感器,完成相关检测。该传感平台周期性采集传感器数据,并与设定的警戒阈值进行比较,大于阈值时发出语音报警,同时将预警信号和节点位置信息通过Z-Stack协议栈提供的网络功能,向网络中的其他设备进行数据传输,从而实现全区域的报警与监控。

关键词:ZigBee协议;无线传感网络;语音报警

中图分类号:TP393 文献标识码:A 文章编号:2095-1302(2017)01-00-04

0 引 言

随着集成电路、传感器以及微机电系统(Micro-Electro-MechanismSystem,MEMS)等技术的飞速发展和日益成熟,各种功能的传感器已经应用于防爆、救灾、环境、医疗、家居、工业等众多领域,但是由于传感器检测到的信号大多非常微弱,为数据的远距离传输和处理带来了很大困难,而且在地震、空气质量检测等需要多节点、多类型传感器数据综合分析的大范围应用场景中,传感器设备的部署以及各节点之间的连接将变得非常复杂。

基于以上应用需求与实际问题,本文提出了一种基于ZigBee技术的无线传感器平台设计,该平台利用CC2530作为核心处理器,通过处理器提供的SPI,I2C等总线接口方便的连接温度、湿度、瓦斯等相关传感器,以完成相关检测,通过ZigBee协议自组网,实现多节点之间的通信与数据转发,并以WT588D为语音控制芯片,实现语音播报。

該系统主要工作网络架构及工作过程如图1所示。平台A,B,C放在数据采集现场,可以选择性的挂载不同的传感器以及扬声器,平台之间可以相互通信,以实现紧急情况的广播;平台D,E,F则主要提供数据转发,同时也可以选择性的挂载扬声器,使语音预警的范围更大;数据最终可以送到PDA、控制室或者通过以太网传输到远程数据中心。

1 平台的组成

平台的组成如图2所示。平台以8051CPU为中心,对外提供数字信号输入、模拟信号输入以及GPIO等接口,通过这些接口,平台可以挂载各种输出数字信号和模拟信号的传感器,其中模拟信号先经过内置的ADC(模数转换)后再传递到CPU,而直接输出数字信号的传感器可以与CPU之间通过I2C等总线进行通信;CPU在接收到传感器发送过来的数据后,根据不同的应用需求将数据按照ZigBee协议通过RF收发器转发出去,也可以直接通过CPU处理,然后通过语音模块以语音的形式向周围播报信息。

语音模块由语音控制芯片和Flash存储芯片组成,语音控制芯片与主控芯片之间通过三线串口进行通信,接收控制指令,实现语音的播放、暂停以及音量控制等;Flash的数据地址线直接与语音控制芯片的对应脚相连,用于提供需要播放的语音数据,语音文件通过串口工具已经预先写入Flash中。

语音控制芯片采用WT588D,与其他芯片相比,WT588D具有以下显著优点:

(1)电路简单,应用广泛,可靠性好,功耗低;

(2)最高支持32 Mb容量的Flash、220段可控地址位,每个地址最多可加载128段语音;

(3)支持DAC和PWM两种输出,内置13 b DA转换器和12 b PWM音频处理,可直接驱动0.5 W/8 Ω的扬声器;

(4)有配套的上位机软件,接口简单,使用方便。

2 硬件实现

根据设计功能的要求,系统的硬件电路分为无线电模块、控制核心CC2530基本工作电路、传感器接口电路、语音模块电路、程序及语音烧写电路、电源模块。

本次设计采用将射频模块和控制核心集于一体的SoC模块,其实物图如图3(a)所示,金属外壳能够最大限度屏蔽电磁干扰,基本工作电路如图3(b)所示。同时,本设计充分利用了CC2530丰富的接口(SPI,I2C,UART等),可根据现实需要设计相应的接口电路。语音模块采用WT588D系列语音单片机,该单片机提供了丰富的控制模式,如MP3控制模式、按键控制模式、按键组合控制模式、并口控制模式、一线串口控制模式、三线串口控制模式以及三线串口控制端口扩展输出模式。本设计中采用了三线串口控制模式,WT558D基本工作电路如图4所示。为实现在不同环境,不同情况下播报不同的语音,添加了Flash芯片W25Q64BV,该25Q系列提供了灵活性和性能极好的串行闪存器件。映射到RAM中的代码,直接从双路/四路SPI执行代码(XIP),存储语音、文本和数据。可根据需要下载不同的音频,接口电路如图5所示。程序及语音烧写电路如图6所示。电源模块由AMS11175V转3.3 V模块和去耦电容组成,供电电路如图7所示。

3 软件结构设计

3.1 软件结构

程序主流程图如图8所示,该程序主要实现以下三个功能:

(1)平台初始化;

(2)通过总线接口采集、处理数据;

(3)通过RF收发器和ZigBee协议组网转发数据。

3.2 平台软件设计

3.2.1 平台初始化程序

程序执行的开始需要加载ZigBee协议栈,然后配置系统环境,如系统时钟、工作模式等。之后初始化接口,例如将串口配置成UART或SPI模式,然后初始化用户自定义任务,初始化网络实现无线组网。初始化程序流程图如图9所示。

3.2.2 数据采集子程序

采集数据程序流程如图10所示。在采集数据时,如果有其他节点发送数据,则响应RF接收终端读取数据,否则采集传感器的数据;如果传感器使用SPI通信协议UART,可以在初始化接口时通过配置CC2530的寄存器来启用内部串行通信接口的对应工作模式;若通过I2C总线发送,则需要通过软件来模拟I2C的通信协议以采集数据(CC2530硬件不提供I2C通信模式)。

3.2.3 数据转发子程序

由于在采集数据子程序的过程中,传递来的数据可以是本地传感器的数据,也可以是网络中其他节点转发的数据,如果是网络中的数据就进行转发,如果是本地数据就先进行相应的处理再判断是否转发。如果数据超出阈值则发出对应的语音预警信息。数据转发子程序如图11所示。

3.3 平台软件的实现

ZigBee技术是一种面向自动化和无线控制的低速率、低功耗、低价格的无线网络方案。是ZigBee联盟和IEEE802.15.4工作组合作共同制定的一种通信协议标准。其中,ZigBee联盟定义了API层和NWK层,IEEE802.15.4规范定义了MAC层和PHY层。

市场上TI公司推出的完全支持ZigBee协议的SOC芯片CC2530只需要10元左右,同时IT公司推出的支持ZigBee协议的Z-Stack可免费使用。Z-Stack协议栈结构如图12所示。

3.3.1 Z-Stack协议栈添加用户任务

在API层添加周期性采集传感器数据的用户任务,实现步骤如下所示:

(1)用户任务初始化。在osalInitTasks()中添加Mytask_Init(taskID),Mytask_Init()包含对传感器、IO设置等的初始化操作。

(2)修改任务处理调用的数据结钩。在pTaskEventHandlerFn(是一个指向函数的指针)型数组tasksArr[]中添加任务的事件处理函数名Mytask_ProcessEvent,Mytask_ProcessEvent中包含传感器数据采集函数、数据处理函数、语音触发函数等。

(3)添加osalInitTasks()和Mytask_ProcessEvent()的具体实现。

3.3.2 Z-Stack协议栈上广播通信的实现

为实现监控区域的全区域报警,可采用组播或者广播的方式通信。本设计采用广播方式通信,实现示例如下所示:

(1)在SampleApp函数中,配置广播模式,设定目标地址变量为广播地址:

SampleApp_Periodic_DstAddr.addrMode=(afAddrMode_t)AddrBroadcast;

SampleApp_Periodic_DstAddr.endPoint=SAMPLEAPP_ENDPOINT;

SampleApp_Periodic_DstAddr.addr.shortAddr=0xFFFF;

(2)修改数据发送函数。SampleApp_SendPeriodic Mess -age() 中AF_DataRequest()的相应参数为&SampleApp_Periodic_DstAddr,SAMPLEAPP_PERIODIC_CLUSTERID。并在SampleApp.h文件中添加宏定义#define SAMPLEAPP_PERIODIC_CLUSTERID 1

(3)在SampleApp_ProcessEvent()中添加用户事件触发的发送函数SampleApp_ProcessEvent()。

4 测试结果

在实际测试中,采用加速度计作为实际应用中的传感器,本设计模拟现实中的检测碰撞系统,预先设定碰撞的加速度阈值为2g,警报信息编码为0X00,普通减速信息编码为0X01,将采集的数据经均值滤波后与设定好的阈值比较,当X轴方向的加速度值大于阈值时触发语音报警,并将报警信息0X00向周围节点广播。图13所示为采集到的加速度计X轴数据,通过串口助手软件在PC上显示结果。图14所示为本地监控室节点接收到的信息,通过串口助手在PC机显示结果。当加速度计静止时,接收到0X01,摇动加速度计来模拟碰撞时接收到0X00,并且语音模塊发出语音报警。

5 结 语

本文实现了一种基于ZigBee协议的无线语音报警平台。综合考虑成本、功耗、实用性等因素设计了硬件电路。同时在TI官方提供的Z-Stack协议栈的基础上进行了软件的修改与设计。配置不同的接口使用户可以根据特定环境选用特定的传感器(如温湿度传感器,烟雾传感器等)实现环境参数检测,当参数异常时触发语音报警,并将报警信号向周围节点广播实现全区域预警。根据不同环境选择不同拓扑结构的无线传感网络,如网络中节点过多时使用多跳路由方式。该系统可应用于智能家居、火灾险情探测、安保、国防等领域。实验结果表明,该系统具有低成本、低功耗、响应速度快,使用环境多样化等优点。

参考文献

[1]王小强,欧阳骏,黄宁淋.ZigBee无线传感器网络设计与实现[M].北京:化学工业出版社,2012.

[2]王东,张金荣,魏延,等.利用ZigBee技术构建无线传感器网络[J]. 重庆大学学报(自然科学版),2006,29(8):95-97.

[3]赵曦,解永平.基于ZigBee的智能传感器网络无线接口设计[J].仪器仪表学报,2006,27(Z2):1639-1640.

[4]周怡,凌志浩,吴勤勤.ZigBee无线通信技术及其应用探讨[J]. 自动化仪表,2005,26(6):5-9.

[5]李皓.基于ZigBee的无线网络技术的应用[J].信息技术,2008,32(1):12-14.

[6]瞿雷,刘盛德,胡咸斌.ZigBee技术及应用[M].北京:北京航空航天大学出版社,2007.

[7]周岭松,余春暄.基于ZigBee技术的温、湿度控制系统[J].电子测量技术,2011,34(6):47-50.

[8]刘青,宋立军.ZigBee无线传感器网络组网研究[J].电脑开发与应用,2008,21(6):44-45.

[9]周贤伟,覃伯平,徐福华.无线传感器网络与安全[M].北京:国防工业出版社,2007.

推荐访问:传感 语音 报警 功能 设计