无线传感器网络实验指导书 - 图文

更新时间:2024-03-01 02:45:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

无线传感器网络 iot@hftc

无线传感器网络实验指导书

合肥师范学院计算机学院物联网工程系

2014年10月

无线传感器网络 iot@hftc

目 录

实验一

实验二

实验三

实验四

基础实验 ................................... 3 串口数据通信实验 ........................... 32 点到点无线通信实验 ..................... 40 ZigBee星型组网实验 ................................. 47

CC2530 I/O CC2530 CC2530 无线传感器网络 iot@hftc

实验一 CC2530 I/O基础实验

本实验主要目的是学会使用CC2530的通用IO口及其编译软件环境IAR的使用,达到初步了解使用CC2530无线单片机定时器的目的。

1、实验要求

(1) 熟悉CC2530无线单片机功能、管脚、调试环境IAR软件的基本功能和初

步使用;

(2) 进行CC2530无线单片机的通用IO口的配置、使用及实验;

(3) 完成CC2530通用I/O口的原理性操作控制,完成必要的实验环节,分析

总结实验。

2、实验目的

(1) 熟悉IAR编译软件界面的基本功能;

(2) 掌握在IAR软件中利用C语言配置CC2530 IO口的方法; (3) 掌握自己修改并调试IO口配置的方法;

3、预备知识

3.1 IAR开发环境基本功能及工程建立

IAR Embedded Workbench(以下简称为IAR)嵌入式系统应用程序的开发工具,支持汇编、C和C++语言。它提供完整的集成开发环境,包括工程管理器、编辑器、编译链接工具和C-SPY调试器。 IAR Systems以其高度优化的编译器而闻名。每个C/C++编译器不仅包含一般全局性的优化,也包含针对特定芯片的低级优化,以充分利用所选芯片的所有特性,确保较小的代码尺寸。能够支持由不同的芯片制造商生产,且种类繁多的8位、16位或32位芯片。详细内容请参阅http://www.iar.com。

主要步骤:

①安装 IAR开发环境。

②启动 IAR,新建一个 IAR 工作区,或者打开一个IAR 工作区。 ③连接CC Debugger调试器和ZigBee模块、连接CC Debugger到计算机,安装驱动。

无线传感器网络 iot@hftc

④设置项目参数。 ⑤编译、下载程序。

⑥安装SmartRF Flash Programmer 软件。 ⑦使用 SmartRF Flash Programmer 软件。

(1) 安装IAR开发环境。

打开IAR软件所在电脑目录,点击程序安装图标,出现:

选择“Install IAR Embedded Workbench”项,点击安装IAR。

按照安装提示,依次“Next”、“Accept”,输入姓名“Name”、公司名称“Company”、序列号“License#”,贴入序列号密钥“License Key”。

无线传感器网络 iot@hftc

然后按照安装提示,依次“Next”,选择安装目录等,最后安装完成。安

装完毕会有桌面图标Systems”程序项。

,或者在“开始”—“程序”菜单中出现 “IAR

(1) 启动 IAR,新建一个 IAR 工作区,或者打开一个IAR 工作区。 新建一个 IAR 工作区:

点击IAR桌面图标,或者“开始”—“程序”菜单中选择“IAR Systems”下的“IAR Embedded WorkBench”,打开IAR软件开发环境。

打开IAR软件

新建一个IAR工作区。点击菜单“Project”下的“Creat New Project”,弹出对话框如图所示。

无线传感器网络 iot@hftc

7:6 PRIP0[1:000 ] R/W P2.4到P2.0的I/O方向 0:输入 1:输出 P0INP (0x8F) – 端口 0 输入模式

5 - 0 R0 4:0 DIRP2_[4:0 R/W 0000 0] 端口0外设优先级控制。当当PERCFG分配给一些外设到相同 引脚的时候,这些位将确定优先级。 详细优先级列表: 00: 第1优先级:USART 0 第2优先级:USART 1 第3优先级:定时器1 01: 第1优先级:USART 1 第2优先级:USART 0 第3优先级:定时器1 10: 第1优先级:定时器1通道0-1 第2优先级:USART 1 第3优先级:USART 0 第4优先级:定时器1通道2 –3 不使用

