无线传感器网咯的瓦斯检测模块设计课程设计报告.doc

上传人:文库蛋蛋多 文档编号:3891285 上传时间:2023-03-26 格式:DOC 页数:31 大小:238.50KB
返回 下载 相关 举报
无线传感器网咯的瓦斯检测模块设计课程设计报告.doc_第1页
第1页 / 共31页
无线传感器网咯的瓦斯检测模块设计课程设计报告.doc_第2页
第2页 / 共31页
无线传感器网咯的瓦斯检测模块设计课程设计报告.doc_第3页
第3页 / 共31页
无线传感器网咯的瓦斯检测模块设计课程设计报告.doc_第4页
第4页 / 共31页
无线传感器网咯的瓦斯检测模块设计课程设计报告.doc_第5页
第5页 / 共31页
点击查看更多>>
资源描述

《无线传感器网咯的瓦斯检测模块设计课程设计报告.doc》由会员分享,可在线阅读,更多相关《无线传感器网咯的瓦斯检测模块设计课程设计报告.doc(31页珍藏版)》请在三一办公上搜索。

1、目 录一、设计要求3二、设计目的3三、设计的具体实现4 1.系统概述41.1系统设计方案和结构图41.2煤矿中瓦斯浓度检测技术要求42.硬件电路设计52.1煤矿瓦斯传感器的电路设计52.2瓦斯传感器保护电路的设计82.3主控器 MSP430F169的简单介绍92.4声光报警电路102.5 LCD12864液晶显示电路112.6电源部分122.7ZigBee无线发射模块133.软件设计18四、结论与展望27五、心得体会及建议28六、附录29七、参考文献29引言随着我国经济的快速发展,各行各业对煤炭的需求急剧增加,然而各种矿难事故的发生,使得煤炭安全生产面临严峻的挑战。这篇文章就是针对煤矿的瓦斯浓

2、度进行监控而设计的。煤矿监控系统是保障煤矿安全生产的重要组成部分。瓦斯传感器作为煤矿监控系统的检测终端,它的工作状况和传输方式直接关系到煤矿监控系统的运行状态和建设成本。现有的瓦斯传感器与监控分站的连接方式多为有线连接,瓦斯传感器检测到信号通过有线线路传输到监控分站,线路冗余复杂,布线成本高,特别是发生事故时,有线线路一旦破坏很难在短时间内恢复使用,这就给搜救工作带来障碍。针对以上情况,设计出一种无线瓦斯传感器,该瓦斯传感器利用ZigBee传输技术实现监测数据的无线传输,从而实现了煤矿井下的无盲区监控,克服了有线传输的种种缺点,保证监控系统高效正常工作,对提高煤矿监控系统的工作效率具有重要的意

3、义。 关键词:无线瓦斯传感器;ZigBee;CC2530;MSP430基于无线传感器网络的瓦斯检测块设计一、 设计要求1. 运用瓦斯传感器,设计一个瓦斯采集电路,把物理信号转化为电信号,实现对煤矿内瓦斯信息的采集和预处理。并将其送至微处理器中进行AD处理,把模拟信号转化为数字信号。2. 设计液晶显示将瓦斯的浓度信息显示于LCD12864上,并把信息通过ZigBee无线传输技术发送至煤矿外的监控室终端。 3. 设计一个声光报警电路,以在瓦斯浓度超标时实现紧急报警。4. 设计一个系统保护电路,以实现当瓦斯浓度严重超标时可以把瓦斯传感器电源断开。起到保护的作用5. 对每个应用到的模块进行分析和论证。

4、6. 绘制系统电路原理图。二、 设计目的1. 通过系统的设计,熟悉设计的基本过程,了解硬件设计和软件设计的设计步骤,提高发现问题,分析问题,解决问题的能力。2. 通过课程设计,进一步巩固和提高单片机、电路、传感器等相关的专业知识。3. 学会使用常用的EDA工具,绘制电路原理图。三、 设计的具体实现1. 系统概述1.1系统设计方案和结构图本次课设,基于无线传感器网络的瓦斯检测模块,主要完成系统对瓦斯信息的采集,放大,和处理并且完成瓦斯信息的发射。该模块的总体设计框图如下图1.1所示,模块以主控CPU芯片 MSP430F169为瓦斯信息的处理核心,包含有瓦斯信息采集、LCD12864液晶显示、串口

