资源描述
淮海工学院计算工程学院
实验报告书
课程名: 物联网技术导论
题 目: 实验四.无线射频技术实验
班 级:
学 号:
姓 名:
《 物联网技术导论》实验报告 - 8 -
一.实验目的
RSSI采集与信道监听
1)在ZXBee CC2530节点板上运行自己的程序;
2)了解RSSI 的获得方法。
3)了解信道扫描的概念。
二.实验设备
硬件:ZXBee CC2530节点板3块、USB 接口的CC2530仿真器,PC机;
软件:Windows 7/Windows XP、IAR集成开发环境、串口监控程序。
三.实验内容
1.实验中一个节点通过射频向另一个节点发送数据"hello world!",如果数据成功发送出去,则发送节点向串口打印"packet sent successfull!",否则打印"packet sent failed!",接收节点接收到数据后向串口打印输出"packet received!"、接收的数据内容和接收到的RSSI值。
2.发送节点每隔3 秒发送一次数据,接收节点每次接收数据之前对信道进行设置,若在3 秒内接收不到数据则重新设置信道,若接收到数据则将数据及使用的信道通过串口打印输出。
四.实验原理
CC2530芯片有一个内置的接收信号强度指示器,其数值为8 位有符号的二进制补码,可以从寄存器RSSIL.RSSI_VAL 读出,RSSI 值总是通过8 个符号周期内,取平均值得到的,此为获得RSSI 的一种方法,但是当数据接收以后这个寄存器没有被锁定,因此不宜把寄存器RSSIL.RSSI_VAL 的值作为RSSI 值,另外当MDMCTRL0L.AUTOCRC 已经设置为1 时(这在初始化中的函数BOOL halRfConfig(UINT8 channel) 中已通过MDMCTRL0L|= AUTO_CRC;设定),两个FCS 字节被RSSI 值、平均相关值(用于链路质量指示LQI)和CRC OK/not OK 所取代,第一个帧校验序列(FCS )字节被8 位的RSSI 值取代。可以在接收数据时读出。最后将接收的数据和RSSI 值打印输出。
在main.c 文件中定义两个全局变量rssi_reg和rssi_crc,分别用来存放寄存器RSSIL 中的RSSI值和接收数据帧中的RSSI值,在接收数据时(可在void halreceivecallback(BYTE *ptr,BYTE len) 函数中将接收数据的倒数第二个字节的值赋给rssi_crc )将接收帧中的数据和寄存器RSSIL中的值读出,最后调用打印数据的函数printf()将数据向串口打印输出。
CC2530 芯片使用了2.4GHZ 频段定义的16 个信道,节点使用相同的信道才能进行通信。本实验的程序在点对点射频通信的基础上进行修改。让接收节点在一个固定的信道上监听数据,当收到数据后返回给发送节点,发送节点通过设置不同的信道,并发送数据同时监听回复,如果收到回复则说明该信道在使用中,否则说明该信道没有被其它节点占用。
发送节点每隔1 秒设置一次信道并发送一次数据(发送完数据后多次调用halMcuWaitMs()函数实现延迟)。并等待接收数据。接收节点在一个固定的频道一直监听数据当收到数据后,就发送给发送节点。
五.实验步骤
1. RSSI采集
1) 准备3个CC2530无线节点板(参考1.2章节,将无线节点板跳线设置为模式一),分别接上出厂电源。
2) 打开光盘“第4章\4.3-RSSI”,双击rssi.eww,打开本实验工程文件。
3) 将工程文件main.c中的节点类型变量NODE_TYPE的值设置为0,选择Project->Rebuild All重新编译工程。
4) 将CC2530仿真器连接到第1个CC2530节点板,上电CC2530节点板,然后点击菜单Project->Download and debug下载程序到此节点板。此节点以下称为接收节点。
5) 将工程文件main.c中节点类型变量NODE_TYPE的值设置为1,选择Project->Rebuild All重新编译工程。
6) 将CC2530仿真器连接到第2个CC2530节点板,上电CC2530节点板,然后点击菜单Project->Download and debug下载程序到此节点板。此节点以下称为发送节点1。
7) 将工程文件main.c中节点类型变量NODE_TYPE的值设置为2,选择Project->Rebuild All重新编译工程。
8) 将CC2530仿真器连接到第3个CC2530节点板,上电CC2530节点板,然后点击菜单Project->Download anddebug下载程序到此节点板。此节点以下称为发送节点2。
9) 将接收节点通过串口线连接到PC上,打开串口调试助手,配置串口助手波特率为19200。
10) 复位接收节点,然后复位发送节点1和发送节点2。(节点板均上电)。
11) 将2个发送节点放置离接收节点20cm处,然后观察串口输出数据。
实验结果如下:
2. 信道监听
1) 准备2个CC2530无线节点板(参考1.2章节,将无线节点板跳线设置为模式一),分别接上出厂电源。
2) 打开光盘“第4章\4.4-ChannelScan”,双击ChanelScan.eww,打开本实验工程文件。
3) 将工程文件main.c中的节点类型变量NODE_TYPE的值设置为0,信道变量RF_CHANNEL设置为13,选择Project->Rebuild All重新编译工程;(注意:在实验室中多个小组同时实验时,为防止相互间的信道干扰,RF_CHANNEL应设置为不同值,可按
小组编号设置,这里举例设为13)。
4) 将CC2530仿真器连接到第1个CC2530节点板,上电CC2530节点板,然后点击菜单Project->Download and debug下载程序到此节点板。此节点以下称为接收节点。
5) 将工程文件main.c中节点类型变量NODE_TYPE第值设置为1,选择Project->Rebuild All重新编译工程。
6) 将CC2530仿真器连接到第2个CC2530节点板,上电CC2530节点板,然后点击菜单Project->Download and debug下载程序到此节点板。此节点以下称为发送节点。
7) 将接收节点,上电并复位。
8) 将发送节点通过串口线连接到PC上,打开串口调试助手,配置串口助手波特率为19200。
9) 上电并复位发送节点,可是看到串口上打印出信道监听结果及接收到的数据,如下所示:
展开阅读全文