P1INP (0xF6) – 端口 1 输入模式

P2INP (0xF7) – 端口 2 输入模式

无线传感器网络 iot@hftc

P0IFG (0x89)–端口0 中断状态标志

P1IFG (0x8A)–端口1 中断状态标志

P2IFG (0x8B)–端口2 中断状态标志

无线传感器网络 iot@hftc

PICTL (0x8C)–端口中断控制

P0IEN (0xAB) –端口0 中断屏蔽

P1IEN (0x8D)–端口1 中断屏蔽

P2IEN (0xAC) –端口2 中断屏蔽

PMUX (0xAE) –掉电信号Mux

无线传感器网络 iot@hftc

图 ZigBee通信模块上CC2530无线单片机管脚

外部设备I/O:

数字I/O引脚可以配置为外部设备I/O。通常选择数字I/O引脚上的外部

设备I/O功能,需要将对应的寄存器位PxSEL置1。注意,该外部设备具有两个可以选择的位置对应它们的I/O引脚。

SFR寄存器位PERCFG,U0CFG选择计数器上I/O的位置,确定是位置1或者位置2个口将设置为模拟模式。

未使用的引脚应当定义电平,而不能悬空。一种方法是:该引脚不连接任何元器件,将其配置为具有上拉电阻器的通用输入口。这也是所有的引脚在复位期间的状态。这些引脚也可以配置为通用输出口。为了避免额外的能耗,无论引脚配置为输入口还是输出口,都不可以直接与VDD或者GND连接。

4、硬件原理图

下图是本系统的节点模块,其中通信模块是有CC2530无线单片机构成的ZigBee模块。

无线传感器网络 iot@hftc

CCDebug编程口CC2530

图 节点及ZigBee通信模块

下图是CC2530无线单片机的原理图。

图 ZigBee模块原理图

模块上直接配置了编程口;有两个按键和两个发光二极管。

图 ZigBee模块上两个LED灯的连接

两个发光二极管分别接到CC2530芯片的P10和P11端口,由端口输出的电平控制是否点亮,如图所示,当对应端口输出低电平时LED亮,相反不亮。

ZigBee模块上配置了两个按键,复位Reset按键和普通按键,分别连接到CC2530单片机的20脚复位端口“RESET_N”和第36脚“P20”端口。如原理图

无线传感器网络 iot@hftc

机的入门实验,通过学习,对单片机有个基本了解,便于今后更复杂单片机程序的开发。 思考:

(1) 如何打开其它工作区文件? (2) 如何改变灯闪烁的时间间隔? (3) 如何改变几个灯闪烁的次序?

(4) 如何改进按键抖动的影响,及改变控制的对象?

无线传感器网络 iot@hftc

实验二 CC2530 串口数据通信实验

本实验主要目的是学会使用CC2530的通用IO口及其编译软件环境IAR的基本使用方法,达到初步了解使用CC2530无线单片机的目的。

1、实验要求

(1) 熟悉CC2530无线单片机的串口通信功能、管脚; (2) 进行CC2530无线单片机的串口配置方法; (3) 完成CC2530串口通信实验,分析总结实验。

2、实验目的

(1) 学习使用CC2530单片机中断方式实现串口通信; (2) 学习如何设置串口的波特率;

(3) 掌握如何使用串口收发数据,掌握自己修改并调试串口通信的方法;

3、预备知识

3.1 CC2530数字输入/输出引脚

CC2530有21 个数字输入/输出引脚,可以配置为通用数字I/O 或外设I/O 信号,配置为连接到ADC、定时器或USART外设。这些I/O 口的用途可以通过一系列寄存器配置,由用户软件加以实现。21 个I/O 引脚都可以用作于外部中断源输入口。因此如果需要外部设备可以产生中断。外部中断功能也可以从睡眠模式唤醒设备。详细信息参考“实验一”中“预备知识”的“3.2 CC2530通用 I/O口介绍”。

I/O 端口具备如下重要特性: ? 21 个数字I/O 引脚