5、、按键、LED指示、报警电路等外围电路。最后又以CC2530做为ZigBee无线技术的发射装置将最终的信息传回监 控室。其中MSP430与CC2530通过SPI进行通信。可以实现将MSP430所得的瓦斯信息通过与CC2530,把信息传送出去,达到数据的无线传输。ZigBee无线通信模块按键控制MSP430 MSP430F169传感器保护LCD12864显示瓦斯浓度检测模块声光报警电源模块图1.1 系统设计结构图1.2煤矿中瓦斯浓度检测技术要求本课设的研究目标是设计矿井下的瓦斯含量采集系统并通过无线网络传输和处理。在矿井中,瓦斯主要由煤层中的以甲烷为主的混合气体构成,有时瓦斯单独指甲烷。甲烷无色

6、、无味,对空气的比重为0.554,与空气的混合气后爆炸范围是4.9%16%体积百分比。在煤矿中,瓦斯含量达到5%就可能爆炸。基于矿井下特殊的环境和瓦斯气体的属性提出技术要求如表3-1所示。表3-1技术指标工作电压(V)3.00.1备注工作电流(mA)11010灵敏度(mV)2040响应时间小于10秒最大为10秒恢复时间小于20秒最大为30秒使用环境-40+70采集时间(分钟)10分钟最大30分钟2. 硬件电路设计2.1煤矿瓦斯传感器的电路设计2.1.1煤矿瓦斯传感器介绍目前,矿井中常用的瓦斯传感器可分为热导式和热效式两大类。热导式瓦斯传感器利用瓦斯与空气导热系数的不同而测量瓦斯浓度。这种传感器

7、在工作时需通入恒定的电流,将其加热到一定的温度(180左右)才能工作,功耗较大,且其中的半导体热敏式电阻传感器受CO2和水蒸汽的影响较大,元件的一致性和互换性也较差。热导式瓦斯检测仪在测定低浓度的瓦斯时,输出信号很小误差较大。因此,这类传感器制成的瓦斯检测仪适用于测量高浓度的瓦斯(5%100%)。目前这种传感器在矿井中应用较少。热效式瓦斯传感器(又称热催化式瓦斯传感器),其工作原理是利用可燃气体在催化剂的作用下进行无焰燃烧产生热量,使元件电阻因温度升高而发生变化,通过测量电阻端电压来测知瓦斯的浓度。这种传感器的优点是精度较高,输出信号较大(1%CH 时,输出电压可达1520mV),且不受其它燃

8、气和灰尘存在的影响。它的缺点是元件表面温度高(300450);寿命短;功耗大(其加热功率1W,热催化元件功耗为0.30.75W),易受硫、铅、磷、氯等的化合物干扰而使催化剂中毒,降低其灵敏度,甚至误报。综合上述因素,本课题中传感器器件选用热催化式瓦斯传感器。2.1.2煤矿瓦斯传感器原理 气敏元件采用的是郑州炜盛电子科技有限公司生产的M J C 4/2.8J(MC113)瓦斯传感敏感元件,该元件为催化燃烧式气敏元件,工作电压为3.00.1V,工作电12010mA,具有较少的能耗,桥路输出电压呈良好的线性,具有响应速度快,工作 稳定,性能可靠的特点。M J C 4/2.8J(MC113)瓦斯传感敏

9、感催化元件如图2.1所示。该传感器根据催化燃烧效应的原理工作,由检测元件和补偿元件配对组成电桥的两个臂,如下图所示,遇到瓦斯等可燃性气体时检测元件电阻升高,桥路输出电压变化,该电压变量随气体浓度增大而成正比例增大,补偿原件起温湿度补偿作用,基本测试电路如图2.2所示。该传感器可在温度为0 40、相对湿度为45-75和大气压力为801 16kPa的环境下工作,因此可以适应煤矿内的环境。 图2.1 瓦斯传感敏感元件图2.2 基本测试电路2.1.3煤矿瓦斯传感器采集电路由于气敏元件的输出电压非常微弱,所以需要配置放大电路,其配置电路如图2.3所示。电路使用2个前置电压跟随器,作为后级的驱动级,再通过

