nRF24LE1无线监控通信开发文档
第二章 nRF24LE1背景知识
2.1 nRF24LE1的硬件架构介绍
图 2.1 nRF24LE1硬件架构
如图2.1所示,即为nRF24LE1的硬件架构。从功能模块上,可以大体分为2个部分:一是增强型的8051MCU;二是nRF24L01+2.4G射频收发器。两个部分通过SPI接口进行通信。
nRF24LE1提供三种不同的封装:4mm*4mm 24引脚QFN封装(7个通用I/O);5mm*5mm 32引脚QFN封装(15个通用的I/O);7mm*7mm 48引脚的QFN封装(31个通用的I/O)。不同引脚的封装,除了IO口的数量不同外,在功能上也有一定的区别。本设计采用的为5mm*5mm 32引脚QFN封装(15个通用的I/O)。
2.2 nRF24L01+2.4G射频收发器介绍 2.2.1射频收发器架构介绍
射频收发器工作与国际ISM频段2.400~2.4835GHz。射频收发内核的配置通
6
nRF24LE1无线监控通信开发文档
过射频收发器的寄存器映像进行,寄存器由MCU通过双向的片内SPI接口来访问,并可在各种节能模式下工作。
图2.2 射频收发器框图
如图2.2所示,即为射频收发器内部框图。射频收发器通过SPI接口与MCU通信;MCU通过三个接口(RFCON.rfce,RFCON.rfcsn,RFIRQ)对射频收发器进行控制;register map为寄存器映射,用于保存MCU对于射频收发的配置;TX FIFOs、RX FIFOs分别用于存储待发送和接收到的数据包。
2.2.2 射频收发功能说明
2.2.2.1工作模式
射频收发器可配置为四种工作模式:掉电模式;待机模式;接收模式;发射模式。通过配置CONFIG寄存器的PWR_UP位、PRIM_RX,rfce,rfcsn,可以改变射频收发器的工作模式。具体配置可参见表2.1。
表2.1 射频收发器工作模式
7
nRF24LE1无线监控通信开发文档
2.2.2.2空中速率
空中速率指的是在发射和接收时,射频收发器使用的已调制的信号速率。对于nRF24LE1,通过设置RF_SETUP寄存器中的RF_DR,可将空中速率设定为250kbps,1Mbps或2Mbps。使用高速率可以获得较低平均电流从而减少空中受干扰和碰撞机会;使用较低的速率将会获得更好的接收灵敏度。接收方和发送方必须设定为同一速率方可互相通信。
2.2.2.3射频频道频率的设定
射频频道的频率决定射频收发器所使用频道的中心频率。在速率为250kbps或1Mbps时,频道占有的带宽小于1M;在2Mbps时,所占带宽小于2M。射频收发器工作的频率范围在2.400~2.525GHz。无线频道设置的频率分辨率为1MHz。
无线频率由RF_CH寄存器的内容确定,可由以下公式计算得出: F0=(2400+RF_CH)MHz
通过改变频率,可以实现跳频等功能。为确保相互通信,发射器和接收器须在同一个频率。
2.2.2.4接收功率检波测量
接收功率检波(RPD),位于寄存器09的位0,在当前无线频道上接收到的功率电平高于-64dBm就会置该位为RPD=1;否则,RPD=0。
在接收模式下,RPD可以随时被读出。只要收到一个包或者rfce为低,RPD将清零。
通过RPD检测,可以实现载波监听等功能。
2.2.3 增强型ShockBurst
增强型ShockBurst是由ShockBurst模式发展而来的。增强型ShockBurst模式是一个以包为基础的数据链路层,功能包括包的自动设定装配和装配时间,自动应答和自动重发。增强型ShockBurst能够完成低功耗和高性能的通信,能有效改
8
nRF24LE1无线监控通信开发文档
善双向和非双向系统无线通信的能源效率,而无需在微处理器端进行复杂的操作。
增强型ShockBurst重要作用在于使得一个双向数据链路的可靠通信变得更加容易实现。一个增强型ShockBurst的包处理实际上是在两个射频收发器之间进行的包的交换,一个射频收发器作为主接收(PRX),另一个射频收发器作为主发送(PTX)。包的自动处理过程如下:
1先从PTX发送一个数据包到PRX,增强型ShockBurst将设置PTX为接收并等待ACK包。
2 如果数据包被PRX所接收,增强型ShockBurst将自动装配并发送一个应答包(ACK包)给PTX然后返回接收模式。
3 假设PTX没有即时收到ACK包,增强型ShockBurst将会在一个可编程的延迟时隔后自动重发此数据包,然后将PTX设置为接收模式等待ACK包。
在增强型 ShockBurst中可以设定重发的次数和重发的间隔参数,而后所有的工作均由增强型ShockBurst自动完成而无需MCU的干预。
增强型ShockBurst包格式如表2.2所示。
前置域 1 byte 地址域 3~5 byte 包控制域 9 bits 载荷 0~32 byte CRC 1~2 byte
表2.2 增强型ShockBurst包格式
其中,前置域为确保足够时间来稳定接收机处理;地址域为接收机地址;包控制域包含数据载荷长度、包标识符、无应答标志;载荷为用户所定义的包的内容;CRC为数据包使用的错误检测机制。
采用增强型ShockBurst,设置最大重发次数,可以减少MCU的相关操作,并提高数据发送成功率。
ShockBurst除了没有自动应答和自动重发功能外,在包格式中没有9位的控制域。
2.3 存储器相关
如图2.3和图2.4所示。MCU各有64kb代码存储器(Data Space)和数据存储器(Code space)、256字节内部数据存储器(IRAM)和128字节特殊功能寄
9
nRF24LE1无线监控通信开发文档
存器(SFR)。
nRF24LE1包括16kb可擦写存储器Flash、1kb数据存储器SRAM、两块Flash非易失存储器(1kb标准擦写循环周期和512字节更长擦写受命周期)。
图 2.3 数据存储器和代码存储器
IRAM0xFF0xFF仅可间接寻址0x80可直接或间接寻址0x00仅可直接寻址0x80特殊功能寄存器SFR
10
图 2.4 内部数据存储器和特殊功能寄存器