? 可以配置为通用I/O 或外部设备I/O ? 输入口具备上拉或下拉能力 ? 具有外部中断能力。

3.2 数字I/O 引脚配置为外设I/O

USART0和USART1是串行通信接口,它们能够分别运行于异步UART模式或

无线传感器网络 iot@hftc

者同步SPI 模式。两个USART具有同样的功能,可以设置在单独的I/O 引脚。

对于USART 和定时器I/O,在一个数字I/O 引脚上选择外设I/O 功能,需要设置对应的PxSEL 位为1。

无线传感器网络 iot@hftc

注意,该外部单元具有两个可以选择的位置对应它们的I/O 引脚,参见表。

外设/功能 ADCP0 7 A7P1 2 1 0 7 6 5 4 3 2 1 0 4 3 P2 2 1 0 T6 5 4 3 Alt. 2 A6 A5 A4 A3 A2 A1 A0 C SS 1 1 2 0 1 USART0 SPI C SS MO MI M0 MI USART0 UART Alt. 2 USART1 SPI Alt. 2 USART1 UART Alt. 2 TIMER 1 RT CT TX RX SS 1 TX RX RT CT SS 0 0 MI M0 C 4 3 2 MI M0 C RX TX RT CT 0 RX TX RT CT 1 0 1 Alt. 2 3 TIMER 3 4 Alt. 2 TIMER 4 Alt. 2 32-kHz XOSC DEBUG 0 Q1 Q2 DC DD

如果有关于I/O 映射的冲突设置,可以在这些之间设置优先级(使用P2SEL.PRIxP1 和P2DIR.PRIP0 位)。所有不会导致冲突的组合都可以使用。

注意即使没有使用,外设一般也会出现在选定的位置,使用引脚的其他外设必须给予较高的优先级。例外情况是流量控制禁用时UART 模式下USART 的RTS 和CTS 引脚, 以及SPI 主模式下USART 配置的SSN 引脚。

还要注意不管PxINP 的设置,有输入引脚的外设单元是从引脚接收输入,这可能会影响外设单元的状态。例如如果RX 引脚在用作一个UART 引脚之前,可能已经有活动, UART 在使用之前必须被清除。

实验相关寄存器: P1,P1DIR,CLKCONCMD,SLEEPCMD,PERCFG,U0CSR,U0GCR,U0BAUD,IEN0等。寄存器配置请看前面实验内容。

系统初始化时,以查询的方式向串口发送默认的出厂信息,接下来,串口等

无线传感器网络 iot@hftc

待接收数据,串口接收以中断方式接收串口输入的数据,接收到串口上的数据后将数据发还给串口,此时可以在CITE-LAB软件上观察到串口输入的数据。 USART 0

SFR 寄存器位PERCFG.U0CFG 选择是否使用备用位置1 或备用位置2。 在上表中,USART 0 信号显示如下:

类型/信号 UART SPI

RX:RXDATA MI:MISO

TX:TXDATA MI:MISO

RT:RTS C:SCK

CT:CTS SS:SSN

UART:

● RX:RXDATA ● TX:TXDATA ● RT:RTS ● CT:CTS SPI:

● MI:MISO ● MI:MISO ● C:SCK ● SS:SSN

P2DIR.PRIP0 选择为端口0 指派一些外设的优先顺序。当设置为00 时,USART 0 优先。注意如果选择了UART 模式,且硬件流量控制禁用,UART 1 或定时器1 将优先使用端口P0.4 和P0.5。

P2SEL.PRI3P1 和P2SEL.PRI0P1 选择为端口1 指派一些外设的优先顺序。当它们两个都设置为0 时,USART0 优先。注意如果选择了UART 模式,且硬件流量控制禁用,定时器1 或定时器3 将优先使用端口P1.2 和P1.3。 USART 1

SFR 寄存器位PERCFG.U1CFG 选择是否使用备用位置1 或备用位置2。 在上表中,USART 1 信号显示如下: UART:

● RX:RXDATA

本文来源:https://www.bwwdw.com/article/5cia.html

Top