10、一个直流电压负反馈网络,放大电压值,输出到MSP430芯片自带A/D的相应引脚。图中RW为零点调节电位器,可以通过该电位器的调节来调整零点。R0为放大倍数调整电阻,可以通过调整该阻值的大小来改变电压放大倍数。图2.3 瓦斯传感器采集电路2.2瓦斯传感器保护电路的设计在矿井中,瓦斯主要由煤层中的以甲烷为主的混合气体构成,有时瓦斯单独指甲烷。国家新标准规定,工作面瓦斯浓度达到0.8%就要报警。气敏元件在低瓦斯浓度下能够保持良好的性能,但当瓦斯浓度超过4% 时,气敏元件容易受到瓦斯冲击而损坏。本课设中设计了一个瓦斯气敏元件保护电路,如图2.4所示。该电路连接到单片机的IO端口初始化为高电平,当该端口

11、为低电平时,光耦导通,断路器工作,使气敏元件电源供电电路断开,从而实现瓦斯气敏元件自动断电的保护功能。 图2.4 瓦斯传感器保护电路 2.3主控器 MSP430F169的简单介绍MSP430F149模块,即MCU采用TI公司的MSP430F149。TI公司的MSP430系列单片机一是种超低功耗的混合信号控制器,能够在低电压下以超低功耗状态工作,其控制器具有很强大的处理能力和丰富的片内外设;带Flash存储器的单片机还可以方便高效地进行在线仿仿真和编程。MSP430F149是MSP430系列中功能最强大的单片机,而且其运行环境温度范围为一40+85,可以适应煤矿下各种恶劣的环境。它采用16位的总

12、线,外设和内存统一编址,寻址范围可达64K,还可以外扩展存储器.具有统一的中断管理,具有丰富的片上外围模块,片内有精密硬件乘法器、两个16位定时器、一个14路的12位的模数转换器、一个看门狗、6路P口、两路USART通信端口、一个比较器、一个DCO内部振荡器和两个外部时钟。MSP430F149单片机中集成了14路12位A/D转换,其中8路属于外部的信号转换,3路是对内部参考电压的检测转换,1路是接温控的传感电压转换,每一路转换都有一个可控制的转换存储器,而且,参考电平和时钟源都是可选择的,可以外部提供的。这给使用上带来了很大的灵活性。原理上不同于一般积分和逐次比较等A/D转换原理,它的输入信号

13、是加在A/D的电容网络上的,通过电容的充电来采样信号进行A/D转换的。2.4声光报警电路在本课设中,声光报警电路使用的是蜂鸣器和发光二极管进行报警。声光报警电路如图2.4所示。图2.4声光报警电路如图所示,当 BEEP处信号为 1 时,Q1 导通,发光二极管导通发光进行光报警。声报警电路用的是蜂鸣器,成本低且声音宏亮,同时,蜂鸣器中有电流流过,从而产生报警声音;当 BEEP为 0 时,三极管截止,蜂鸣器的两管脚电压接近于 0V,蜂鸣器不发出声响。所以,当瓦斯正常是,BEEP处信号为0。不发出报警。瓦斯超标时就是发出报警。 2.5LCD12864液晶显示电路带中文字库的12864是一种具有4位/

