15.27、 2.4G无线模块收发实验

2.4G无线模块收发实验
z意义与作用36xp
现实生活中,无线通信到处存在,手机、电视、无线遥控以及卫星等等。很多爱好者非常期望了解无线通信时如何实现的?从信号的编码,信道传输,信号编码以及传输过程中,根据距离控制发送功率等等?以下我们将通过2.4Gh的无线模块收发实验简单了解这一系列的实现过程。
z实验原理虹吸式屋面雨水排放系统
本实验实现的功能是:使用两块带有2.4G无线模块nRF24L01的神舟IV号开发板。神舟IV号STM32开发板在上电后先检测nRF24L01模式是否在位,如果没有在位,则通过LCD或者串口提示检查nRF24L01无线模块的连接情况直至连接正常;如果在位,初始化nRF24L01模块,提示选择nRF24L01模块的工作模式:发送或接收。在开发板上KEY1 按键:设置NRF24L01为接收模式,KEY2 按键:设置NRF24L01为发送模式。发送方周期性的发送变化的数据,并在串口和LCD显示发送内容和是否成功;接收方等待并接收数据,并在串口和LCD显示接收到的内容。
首先我们简单了解nRF24L01无线模块的特点以及工作原理。
nRF24L01无线模块,主要芯片是nRF24L01,其特点如下:
草率的爆破
2.4Ghz全球开放ISM频段免许可证使用;
采用GFSK方式调制,数据传输率为1Mb/s或者2Mb/s;
具有自动应答和自动再发射功能;雨水口施工
125个频道,可以满足多点通信;
具有CRC校验;
低电压供电:1.9V~3.6V;
模块可软件设地址,只有收到本机地址时才会输出数据(提供中断指示),
nRF24L01内置频率合成器、功率放大器、晶体振荡器、调制器等功能模块。其功耗低,在以-6dBm功率发射时,工作电流只有9mA;而接收时,工作电流只有12.3mA。接下来,我们一起了解nRF24L01的收发原理。
发送数据时,首先将nRF24L01配置为发送模式;接着把发送地址和发送数据按照时序要求经过SPI总线写入nRF24L01缓存区,发送数据必须在SPI片选CSN为低时,连续写入。而发送地址在发射时写入
检修口盖板一次即可,然后使能管脚置高并保持10uS以上,同时延迟130uS后发送数据;如果开启自动应答功能时,nRF24L01在发送数据后就进入接收模式,接收应答信号。若收到应答,则表示此次通信成功;若没有收到应答,就自动重新发射该数据(自动重启功能需开启)。当发送成功后,IRQ中断标志变低,通过SPI通知处理器。在一次发送成功后,如果发送堆栈中有数据而且使能为高时,则进入下一次发射;否则进入空闲模式。
在接收数据时,先将nRF24L01设置为接收模式,接着延迟130uS进入接收状态等待数据的到来。当接收检测到有效的地址和CRC时,就将数据包存储在接收堆栈中,同时中断标志位IRQ置低,通知处理器取数据。如果开启自动应答,接收方同时接入发射状态,回传应答信号。直到接收结束,便将使能关闭,进入空闲模式。
关于nRF24L01的配置以及模式选择等详细资料介绍,请参考nRF24L01的详细资料。
z  硬件设计
神舟IV 号开发板处理器通过SPI 总线连接板载的2.4G 无线数传模块NRF24L01 (或
NRF24L01+)模块,NRF24L01模块的最大通信速率为2Mbps 。NRF24L01无线模块通过SPI3与STM32F107VCT6相连,其硬件接口原理图如下所示。
图表 1 2.4G 无线接口原理图
神舟IV 号开发板
GPIO 管脚与2.4G 无线模块nRF24L01管脚对应关系 nRF24L01管脚信号
开发板的GPIO
模块管脚
SPI 信号
说明
SCK PC10    5 SPI3_SCK
MISO PC11 7 SPI3_MISO MOSI PC12
6 SPI3_MOSI
SPI3接口信号 (SPI3 Remap 重映射) CE PC3 3 ——
SPI 接口的CS 信号。 CSN PD12 4 ——
模块选择信号,用于模式选择 IRQ PC2 8  中断输出信号 GND ——    1 —— 地信号 VCC
——
2
——
绝缘软母排
电源输入
2.4G 无线模块管脚定义如下。
请将2.4G模块安装在神舟IV号STM32开发板的对应插座上。
z软件设计
本实验实现的功能是:使用两块带有2.4G无线模块nRF24L01的神舟IV号开发板。神舟IV号STM32开发板在上电后先检测nRF24L01模式是否在位,如果没有在位,则通过LCD或者串口提示检查nRF24L01无线模块的连接情况直至连接正常;如果在位,初始化nRF24L01模块,提示选择nRF24L01模块的工作模式:发送或接收。在开发板上KEY1 按键:设置NRF24L01为接收模式,KEY2 按键:设置NRF24L01为发送模式。发送方周期性的发送变化的数据,并在串口和LCD显示发送内容和是否成功;接收方等待并接收数据,并在串口和LCD显示接收到的内容。
对于按键检测、串口以及LCD驱动相关知识,在前面的章节已经详细讲解,在此不累赘。
首先看看MAIN函数:
以上是串口以及LCD初始化,下面接着是LED和按键的初始化:
下面接着是初始化处理器与NRF24L01连接的管脚,并检测2.4G无线模块是否在位:
持续检测等待直到检测到2.4G无线模块在位,串口和LCD提示选择工作模式:
之后是while循环中调用“WIRELESS_MODE_SET()”等待用户选择对应的模式,如果用户选择了RX接收模式,则调用“RX_Mode()”设置2.4G无线模块为接收模式,等待并接收数据并在串口和LCD显示接收状态和接收到的数据:
如果用户选择了TX发送模式,则调用“TX_Mode()”设置2.4G无线模块为发送模式,周期性的循环发送变化的数据:

本文发布于:2024-09-25 09:37:48,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/3/211038.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:模块   模式   接收   无线   发送   数据   信号
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议