当前位置:文档之家› 基于nRF24L01的远程温度检测系统_毕业论文.

基于nRF24L01的远程温度检测系统_毕业论文.

基于nRF24L01的无线温度检测系统

设计

摘要

温度检测在日常生活、工作和工程实践中具有重要的应用。随着生活水平的提高和科学技术的进步,无论是工业还是农业或者是日常生活中对温度检测的要求越来越高。不仅要做到低耗,还要求进行一定距离的传输。基于这点我们运用两片主控芯片,一个温度传感器,及数码管显示部分,解决了这个日常生活工作中的问题。出于低功耗本设计我们选择了以低功耗见长的430单片机中的F149系列作为主控芯片,工作场所的温度采集用到了温度采集芯片DS18B20来达到一定的准确度和精确度,最后采用nRF24L01模块对采集到的温度数据进行无线传输,从而打破传统温度操作受到距离限制的缺陷。在经过软硬件测试后,我们基本实现了用温度传感器采集温度,用nRF24L01进行一定距离传输后在接受端的数码管上显示出来的模型。传输距离>30m,温度范围达到0至125摄氏度,精度1摄氏度。

关键词: msp430f149;nRF24L01;温度;无线传输

ABSTRACT

Temperature measurement have important applications in daily life,work and engineering practice.With the improvement of living standards and technological progress,whether industry,agriculture or daily life become increasingly demanding of temperature detection. Not only to achieve low power consumption,but also requires a certain distance transmission. For this reason we solved the problem of daily life and work using two control chips, a temperature sensor, and the led display part. For low-power design we have chosen the low-power microcontroller known for the F149 series of 430 as the master chip, temperature acquisition DS18B20 has used to achieve a certain accuracy and precision, Finally nRF24L01 module temperature data collected by wireless transmission, thus breaking the distance limitations of traditional temperature operation. After software and hardware testing, we basically realize our Initial target. Transmission distance>30m, temperature range 0 to 125 degrees, 1 degree accuracy.

Keywords: msp430f149;nRF24L01;Temperature;Wireless

目录

第1章绪论 (1)

1.1课题的简介 (1)

1.2对设计任务的分析 ..................................................... 错误!未定义书签。

1.3论文的结构安排 (1)

第2章主控芯片及编程环境的介绍 (3)

2.1MSP430简介 (3)

2.2IAR开发软件 (5)

2.3本章小结 (6)

第3章硬件系统的设计与实现 (7)

3.1温度采集模块 (7)

3.1.1 DS18B20的管脚配置和内部结构 (8)

3.1.2 单总线介绍 (9)

3.1.3 DS18B20的工作原理 (10)

3.2无线收发模块 (12)

3.2.1 nRF24L01概述 (13)

3.2.2 引脚功能及描述 (14)

3.2.3 工作模式 (15)

3.2.4工作原理 (15)

3.2.5 配置字 (17)

3.3LED显示模块 (17)

3.3.1 数码管选择 (17)

3.3.2 驱动电路选择 (18)

3.4主控制模块(M SP430F149最小系统) (19)

3.4.1下载电路 (19)

3.4.2电源电路设计 (21)

3.4.3 复位电路 (23)

3.4.4晶振电路 (23)

3.5引脚分配 (24)

3.5.1 发射部分 (24)

3.5.2 接收部分 (25)

3.6本章小结 (27)

第4章软件系统的设计与实现 (28)

4.1分部分软件设计 (28)

4.1.1 温度检测 (28)

4.1.2无线发射模块软件设计 (29)

4.1.3无线接收模块软件设计 (30)

4.1.4显示模块软件设计 (31)

4.2软件的总体设计 (31)

4.2.1 发送部分 (31)

4.2.2接收部分 (32)

4.3本章小结 (33)

第5章系统的调试及实验结果 (34)

5.1调试步骤 (34)

5.2实验结果 (34)

5.3本章小结 (36)

结论 (37)

参考文献 (39)

致谢 (39)

附录 (42)

第1章绪论

1.1 课题的简介

1.2对设计任务的分析

本系统的设计采用了工作于2.4GHz频段nRF24L01射频芯片,并有低功耗单片机MSP430F149控制实现短距离无线数据通信。该接口设计具有成本低、功耗低、传输速率高、软件设计简单以及通信稳定可靠等特点。整个系统有发送和接收二部分,通过nRF24L01无线数据通信收发模块来实现无线数据传输。发送部分以单片机MSP430F149为核心,使用温度转换芯片

