1 nrf24l01芯片的介绍
nrf24l01是单片射频收发芯片,工作于2.4~2.5 ghz ism频段。工作电压为1.9~3.6 v,有多达125个频道可供选择。可通过spi写入数据,最高可达10 mb/s,数据传输率最快可达2 mb/s,并且有自动应答和自动再发射功能。和上一代nrf2401相比,nrf2401数据传输率更快,数据写入速度更高,内嵌的功能更完备。
芯片内置频率合成器、功率放大器、晶体振荡器、调制器等功能模块,并融进了增强式shockburst技术,其中输出功率和通信频道可通过程序进行配置。芯片能耗非常低,以-6 dbm的功率发射时,工作电流只有9 ma,接收时工作电流只有12.3 ma,多种低功率工作模式(掉电模式和空闲模式)使节能设计更方便。
1.1 nrf24l01引脚介绍 各引脚具体功能如下:ce为发射和接收的使能端;csn为spi的使能端;sck为spi时钟输入;mosi为spi数据主输从人端;miso为spi数据主人从输端;irq为中断输出;vdd为电源端,接3 v直流电源;vss为参考接地端;xc1,xc2为晶振端;vdd_pa给功率放大器供电1.8 v;ant1,ant2为天线接口端;iref为参考电流端。
1.2 nrf24l01的指令结构
nrf24l01所有的配置字都由配置寄存器来定义,这些配置寄存器可通过spi口访问。
1.2.1 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指令;清发射堆栈指令;清接收堆栈指令;发射数据再利用;空操作。
1.2.2 中断 当nrf24l01的中断源(tx_ds,rx_dr,max_rt)被置高时(tx_ds为发送成功标志位,rx_dr为接收数据成功标志位,max_rt为自动重发超上限标志位),就会使irq引脚置低。可以向状态寄存器写1来清这些中断标志位。通过设置config寄存器的某些位来屏蔽掉这些中断源,默认情况下,这三个中断源都是允许的。
1.2.3 内存区
下面介绍nrf24l01的内存区,一共24个寄存器,以下选取几个重要的加以介绍。
0号寄存器:第7位是保留位;第6位到第4位分别是tx_ds,rx_dr,max_rt屏蔽位,置高能屏蔽相应的中断源;第3位是crc使能位;第2位是选择crc长度;第1位是pwr_up位,高电平为使芯片上电;第0位是发射、接收选择位,高电平是发射,低电平是接收。
1号寄存器:第7和第6位是保留位,第5到第0位是使能通道5到通道0的自动应答,高电平有效。
2号寄存器:第7和第6位是保留位,第5到第0位是使能接收通道地址5到地址0,高电平有效。
4号寄存器:第7位到第4位是设置自动重发的时间,第3位到第0位是设置自动重发的次数。
 











