实验六 点对多点无线通讯实验

更新时间:2024-01-24 15:45:01 阅读量: 教育文库 文档下载

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

实验题目 实验六 点对多点无线通讯实验 实验时间 2015-12-14

一、 实验目的:

1. 了解CC2530芯片点对多点通讯操作过程,掌握FDMA方式对该模块进行配置。2. 使用IAR 开发环境设计程序,利用1个接收模块实现对2个不同频道上的发送模块进行点对多点无线通讯。

二、 实验原理及程序分析:

a) 硬件接口原理

i. ZigBee(CC2530)模块 LED 硬件接口

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

以上图表列出了关于 CC2530 处理器的 P1 IO 相关寄存器,其中只用到了 P1 和 P1DIR 两个寄存器的设置,P1 寄存器为可读写的数据寄存器,P1DIR 为 IO 输入输出选择寄存器

c) FDMA(频分多址)简介

FDMA 是数据通信中的一种技术,即不同的用户分配在时隙相同而频率不同的信道上。 按照这种技

术,把在频分多路传输系统中集中控制的频段根据要求分配给用户。同固定分配系统相比,频分多址使通

道容量可根据要求动态地进行交换。

d)源码实现

1

void main (void) {

uint8 i;

appState = IDLE; // 初始化应用状态为空闲 appStarted = FALSE; // 初始化启动标志位FALSE /* 初始化Basic RF */

basicRfConfig.panId = PAN_ID; // 初始化个域网ID basicRfConfig.ackRequest = FALSE; // 不需要确认 halBoardInit();

if(halRfInit()==FAILED) //初始化hal_rf HAL_ASSERT(FALSE);

/* 快速闪烁8次led1,led2 */ for(i = 0; i < 16; i++) {

halLedToggle(1); // 切换led1的亮灭状态 halLedToggle(2); // 切换led2的亮灭状态 halMcuWaitMs(50); // 延时大约50ms }

halLedSet(1); // led1指示灯亮,指示设备已上电运行 halLedClear(2);

basicRfConfig.channel = 0x0B; // 设置信道 #ifdef MODE_SEND

appTransmitter(); // 发送器模式 #else

appReceiver(); // 接收器模式 #endif

HAL_ASSERT(FALSE); }

三、 实验步骤

1) 使用ZigBee Debuger USB仿真器连接PC机和ZigBee(CC2530)模块,打开ZIEBEE模块开关供电。

2) 打开 物联网无线传感网络部分\\exp\\zigbee\\点对多点无线通信FDMA\\ide\\srf05_cc2530\\iar 里的per_test.eww工程。

2

3) 在IAR开发环境中编译、运行、调试程序。注意,本工程需要编译三次,分别编译为发送器1、发送器2、接收器,通过MODE_RECEIVE、MODE_SEND1、MODE_SEND2宏选择,并分别下载入3个ZigBee模块中。

4) 通讯测试:依次打开3个分别烧写入发送1、发送2和接收的ZigBee模块,三个模块的LED1和LED2 快速闪烁8 次后开始通讯,接着发送器的LED1 和LED2 交替闪烁,接收器接收到发送器1 发过来的数据LED1闪烁一次,接收到发送器2发过来的数据LED2闪烁一次。

四、 实验心得

了解CC2530芯片点对多点通讯操作过程

3

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

Top