14、8位并行、2线或3线串行多种接口方式。表3-2 12864液晶模块接口说明:引脚名称说明引脚名称说明1VSSGND(0V)11DB4数据 42VDD+3.3v12DB5数据 53VO悬空13DB6数据 64RS(CS)H: DataL: Instruction14DB7数据 75R/W (SIDH: ReadL: Write15PSBH: Parallel L: Serial6E (SCLK)Enable Signal16NC悬空7DB0数据 017RSTReset Signal8DB1数据 118NC悬空9DB2数据 219LEDA背光源负极(LED-OV)10DB3数据 320LEDK背光

15、源正极(LED+5v)LCD12864内部含有国标一级、二级简体中文字库的点阵图形液晶显示模块,其显示分辨率为12864, 内置8192个16*16点汉字,和128个16*8点ASCII字符集.利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面。可以显示84行1616点阵的汉字. 也可完成图形显示.低电压低功耗是其又一显著特点。在本课设中用于瓦斯浓度的显示,其接口引脚如下表二所示。2.6电源部分如下图2.5所示,电源部分采用电池供电和电源供电两种供电方式,用户可以自行选择。电池供电采用2节1.5V干电池,由于系统主板要求电源电压是3.3V,输入电压不能小于2.8V,若

16、电池电量降低供电电压会低于2.8V,为了最大限度使用电池,需要使用BOOST电源芯片SP6641将3V的电池电压转换成3.3V,然后使用线性电源芯片SP6201过滤开关电源产生的纹波电压。电源供电方式,由于其输入电压为5V,同样需要转换为系统所需的3.3V,这里采用线性电源芯片AM1117来完成电压的转换。这种供电方式一般用于调试阶段。AMS11173.3V三是端可调或固定电压3.3V,输出电流为1A,线路调整率:0.2%(最大)负载调整率:0.4%(最大)封装类型:SOT-223。输出电压:3.2673.333V。图2.5 电源部分2.7ZigBee无线发射模块Zigbee无线网络技术是一种

17、新兴的短距离、低速率无线网络技术,其技术方案介于无线标记技术和蓝牙技术之间,主要用于近距离无线连接。由于其低功耗、高可靠性、短时延、网络容量大、高安全性、高保密性等优点在2004年就被列为当今世界发展最快、市场前景最广阔的十大技术之一。Zigbee技术的特点有:(1)低功耗:由于Zigbee的传输速率低,发射功率仅为1mW,而且采用了休眠模式,功耗低,因此Zigbee设备非常省电。据估算,Zigbee设备仅靠两节5号电池就可以维持长达6个月到2年左右的使用时间,这是其它无线设备望尘莫及的。(2)成本低:Zigbee模块的初始成本在6美元左右,估计很快就能降到1.52.5美元,并且Zigbee协

18、议是免除专利费的。低成本对于Zigbee也是一个关键的因素。(3)时延短:通信时延和从休眠状态激活的时延都非常短,典型的搜索设备时延30ms,休眠激活的时延是15ms,活动设备信道接入的时延为15ms。因此Zigbee技术适用于对时延要求苛刻的无线控制(如工业控制场合等)应用。 (4)网络容量大:一个星型结构的Zigbee网络最多可以容纳254个从设备和一个主设备,一个区域内可以同时存在最多100个Zigbee网络,而且网络组成灵活。(5)可靠:采取了碰撞避免策略,同时为需要固定带宽的通信业务预留了专用时隙,避开了发送数据的竞争和冲突。MAC层采用了完全确认的数据传输模式,每个发送的数据包都必

19、须等待接收方的确认信息。如果传输过程中出现问题可以进行重发。 (6)安全:Zigbee提供了基于循环冗余校验(CRC)的数据包完整性检查功能,支持鉴权和认证,采用了AES-128的加密算法,各个应用可以灵活确定其安全属性。基于以上特点,Zigbee网络成为无线传感器网络的首选,它非常适宜于在工矿环境下构建传感器网络。由于其微功耗、容量大、安全可靠,本课设选择使用Zigbee技术研发建立Zigbee无线网络需要选择合适的网络拓扑,Zigbee网络系统结构如图2.6所示。Zigbee协议栈支持网状、树状和星型网络三种拓扑结构,如下图2.7所示。本课题考虑到所有采集节点的数据都集中到协调器,所以采用

20、星型网络,具体布网的时候可以根据实际环境和地形采用合适的拓扑连接。井外井底瓦斯传感节点瓦斯传感节点监控室网关ZigBee无线网络瓦斯传感节点瓦斯传感节点图2.6 Zigbee网络系统结构在网状和树型网络拓扑中,Zigbee协调器负责启动网络,选择某些关键的网络参数,网络可以通过Zigbee路由器进行扩展。 协调器路由器/终端节点星状连接 网状连接 网咯拓扑图2.7 网咯拓扑图 在树型网络中,路由器使用一个分级路由策略在网络中传送数据和控制信息。当在矿井的巷道中布置网络时,受矿井特殊环境和Zigbee网络的特性的影响,本系统采用多跳传递方式输出数据。Zigbee节点通过多个路由器将信号从井下传出

21、。Zigbee节点间的距离大概为70100米,具体网络布置如图2.8所示,如果在检测区域中有盲点,可以通过增加节点的办法来解决。图2.8 井下巷道节点布置本次课设射频模块采用的核心芯片CC2530。它内部包含了一个工业级小巧高效的8051 控制器和一个高性能2.4GHz DSSS(直接序列扩频)射频收发器。CC2530芯片延用了以往CC2420芯片的架构,在单个芯片上整合了Zigbee射频(RF)前端、内存和微控制器,其片内资源如下图2.9所示。从图中可看出CC2530使用了1个8位MCU(8051),具有128KB可编程闪存和8KB的RAM,还包含模拟数字转换器(ADC)、两个定时器(Tim

22、er)、AES128协同处理器、看门狗定时器(Watchdog timer)、32kHz晶振的休眠模式定时器、上电复位电路(Power On Reset)、掉电检测电路(Brown out detection),以及21个可编程I/O引脚。CC2530芯片采用0.18m CMOS工艺,在接收模式下电流损耗低于27mA,在发射模式下电流损耗低于25mA。CC2530的休眠模式和转换到主动模式的超短时间的特性,特别适合那些要求电池寿命非常长的应用。CC2530芯片采用QLP封装,共有48个引脚。全部引脚可分为I/O端口线引脚、电源线引脚和控制线引脚三类。I/O接口电源管理看门狗定时器复位掉电复位高

23、速RC震荡电路32M晶体32KHzR器C振荡器32768M晶体睡眠定时器128KFash内存管理8051微控制器DMA存储器FIFO结构管理控制中断请求控制8KRAM写Fash射频发送频率合成器8位定时器4射频收发8输入814位ADCAES-128安全协处理器16位定时器1串行通信接口2ZigBee MAC定时器28位定时器3无线处理器寄存器CSMA/CA处理器无线数据分析界面解调器AGC调制器图2.9 CC2530片内资源3. 软件设计3.1瓦斯采集软件设计介绍在瓦斯采集模块中传感器的作用是将瓦斯浓度转换为电信号,此时电信号很微弱通过放大电路放大后,输入到MSP430芯片A/D功能模块的输入

24、引脚。MSP430芯片内置的A/D是一个12位的模数转换器,具有较高的精度和速度完全可以胜任本课设的研究内容。MSP430的内置A/D模块由参考电压发生器、模拟多路器、12位A/D内核、时序控制电路及结果缓存5部分组成,如果要使用MSP430的片内A/D就必须了解各部分的使用方法,在控制寄存器中进行相应的设置。(1)参考电压发生器:模数转换器(ADC)需要一个基准信号,通常为电压基准。ADC的数字输出表示模拟输入相对于它的基准的比率。MSP430ADC12内置参考电源,而且参考电压有6种可编程选择,分别为VR+与VR-的组合。其中,VR+有AVCC(模拟电源正端)、VREF+(A/D转换器内部

25、参考电源的输出正端)及VeREF+(外部参考源的正端入端),VR-包括AVSS(模拟电源负端)和VREF-/VeREF-(A/D转换器参考电源负端内部或外部)。ADC12可以通过转换存储控制寄存器ADC12MCTLx灵活地设置参考电压发生器的工作。(2)模拟多路器:当对多个模拟信号进行采样并进行A/D转换时,为了共用一个转换内核,模拟多路器需要分时地将多个模拟信号接通,即每次接通一个信号采样并转换。MSP430ADC12配置有8路外部通道与4路内部通道,通过A0A7实现外部8路模拟信号输入,4路内部通道可以将VeREF+、VREF-/VeREF-、(AVCC-AVSS)/2 以及片内温度传感器

26、的输出作为待转换模拟输入信号。这样就能同时对多路模拟信息进行测量和控制,从而满足实际控制和实时数据处理系统的要求。将VeREF+、VREF-/VeREF-、(AVCC-AVSS)/2作为AD12的输入信号,可以用于有关ADC12的自检、校验和诊断功能。(3)具有采样与保持功能的12位转换器内核:ADC12内核是一个12位的模/数转换器,并能够将结果存放在转换存储器中。该内核使用两个可编程的参考电压(VR+和VR-)定义转换的最大值和最小值。当输入模拟电压等于或高于VR+时,ADC12输出满量程值0x0FFF;当输入电压等于或小于VR-时,ADC12输出0。输入模拟电压的最终转换结果满足公式:N

27、ADC=4095*(Vin VR)/ (VR+ VR-)因为A/D转换需要一定的时间来完成量化及编码操作,对高速变化的信号进行瞬时采样时,不等A/D转换完毕,采样的值就已经改变。为了保证转换的精度ADC12的内核具有采样和保持功能,即使现场模拟信号变换的比较快,也不会影响ADC12的转化。采样状态,输出随输入而变化;保持状态,输出保持某个值一段时间以备转换。ADC12内核接收到模拟信号输入并具有转换允许的相关信号之后便开始进行A/D转换。在没有模拟信号转换的时候,为了节省功耗,可以通过位ADC12ON关闭转换内核。(4)采样及转换所需的时序控制电路:这部分提供采样及转换所需呀的各种时钟信号:A

28、DC12CLK转换时钟、SAMPCON采样及转换信号、SHT控制的采样周期、SHS控制的采样触发来源选择、ADC12SSEL选择的内核时钟源及ADC12DIV选择的分频系数等等。(5)转换结果缓存:ADC12共有12个转换通道,设置了16个转换存储器用于暂存转换结果,合理设置之后,ADC12硬件会自动将转换结果存放到相应的ADC12MEM寄存器中。每个转换存储器ADC12MEMx都有自己对应的控制寄存器ADC12MCTLx。控制寄存器控制各个转换存储器选择基本的转换条件。3.2 A/D的配置寄存器应用程序对A/D的使用和配置都要通过对寄存器的操作来完成。ADC12有大量的控制寄存器, ADC1

29、2的寄存器类型如下表3-3所示。表3-3 ADC12控制寄存器寄存器类型寄存器缩写寄存器含义转换控制寄存器ADC12CTL0转换控制寄存器0ADC12CTL1转换控制寄存器1中断控制寄存器ADC12IFG中断标志寄存器ADC12IE中断使能寄存器ADC12IV中断向量寄存器存储及其控制寄存器ADC12MCTL0ADC12MCTL15存储控制寄存器015ADC12MEM0ADC12MEM15存储寄存器015需要通过软件配置ADC12的资源,运用ADC12的各个功能模块。ADC12的寄存器包括转换控制寄存器、中断控制寄存器、存储寄存器及存储控制寄存器几大类。3.3A/D采样程序流程设计 因为瓦斯传

30、感器的功耗较大,瓦斯浓度检测一般10 分钟左右执行一次。因此MSP430的A/D采样程序需要控制瓦斯传感器的开关,在采集前10秒开通瓦斯传感器,让传感器预热,10秒后控制A/D模块采集数据,连采样5次取平均值,将数据存储然后关闭瓦斯传感器启动串口将数据通过串口发送到Zigbee终端节点。具体程序的流程图如下图4.8所示。为了让MSP430在不采样的时候处于休眠状态,程序使用单通道单次转换模式配置A/D模块。具体程序已省略。结束初始化AD初始化定时器初始化串口等待10分钟启动传感器串口发送数据采样数据取平均值AD采样开始是否采样5次?否是是否图4.8 A/D采样程序流程图3.4无线模块初始化程序

31、 初始化程序主要完成端口的注册、协议栈HAL层UART的注册和启动、目的地址模式和地址值指定、ZDO设备对象注册等工作。初始化程序和任务的事件处理程序配对设计,它们由OSAL操作系统层调用。只需要在操作系统层的void osalInitTasks(void)函数中注册任务,任务就可以由操作系统来调度。初始化程序的形参接口为:void SerialApp_Init(uint8 task_id);其中的task_id 由操作系统分配,用户应用程序不能干预。初始化程序首先设置目的地址的地址模式和地址值,其中地址模式有直接地址、间接地址、广播地址和组播地址等类型,可以根据任务需要设置。直接地址模式是通

32、过调用ZDApp_AutoFindDestination函数在网络中自动寻找与本节点端口匹配的设备,一般将第一个找到的匹配节点地址作为目的地址。间接地址是通过绑定的方式获得的数据传输地址,在本地节点中需要调用ZDApp_SendEndDeviceBindReq函数寻找与本节点端口描述匹配的设备,并发出绑定请求信息。互相匹配的两个终端设备都发出绑定请求信息并得到处理后即完成了绑定。广播地址的设置通过指定SerialApp_DstAddr.addrMode=AddrBroadcastSerialApp_DstAddr.addr.shortAddr = 0xFFFF两条语句来完成,数据发送后所有的设

33、备都会接受到这个数据。组播地址需要在初始化程序中对组进行初始化定义组的标识符,并将定义的组加入到组列表中,在定义地址模式为组播模式后,就可以使用组地址给组中的所有成员发送数据了。本项目的地址定义代码如下:SerialApp_MsgID = 0x00;SerialApp_SeqRx = 0xC3;SerialApp_TaskID = task_id;SerialApp_DstAddr.endPoint = 0;/SerialApp_DstAddr.addr.shortAddr = 0;/间接地址暂不设定/SerialApp_DstAddr.addrMode = (afAddrMode_t)Add

34、rNotPresent;/间接地址模式绑定SerialApp_DstAddr.addrMode = AddrBroadcast;/广播地址SerialApp_DstAddr.addr.shortAddr = 0xFFFF;SerialApp_RspDstAddr.endPoint = 0;SerialApp_RspDstAddr.addr.shortAddr = 0xFFFF;SerialApp_RspDstAddr.addrMode = AddrBroadcast;这段程序使用广播地址对所有的设备发送数据。接下来需要注册端口以及配置和注册各种HAL资源。afRegister( (endPoi

35、ntDesc_t *)&SerialApp_epDesc );RegisterForKeys( task_id );串口资源注册和开启代码为:uartConfig.configured = TRUE; uartConfig.baudRate = SERIAL_APP_BAUD;uartConfig.flowControl = TRUE;uartConfig.flowControlThreshold = SERIAL_APP_THRESH;uartConfig.rx.maxBufSize = SERIAL_APP_RX_MAX;uartConfig.tx.maxBufSize = SERIAL_

36、APP_TX_MAX;uartConfig.idleTimeout = SERIAL_APP_IDLE; uartConfig.intEnable = TRUE; #if SERIAL_APP_LOOPBACK uartConfig.callBackFunc = rxCB_Loopback;#else uartConfig.callBackFunc = rxCB;#endif HalUARTOpen (SERIAL_APP_PORT, &uartConfig);#if defined ( LCD_SUPPORTED ) HalLcdWriteString( SerialApp2, HAL_LC

37、D_LINE_2 );#endif 完成以上处理后就可以将本设备注册到ZDO设备对象,使用操作系统和协议栈来完成应用任务。注册函数如下所示:ZDO_RegisterForZDOMsg( SerialApp_TaskID, End_Device_Bind_rsp );ZDO_RegisterForZDOMsg( SerialApp_TaskID, Match_Desc_rsp );3.5数据通信在初始化程序中已经述及,串口初始化时指定了接收回调函数,一旦串口收到的数据填满了缓冲区就会调用回调函数将缓冲区中的数据无线发送,因此回调函数完成的是将缓冲区的数据发送的任务。串口接收回调函数rxCB定义了

