当前位置:文档之家› 无线传感器网络技术实验指导书(苏明霞)

无线传感器网络技术实验指导书(苏明霞)

无线传感器网络技术实验指导书(苏明霞)
无线传感器网络技术实验指导书(苏明霞)

实验一外部中断实验

1.实验环境

?硬件:ZigBee(CC2530)模块,ZigBee下载调试板,USB仿真器,PC机。

?软件:IAR Embedded Workbench for MCS-51

2.实验目的

?阅读 ZigBee2530开发套件 ZigBee 模块硬件部分文档,熟悉 ZigBee 模块按键接口中断使用方式。

?使用 IAR 开发环境设计程序,利用 CC2530 的电源管理控制寄存器控制系统工作状态。

3.实验原理

3.1硬件接口原理

?按键接口,如图3.1.1所示。

图3.1.1

CC2530开发板有三个按键,一个复位按键。其余两个按键可以通过编程进行控制。当按键按下时,相应的管脚输出低电平。在此我们采用下降沿触发中断的方式来检测是否有按键按下。

ZigBee(CC2530)模块 LED 硬件接口

图 3.1.2 LED 硬件接口 CC2530 相关寄存器

图3.1.2 P1寄存器

图3.1.3 P1SEL寄存器

图3.1.4 P1DIR寄存器

图3.1.5 P1INP 寄存器

图3.1.6 P2INP 寄存器

图3.1.7 PICTL寄存器

图3.1.8 P1IEN 寄存器

图3.1.9 IEN2 寄存器

4、实验内容

按键按下一次,led1亮,led2灭。

按键按下2次,led1灭,led2亮。

按键按下3次,都亮。

按键按下4次,都灭。下降沿触发中断。

5、注意事项

1、实验前,请正确安装RF2530模块,注意其丝印方向应与底板丝印方向一致,严禁反接;

2、实验过程中,严禁带电插拨器件,防止损坏电路;

3、实验过程中,严禁用手触摸裸露的器件特别是芯片,防止造成短路或损坏芯片;

4、所有模块出厂前均已调试完毕,除非有特别说明,否则不建议自行对电路中可调部分进行调节。

6、实验步骤

1、将一个RF2530模块插入到WSN通用底板的相应位置。

2、zigbee多功能仿真器的一端通过10 pin下载线接到WSN通用底板的JTAG 接口上,另一端通过USB线接到PC机上,并通过SmartRF Flash Programmer软件正确下载自己编写的实验源码。

3、通过USB外接电源(或锂电池BT)给WSN通用底板供电并将电源开关拨至USB供电(或锂电池BT供电)的位置,程序自动运行,可以看到WSN通用底板上的6个LED间歇的亮灭。

4、实验完毕后,关闭电源,各模块放回原位。

7、程序流程图

请在实验报告上详细写出。

实验二串口通信实验

1.实验环境

?硬件:ZigBee(CC2530)模块,ZigBee下载调试板,USB仿真器,PC机。

?软件:IAR Embedded Workbench for MCS-51

2.实验目的

?阅读 ZigBee2530开发套件 ZigBee 模块硬件部分文档,熟悉 ZigBee 模块硬件接口

?使用 IAR 开发环境设计程序,利用 CC2530 的串口0 对板载 LED 灯进行控制3.实验原理

3.1硬件接口原理

◆ZigBee(CC2530)模块 LED 硬件接口

图 3.1.1 LED 硬件接口

ZigBee(CC2530)模块硬件上设计有 2 个 LED 灯,用来编程调试使用。分别连接 CC2530 的 P1_0、P1_1两个 IO 引脚。从原理图上可以看出,2 个 LED 灯共阳极,当 P1_0、P1_1 引脚为低电平时候,LED 灯点亮。

◆CC2530 IO 相关寄存器

表 3.1.2 P1 寄存器

表 3.1.3 P1DIR 寄存器

以上图表列出了关于 CC2530 处理器的 P1 IO 相关寄存器,其中只用到了 P1 和 P1DIR 两个寄存器的设置,P1 寄存器为可读写的数据寄存器,P1DIR 为 IO 输入输出选择寄存器,其他 IO 寄存器的功能,使用默认配置。详情请用户参考 CC2530 的芯片手册。

表3.1.4 CLKCONCMD 和 CLKCONSTA 寄存器

表3.1.5 SLEEPCMD 和 SLEEPSTA 控制寄存器

表3.1.6 PERCFG 寄存器

表3.1.7 U0CSR 寄存器

表3.1.8 U0GCR 寄存器

表3.1.9 U0DBUF 和U0BAUD 寄存器

以上图表列举了和 CC2530 处理器串口操作相关的寄存器,其中包括CLKCONCMD 和CLKCONSTA控制寄存器,用来控制系统时钟源和状态,SLEEPCMD和SLEEPSTA寄存器用来控制各种时钟源的开关和状态。PERCFG 寄存器为外设功能控制寄存器,用来控制外设功能模式。 U0CSR、 U0GCR、 U0BUF、U0BAUD 等为串口相关寄存器。

4、实验内容

PC机发送11#时,led1亮,同时单片机向PC机发送,led1 on字样,显示在在串口助手上。

PC机发送12#时led1灭,同时单片机向PC机发送led1 off字样,显示在在串口助手上。

PC机发送21#时,led2亮,同时单片机向PC机发送,led2 on字样,显示在在串口助手上。

PC机发送22#时led2灭,同时单片机向PC机发送led2 off字样,显示在在串口助手上。

