您好,欢迎访问三七文档
1CentralSouthUniversity无线传感器网络实验报告学院:班级:学号:姓名:时间:指导老师:22第一章基础实验1了解环境1.1实验目的安装IAR开发环境。CC2530工程文件创建及配置。源代码创建,编译及下载。1.2实验设备及工具硬件:ZX2530A型底板及CC2530节点板一块,USB接口仿真器,PC机软件:PC机操作系统WinXP,IAR集成开发环境,TI公司的烧写软件。1.3实验内容1、安装IAR集成开发环境IAR集成开发环境安装文件所在光盘目录:物联网光盘\工具\CD-EW8051-76012、ZIBGEE硬件连接安装完IAR和SmartrfFlashProgrammer之后,按照图所示方式连接各种硬件,将仿真器的20芯JTAG口连接到ZX2530A型CC2530节点板上,USB连接到PC机上,RS-232串口线一端连接ZX2530A型CC2530节点板,另一端连接PC机串口。3、创建并配置CC2530的工程文件33IAR是一个强大的嵌入式开发平台,支持非常多种类的芯片。IAR中的每一个Project,都可以拥有自己的配置,具体包括Device类型、堆/栈、Linker、Debugger等。(1)新建Workspace和Project首先新建文件夹ledtest。打开IAR,选择主菜单File-New-Workspace建立新的工作区域。选择Project-CreateNewProject-EmptyProject,点击OK,把此工程文件保存到文件夹ledtest中,命名为:ledtest.ewp(如下图)。(2)配置Ledtest工程选择菜单Project-Options...打开如下工程配置对话框44选择项GeneralOptions,配置Target如下Device:CC2530;(3)Stack/Heap设置:XDATAstacksize:0x1FF55(4)Debugger设置:Driver:TexasInstruments(本实验为真机调试,所以选择TI;若其他程序要使用IAR仿真器,可选Simulator)66至此,针对本实验的IAR配置基本结束.4、编写程序代码并添加至工程选择菜单File-New-File创建一个文件,选择File-Save保存为main.c将main.c加入到ledtest工程,77将实验代码输入然后选择Project-RebuildAll编译工程编译好后,选择Project-Downloadanddebug下载并调试程序下载完后,如果不想调试程序,可点工具栏上的按钮终止调试。到此,程序已经下载到了cc2530芯片的flash内,按下ZX2530A上的复位按钮可看到程序的运行效果。882LED实验2.1实验目的通过I/O控制小灯闪烁的过程。在ZX2530A型CC2530节点板上运行自己的程序。2.2实验设备及工具硬件:ZX2530A型底板及CC2530节点板一块,USB接口仿真器,PC机软件:PC机操作系统WinXP,IAR集成开发环境。2.3实验结果1.正确连接下载线和ZX2530A型CC2530节点板,打开ZX2530A型CC2530节点板电源。2.在文件夹“基础实验\2LED”下打开工程led,编译工程,并下载到CC2530节点板。3.观察LED的闪烁情况。4.修改延时函数,可以改变LED小灯的闪烁间隔时间。5.重新编译,并下载程序到CC2530节点板,观察LED的闪烁情况。答:增加延时就会发现小灯闪烁的频率降低了。993串口实验3.1实验目的本次实验将会学习如果使用串口实现与PC机的通讯。(实验中需要PC机与开发板之间使用RS232交叉串口连接线)。能正确配置CC2530的串口。3.2实验设备及工具硬件:ZX2530A型底板及CC2530节点板一块,USB接口仿真器,PC机,交叉串口线一根。软件:PC机操作系统WinXP,IAR集成开发环境、串口调试助手。3.3实验结果CC2530能与上位机通过串口正常通信1.正确连接下载线和ZX2530A型CC2530节点板,用串口线正确连1010接上位机和ZX2530A型板,使能通过串口交换数据。2.在文件夹“基础实验\5uart”下打开工程uart,编译工程,并下载到CC2530节点板。3.通过上位机上的串口调试助手,发送数据到cc2530,然后检查cc2530回送给上位机的数据。3.4实验总结通过这次实验,让我对无线传感器网络有了进一步的了解。在无线的世界,感觉一切都是那么神奇,二一切又是那么理所当然,记得小时候常常想,那些无线好神秘,画面,声音等怎么可以从一方到达另一方而可以完全不接触。虽然今天做的实验都是很小很简单的,比起显示中那些绚丽的感觉没什么值得赞扬的,但对于我来说,这个更有魅力,那些绚丽的我是以仰望的视角来对待,而这次我能深入它的原理去真正接触它,以平视来看待它。1111第二章射频实验点对点射频通信实验1实验目的在ZX2530A型CC2530节点板上运行相应实验程序。熟悉通过射频通信的基本方法。练习使用状态机实现收发功能。2实验内容接收节点上电后进行初始化,然后通过指令ISRXON开启射频接收器,等待接收数据,直到正确接收到数据为止,通过串口打印输出。发送节点上电后和接收节点进行相同的初始化,然后将要发送的数据输出到TXFIFO中,再调用指令ISTXONCCA通过射频前端发送数据。3实验设备及工具硬件:ZX2530A型CC2530节点板2块、USB接口的仿真器,PC机Pentium100以上。软件:PC机操作系统WinXP、IAR集成开发环境、串口监控程序。4实验原理发送节点通过串口接收用户的输入数据然后通过射频模块发送到指定的接收节点,接收节点通过射频模块收到数据后,通过串口发送到pc在串口调试助手中显示出来。如果发送节点发送的数据目的地址与接收节点的地址不匹配,接收节点将接收不到数据。以下为发送节点程序流程图:1212以下为接收节点流程图:5实验步骤1.打开光盘“无线射频实验\2.点对点通信”双击p2p.eww打开本实验工程文件。13132.打开main.c文件下面对一些定义进行介绍RF_CHANNEL此宏定义了无线射频通信时使用的信道,在多个小组同时进行实验是建议每组选择不同时信道。但同一组实验中两个节点需要保证在同一信道,才能正确通信。PAN_ID个域网ID标示,用来表示不同在网络,在同一实验中,接收和发送节点需要配置为相同的值,否则两个节点将不能正常通信。SEND_ADDR发送节点的地址RECV_ADDR接收节点的地址NODE_TYPE节点类型:0接收节点,1:发送节点,在进行实验时一个节点定义为发送节点用来发送数据,一个定义为接收节点用来接收数据。3.修改NODE_TYPE的值为0,并编译下载到节点板。此节以下称为接收节点。4.修改NODE_TYPE的值为1,并编译下载到另外一个节点板。此节点板以下称为发送节点。5.将接收节点的串口与pc的串口相连,并在pc端打开串口调试助手,配置波特率为115200。6.先将接收节点上电,然后将发送节点上电。7.从串口调试助手观察接收节点收到的数据。8.修改发送数据的内容,然后编译并下载程序到发送节点,然后从串口调试助手观察收到的数据。14149.修改接收节点的地址,然后重新编译并下载程序到接收节点,然后从发送节点发送数据观察接收节点能否正确接收数据。6实验数据分析及结论发送节点将数据发送出去后,接收节点接收到数据,并通过串口调试助手打印输出。发送数据的最大长度为125(加上发送的据长度和校验,实际发送的数据长度为128字节)。7实验心得这次实验在原来的短距离无线通信中有所涉猎,所以应该这个对于我们来说还是很简单的,所以很快就做完实验了,就和几个同学好好研究了一下它的原理和一些它的展望,感觉这个学科以后有很大的发展前途,作为一个物联网的学生,对无线射频技术应该得很了解,指望它吃饭呢。这次实验也很简单,但是还是可以解除它的最底层的东西可以更加激发我们的兴趣。1515第三章ZStack组网实验多点自组织组网实验1实验目的理解zigbee协议及相关知识。在ZX2530A型CC2530节点板上实现自组织的组网。在ZStack协议栈中实现单播通信。2实验内容先启动协调器节点,协调器节点上电后进行组网操作,再启动路由节点和终端节点,路由节点和终端节点上电后进行入网操作,成功入网后周期的将自己的短地址,父节点的短地址,自己的节点ID封装成数据包发送给协调器节点,协调器节点接收到数据包后通过串口传给PC,从PC上的串口监控程序查看组网情况。发送数据格式为(16进制):FF源节点(16bit)父节点(16bit)节点编号ID(8bit)例如FF4B00000001,表示01号节点的网络地址为004B,发送数据到父节点,其网络地址为0000(协调器)。3实验设备及工具硬件:DZ2530型CC2530节点板、USB接口的仿真器,PC机Pentium100以上。软件:PC机操作系统WinXP、IAR集成开发环境、ZTOOL程序。16164实验原理程序执行的流程图如图5-4所示,在进行一系列的初始化操作后程序就进入事件轮询状态。对于终端节点,若没有事件发生且定义了编译选项POWER_SAVING,则节点进入休眠状态。协调器是Zigbee三种设备中最重要的一种。它负责网络的建立,包括信道选择,确定唯一的PAN地址并把信息向网络中广播,为加入网络的路由器和终端设备分配地址,维护路由表等。Z-Stack中打开编译选项ZDO_COORDINATOR,也就是在IAR开发环境中选择协调器,然后编译出的文件就能启动协调器。具体工作流程是:操作系统初始化函数osal_start_system调用ZDAppInit初始化函数,ZDAppInit调用ZDOInitDevice函数,ZDOInitDevice调用ZDApp_NetworkInit函数,在此函数中设置ZDO_NETWORK_INIT事件,在ZDApp_event_loop任务中对其进行处理。由第一步先调用ZDO_StartDevice启动网络中的设备,再调用NLME_NetworkFormationRequest函数进行组网,这一部分涉及网络层细节,无法看到源代码,在库中处理。ZDO_NetworkFormationConfirmCB和nwk_Status函数有申请结果的处理。如果成功则ZDO_NetworkFormationConfirmCB先执行,不成功则nwk_Status先执行。接着,在ZDO_NetworkFormationConfirmCB函数中会设置ZDO_NETWORK_START1717事件。由于第三步,ZDApp_event_loop任务中会处理ZDO_NETWORK_START事件,调用ZDApp_NetworkStartEvt函数,此函数会返回申请的结果。如果不成功能量阈值会按ENERGY_SCAN_INCREMENT增加,并将App_event_loop任务中的事件ID置为ZDO_NETWORK_INIT然后跳回第二步执行;如果成功则设置ZDO_STATE_CHANGE_EVT事件让ZDApp_event_loop任务处理。对于终端或路由节点,调用ZDO_StartDevice后将调用函数NLME_NetworkDiscoveryRequest进行信道扫描启动发现网络的过程,这一部分涉及网络层细节,无法看到源代码,在库中处理,NLME_NetworkDiscoveryRequest函数执行的结果将会返回到函数ZDO_NetworkDiscoveryConfirmCB中,该函数将会返回选择的网络,并设置事件ZDO_NWK_DISC_CNF,在ZDApp_ProcessOSALMsg中对该事件进行处理,调用NLME_JoinRequest加入指定的网络,若加入失败,则重新初始化网络,若加入成功则调用ZDApp_ProcessNetworkJoin函数设置ZDO_STATE_CHANG
本文标题:无线传感网实验报告
链接地址:https://www.777doc.com/doc-4770525 .html