无线传感器网络(ZIGBEE)实验指导书(CC2530)(适用于电子、通信等专业)沈阳工学院2012年12月前言本课程主要学习Zigbee无线传感器网络的特点,并且以CC2430为主要控制器介绍Zigbee网络中的编程情况,此芯片采用C语言进行编程,并且已经有了较成熟的发展,学生同学理论学习掌握了芯片的基本理论知识,以及在编程过程的相关寄存器的设置。
为了使学生更好地理解和深刻地把握这些知识,并在此基础上,训练和培养学生的动手能力,设置了五个实验项目,其中包括四个验证性实验,一个综合性实验。
这些实验需要学生了解实验器材,熟悉其使用方法,掌握编程软件的操作方法,并且重点掌握在如何编写程序以及程序中的寄存器的设计。
本实验指导书适用于通信专业,强调实际操作,注重基本仪器地使用方法及动手能力的培养。
目录验证性实验实验一IAR编程软件的使用与简单实例实验二CC2530片内温度与1/3电压的测量实验三CC2530串口发/收数实验实验四点对点无线数据通信实验综合性实验实验五Zigbee协议栈实验实验一IAR编程软件的使用与简单实例(一)实验目的1、熟悉IAR软件的使用方法。
2、掌握编辑、下载、运行程序的方法3、利用IAR软件会编写简单的程序(二)实验设备1、zigbee实验装置1套2、安装有IAR软件的PC机1台3、PC机与zigbee模块通讯电缆1根(三)实验内容一、会使用IAR软件IAR编程软件简介1、IAR软件的启动及建立一个新工程首先安装IAR编程软件。
安装之后,选择图标双击鼠标左键,出现如图1.1。
新建一个工程文件。
新建一个工程选择Empty project默认配置,单击0K弹出保存对话框这个时候我们在桌面上建立一个名为project的文件夹,输入项目的文件名,并将项目也取名为“project”将此文件保存在project文件夹中,会产生一个ewp后缀的文件。
保存工程,弹出保存工程对话框。
输入工程文件名,单击保存退出,系统将产生一个eww为后缀的文件这样,我们就建立了IAR的一个工程文件,接下来,我们对这个工程加入一些特有的配置。
打开工程选项工程选项页面工程选项页面中需要设置很多必要的参数,下面针对CC2530我们一起来配置这些参数。
1. General Options设置在General Options->Target选项中Derivative选择为CC2530,如图所示。
找到Chipcon文件夹选择需要的芯片在General Options->Target选项中Data model选择为Large,如图所示。
在General Options->Target选项中Calling cinvention选择为XDATA,如图所示。
在General Options->Target选项中Stack/heap中的堆栈大小做适当修改,如图所示。
修改堆栈2.C/C++ Compiler设置在C/C++ Compile->Preprocessor选项中有两个很重要的选项,它们分别是Include paths和Defined symbols。
Include paths表示在工程中包含文件的路径,Defined symbols表示在工程中的宏定义。
3.linker设置Linker->Extra Options中是用于包含一些必要的外部选项的,这里定义了各个设备的特殊功能选项,是一个用户自定义选项,在后面的应用中,会根据具体的使用给出使用方法。
库函数添加在Linker->Config中linker command file选择lnk51ew_CC2530.xcl。
4.Debugger设置在Debugger->Setup中Driver项中选择Chipcon。
这个对于整个项目的基本设置就完成了。
现在开始第一个项目开发。
1.新建一个C文件,按图示步骤执行。
新建一个文件保存文件输入文件名,点击保存如果是C文件请务必后缀,否则会以文本文件存档。
创建一个文件组输入文件组名加入文件选择新建的C文件文件已经加入工程中,双击打开文件加入第一个代码,这个代码的意思是将P1口设置为输出,将P1口置0,无线龙模块和开发板中有小灯在P1口上,当执行这个代码的时候,小灯会点亮。
通过“make”编译,也可以通过Rebuild All全部编译,用make只会编译修改过的文件。
编译后只要没有错误就可以使用了,一般警告我们可以放过在编译没有错误后,就可以下载程序了,点击Debug,就下载程序了,下载程序后,软件进入在线仿真模式。
(四)实验步骤1、根据要求编写程序。
2、将编写好的程序下载到模块中。
3、运行与监控程序。
(五)报告要求1、写出使用软件编写程序的方法与步骤。
2、写出小灯自动闪烁的程序。
(六)思考如何将编写好的程序下载到模块中?实验二CC2530片内温度的测量(一)实验目的1、熟悉IAR软件的使用方法。
2、掌握CC2530芯片的内部寄存器CLKCON,SLEEP,PERCFG,U0CSR,U0GCR,U0BAUD,IEN0,U0DUB,ADCCON1, ADCCON3, ADCH, ADCL等的使用。
(二)实验设备1、zigbee实验装置1套2、安装有IAR软件的PC机1台3、PC机与zigbee模块通讯电缆1根(三)实验内容1、掌握内部寄存器的使用CLKCON (时钟控制寄存器)SLEEP (睡眠模式控制寄存器)PERCFG(外设控制寄存器)U0CSR(串口0 控制&状态寄存器)U0GCR (串口0 常规控制寄存器)U0BAUD (串口0 波特率控制寄存器)U0BUF(串口0 收发缓冲器)ADCCON1ADCCON32、实现CC2530芯片测量外部温度的控制。
控制要求:利用CC2530芯片采集外部温度信息,并将数据通过串口上传至上位机进行显示。
(四)实验步骤1、掌握CC2530芯片的内部寄存器的使用,对其寄存器各个位意义进行掌握,并且在程序编写时,根据不同的要求进行设置。
2、根据要求画出程序的流程图。
3、将编写好的程序下载到模块中。
4、仔细观察实验结果。
(五)报告要求1、写出在程序中需要的内部寄存器,并按照要求进行设置。
2、画出CC2530采集外部温度的程序流程图。
3、分析控制程序。
(六)思考1、对程序进行修改,利用此芯片测量1/3AVDD;2、对程序进行修改,利用此芯片测量AVDD;要求:写出内部寄存器的设置,测量函数即可。
实验三CC2530串口发/收数实验(一)实验目的1、熟悉IAR软件的使用方法。
2、掌握CC2530芯片的内部寄存器P1, P1DIR, CLKCONCMD, SLEEPCMD, PERCFG, U0CSR, U0GCR, U0BAUD, IEN0, U0DBUF,等寄存器等的使用。
(二)实验设备1、zigbee实验装置1套2、安装有IAR软件的PC机1台3、PC机与zigbee模块通讯电缆1根(三)实验内容1、掌握内部寄存器的使用CLKCONCMD (时钟控制寄存器)SLEEPCMD (睡眠模式控制寄存器)PERCFG(外设控制寄存器)U0CSR(串口0 控制&状态寄存器)U0GCR (串口0 常规控制寄存器)U0BAUD (串口0 波特率控制寄存器)U0BUF(串口0 收发缓冲器)2、实现CC2530芯片向上位机进行数据发送。
控制要求:从CC2530 上通过串口不断地发送字串“UART0 TX Test”。
实验使用CC2530 的串口1,波特率为57600。
(四)实验步骤1、实验准备:连接实验设备:用扁平电缆连接仿真器和开发板,确认连接可靠以后用USB数据线连接仿真器到PC机。
察看仿真器上电源指示灯和开发板上电源指示灯,若全部点亮证明连接完好,可以开始实验。
2、启动IAR Embedded Wordbench开发环境3、打开工程文件CC2530-13,CC2530-14,CC2530-15,CC2530-16的文件夹中的程序,认真阅读程序,对程序进行理解。
4、编译、下载程序。
5、点击Debug按钮,按F5运行程序,观察并记录结果。
6、停止运行程序。
点击Debug按钮,打开Disassembly窗口,按F11单步执行程序。
观察程序运行情况和LED的状态,并记录结果。
7、将CC2530-13的程序进行修改,根据要求进行程序修改。
8、保存工程,退出IAR集成开发环境。
(五)报告要求1、写出各个试验程序运行后的实验结果2、按照要求对程序进行修改,并将结果在报告上标注出来。
(六)思考写出中断法和查询法的相关函数。
实验四点对点无线数据通信实验(一)实验目的1、熟悉点对点通讯的原理与操作流程。
2、掌握CC2530芯片的内部寄存器等的使用。
3、了解点对点通讯的射频设置。
(二)实验设备1、zigbee实验装置1套2、安装有IAR软件的PC机1台3、PC机与zigbee模块通讯电缆1根(三)实验内容掌握点对点通讯的几个重要函数的使用发送函数basicRfSendPacket();接收函数basicRfReceive()。
(四)实验步骤1、熟悉点对点通讯的协议。
2、根据要求画出程序的流程图。
3、将编写好的程序下载到模块中。
4、仔细观察实验结果。
(五)报告要求1、简单叙述点对点通讯的过程。
2、画出CC2530点对点通讯的程序流程图。
3、分析控制程序。
4、对结果进行分析。
(六)思考对程序进行修改,将接收的数据发送到上位机进行显示。
要求:画出程序流程图,写出通讯主函数即可。
实验五ZIGBEE协议栈实验(一)实验目的1、熟悉ZIGBEE协议栈的原理与操作流程。
2、掌握协议栈的设备类型与地址的设置。
3、熟悉协议栈的相关函数。
(二)实验设备1、zigbee实验装置1套2、安装有IAR软件的PC机1台3、PC机与zigbee模块通讯电缆1根(三)实验内容1、掌握协议栈的使用2、掌握协议栈的设备类型,包括协调器,路由器,终端节点。
熟悉协议栈中的地址信息,包括网络地址以及物理地址。
3、利用按键控制模块组内的灯闪烁实验。
首先启动一个网络协调器,协调器如果建立网络成功后,会在LCD 上显示该节点为协调者同时显示网络ID 号。
然后打开一个终端节点的电源,此时节点会自动加入网络。
加入网络成功后,节点会显示自己的网络地址和父节点的网络地址。
模块加入网络后会自动加入工作组。
节点跟主机、路由器加入同一工作组后,节点就可以控制主机和路由器的G 灯闪烁了,只需按UP 键,就可以控制路由器和主机的G 灯闪烁。
同样,按路由器的UP 键,也可以控制主机的G 灯闪烁。
主机和路由器也可以随时退出工作组或加入工作组,当主机或路由器在工作组内时,按下RIGHT 键,就可以退出工作组,反之则加入工作组。