DS18B20实时采集温度并通过数码管显示。将采集的温度无线传送给接收部分,然后再在数码管上显示。本系统的核心控制芯片选用的是MSP430F149。单片机在各个技术领域中的迅猛发展,与单片机所构成的计算机应用系统的特点有关:

(1)单片机构成的应用系统有较大的可靠性;

(2)系统构建简洁、易行,能方便的实现系统功能;

(3)由于构成的系统是一个计算机系统,相当多的功能由软件实现,故具有柔性特点和优异的性能价格比;

对msp430f149可以制作两个最小系统(一个控制发送端,一个控制接受部分)最小系统包括电源电路,下载电路采用JTAG接口及主控芯片和一些基本外围电路。

对于DS18B20的温度检测模块,硬件部分较简单,由于是单脚传输导致软件时序的时间精确度控制上要求比较高,要做到精确。

数码管显示部分虽然较简单但是在调试过程有重要作用,是显示软硬件好使的必要条件,不可忽视。另外为了降低430的输出功率,采用锁存器对数码管进行驱动。

1

无线收发模块采用挪威(Nordic)公司生产的nRF24L01及其外围电路组成,软件部分要熟悉内部的标志及控制寄存器以及数据通道,发射频率功率及收发模式等以利于编程。

1.3 论文的结构安排

本文基于本次毕业设计的过程与要求,将论文分为五章。具体内容如下:第1章绪论本章简单介绍了课题的研究内容

第2章主控芯片及编程环境的介绍本章介绍了本次毕业设计的主控芯

片及相应的编程环境,让我们熟悉了整个系统的调试方法。

第3章硬件系统的设计与实现本章介绍本课题硬件系统各部分电路的设计、实现,讲述了各模块的功能。

第4章软件系统的设计与实现本章根据系统的总方案,设计出程序的总流程图,并利用C语言编写相应的程序。

第5章系统的调试及实验结果本章根据已有的软硬件,进行调试,得到的相应成果。

最后总结本论文,得出相关结论。

2

第2章主控芯片及编程环境的介绍

2.1 MSP430简介

MSP430系列单片机是美国德州仪器(TI)1996年开始推向市场的一种16位超低MSP430单片机功耗、具有精简指令集(RISC)的混合信号处理器(Mixed Signal Processor)。称之为混合信号处理器,是由于其针对实际应用需求,将多个不同功能的模拟电路、数字电路模块和微处理器集成在一个芯片上,以提供“单片”解决方案。该系列单片机多应用于需要电池供电的便携式仪器仪表中[4]。

MSP430单片机的特点:

(1)处理能力强MSP430系列单片机是一个16位的单片机,采用了精简指令集(RISC)结构,具有丰富的寻址方式(7 种源操作数寻址、4 种目的操作数寻址);简洁的27 条内核指令以及大量的模拟指令;大量的寄存器以及片内数据存储器都可参加多种运算;还有高效的查表处理指令。这些特点保证了可编制出高效率的源程序。

(2)运算速度快MSP430 系列单片机能在25MHz晶体的驱动下,实现40ns的指令周期。16位的数据宽度、40ns的指令周期以及多功能的硬件乘法器(能实现乘加运算)相配合,能实现数字信号处理的某些算法(如FFT 等)。

(3)超低功耗MSP430 单片机之所以有超低的功耗,是因为其在降低芯片的电源电压和灵活而可控的运行时钟方面都有其独到之处。首先,MSP430 系列单片机的电源电压采用的是 1.8-3.6V 电压。因而可使其在1MHz 的时钟条件下运行时,芯片的电流最低会在165μA左右,RAM 保持模式下的最低功耗只有0.1μA。其次,独特的时钟系统设计。在MSP430 系列中有两个不同的时钟系统:基本时钟系统、锁频环(FLL 和FLL+)时钟系统和DCO数字振荡器时钟系统。可以只使用一个晶体振荡器(32768Hz),

3

也可以使用两个晶体振荡器。由系统时钟系统产生CPU 和各功能所需的时钟。并且这些时钟可以在指令的控制下,打开和关闭,从而实现对总体功耗的控制。由于系统运行时开启的功能模块不同,即采用不同的工作模式,芯片的功耗有着显著的不同。在系统中共有一种活动模式(AM)和五种低功耗模式(LPM0~LPM4)。在实时时钟模式下,可达2.5μA ,在RAM 保持模式下,最低可达0.1μA 。

