深圳市德普施科技有限公司1nRF24L01无线通信模块使用手册一、模块简介该射频模块集成了NORDIC公司生产的无线射频芯片nRF24L01:1.支持2.4GHz的全球开放ISM频段,最大发射功率为0dBm2.2Mbps,传输速率高3.功耗低,等待模式时电流消耗仅22uA4.多频点(125个),满足多点通信及跳频通信需求5.在空旷场地,有效通信距离:25m(外置天线)、10m(PCB天线)6.工作原理简介:发射数据时,首先将nRF24L01配置为发射模式,接着把地址TX_ADDR和数据TX_PLD按照时序由SPI口写入nRF24L01缓存区,TX_PLD必须在CSN为低时连续写入,而TX_ADDR在发射时写入一次即可,然后CE置为高电平并保持至少10μs,延迟130μs后发射数据;若自动应答开启,那么nRF24L01在发射数据后立即进入接收模式,接收应答信号。如果收到应答,则认为此次通信成功,TX_DS置高,同时TX_PLD从发送堆栈中清除;若未收到应答,则自动重新发射该数据(自动重发已开启),若重发次数(ARC_CNT)达到上限,MAX_RT置高,TX_PLD不会被清除;MAX_RT或TX_DS置高时,使IRQ变低,以便通知MCU。最后发射成功时,若CE为低,则nRF24L01进入待机模式1;若发送堆栈中有数据且CE为高,则进入下一次发射;若发送堆栈中无数据且CE为高,则进入待机模式2。接收数据时,首先将nRF24L01配置为接收模式,接着延迟130μs进入接收状态等待数据的到来。当接收方检测到有效的地址和CRC时,就将数据包存储在接收堆栈中,同时中断标志位RX_DR置高,IRQ变低,以便通知MCU去取数据。若此时自动应答开启,接收方则同时进入发射状态回传应答信号。最后接收成功时,若CE变低,则nRF24L01进入空闲模式1。二、模块电气特性参数数值单位供电电压5V最大发射功率0dBm最大数据传输率2Mbps电流消耗(发射模式,0dBm)11.3mA电流消耗(接收模式,2Mbps)12.3mA电流消耗(掉电模式)900nA温度范围-40~+85℃三、模块引脚说明管脚符号功能方向1GND电源地2IRQ中断输出O3MISOSPI输出O4MOSISPI输入I5SCKSPI时钟I6NC空深圳市德普施科技有限公司27NC空8CSN芯片片选信号I9CE工作模式选择I10+5V电源四、模块与AT89S52单片机接口电路注:上图为示意连接,可根据自己实际需求进行更改;使用AT89S52MCU模块时,请将Nrf24L01通讯模块每个端口(MOSI、SCK、CSN和CE)接4.7K的排阻上拉到VCC增强其驱动能力(如下图:)。若使用其它单片机与Nrf24L01通讯模块相连时请串联2K电阻。VCCP1.0P1.1CNCNP1.2P1.3P1.4P3.2GNDAT89S52MCU模块+5VCECSNCNCNSCKMOSIMISOIRQGNDNrf24L01通讯模块深圳市德普施科技有限公司3五、工作模式控制工作模式由CE和PWR_UP、PRIM_RX两寄存器共同控制:模式PWR_UPPRIM_RXCEFIFO寄存器状态接收模式111-发射模式1011数据存储在FIFO寄存器中,发射所有数据发射模式100→12数据存储在FIFO寄存器中,发射一个数据待机模式II101TXFIFO为空待机模式I1-0无正在传输的数据掉电模式0---注1:进入此模式后,只要CSN置高,在FIFO中的数据就会立即发射出去,直到所有数据数据发射完毕,之后进入待机模式II。注2:正常的发射模式,CE端的高电平应至少保持10us。24L01将发射一个数据包,之后进入待机模式I。六、数据和控制接口通过以下六个引脚,可实现模块的所有功能:①IRQ(低电平有效,中断输出)②CE(高电平有效,发射或接收模式控制)③CSN(SPI信号)④SCK(SPI信号)⑤MOSI(SPI信号)⑥MISO(SPI信号)通过SPI接口,可激活在数据寄存器FIFO中的数据;或者通过SPI命令(1个字节长度)访问寄存器。在待机或掉电模式下,单片机通过SPI接口配置模块;在发射或接收模式下,单片机通过SPI接口接收或发射数据。1.SPI指令所有的SPI指令均在当CSN由低到高开始跳变时执行;从MOSI写命令的同时,MISO实时返回24L01的状态值;SPI指令由命令字节和数据字节两部分组成。SPI命令字节表指令名称指令格式(二进制)字节数操作说明R_REGISTER000AAAAA1~5读寄存器。AAAAA表示寄存器地址。W_REGISTER001AAAAA1~5写寄存器。AAAAA表示寄存器地址,只能在掉电或待机模式下操作。R_RX_PAYLOAD011000011~32在接收模式下读1~32字节RX有效断气。从字节0开始,数据读完后,FIFO寄存器清空。W_TX_PAYLOAD101000001~32在发射模式下写1~31字节TX有效数据。从字节0开始。FLUSH_TX111000010在发射模式下,清空TXFIFO寄存器。深圳市德普施科技有限公司4FLUSH_RX111000100在接收模式下,清空RXFIFO寄存器。在传输应答信号时不应执行此操作,否则不能传输完整的应答信号。REUSE_TX_PL111000110应用于发射端。重新使用上一次发射的有效数据,当CE=1时,数据将不断重新发射。在发射数据包过程中,应禁止数据包重用功能。NOP111111110空操作。可用于读状态寄存器。2.SPI时序SPI读写时序见下面两图。在写寄存器之前,一定要进入待机模式或掉电模式。其中,Cn——SPI指令位;Sn——状态寄存器位;Dn——数据位(低字节在前,高字节在后;每个字节中高位在前)SPI读时序SPI写时序七、寄存器内容及说明地址(十六进制)寄存器位复位值类型说明00CONFIG配置寄存器Reserved70R/W默认为0MASK_RX_DR60R/W可屏蔽中断RX_RD1:中断产生时对IRQ没影响0:RX_RD中断产生时,IRQ引脚为低MASK_TX_DS50R/W可屏蔽中断TX_RD1:中断产生时对IRQ没影响0:TX_RD中断产生时,IRQ引脚为低MASK_MAX_RT40R/W可屏蔽中断MAX_RT1:中断产生时对IRQ没影响0:MAX_RT中断产生时,IRQ引脚为低深圳市德普施科技有限公司5EN_CRC31R/WCRC使能。如果EN_AA中任意一位为高,则EN_CRC为高。CRCO20R/WCRC校验值:0:1字节1:2字节PWR_UP10R/W0:掉电1:上电PRIM_RX00R/W0:发射模式1:接收模式01EN_AAEnhancedShockBurst™使能“自动应答”功能Reserved7:600R/W默认为00ENAA_P551R/W数据通道5自动应答使能位ENAA_P441R/W数据通道4自动应答使能位ENAA_P331R/W数据通道3自动应答使能位ENAA_P221R/W数据通道2自动应答使能位ENAA_P111R/W数据通道1自动应答使能位ENAA_P001R/W数据通道0自动应答使能位02EN_RXADDR接收地址允许Reserved7:600R/W默认为00ERX_P550R/W数据通道5接收数据使能位ERX_P440R/W数据通道4接收数据使能位ERX_P330R/W数据通道3接收数据使能位ERX_P220R/W数据通道2接收数据使能位ERX_P111R/W数据通道1接收数据使能位ERX_P001R/W数据通道0接收数据使能位03SETUP_AW设置地址宽度(所有数据通道)Reserved7:2000000R/W默认为00000AW1:011R/W接收/发射地址宽度:00:无效01:3字节10:4字节11:5字节04SETUP_RETR自动重发ARD7:40000R/W自动重发延时时间:0000:250us0001:500us……1111:4000usARC3:00011R/W自动重发计数:0000:禁止自动重发0001:自动重发1次深圳市德普施科技有限公司6……1111:自动重发15次05RF_CH射频通道Reserved70R/W默认为0RF_CH6:00000010R/W设置工作通道频率06RF_SETUP射频寄存器Reserved7:5000R/W默认为000PLL_LOCK40R/W锁相环使能,测试下使用RF_DR31R/W数据传输率:0:1Mbps1:2MbpsRF_PWR2:111R/W发射功率:00:-18dBm01:-12dBm10:-6dBm11:0dBmLNA_HCURR01R/W低噪声放大器增益07STATUS状态寄存器Reserved70R/W默认值为0RX_DR60R/W接收数据中断位。当收到有效数据包后置1。写‘1’清除中断TX_DS50R/W发送数据中断。如果工作在自动应答模式下,只有当接收到应答信号后置1。写‘1’清除中断MAX_RT40R/W重发次数溢出中断。写‘1’清除中断。如果MAX_RT中断产生,则必须清除后才能继续通讯RX_P_NO3:1111R接收数据通道号:000-101:数据通道号110:未使用111:RXFIFO寄存器为空TX_FULL00RTXFIFO寄存器满标志位08OBSERVE_TX发送检测寄存器PLOS_CNT7:40R数据包丢失计数器。当写RF_CH寄存器时,此寄存器复位。当丢失15个数据包后,此寄存器重启。ARC_CNT3:00R重发计数器。当发送新数据包时,此寄存器复位。09CD载波检测Reserved7:1000000R深圳市德普施科技有限公司7CD00R0ARX_ADDR_P039:0E7E7E7E7E7R/W数据通道0接收地址。最大长度为5个字节。0BRX_ADDR_P139:0C2C2C2C2C2R/W数据通道1接收地址。最大长度为5个字节。0CRX_ADDR_P27:0C3R/W数据通道2接收地址。最低字节可设置,高字节必须与RX_ADDR_P1[39:8]相等0DRX_ADDR_P37:0C4R/W数据通道3接收地址。最低字节可设置,高字节必须与RX_ADDR_P1[39:8]相等0ERX_ADDR_P47:0C5R/W数据通道4接收地址。最低字节可设置,高字节必须与RX_ADDR_P1[39:8]相等0FRX_ADDR_P57:0C6R/W数据通道5接收地址。最低字节可设置,高字节必须与RX_ADDR_P1[39:8]相等10TX_ADDR39:0E7E7E7E7E7R/W发送地址。在ShockBurstTM模式,设置RX_ADDR_P0与此地址相等来接收应答信号11RX_PW_P0Reserved7:600R/W默认为00RX_PW_P05:00R/W数据通道0接收数据有效宽度:0:无效1:1个字节……32:32个字节12RX_PW_P1Reserved7:600R/W默认为00RX_PW_P15:00R/W数据通道1接收数据有效宽度:0:无效1:1个字节……32:32个字节13RX_PW_P2Reserved7:600R/W默认为00RX_PW_P25:00R/W数据通道2接收数据有效宽度:0:无效1:1个字节……32:32个字节深圳市德普施科技有限公司814RX_PW_P3Reserved7:600R/W默认为00RX_PW_P35:00R/W数据通道3接收数据有效宽度:0:无效1:1个字节……32:32个字节15RX_PW_P4Reserved7:600R/W默认为00RX_PW_P45:00R/W数据通道4接收数据有效宽度:0:无效1:1个字节……32:32个字节16RX_PW_P5Reserved7:600R/W默认为00RX_PW_P55:00R/W数据通道5接收数据有效宽度:0:无效1:1个字节……32:32个字节17FIFO_STATUSFIFO状态寄存器Reserved70R/W默认为0TX_REUSE60R若TX_REUSE=1,则当CE置高时,不断发送上一数