5、注意事项

1、实验前,请正确安装RF2530模块,注意其丝印方向应与底板丝印方向一致,严禁反接;

2、实验过程中,严禁带电插拨器件,防止损坏电路;

3、实验过程中,严禁用手触摸裸露的器件特别是芯片,防止造成短路或损坏芯片;

4、所有模块出厂前均已调试完毕,除非有特别说明,否则不建议自行对电路中可调部分进行调节。

6、实验步骤

1、将一个RF2530模块插入到WSN通用底板的相应位置。

2、zigbee多功能仿真器的一端通过10 pin下载线接到WSN通用底板的JTAG 接口上,另一端通过USB线接到PC机上,并通过SmartRF Flash Programmer软件正确下载自己编写的实验源码。

3、通过USB外接电源(或锂电池BT)给WSN通用底板供电并将电源开关拨至USB供电(或锂电池BT供电)的位置,程序自动运行,可以看到WSN通用底板上的6个LED间歇的亮灭。

4、实验完毕后,关闭电源,各模块放回原位。

7、程序流程图

请在实验报告上详细写出。

实验三人体传感器检测

1.实验目的

1) 通过实验掌握 CC2530 芯片 GPIO 的配置方法

2) 掌握 MQ-2 气体传感器的使用

2.实验设备

硬件:PC 机一台、 ZB2530(底板、核心板、仿真器、USB 线)一套、人体红外传感器一个

软件:2000/XP/win7 系统,IAR 8.10 集成开发环境

3.实验相关电路图

4.实验原理

HC-SR501 人体红外感应模块是基于红外线技术的自动控制产品。灵敏度高、可靠性强、超低功耗,超低电压工作模式。接线方式(实验是接到 J10 上):

1)、VCC:接电源正极(5V)

2)、OUT:检测引脚

3)、GND:接电源负极

实验中使用 P0_6 作为检测引脚, 人进入其感应范围模块输出高电平,点亮LED1,人离开感应范围 LED1 熄灭 P0.6 口为 HC-SR501 传感器的输入端。具体HC-SR501 人体感应模块 OUT 输出电平由模块决定。

5.实验流程图及效果(自己写)

6代码分析(自己写)

实验四基于Z-Stack的无线组网实验

1.实验环境

?硬件:ZigBee(CC2530)模块(两个),ZigBee下载调试板,USB仿真器,PC机。?软件:IAR Embedded Workbench for MCS-51 ZStack-2.3.0-1.4.0协议栈2.实验内容

?学习TI ZStack2007协议栈内容,掌握CC2530模块无线组网原理及过程。有关Z-Stack2007协议栈的具体内容,请参考附录中相关说明及TI官方文档。

?使用IAR开发环境设计程序,ZStack-2.3.0-1.4.0协议栈源码例程SampleApp 工程基础上,实现无线组网及通讯。即协调器自动组网,终端节点自动入网后,LED1开始点亮,并发送广播信息“LED2”,协调器接收到消息后将LED2闪烁,并将数据通过串口发送给PC计算机。

3.实验原理

3.1Z igBee(CC2530)模块LED硬件接口

图3.1.1 LED硬件接口

ZigBee(CC2530)模块硬件上设计有2个LED灯,用来编程调试使用。分别连接CC2530的P1_0、P、1_1两个IO引脚。从原理图上可以看出,2个LED灯共阳极,当P1_0、P1_1引脚为低电平时候,LED灯点亮。

3.2S ampleApp实验简介

SampleApp实验是协议栈自带的ZigBee无线网络自启动(组网)样例,该实验实现的功能主要是协调器自启动(组网),节点设备自动入网。之后两者建立无线通讯,数据的发送主要有2中方式,一种为周期定时发送信息(本次实验采用该方法测试),另一种需要通过按键事件触发发送FLASH信息。

接下来我们分析发送periodic信息流程(发送按键事件flash流程略)

Periodic消息是通过系统定时器开启并定时广播到group1出去的,因此在

SampleApp_ProcessEvent事件处理函数中有如下定时器代码:

当设备加入到网络后,其状态就会变化,对所有任务触发ZDO_STATE_CHANGE事件,开启一个定时器。当定时时间一到,就触发广播periodic消息事件,触发事件SAMPLEAPP_SEND_PERIODIC_MSG_EVT,相应任务为SampleApp_TaskID,于是再次调用SampleApp_ProcessEvent()处理SAMPLEAPP_SEND_PERIODIC_MSG_EVT事件,该事件处理函数调用SampleApp_SendPeriodicMessage()来发送周期信息。

MT层串口通讯

协议栈将串口通讯部分放到了MT层的MT任务中去处理了,因此我们在使用串口通讯的时候要在编译工程(通常是协调器工程)时候在编译选项中加入MT层相关任务的支持:

MT_TASK,ZTOOL_P1 或ZAPP_P1。

在defined symbols里面添加HAL_UART=TRUE 关于无线组网实验关键代码分析

这个函数是终端节点要完成的功能,通过上面对周期事件的分析,可以知道这个函数是会被周期调用的,通过AF_DataRequest()向协调器周期发送广播字符串“~HELLO!~”

SampleApp_ProcessEvent() 函数为应用层事件处理函数,当接收到网络数据(即发生

AF_INCOMING_MSG_CMD事件)时,会调用SampleApp_MessageMSGCB( MSGpkt );处理函数,现在来分析这个函数

相关主题
文本预览
相关文档 最新文档