(4)片内资源丰富MSP430 系列单片机的各系列都集成了较丰富的片内外设。它们分别是看门狗(WDT)、模拟比较器A、定时器A0(Timer_A0)、定时器A1(Timer_A1)、定时器B0(Timer_B0)、UART、SPI、I2C、硬件乘法器、液晶驱动器、10位/12位ADC、16位Σ-Δ ADC、DMA、I/O端口、基本定时器(Basic Timer)、实时时钟(RTC)和USB控制器等若干外围模块的不同组合。其中,看门狗可以使程序失控时迅速复位;模拟比较器进行模拟电压的比较,配合定时器,可设计出A/D 转换器;16 位定时器(Timer_A 和Timer_B)具有捕获/比较功能,大量的捕获/比较寄存器,可用于事件计数、时序发生、PWM 等;有的器件更具有可实现异步、同步及多址访问串行通信接口可方便的实现多机通信等应用;具有较多的I/O 端口,P0、P1、P2 端口能够接收外部上升沿或下降沿的中断输入;10/12位硬件A/D 转换器有较高的转换速率,最高可达200kbps ,能够满足大多数数据采集应用;能直接驱动液晶多达160 段;实现两路的12 位D/A 转换;硬件I2C串行总线接口实现存储器串行扩展;以及为了增加数据传输速度,而采用的DMA 模块。MSP430 系列单片机的这些片内外设为系统的单片解决方案提供了极大的方便。另外,MSP430 系列单片机的中断源较多,并且可以任意嵌套,使用时灵活方便。当系统处于省电的低功耗状态时,中断唤醒只需5μs。

(5)方便高效的开发环境MSP430 系列有OPT 型、FLASH 型和ROM 型三种类型的器件,这些器件的开发手段不同。对于OPT 型和ROM 型的器件是使用仿真器开发成功之后烧写或掩膜芯片;对于FLASH 型则有十分方便的开发调试环境,因为器件片内有JTAG 调试接口,还有可以电擦

4

写的FLASH 存储器,因此采用先下载程序到FLASH 内,再在器件内通过软件控制程序的运行,由JTAG 接口读取片内信息供设计者调试使用的方法进行开发。这种方式只需要一台PC 机和一个JTAG 调试器,而不需要仿真器和编程器。开发语言有汇编语言和 C 语言[5]。

2.2 IAR 开发软件

IAR Embedded Workbench是一套高度精密且使用方便的嵌入式应用编程开发工具。在其集成开发环境(IDE)中包含了IAR 的C/C++编译器,汇编工具,链接器,文本编辑器,工程管理器和C-SPY 调试器。通过其内置的针对不同芯片的代码优化器,IAR Embedded Workbench 可以为MSP430 微控制器生成极为高效和可靠的代码。除了有这些可靠的技术之外,IAR Systems 还为您提供专业化的全球技术支持[6]。

模块化和可扩展的集成开发环境

(1)用于构建和调试嵌入式应用程序的无缝集成开发环境;

(2)强大的工程管理器,允许同一工作区管理多个工程;

(3)工程的层次化表示方法;

(4)可停靠窗口和浮动窗口管理;

(5)智能型源文件浏览器;

(6)带有代码模板和支持多字节等丰富特色的编辑器;

(7)可以在全局层次、源文件组层次、或者单个的源文件层次上进行配置;

(8)灵活的工程编译,如批量编译,前/后编译或在编译过程中访问外部工具的客户定制编译;

(9)集成了源代码控制系统的接口;

(10)为多种芯片提供配套的现成的头文件,芯片描述文件和链接器命令文件;

5

(11)为多种MSP-FET430工具提供现成代码和工程范例;

高度优化的C/C++编译器

(1)支持C,EC++和扩展EC++,并且包含有模板,名字空间和标准模板库(STL)等;

(2)MISRA C检查器;

(3)支持所有MSP430和MSP430X架构的芯片;

(4)针对特定目标的嵌入式应用程序的语言扩展用于数据/函数定义和存储器及类型属性声明的扩展关键字使用Pragma指令控制编译器行为,比如用来分配内存在C源码中可直接访问的本征函数,从而执行低级处理器操作,例如MSP430省电模式;

(5)通过专用实时库模块支持硬件乘法器外设模块;

(6)位置无关代码;

