nRF24L01 的无线温湿度检测系统电路及软件设计解析
- 格式:doc
- 大小:331.00 KB
- 文档页数:7
24L01微功率2.4G高速无线收发模块简介一.24L01模块简介★ 2.4G全球开放ISM频段,最大0dBm发射功率。
★ 支持2M的高速数据传输,减少发射时间,降低平均功耗。
★ 125个频点,满足多点通信和跳频通信需要★ 内置2.4G天线,体积小巧,15X34mm 方便集成使用★ 当工作在应答模式通信时,快速的空中传输及启动时间,极大的降低了平均功耗。
★ 集成了所有与RF协议相关的高速信号处理部分,如:自动重发丢失数据包和自动产生应答信号等,SPI接口可以利用单片机的硬件SPI口连接或用单片机的I/O口进行模拟,内部有FIFO可以与各种高低速微处理器接口,便于使用低成本单片机。
★ 由于链路层完全集成在模块上,非常便于开发。
★ 自动重发功能,自动检查和重发丢失的数据包,重发时间及重发次数可软件控制★ 自动存储未收到的应答信号的数据包★ 自动应答功能,在收到有效数据后,模块自动发送应答信号,无须另行编程★ 内置硬件CRC检错和点对多点通信地址控制★ 数据包传输错误计数器及载波检测功能可用于跳频设置★ 可同时设置六路接收通道地址,可选择性的打开接收通道★ 标准的2.54mmDIP间距接口,便于嵌入式应用。
★ 提供参考源代码,应用原理图等详细资料,上手快,缩短您的开发时间二.24L01模块的应用1、智能家庭、家居应用和无线传感、安全系统;2、控制处理、无线数据连接、遥测、小型无线网络;3、车辆监控、防盗;机器人控制,飞思卡尔智能车控制4、无线抄表、门禁系统、小区传呼;5、工业数据采集系统、生物信号采集、水文气象监控等;三.24L01模块的技术指标产品型号 24L01工作频率 2400-2525M调制方式 GFSK发射功率 0dBm接收灵敏度 -85dBm@1M -82dBm@2M 工作电压 1.9---3.6V谐波1st<-20dBc ; 2nd<-50dB杂散 <-60dBm发射电流 11 mA @0dBm接收电流 12.3mA用户接口方式 SPI工作温度 -30℃~70℃工作湿度 10%~90%相对湿度,无冷凝外形尺寸 15mm×34mm参考距离 开阔地最远80米四.24L01端口定义及连接示意图1、端口定义2、连接示意图3、SPI接口SPI 接口由SCK , MISO , MOSI及CSN组成在待机或掉电模式下,单片机通过SPI接口配置模块的工作参数,在发射或接收模式下,单片机通过SPI接口发送或接收数据,中断接口IRQ可提供如下几种中断输出(可选): 数据发射结束TX_DS,数据接收就绪TX_DR,重发此时达到最大MAX_RF具体模块的SPI配置参数及工作时序请参考NORDIC的官方文件。
基于MSP430F169的蔬菜大棚多点无线温湿度检测系统设计摘要:针对东北地区冬天蔬菜种植大棚的特点,提出并开发基于超低功耗单片机msp430f169为核心的大棚多点温湿度检测系统。
该系统可以长时间连续地测量、显示、存储和无线传输大棚的环境温湿度信息,同时可进行多点温湿度同时监测。
该设计具有简单实用、测量精度高、系统运行稳定、抗干扰能力强等优点。
关键词:蔬菜大棚;温湿度;无线传输;msp430f169中图分类号:tp274+.2 文献标识码:a 文章编号:0439-8114(2013)06-1435-04随着国家经济的快速发展,人民的生活水平逐步提高,对蔬菜的需求日益增大;由于受季节的影响,蔬菜随着季节的变化出现波动,尤其是冬天,蔬菜的种类相对单一,温室大棚的出现解决了这一问题。
近年来,温室大棚发展迅速,规模庞大;但由于温室大棚主要靠人工维护,近年来人工成本的提高和规模的扩大加大了管理难度,特殊农作物对温度和湿度的要求很高,温室环境的变化不能及时被发现,单纯的人工管理无法满足需求;此次设计针对大棚内温湿度的检测,开发出了蔬菜大棚多点无线温湿度检测系统,便于实时查看大棚内每个检测点的温湿度数值或查询历史记录。
蔬菜大棚多点无线温湿度检测系统设计运用了2.4g多点无线传输和低功耗技术,因此能够长时间实时反映大棚内各个角落温湿度的变化,为生产提供准确的温湿度信息,便于管理人员实时处理温湿度过高或过低的问题。
1 系统组成及其功能由于蔬菜大棚分布分散、布线供电麻烦、成本高,所以系统设计时采用电池供电方式。
为了能长时间使系统稳定工作,系统中各种器件的功耗、性能都要求很高,因此采用德州仪器的超低功耗msp430系列单片机作为主控制器,以超低功耗的nrf24l01芯片进行2.4g无线数据传输,利用超低功耗数字式温湿度传感器dh80作为温度传感器、湿度传感器[1]。
整个温湿度采集节点休眠时电流为50 μa左右,而平均工作电流为700~800 μa。
nrf24l01工作原理
NRF24L01是一种低功耗2.4GHz无线收发模块,工作于
2.4GHz~2.525GHz的ISM频段。
它是由Nordic Semiconductor
公司设计和制造的。
NRF24L01的工作原理如下:
1. 发送与接收:模块既可以作为发送器发送数据,也可以作为接收器接收数据。
发送器和接收器之间通过无线信道进行通信。
2. 通信协议:NRF24L01采用了专有的GFSK调制技术和
2.4GHz无线通信协议。
它支持1Mbps、2Mbps和250kbps的
数据传输速率。
3. 通信距离:NRF24L01的通信距离取决于多个因素,如工作
频率、功率级别、天线设计等。
一般情况下,它可以在室内环境下达到10-30米的通信距离。
4. 工作模式:NRF24L01有两种工作模式:发射模式和接收模式。
在发射模式下,模块将数据发送到接收器。
在接收模式下,模块接收来自发送器的数据。
5. 通信通道和地址:NRF24L01有125个不同的通信通道,可
以在这些通道中选择一个适合的通道进行通信。
另外,可以通过设置6个字节的地址来区别不同的模块。
6. 特点:NRF24L01具有低功耗和快速开启/关闭的特点。
在
不需要通信时,可以将模块设置为睡眠模式以节省能量。
综上所述,NRF24L01是一种通过2.4GHz无线信号进行通信的模块,适用于低功耗的应用场景,如无线传感器网络、遥控器、无线键盘鼠标等。
nrf24l01使用与调试经验总结(包括一收多发--1主机最多6从机)----------------------------------------------------------------------------------------------------------------------------主要特性工作在2.4GHz ISM 频段调制方式:GFSK/FSK数据速率:2Mbps/1Mbps/250Kbps超低关断功耗:<0.7uA超低待机功耗:<15uA快速启动时间:<130uS内部集成高PSRR LDO宽电源电压范围:1.9-3.6V数字IO 电压: 3.3V/5V低成本晶振:16MHz±60ppm接收灵敏度:<-83dBm @2MHz最高发射功率:7dBm接收电流(2Mbps):<15mA发射电流(2Mbps):<12mA(0dBm)10MHz 四线SPI 模块内部集成智能ARQ 基带协议引擎收发数据硬件中断输出支持1bit RSSI 输出极少外围器件,降低系统应用成本QFN20 封装或COB 封装注意:C代表了命令,S表示寄存器值,D表示数据写数据:SPI写命令+寄存器地址----->SPI写入数据读数据:SPI写寄存器地址(可以使用读命令+寄存器地址)----->SPI读取数据不论是读取或者写入数据,甚至是读/写len长度的数据都要先写寄存器地址;总的来说时候就三个模式:1.待机模式(待机模式+掉电省电模式)2.发送模式3.接受模式具体各个模式介绍参考数据手册。
----------------------------------------------------------------------------------------------------------------nrf发送数据是以包来发送。
nRF24L01寄存器地址与说明nRF24L01是一款新型单片射频收发器件,工作于2.4GHz~2.5GHzISM频段。
内置频率合成器、功率放大器、晶体振荡器、调制器等功能模块,并融合了增强型ShockBurst技术,其中输出功率和通信频道可通过程序进行配置。
nRF24L01功耗低,在以-6dBm的功率发射时,工作电流也只有9mA;接收时,工作电流只有12.3mA,多种低功率工作模式,工作在100mw时电流为160mA,在数据传输方面实现相对WiFi距离更远,但传输数据量不如WiFi(掉电模式和空闲模式)使节能设计更方便。
nRF24L01所有的配置字都由配置寄存器来定义,这些配置寄存器可通过SPI口访问。
SPI接口设置SPI接口由SCK,MOSI,MISO及CSN组成。
(1)在配置模式下单片机通过SPI接口配置nRF24L01的工作参数。
(2)在发射或接收模式下单片机SPI接口发送或接收数据。
和SPI接口的指令共有8个,使用每个指令时必须使CSN变低,用完后将其变高。
单片机的控制指令从nRF24L01的MOSI引脚输入,而nRF24L01的状态信息和数据信息是从其MISO引脚输出并送给单片机的。
利用SPI传数时,他是先传低位字节,再传高位字节,并且在传每个字节时是从高位字节传起的。
指令分别是;读寄存器指令,格式是000A AAAA;写寄存器指令,格式是001AAAAA(A AAAA代表寄存器在内存中的地址;读Payload指令;写Payload指令;清发射堆栈指令;清接收堆栈指令;发射数据再利用;空操作。
中断当nRF24L01的中断源(TX_DS,RX_DR,MAX_RT)被置高时(TX_DS为发送成功标志位,RX_DR为接收数据成功标志位,MAX_RT为自动重发超上限标志位),就会使IRQ引脚置低。
可以向状态寄存器写1来清这些中断标志位。
通过设置CONFIG寄存器的某些位来屏蔽掉这些中断源,默认情况下,这三个中断源都是允许的。
基于nRF24L01的多点无线测温系统作者:张军刘筠筠来源:《电子世界》2013年第14期【摘要】在传统的测温系统中通常采用有线方式进行数据传输,这种方式不仅成本高,而且布线繁琐,不利于维护。
基于nRF24L01的多点无线测温系统,用无线的方式代替了传统的有线方式完成对多个测试点温度数据的采集和传输,不仅简化了线路,而且降低了成本。
整个系统由一个主机系统和多个从机系统构成,可以实现对多测试点温度的测量和显示,同时还具有超温报警功能。
【关键词】多点;无线;nRF24L011.引言在现代社会中温度在航空航天、工业自动化、家用电器、环境保护和安全生产等方面都是最基本的监测参数之一,随着科学技术的不断发展,各种监测温度的技术也层出不穷。
传统的数据传输方式通常采用有线通信方式,这种方式需要使用RS-232、CAN总线等,成本较高,布线繁琐,给温度数据采集带来了很大的麻烦。
将单片机和无线通信相结合可以对多点的温度进行检测并显示,提高了被测温度的精度和工作效率,降低了成本[1-2]。
2.硬件电路设计整个系统分为主机系统和从机系统两大部分,从机系统的主要功能是采集温度,并将采集到的数据发送给主机,主机系统的主要功能是接收各从机发送的数据,对数据进行处理并实时显示测量温度。
系统总体框图如图1所示。
图1中从机系统的个数可依据具体情况而定。
由于无线模块nRF24L01有6个数据通道,而每一个数据通道可通过设置寄存器使用不同的地址,所以只要将各从机系统中的nRF24L01设置成不同的地址,在单个主机的情况下主机可以同步接收6个从机发送的数据,实现了点对多通信。
若所需的从机数目超过6个时,则可以采用多点分时发送或者增加主机的方法来实现数据的传送。
主机系统主要包括AT89S52单片机、nRF24L01、显示模块、温度设置、从机选择电路和报警电路五部分。
主机系统框图如图2所示。
主机可以同时接收6路以内从机发送的数据,也可以通过按键选择只接收某一从机监测点发送的数据。
nRF24L01的工作原理nRF24L01是一款低功耗、高性能的2.4GHz无线收发器,常用于无线通信领域。
它采用了射频(RF)技术,可以在2.4GHz频段进行无线通信,并且具有较长的传输距离和低功耗特性。
下面将详细介绍nRF24L01的工作原理。
1. 射频通信原理射频通信是一种通过无线电波进行信息传输的技术。
在射频通信中,发送端将待传输的数据转换为无线电波信号,并通过天线发送出去;接收端的天线接收到信号后,将其转换为数字信号,以供后续处理和解码。
nRF24L01就是基于射频通信原理实现的无线收发器。
2. 工作频率和通道nRF24L01工作在2.4GHz频段,这个频段被分为多个通道,每一个通道的带宽为1MHz。
nRF24L01可以在这些通道中进行切换,以避免与其他设备的干扰。
3. 发送和接收模块nRF24L01包含一个发送模块和一个接收模块。
发送模块负责将待传输的数据转换为无线电波信号并发送出去,而接收模块负责接收无线电波信号并将其转换为数字信号。
4. 发送数据流程发送数据的流程如下:(1) 设置发送地址和接收地址:发送端和接收端需要使用相同的地址才干进行通信。
nRF24L01支持多个地址,可以通过设置寄存器来配置地址。
(2) 设置通信参数:包括通信速率、输出功率等。
nRF24L01支持多种通信速率和功率选择。
(3) 将待发送的数据写入发送缓冲区:nRF24L01有一个发送缓冲区,数据将被存储在其中,等待发送。
(4) 发送数据:nRF24L01将发送缓冲区的数据转换为无线电波信号并发送出去。
(5) 等待发送完成:发送完成后,nRF24L01会发出相应的中断信号,通知主控制器发送完成。
5. 接收数据流程接收数据的流程如下:(1) 设置发送地址和接收地址:发送端和接收端需要使用相同的地址才干进行通信。
nRF24L01支持多个地址,可以通过设置寄存器来配置地址。
(2) 设置通信参数:包括通信速率、输出功率等。
24L01+超低功耗高性能 2.4GHz GFSK 无线收发芯片主要特性 工作在 2.4GHz ISM 频段 调制方式:GFSK/FSK 数据速率:2Mbps/1Mbps/250Kbps 超低关断功耗:<0.7uA 超低待机功耗:<15uA 快速启动时间: <130uS 内部集成高 PSRR LDO 宽电源电压范围:1.9-3.6V 数字 IO 电压: 3.3V/5V 低成本晶振:16MHz±60ppm 接收灵敏度:<-83dBm @2MHz 最高发射功率:7dBm 接收电流(2Mbps) :<15mA 发射电流(2Mbps):<12mA(0dBm) 10MHz 四线 SPI 模块 内部集成智能 ARQ 基带协议引擎 收发数据硬件中断输出 支持 1bit RSSI 输出 极少外围器件,降低系统应用成本 QFN20 封装或 COB 封装应用范围 无线鼠标、键盘 无线遥控、体感设备 有源 RFID、NFC 智能电网、智能家居 无线音频 无线数据传输模块 低功耗自组网无线传感网节点封装图结构框图24L01+术语缩写术语 ARQ ART ARD BER CE CRC CSN DPL GFSK IRQ ISM LSB Mbps MCU MHz MISO MOSI MSB PA PID PLD RX TX PWR_DWN PWR_UP RF_CH RSSI RX RX_DR SCK SPI TX TX_DS XTAL 描述 Auto Repeat-reQuest Auto ReTransmission Auto Retransmission Delay Bit Error Rate Chip Enable Cyclic Redundancy Check Chip Select Dynamic Payload Length Gaussian Frequency Shift Keying Interrupt Request Industrial-Scientific-Medical Least Significant Bit Megabit per second Micro Controller Unit Mega Hertz Master In Slave Out Master Out Slave In Most Significant Bit Power Amplifier Packet Identity Payload RX TX Power Down Power UP Radio Frequency Channel Received Signal Strength Indicator Receiver Receive Data Ready SPI Clock Serial Peripheral Interface Transmitter Transmit Data Sent Crystal 中文描述 自动重传请求 自动重发 自动重传延迟 误码率 芯片使能 循环冗余校验 片选 动态载波长度 高斯频移键控 中断请求 工业-科学-医学 最低有效位 兆位每秒 微控制器 兆赫兹 主机输入从机输出 主机输出从机输入 最高有效位 功率放大器 数据包识别位 载波 接收端 发射端 掉电 上电 射频通道 信号强度指示器 接收机 接收数据准备就绪 SPI 时钟 串行外设接口 发射机 已发数据 晶体振荡器24L01+目 录1、简介.................................................. 4 2、引脚信息 .............................................. 5 3、工作模式 .............................................. 6 4、寄存器映射表 .......................................... 9 5、主要参数指标 ......................................... 10 6、封装................................................. 12 7、典型应用原理图 ....................................... 14 8、订单信息 ............................................. 17附: 典型配置方案 ....................................... 1924L01+1、简介24L01 是一颗工作在2.4GHz ISM频段,专为低功耗无线场合设计,集成嵌 入式 ARQ 基带协议引擎的无线收发器芯片。
nRF24L01点对点跳频技术应用(转载)分类:技术应用关键字:nRF24L01;射频;无线通信;跳频1 nRF24L01概述nRF24.L01是一款新型单片射频收发器件,工作于2.4 GHz~2.5 GHz ISM频段。
内置频率合成器、功率放大器、晶体振荡器、调制器等功能模块,并融合了增强型ShockBurst技术,其中输出功率和通信频道可通过程序进行配置。
nRF24L01功耗低,在以-6 dBm的功率发射时,工作电流也只有9 mA;接收时,工作电流只有12.3 mA,多种低功率工作模式(掉电模式和空闲模式)使节能设计更方便。
nRF24L01主要特性如下:GFSK调制:硬件集成OSI链路层;具有自动应答和自动再发射功能;片内自动生成报头和CRC校验码;数据传输率为l Mb/s或2Mb/s;SPI速率为0 Mb/s~10 Mb/s;125个频道:与其他nRF24系列射频器件相兼容;QFN20引脚4 mm×4 mm封装;供电电压为1.9 V~3.6 V。
2 引脚功能及描述nRF24L01的封装及引脚排列如图1所示。
各引脚功能如下:图 (1)CE:使能发射或接收;CSN,SCK,MOSI,MISO:SPI引脚端,微处理器可通过此引脚配置nRF24L01:IRQ:中断标志位;VDD:电源输入端;VSS:电源地:XC2,XC1:晶体振荡器引脚;VDD_PA:为功率放大器供电,输出为1.8 V;ANT1,ANT2:天线接口;IREF:参考电流输入。
3 工作模式通过配置寄存器可将nRF241L01配置为发射、接收、空闲及掉电四种工作模式,如表1所示。
模式 PWR_UP PRIM_RX CE FIFO寄存器状态 接收模式 1 1 1 -发射模式 1 0 1 数据在TX FIFO 寄存器中发射模式 1 0 1→0 停留在发送模式,直至数据发送完待机模式2 1 0 1 TX FIFO 为空待机模式1 1 - 0 无数据传输掉电 0 - - -表 (1)待机模式1主要用于降低电流损耗,在该模式下晶体振荡器仍然是工作的;待机模式2则是在当FIFO寄存器为空且CE=1时进入此没收;待机模式下,所有配置字仍然保留。
nrf24l01 at指令RF24L01是一款高性能、低功耗的无线通信模块,广泛应用于各种无线通信场景。
它支持AT指令进行配置和控制,使得用户可以方便地对其进行操作。
在这篇文章中,我们将详细介绍NRF24L01的AT指令使用方法,并提供一个实例来说明如何配置NRF24L01模块。
一、NRF24L01简介RF24L01是一款射频收发器,工作在2.4GHz ISM频段。
它具有以下特点:1.高速率:最高可达2Mbps的数据传输速率2.远距离:最大传输距离可达100米3.低功耗:睡眠模式下电流仅为1uA4.小尺寸:封装小巧,易于集成二、AT指令概述AT指令是一套用于配置和控制无线通信模块的标准指令集。
在NRF24L01中,AT指令可用于设置模块的工作模式、数据速率、发射功率等参数。
以下是NRF24L01常用的AT指令列表:1.ATE0:启用/禁用发射器2.ATER:设置发射功率3.ATTH:设置接收阈值4.ATTX:设置发射数据速率5.ATRX:设置接收数据速率6.ATCRC:设置CRC校验位数7.ATCO:设置输出功率限制8.ATEND:读取/清除错误计数器三、NRF24L01的AT指令使用方法1.启用发射器:指令:ATE0示例:ATE02.设置发射功率:指令:ATER参数:0-31(发射功率等级)示例:ATER=183.设置接收阈值:指令:ATTH参数:0-31(接收阈值等级)示例:ATTH=124.设置发射数据速率:指令:ATTX参数:0-3(发射数据速率)示例:ATTX=25.设置接收数据速率:指令:ATRX参数:0-3(接收数据速率)示例:ATRX=26.设置CRC校验位数:指令:ATCRC参数:0(16位CRC)/1(32位CRC)示例:ATCRC=17.设置输出功率限制:指令:ATCO参数:0(不限制)/1(限制)示例:ATCO=18.读取/清除错误计数器:指令:ATEND示例:ATEND四、实例:配置NRF24L01模块以下是一个配置NRF24L01模块的实例:1.启用发射器指令:ATE0示例:ATE02.设置发射功率指令:ATER参数:18(发射功率等级)示例:ATER=183.设置接收阈值指令:ATTH参数:12(接收阈值等级)示例:ATTH=124.设置发射数据速率指令:ATTX参数:2(发射数据速率)示例:ATTX=25.设置接收数据速率指令:ATRX参数:2(接收数据速率)示例:ATRX=26.设置CRC校验位数指令:ATCRC参数:1(32位CRC)示例:ATCRC=17.设置输出功率限制指令:ATCO参数:1(限制)示例:ATCO=1五、总结与建议RF24L01无线通信模块凭借其高性能、低功耗和丰富的功能,成为了众多应用场景的首选。
毕业设计说明书基于nRF2401无线模块的温度采集系统设计学生姓名:学号:学院:专业:指导教师:2014 年 6 月摘要温度是一个非常重要的参数。
在工业、医疗、军事和生活等许多地方,都需要用到测温装置来检测温度。
传统直接布线测量不满足要求,特别是在某些环境恶劣的工业环境和户外环境,通过直接布线测量不现实。
因此采用无线传输温度检测尤为必要。
目前有些设计能够实现无线温度采集,但价格过高是其最大的缺点。
在实际温度控制过程中既要求系统具有稳定性、实时性又需要降低功耗。
因此设计一种低功耗的无线温度检测系统很有意义。
本文提出一种采用单片机STC89C52控制DS18B20实现的无线温度测量系统。
通过简单的无线通信协议,实现可靠性与功耗平衡,该系统能实现对温度的检测,是可以实现远程控制的无线温度检测系统。
低功耗、实时性的无线温度检测是该设计的最大特点。
无线传输采用nRF24L01模块传输。
该系统结构简单,可靠,功耗较低,成本低,是一种无线传感器的解决方案。
关键字:单片机,STC89C52,无线传输,nRF24L01,DS18B20AbstractTemperature is a very important parameter. In the industrial, medical, military, life and many other places, all need to use temperature measuring device to detect the temperature. Traditional direct wiring measurement does not meet the requirements, especially in some bad industrial environment and outdoor environment, through direct wiring measurement is not reality. So the wireless transmission temperature detection is necessary.Some design can realize wireless temperature acquisition at present, but the biggest drawback is the high price.The system requires steadily and real-timing and the needs of reducing consumption.So it is very meaningful to design a low-power wireless temperate detecting system.This article presents a wireless temperate measurement which is achieved by using a STC89C52 MCU to control a DS18B20.The system can realize the remote control of the wireless temperature detection through a simple wireless communication protocol.It can reach the aim of reliability and power balance and measuring temperature.Low power consumption,real-time wireless temperature detection is the biggest advantage.The wireless transmission use nRF24L01 module.The system is a kind of wireless sensor solutions.It is simple structure,reliable and low cost.Key word: MCU STC89C52 wireless transmission nRF24L01 DS18B20目录1 绪论 (1)1.1 无线温度采集系统设计意义 (1)1.2 国内外研究现状 (2)1.3 无线温度采集系统前景 (2)1.4 本文主要研究工作及行文结构 (3)2 系统方案分析与选择论证 (4)2.1 系统方案设计 (4)2.1.1 主控芯片方案 (4)2.1.2 无线通信模块方案 (4)2.1.3 温度传感方案 (4)2.1.4 显示模块方案 (5)2.2 系统最终方案 (5)3 主要芯片介绍和系统模块硬件设计 (7)3.1 STC89C52 (7)3.1.1 单片机控制模块 (10)3.2 单片2.4GHz nRF24L01无线模块 (11)3.2.1 nRF24L01芯片概述 (11)3.2.2 引脚功能及描述 (12)3.2.3 工作模式 (13)3.2.4 工作原理 (13)3.2.5 配置字 (14)3.2.6 nRF24L01模块原理图 (15)3.3 温度传感器 DS18B20 (16)3.3.1 DS18B20管脚配置和内部结构 (16)3.3.2 DS18B20的工作原理 (18)3.3.3 DS18B20的硬件设计 (20)3.4 显示模块 (21)3.5 系统硬件原理图 (21)4 系统软件设计 (23)4.1 单片机软件设计 (23)4.1.1 发送端软件设计 (23)4.1.2 接收端软件设计 (24)4.2调试结果 (24)5 无线数据采集系统展望 (26)5.1 无线组网的意义及研究价值 (26)5.2 通信模型的建立 (26)总结 (27)附录 (29)参考文献 (42)致谢 (44)1 绪论1.1 无线温度采集系统设计意义随着社会的进步和生产的需要,利用无线通信进行温度数据采集的方式应用已经渗透到生活各个方面。
2014无线电电子设计大赛题目:NRF24L01的收发信号队号:三个烙铁匠队员:王晖曹恒万东胜摘要随着现代电子技术的飞速发展,通信技术也取得了长足的进步。
在无线通信领域,越来越多的通信产品大量涌现出来。
但设计无线数据传输产品往往需要相当的无线电专业知识和价格高昂的专业设备,因而影响了用户的使用和新产品的开发。
nRF24L01是一个为433MHz ISM频段设计的无线收发芯片,它为短距离无线数据传输应用提供了较好的解决办法, 使用nRF24L01降低了开发难度,缩短了开发周期,使产品能更快地推向市场。
本文提出了一种应用于无线数据收发系统的设计思路及实现方案,给出了基于无线射频芯片nRF24L01和STC89C52单片机的无线数据传输模块的设计方法,详细分析了各部分实现原理,并对系统的传输距离、传输数据的正确性进行了测试。
试验表明,该系统性能稳定,具有较强的抗干扰能力,有较强的实用价值。
关键词:无线通信;无线数据传输模块;单片机;射频AbstractWith the rapid development of modern electronic technology, communication technology has also made great progress. In the field of wireless communication, more and more communication products have sprung up in large quantities. But the design of wireless data transmission products often require considerable radio of the high price of professional knowledge and professional equipment, thus affecting the user's use and development of new products. NRF24L01 is a designed for 433 MHZ ISM band wireless transceiver chip, it for the short distance wireless data transmission application provides a better solution, using nRF24L01 reduces the development difficulty, shorten the development cycle, can make the product to market faster. This paper puts forward a kind of applied to wireless data transceiver system design idea and implementation scheme, and is given based on wireless rf chip nRF24L01 and STC89C52 single-chip wireless data transmission module, the design method of the realization principle of each part are analyzed in detail, and the transmission distance of the system, the correctness of the data transmission was tested. Tests show that the system performance is stable, stronganti-interference ability, a strong practical value.Keywords:Wireless communication;Wireless data transmission module;Single chip microcomputer;Radio frequency目录前言 (1)1系统设计 (1)1.1系统设计 (2)1.2实现过程 (2)2系统组成 (3)2.1 射频收发控制模块 (3)2.1.1 无线收发芯片nRF24L01介绍 (3)2.1.2 稳压部分 (5)2.2单片机控制部分 (5)2.2.1 STC89C52RC功能介绍 (6)2.2.2 内部结构 (6)2.2.3 串口通信 (8)2.3 显示部分 (9)3软件设计 (10)3.1 主程序流程图 (11)3.2 数据收发子程序流程图 (11)4测试结果及分析 (12)4.1 硬件电路测试 (13)4.2 系统测试 (13)4.2.1 测试方法 (13)4.2.2 功能测试及分析 (13)5结论 (14)6参考文献 (15)附录1:无线发射系统电路图 (16)附录 2:发送程序 (17)前言伴随着短距离、低功率无线数据传输技术的成熟,无线数据传输被越来越多地应用到新的领域。
nRF24L01的工作原理nRF24L01是一款低功耗的2.4GHz无线收发器,广泛应用于无线通信领域。
它采用射频芯片nRF24L01+和微控制器相结合的方式,可以实现无线数据传输和接收功能。
本文将详细介绍nRF24L01的工作原理及其相关技术参数。
一、nRF24L01的基本结构nRF24L01由射频芯片和微控制器组成,射频芯片负责无线通信的收发功能,而微控制器则负责控制和处理数据。
1. 射频芯片nRF24L01射频芯片是一款集成度高、性能稳定的射频收发器。
它支持2.4GHz 频段,采用GFSK调制方式,具有快速的数据传输速率和较低的功耗。
射频芯片包含了射频收发器、调制解调器、频率合成器等功能模块,能够实现无线通信的基本功能。
2. 微控制器nRF24L01通常与微控制器相结合使用,常见的微控制器有Arduino、STM32等。
微控制器负责控制射频芯片的工作模式、发送和接收数据的处理,以及与其他设备的交互等功能。
二、nRF24L01的工作模式nRF24L01具有多种工作模式,包括发送模式、接收模式和待机模式等。
下面将详细介绍每种工作模式的特点和工作原理。
1. 发送模式在发送模式下,nRF24L01将数据发送给接收端。
发送模式的工作原理如下:- 设置发送端的地址和通信频道。
- 将待发送的数据写入发送缓冲区。
- 发送端开始发送数据,nRF24L01将数据通过射频信号发送出去。
- 发送完毕后,发送端等待接收端的应答信号。
2. 接收模式在接收模式下,nRF24L01接收来自发送端的数据。
接收模式的工作原理如下:- 设置接收端的地址和通信频道。
- 接收端开始监听射频信号,并等待发送端发送数据。
- 当接收端接收到数据时,nRF24L01将数据写入接收缓冲区。
- 接收端可以通过读取接收缓冲区中的数据进行进一步处理。
3. 待机模式在待机模式下,nRF24L01处于低功耗状态,仅保持最基本的功能。
待机模式的工作原理如下:- nRF24L01关闭射频发送和接收功能,以降低功耗。
NRF24L01几个函数的分析首先看两个版本关于NRF的宏定义:开发板:遥控器:1,最基本的读写函数,函数的返回值就是读来的数据,形参就是写入的数据stm32mini开发板例程中://SPIx 读写一个字节//TxData:要写入的字节//返回值:读取到的字节u8 SPI1_ReadWriteByte(u8 TxData) { u8 retry=0; while (SPI_I2S_GetFlagStatus(SPI1, SPI_I2S_FLAG_TXE) == RESET) //检查指定的SPI标志位设置与否:发送缓存空标志位{ retry++; if(retry>200)return 0; } SPI_I2S_SendData(SPI1, TxData); //通过外设SPIx发送一个数据retry=0; while (SPI_I2S_GetFlagStatus(SPI1, SPI_I2S_FLAG_RXNE) == RESET)//检查指定的SPI标志位设置与否:接受缓存非空标志位{ retry++; if(retry>200)return 0; } return SPI_I2S_ReceiveData(SPI1); //返回通过SPIx最近接收的数据 }•1•2•3•4•5•6•7•8•9•10•11•12•13•14•15•16•17•18•19•20•21•22•1•2•3•4•5•6•7•8•9•10•11•12•13•14•15•16•17•18•19•20•21•22mini遥控器中://发送数据,同时返回最近收到的数据static u8 SPI_RWByte(SPI_TypeDef* SPIx , u8 TxData){/* 通过外设SPIx发送一个数据 */SPI_I2S_SendData(SPIx, TxData);/* 检查指定的SPI标志位设置与否:发送缓存空标志位*/while (SPI_I2S_GetFlagStatus(SPIx, SPI_I2S_FLAG_TXE) ==RESET);//空标志为假,代表缓存不是空的,还没发送完,等待发完/* 检查指定的SPI标志位设置与否:接受缓存非空标志位 */while (SPI_I2S_GetFlagStatus(SPIx, SPI_I2S_FLAG_RXNE) == RESET);//非空标志为假,代表接收缓存没有空,上次的还没移走,等空了可以接收数据/* 返回通过SPIx最近接收的数据 */return SPI_I2S_ReceiveData(SPIx);}•1•2•3•4•5•6•7•8•9•10•11•12•13•14•1•2•3•4•5•6•8•9•10•11•12•13•14区别:开发板多了个超时退出,这个貌似作用不大2,写寄存器函数stm32mini开发板例程中://SPI写寄存器//reg:指定寄存器地址//value:写入的值u8 NRF24L01_Write_Reg(u8 reg,u8 value) { u8 status; NRF24L01_CSN=0; //使能SPI传输status =SPI1_ReadWriteByte(reg);//发送寄存器号SPI1_ReadWriteByte(value); //写入寄存器的值NRF24L01_CSN=1; //禁止SPI传输 return(status); //返回状态值 }•1•2•3•4•5•6•7•8•9•10•11•12•1•3•4•5•6•7•8•9•10•11•12mini遥控器中:/* 写寄存器 */static u8 writeReg(u8 reg,u8 value){u8 status;SPI2_CSN_L();status=SPI_RWByte(NRF_SPI,reg|CMD_W_REG); SPI_RWByte(NRF_SPI , value);SPI2_CSN_H();return status;}•1•2•3•4•5•6•7•8•10•1•2•3•4•5•6•7•8•9•10对比可知,形参一致,区别在开发板的status =SPI1_ReadWriteByte(reg);//发送寄存器号和遥控器的status=SPI_RWByte(NRF_SPI,reg|CMD_W_REG);其实最终都是一样的,只是在使用时,给的形参不同,在开发板中,这样调用的寄存器操作命令+寄存器地址NRF24L01_Write_Reg(NRF_WRITE_REG+STATUS,sta); //清除TX_DS或NRF24L01_Write_Reg(NRF_WRITE_REG+EN_RXADDR,0x01);//使能通道0的接收地址NRF24L01_Write_Reg(NRF_WRITE_REG+RF_CH,40); //设置RF通信频率MAX_RT中断标志•1•2•3•1•2•3或者直接寄存器操作命令NRF24L01_Write_Reg(FLUSH_RX,0xff);//清除RX FIFO寄存器NRF24L01_Write_Reg(FLUSH_TX,0xff);//清除TX FIFO寄存器•1•2•1•2在遥控器中,这样调用的writeReg(REG_STATUS,0x70);/*清除标志*/ writeReg(REG_RF_CH, channel); writeReg(REG_RF_SETUP,reg_rf);•1•2•3•1•2•3writeReg(CMD_FLUSH_TX,0xff);writeReg(CMD_FLUSH_RX,0xff);/* 冲洗RX_FIFO */•1•2•1•2全都一个,不用管寄存器指令,直接传入地址,就因为区别在开发板的status =SPI1_ReadWriteByte(reg);//发送寄存器号和遥控器的status=SPI_RWByte(NRF_SPI,reg|CMD_W_REG);,遥控器的函数是直接在函数内部将写写配置寄存器与寄存器地址融合,通过按位或,为什么可以这样呢?因为寄存器操作命令中写配置寄存器为0x20,也就是00010 0000,低5位为寄存器地址,然后下方的寄存器地址刚好就是用了5位,000x xxxx,如NRF_FIFO_STATUS 0x17就是0001 0111,那么两者按位或的结果就是两者的和。
USB串口无线模块的配置说明带USB接口的模块直接插电脑进行配置,不带USB接口的模块得借助USB转串口进行配置;(如下图所示)1、USB转串口模块以及带USB的无线驱动模块需要安装CH341驱动;(文件在“CH341>>DRIVER>SETUP.EXE)2、波特率默认设置为9600(带USB与不带USB的),波特率的选择范围为:2400-115200,具体,请看配置参数对应的描述;3、配置时,必须在断电的情况下,插上跳线帽,再从新上电;(注意:不能上着电的情况下,插跳线帽!)4、配置完成之后,必须得把跳线帽拔掉;(注意:必须得在断电的情况下拔,然后,再重新上电!)5、配置的格式为8个字节:“0X00+每个数据包的长度+0X01+频道+0X02+工作模式+单向/双向运行模式+‘波特率’”注意:1、必须插上跳线帽进行配置,配置完之后,必须拔掉跳线帽才能正常使用;(配置时,在上电前就得插上跳线帽;当然,正常使用时也得在断电的情况下,拔跳线帽,再重新上电)2、串口调试助手发送数据的格式为:十六进制;3、USB转串口模块的TX,RX与NRF24L01驱动模块(无USB的)的TX,RX要交叉相连,即一方的TX与另外一方的RX相连,然后,一方的RX与另外一方的TX相连;4、两个模块的数据长度,频道得设置成一样,否则工作不正常;数据的长度选择范围:(单向工作模式最小为1个字节,最大为32个字节)(双向工作模式最小为2个字节,最大为32个字节);频道的选择范围为:从0X00到0X7F 选择一个;(即0-127,从0开始,2的6次方)5、同一个实验室的,为了不互相影响,得把频道设置成不一样,否则会互相干扰,;6、“工作模式”只分两种:TX模式(0X01)和 RX模式(0X00),注意:两个模块的工作模式不能一样,必须得其中一个模块为TX模式,另外一个模块为RX模式,否则,不能实现两个模块的无线通信;7、单向/双向运行模式,0X01:模块运行在双向通信模式,0X00:模块运行在单向通信模式;双向模式相对单向模式而言,双向模式中,可以通过发送AT 指令来切换方向,具体请看双向模式的使用要求;8、波特的选择,从小到大分别为:2400(0X07),4800(0X08), 9600(0X00),14400(0X01), 19200(0X02), 38400(0X03), 56000(0X04), 57600(0X05), 115200(0X06);9、数据的长度得选择适中,串口调试助手(单片机)的发送频率也得选择适中;单向运行模式:(注意:配置的时候记得插上跳线帽,否则,配置不成功!)(图1) (图2) 配置参数为:0X00+0X06+0X01+0X78+0X02+0X01+0X00+0X06(如图1所示)这组配置参数的意思是:单个数据包的数据长度为 6个字节,频道选择120(0X78),让模块的工作模式为TX模式(0X01),模块运行在单向通信模式(0X00),波特率将选择115200(0X06)。
nRF24L01的无线温湿度检测系统电路及软件设计本文提出了一种针对无线数
据传输问题的解决方案,该方案基于nRF24L01来设计无线温度采集系统。该系统
采用低功耗、高性能单片机STC12C5A08S2和温湿度传感器DHT11来构成多点、
实时温湿度监测系统,最后在PC机上完成配置、显示和报警等功能。该系统使用方
便,扩展十分容易,可广泛应用于各种工农业生产和养殖等场合。
0引言
在当今的工农业生产中,需要进行温湿度采集的场合越来越多,准确方便地测量
温度变得至关重要。传统的有线测温方式存在着布线复杂,线路容易老化,线路故障
难以排查,设备重新布局要重新布线等问题。特别是在有线网络不通畅或由于现场
环境因素的限制而不便架设线路的情况下,给温湿度的数据采集带来了很大的麻
烦。要想监测到实时的温湿度数据,就必须采用无线传输的方式对数据进行采集、
发送、接收并对无线采集来的数据通过上位机进行处理,以控制并监测设备的运行
情况,减少不必要的线路设备开支。
1系统组成框图
本文设计的多路无线温湿度检测系统将单片机检测控制系统和射频通信系统相
结合,系统由主机和从机两部分构成,从机负责检测温湿度,并将采集到的数据通过射
频系统发送给主机,主机接收从机发送过来的信号,并通过串口和PC机进行通信,记
录数据。同时可通过PC机设定报警数据上下限。其系统组成框图如图1所示。
图1系统组成框图
2系统硬件电路
系统的温湿度数据采用数字式温湿度传感器DHT11进行数据采集,以51系列
增强型单片机STC12C5A08S2为核心和无线射频nRF2401构成收发电路,从机使用
液晶
LCD1602显示,主机显示则使用LCD12864,整个显示系统可与PC上位机相连
接。
2.1温湿度采集电路设计
DHT11是一款含有已校准数字信号输出的温湿度复合传感器。该传感器应用
专用的数
字模块采集技术和温湿度传感技术,具有极高的可靠性与卓越的长期稳定性。
图2所示为其温度采集电路。DHT11传感器包括一个电阻式感湿元件和一个NTC
测温元件,可与高性能8位单片机相连接。校准系数以程序的形式储存在OTP内存
中,传感器内部在检测信号的过程中可调用这些校准系数。单线制串行接口可使系
统集成变得简易而快捷,而且信号传输距离可达20m以上。当连接线长度短于20m
时,应使用5kΩ上拉电阻,大于20m时,应根据情况使用合适的上拉电阻。
图2温度采集电路
2.2无线发射、接收电路设计
nRF24L01是NORDIC公司生产的一款无线通信芯片,采用FSK调制方式,内部
集成有NORDIC自己的Enhanced Short Burst协议。可以实现点对点或是1对6的
无线通信。无线通信速度可以达到2Mb/s.NORDIC无线发射、接收芯片nRF24L01
的电路原理图如图3所示。
图3无线发射、接收原理图
nRF24L01是单片射频收发芯片,工作于2.4~2.5GHz的ISM频段,芯片内置频率
合成器、功率放大器、晶体振荡器和调制器等功能模块,输出功率和通信频道可通
过程序进
行配置。nRF24L01芯片的能耗非常低,以-5dBm的功率发射时,工作电流只有
10.5mA,接收时的工作电流只有18mA,它具有多种低功率工作模式,节能环保,设计方
便。
nRF24L01无线收发模块的各管脚功能如表1所列,图4所示是nRF24L01与单
片机连接时的电路图。
图4无线模块与CPU连接电路图
本无线发射接收模块需要的电源为1.9~3.6V,本系统中采用3.3V直流电源来直
接对无线发射接收模块供电,5V电源经。ASM1117-3.3芯片转换后可得到稳定的直
流电源,其电源转换电路如图5所示。
图5无线模块电源转换电路
2.3串行通信模块
主机单片机接收到nRF24L01的数据后,经MAX232电平转换可实现单片机程
序下载与升级,同时可实现单片机与PC机(上位机的通信,以便将显示数据信息通过
此电路传送到PC机,并存PC机上显示,其串行通信电路如图6所示。
图6MAX232CPE与PC的串口通信电路
3软件设计
3.1下位机软件
本系统使用C语言编程,应根据设计任务的要求确定系统程序的完整结构,尽可
能采用模块化程序设计方法,将任务划分为相对独立的功能模块,明确各模块的功
能、时间顺序和相互关系,系统的软件设计可以分为几个部分,首先是各个模块的底
层驱动程序编写,而后是系统联机调试,最后再编写上位机的系统程序。
主程序是控制和管理的核心,系统上电后,首先进行初始化,系统开始正常运转后,
再进行温、湿度的监测与处理等操作。
3.2上位机软件设计
系统上位机能完成的功能有显示串口号,提示串口是否已被成功打开;同时,上位
机能够与下位机同步显示温度,而且能够实时曲线显示温度;上位机能够设置下限温
湿度和上限温湿度,当高于上限温湿度或低于下限温湿度时,还能够报警。将主机单
片机的控制电路串行接口与电脑串口经过电平转换连接后,选择正确的通信协议,设
置好波特率,即可进行通信。图7所示是上位机操作界面图。
图7上位机操作界面
上位机软件可在PC机上通过VC6.0编写,主要是对MSComm控件及
CserialPort 类进行操作。
首先是串口设置。本系统利用的是CSERIALPORT类中的初始化函数InitPort
(this,nport,nbtl,'N',8,1,m_dwCommEvents,512。其巾nport为串口号,nbtl为波特率,可
利用串口设置对话框中的串口号和波特率两个组合框分别得到初始化函数中的
nport和nbtl.
其次是对温湿度上下限的设置。可利用CSERIALPORT类中的启动串口监测
进程函数Start Monitoring、发送字符串函数WriteToPort以及关闭串口进程
StopMonitoring来进行温度上下限的设置,其信息通过这些函数发送到串口,单片机
从RS232上收到数据后,与自身的温度相比较,再进行相应的处理。
第三是曲线显示。动态曲线显示可利用CHistogram类中的SetRange(200,400,
SetPos(temp函数,SetRange设置上下极限值,SetPos是在图上显示相应的数据点,
temp是从单片机传来的温湿度数据的处理结果,具体的移动曲线可由CHistogram类
中函数实现。
4结论
经测试,在发射接收模块没加天线的情况下,无线发射接收模块在大多数情况下
的数据传输距离在200m左右,发射头发射功率、接收头接收灵敏度等因素可能会影
响传输距离,若外加天线,则会大大增加传输距离。另外,在调试过程中,振荡电阻必须
匹配,否则接收距离会变短甚至无法接收。
本系统的数字信号由单片机采样,基于DHT11的数字温湿度传感器构成的实时
监控系统具有精度高、抗干扰能力强、电路简单等诸多优点。然后利用单片机与
PC机的通信可将数据送到PC机进行数据的存储、后期处理与显示。本系统数据
处理功能强大、显示直观、界面友好、性价比高,可广泛应用于工业控制、仪器、
仪表、农业养殖及智能家居等诸多领
域。