38、两个串口接收缓冲区:otaBuf和otaBuf2。当otaBuf中无数据,处于空闲状态时,由otaBuf接收串口数据;当otaBuf中保留有数据,正等待接收节点发送接收数据响应或由于某些原因正在重新个接收节点发送数据时,可通过otaLen2接收数据;当otaBuf和otaBuf2都没有处在空闲状态时,说明数据没有及时发送到接收节点,发生了数据累积,缓冲区被占用,需要行进流量控制,所以直接退出接受回调函数,暂不接受数据。其程序清单如下所示。static void rxCB( uint8 port, uint8 event ) uint8 *buf, len; if ( otaBuf2 ) ret

39、urn; if ( !(buf = osal_mem_alloc( SERIAL_APP_RX_CNT ) ) return;len = HalUARTRead( port, buf+1, SERIAL_APP_RX_CNT-1 ); if ( !len ) / Length is not expected to ever be zero. osal_mem_free( buf );return; if ( otaBuf ) otaBuf2 = buf;otaLen2 = len; else otaBuf = buf;otaLen = len;osal_set_event( SerialApp

40、_TaskID, SERIALAPP_MSG_SEND_EVT ); 在回调函数中向操作系统抛出发送数据事件SERIALAPP_MSG_SEND_EVT,将触发事件处理函数SerialApp_ProcessEvent去调用真正的发送函数SerialApp_SendData,将数据无线发送到接收节点。四、 结论与展望 在煤矿安全问题中,瓦斯气体浓度是煤矿安全监测的重要指标之一。本次课程设计分析了现有煤矿瓦斯监测系统的特点,结合无线传感器网络,提出了基于无线传感器网络的煤矿瓦斯监测系统的设计思想。进而根据已有的设计思想将基于无线传感器网络的煤矿瓦斯监测系统分为采集与传输系统和监测与管理系统。硬件设

41、计从它的功能开始考虑,建立了由传感器模块、控制器模块、无线通信模块和电源模块组成的硬件模型,对各模块又分别进行了元器件的选型和具体电路的设计。软件设计同样从功能开始考虑,将软件实现分为瓦斯数据采集与处理模块和瓦斯数据传输模块进行设计,着重对瓦斯数据传输模块中的路由协议进行了分析、设计。介绍了Zigbee无线传感器网络在瓦斯采集方面的应用,详细介绍了系统的软硬件设计包括Zigbee网络模块的设计和瓦斯采集模块等模块的设计。利用MSP430F169芯片控制A/D模块将传感器的电信号变成了数字信号,并通过串口将数据传输到Zigbee终端节点,通过网关传输到控制室,完成对井下瓦斯浓度的实时监控。系统工

42、作电压3.3V,工作电流110mA,反应速度10秒以内,采集频率1次/10分钟。目前,Zigbee技术受其廉价、节能和安全性高等优点已经得到了行业的广泛支持和推广,但受其穿透能力的影响,它在长距离传输和使用还在探索、改进中。随着技术的进步相信其在传感器信号采集领域、消费类电子、家庭自动化以及汽车、精确农业和医院领域等方面的应用将会非常广泛。五、 心得与体会本次课程设计主要是针对煤矿瓦斯浓度进行采集转化成电信号,并把结果通过无线传输技术发射到监控室终端,从而达到对煤矿瓦斯信息行实时监控的目的。该系统以单片机MSP430为控制核心,以CC2530为发射模块的核心。通过瓦斯浓度传感器将井下瓦斯浓度传

43、给MSP430,如果超标则发出声光报警,并且通过ZigBee无线传输技术实时地把瓦斯信息发送到监控室终端。在短短的四周时间内完成基于无线传感器的瓦斯检测模块设计,我想这是一件很有困难的事情,而且在所设计上肯定也会存在很多不足的地方。每一个模块的设计对于整个系统来说是很重要的部分,要考虑到硬件设计和软件设计的有机结合。在系统设计上我们还很缺乏实际的设计经验,在硬件上的设计其实还存在很多的问题,硬件电路的设计往往会影响系统的实用性和稳定性,所以在这一方面我们很需要加强。从中也认识到之前所学的电路,模电等专业知识的重要性,等到要用的时候再去查找其实已经比较模糊了。也说明了,我们在平时的学习中学得不扎

44、实,当然也缺少实践的锻炼。在软件设计方面,其实也很重要,一个好的软件设计会是系统运行都更加准确和快速。但平常在程序的设计上没有下功夫所以也使得整个系统设计难度的加大。所以这些都是我们以后所需要努力的方向。最后,这次设计也在一定程度上提高了我们运用所学知识解决问题的能力。以及对书写报告的能力有一定的提高,为毕业设计做了一个小小的准备。总之,本次课设让再次学习了很多之前的知识,也意识了在设计上存在很多不足的地方,仍需要不断改进,不断学习。六、 附录无线传感器网络的瓦斯检测模块原理图(见A3图纸)。 七、 参考文献1. 童诗白.模拟电子技术基础.高等教育出版社社.第四版2. 阎石.数字电子技术基础.高等教育出版社.第四版3. 邱关源.电路.高等教育出版社.第五版4. 杨振江

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号