(7)32位和64位标准IEEE格式的浮点类型;

(8)对代码的大小和执行速度多级优化,允许不同的转换形式,例如函数内联和循环展开等等;

(9)高级的全局优化和特定优化相结合,可以生成最为紧凑和稳定的代码[7];

2.3 本章小结

本章主要简要介绍了msp430单片机的软硬件系统和特点以及msp430的编程开发环境IAR的一些特点,为接下来的硬件设计及软件开发做了铺垫。

6

7

第3章 硬件系统的设计与实现

温度检测在日常生活、工作和工程实践中经常用到,随着生活水平和科学技术的不断进步,对检测温度数据的精度要求也越来越苛刻,传统的温度测量装置很难满足现在的要求,本设计采用DS18B20作为温度采集元件,配合低功耗单片机的使用就可以很好地弥补传统上的不足。而且本文采用nRF24L01模块对采集到的温度数据进行无线传输,打破了传统操作中距离受限的问题,使测温操作更易实现。本设计采用MSP430F149作为主控CPU ,外加DS18B20温度采集模块、nRF24L0l 无线收发模块和数码显示模块组成整个系统,如图3.1所示。

图3.1 系统总体架构图

3.1 温度采集模块

该模块采用美国DALLAS 公司推出的数字测温芯片DS18B20,该芯片具有体积小,多种封装形式,独特的单线接口等优点。测量范围从-55摄氏度到+125摄氏度,拥有可以选择的9到12位温度数据分辨率,可以工作在寄生电源模式,另外还可自定义温度告警设置。本系统中温度传感器输出脚I/O 直接与单片机的P4.0相连,外接4.7 KΩ的上拉电阻到电源,采用MSP430的电源供电。DS18B20芯片封装如图3.2所示。

MCU

温度检测模

无线发射模

MCU

温度显示模

无线接收模

图3.2 DS18B20芯片封装

3.1.1 DS18B20的管脚配置和内部结构

引脚定义:

(1)DQ为单数据总线,是数字信号输入/输出端;

(2)GND为电源地;

(3)VDD为外接供电电源输入端(在寄生电源接线方式时接地)。

内部结构如图3.3所示。

8

9

图3.3 DS18B20内部结构图

(1)光刻ROM 中的64位序列号是出厂前被光刻好的,它可以看作是该DS18B20的地址序列码。64位光刻ROM 的排列是:开始8位(28H )是产品类型标号,接着的48位是该DS18B20自身的序列号,最后8位是前面56位的循环冗余校验码(CRC=X8+X5+X4+1)。光刻ROM 的作用是使每一个DS18B20都各不相同,这样就可以实现一根总线上挂接多个DS18B20的目的。

(2) DS18B20中的温度传感器可完成对温度的测量,以12位转化为例:用16位符号扩展的二进制补码读数形式提供,以0.0625℃/LSB 形式表达,其中S 为符号位。12位转化后得到的12位数据,存储在18B20的两个8比特的RAM 中,二进制中的前面5位是符号位,如果测得的温度大于0,这5位为0,只要将测到的数值乘于0.0625即可得到实际温度;如果温度小于0,这5位为1,测到的数值需要取反加1再乘于0.0625即可得到实际温度。 3.1.2 单总线介绍

1-WIRE BUS 单总线是Maxim 全资子公司Dallas 的一项专有技术。与目前多数标准串行数据通信方式,如SPI/ IIC/ MICROWIRE 不同,它采用单根

电源检测

64位ROM 和单线接口

存储器和控制器高速缓存存储器8位CRC 生成器

温度灵敏元件

低温触发器

高温触发器

配置寄存器

信号线,既传输时钟,又传输数据,而且数据传输是双向的。它具有节省I/ O口线资源、结构简单、成本低廉、便于总线扩展和维护等诸多优点。

3.1.3 DS18B20的工作原理

DS18B20的温度检测与数字数据输出全集成于一个芯片之上,从而抗干扰力更强。其一个工作周期可分为两个部分,即温度检测和数据处理。在讲解其工作流程之前我们有必要了解18B20的内部存储器资源。18B20共有三种形态的存储器资源,它们分别是

(1)ROM 只读存储器,用于存放DS18B20的ID编码,其前8位是单线系列编码(DS18B20的编码是19H),后面48位是芯片唯一的序列号,最后8位是以上56的位的CRC码(冗余校验)。数据在出产时设置不由用户更改。DS18B20共64位ROM。

(2)RAM 数据暂存器,用于内部计算和数据存取,数据在掉电后丢失,DS18B20共9个字节RAM,每个字节为8位。第1、2个字节是温度转换后的数据值信息,第3、4个字节是用户EEPROM(常用于温度报警值储存的镜像。在上电复位时其值将被刷新。第5个字节则是用户第3个EEPROM的镜像。第6、7、8个字节为计数寄存器,是为了让用户得到更高的温度分辨率而设计的,同样也是内部温度转换、计算的暂存单元。第9个字节为前8个字节的CRC码。EEPROM 非易失性记忆体,用于存放长期需要保存的数据,上下限温度报警值和校验数据,DS18B20共3位EEPROM,并在RAM 都存在镜像,以方便用户操作。控制器对18B20操作流程:

(1)复位:首先我们必须对DS18B20芯片进行复位,复位就是由控制器(单片机)给DS18B20单总线至少480μS的低电平信号。当18B20接到此复位信号后则会在15~60μS后回发一个芯片的存在脉冲。

(2)存在脉冲:在复位电平结束之后,控制器应该将数据单总线拉高,以便于在15~60μS后接收存在脉冲,存在脉冲为一个60~240uS的低电平信号。至此,通信双方已经达成了基本的协议,接下来将会是控制器与18B20

10

间的数据通信。如果复位低电平的时间不足或是单总线的电路断路都不会接到存在脉冲,在设计时要注意意外情况的处理。

(3)控制器发送ROM指令:双方打完了招呼之后最要将进行交流了,ROM指令共有5条,每一个工作周期只能发一条,ROM指令分别是读ROM 数据、指定匹配芯片、跳跃ROM、芯片搜索、报警芯片搜索。ROM指令为8位长度,功能是对片内的64位光刻ROM进行操作。其主要目的是为了分辨一条总线上挂接的多个器件并作处理。诚然,单总线上可以同时挂接多个器件,并通过每个器件上所独有的ID号来区别,一般只挂接单个18B20芯片时可以跳过ROM指令(注意:此处指的跳过ROM指令并非不发送ROM 指令,而是用特有的一条“跳过指令”)。

(4)控制器发送存储器操作指令:在ROM指令发送给18B20之后,紧接着(不间断)就是发送存储器操作指令了。操作指令同样为8位,共6条,存储器操作指令分别是写RAM数据、读RAM数据、将RAM数据复制到EEPROM、温度转换、将EEPROM中的报警值复制到RAM、工作方式切换。存储器操作指令的功能是命令18B20作什么样的工作,是芯片控制的关键。

(5)执行或数据读写:一个存储器操作指令结束后则将进行指令执行或数据的读写,这个操作要视存储器操作指令而定。如执行温度转换指令则控制器(单片机)必须等待18B20执行其指令,一般转换时间为500uS。如执行数据读写指令则需要严格遵循18B20的读写时序来操作。数据的读写方法将有下文有详细介绍。

当主机收到DSl8B20的响应信号后,便可以发出ROM操作命令之一,这些命令如下:

Skip ROM(跳跃ROM指令)

这条指令使芯片不对ROM编码做出反应,在单总线的情况之下,为了节省时间则可以选用此指令。如果在多芯片挂接时使用此指令将会出现数据冲突,导致错误出现。

Read Scratchpad (从RAM中读数据)

11

此指令将从RAM中读数据,读地址从地址0开始,一直可以读到地址9,完成整个RAM数据的读出。芯片允许在读过程中用复位信号中止读取,即可以不读后面不需要的字节以减少读取时间。

Convert T(温度转换)

收到此指令后芯片将进行一次温度转换,将转换的温度值放入RAM的第1、2地址。此后由于芯片忙于温度转换处理,当控制器发一个读时间隙时,总线上输出“0”,当储存工作完成时,总线将输出“1”。在寄生工作方式时必须在发出此指令后立刻超用强上拉并至少保持500MS,来维持芯片工作。

与DS18B20的所有通讯都是由一个单片机的复位脉冲和一个DS18B20的应答脉冲开始的。单片机先发一个复位脉冲,保持低电平时间最少480μs,最多不能超过960μs。然后,单片机释放总线,等待DS18B20的应答脉冲。DS18B20在接受到复位脉冲后等待15~60μs才发出应答脉冲。应答脉冲能保持60~240μs。单片机从发送完复位脉冲到再次控制总线至少要等待480μs。

读时隙需15~60μs,且在2次独立的读时隙之间至少需要1μs的恢复时间。读时隙起始于单片机拉低总线至少1μs。DS18B20在读时隙开始15μs后开始采样总线电平。以单片机读取2 B的数据为例。

写时隙需要15~75μs,且在2次独立的写时隙之间至少需要1μs的恢复时间。写时隙起始于单片机拉低总线。

3.2 无线收发模块

该模块由挪威(Nordic)公司生产的nRF24L01及其外围电路组成的。nRF24L01作为单片射频收发芯片,其工作于2.4~2.5GHz世界通用ISM频段,工作电压为1.9~3.6V。可通过SPI写入数据,最高可达10Mbit/s,数据传输速率最快可达2Mbit/s,并且具有自动应答和自动再发射功能。芯片融进了增强式ShockBurst技术,其中输出功率和通信频道可通过程序进行配置。该芯片功耗低,6dBm功率发射时,工作电流9mA,接收时工作电流只有

12

13

12.3mA ,可选择的掉电模式和空闲模式使其应用设计更为方便。模块中nRF24L01和MSP430F149通过MOSI 、MISO 和SCK 组成SPI 接口,单片机接32.768KHz 的低频晶振工作,nRF24L01外接晶振为16MHz ,由低速的单片机控制高速收发的射频芯片,结构如图3.4所示[9]。

图3.4 无线收发模块硬件结构图

3.2.1 nRF24L01概述

nRF24L01是一款新型单片射频收发器件,工作于2.4 GHz ~2.5 GHz ISM 频段。内置频率合成器、功率放大器、晶体振荡器、调制器等功能模块,并融合了增强型ShockBurst 技术,其中输出功率和通信频道可通过程序进行配置。nRF24L01功耗低,在以-6dBm 的功率发射时,工作电流也只有9mA;接收时,工作电流只有12.3mA ,多种低功率工作模式(掉电模式和空闲模式)使节能设计更方便[10]。nRF24L01主要特性如下:

1、GFSK 调制,硬件集成OSI 链路层;

2、具有自动应答和自动再发射功能;

3、片内自动生成报头和CRC 校验码;

4、数据传输率为l Mb/s 或2Mb/s ;

5、SPI 速率为0 Mb/s ~10 Mb/s ;

6、125个频道与其他nRF24系列射频器件相兼容;

nRF24L01

MSP430

32M

16M

7、QFN20引脚4 mm×4 mm封装;

8、供电电压为1.9 V~3.6 V;

3.2.2 引脚功能及描述

nRF24L01的封装及引脚排列如图所示[11]。各引脚功能如图3.5所示。

图3.5 nRF24L01封装图

CE:使能发射或接收;

CSN,SCK,MOSI,MISO:SPI引脚端,微处理器可通过此引脚配置nRF24L01:

IRQ:中断标志位;

VDD:电源输入端;

VSS:电源地;

XC2,XC1:晶体振荡器引脚;

VDD_PA:为功率放大器供电,输出为1.8 V;

ANT1,ANT2:天线接口;

IREF:参考电流输入;

14

3.2.3 工作模式

通过配置寄存器可将nRF24L01配置为发射、接收、空闲及掉电四种工作模式,如表3.1所示。

表3.1 nRF24L01工作模式

模式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主要用于降低电流损耗,在该模式下晶体振荡器仍然是工作的;待机模式2则是在当FIFO寄存器为空且CE=1时进入此模式;待机模式下,所有配置字仍然保留。在掉电模式下电流损耗最小,同时nRF24L01也不工作,但其所有配置寄存器的值仍然保留。

3.2.4工作原理

发射数据时,首先将nRF24L01配置为发射模式:接着把接收节点地址TX_ADDR和有效数据TX_PLD按照时序由SPI口写入nRF24L01缓存区,TX_PLD必须在CSN为低时连续写入,而TX_ADDR在发射时写入一次即可,然后CE置为高电平并保持至少10μs,延迟130μs后发射数据;若自动应答开启,那么nRF24L01在发射数据后立即进入接收模式,接收应答信号(自动应答接收地址应该与接收节点地址TX_ADDR一致)。如果收到应答,则认为此次通信成功,TX_DS置高,同时TX_PLD从TX FIFO中清除;若未收

15

相关主题
文本预览
相关文档 最新文档