1、CE协同nRF24L01状态寄存器共同控制芯片模式2CSN片选线,低电平有效3SCKSPI时钟线4MOSISPI,数据输入线5MISOSPI,数据输出线6IRQ可屏蔽中断引脚7VDD电源(+3V)8VSS电源(0V)9XC2晶体振荡器2脚(输出)10XC1晶体振荡器1脚/外部时钟输入脚11VDD_PA给RF功率放大器提供1.8V电源12ANT1天线接口113ANT2天线接口214接地(0V)1516IREF参考电流(模拟输入)171819DVDD去耦电路电源正极端(电源输出)201.3、寄存器地址及一些重要寄存器详细介绍(1)寄存器地址地址名字及其描述00CONFIG(配置寄存器,配置nRF2
2、4L01一些工作方式)01EN_AA(使能自动应答功能)02EN_RXADDR(使能接收数据通道0-5地址)03SETUP_AW(设置地址宽度)04SETUP_RETR(设置自动重发等信息)05RF_CH(射频通道,设置nRF24L01工作通道频率)06RF_SETUP(射频寄存器,设置数据传输率、发射功率、低噪声增益等)07STATUS状态寄存器(反应芯片当前工作的各种状态)08OBSERVE_TX(发送检测寄存器)09CD(载波检测)0ARX_ADDR_P0(数据通道0接收地址)0BRX_ADDR_P1(数据通道1接收地址)0CRX_ADDR_P2(数据通道2接收地址)0DRX_ADDR_
3、P3(数据通道3接收地址)0ERX_ADDR_P4(数据通道4接收地址)0FRX_ADDR_P5(数据通道5接收地址)TX_ADDR(发送地址,先写低字节)RX_PW_P0(数据通道0接收数据长度)RX_PW_P1(数据通道1接收数据长度)RX_PW_P2(数据通道2接收数据长度)RX_PW_P3(数据通道3接收数据长度)RX_PW_P4(数据通道4接收数据长度)RX_PW_P5(数据通道5接收数据长度)FIFO_STATUS(FIFO状态寄存器,TX FIFO与RX FIFO空满状态)(2)状态寄存器寄存器地址:07 名称:STATUSD7D6D5D4D3D2D1D0保留RX_DRTX_DS
4、MAX_RTRX_P_NOTX_FULLRX_DR:接收数据中断位。芯片接收到有效数据时置1,写“1”清楚中断。复位值为0。TX_DS:数据发送成功中断位。芯片数据发送成功后中断置1。但如果nRF24L01工作在自动应答模式下,只有当接收到应答信号才置1,写“1”清除中断。MAX_RT:达到最多次重发中断位。写“1”清除中断,如果MAX_RT中断产生则必须清除后芯片才能进行通讯。RX_P_NO:接收数据通道号位。000-101:数据通道号,110:未使用,111:RX FIFO寄存器为空。复位值为111。TX_FULL:TX FIFO寄存器满标志。1:TX FIFO寄存器满,0:TX FIFO
5、未满,有用空间。(3)配置寄存器00 名称:CONFIGMASK_RX_DRMASK_TX_DSMASK_MAX_RTEN_CRCCRC0PWR_UPPRIM_RXMASK_RX_DR:可屏蔽中断RX_RD位。MASK_RX_DR=1,IRQ引脚不显示RX_DR中断。MASK_RX_DR=0,RX_DR中断引起IRQ引脚拉低。MASK_TX_DS:可屏蔽中断TX_DS位。MASK_TX_DS=1,IRQ引脚不显示TX_DS中断。MASK_TX_DS=0,IRQ引脚显示TX_DS中断。MASK_MAX_RT:可屏蔽中断MAX_RT位。MASK_MAX_RT=1,IRQ引脚不显示MAX_RT中断。
6、MASK_MAX_RT=0,IRQ引脚显示MAX_RT中断。EN_CRC:CRC使能位。如果EN_AA中任意一位为高,则EN_CRC强迫为高。复位值为1。CRC0:CRC模式选择位。0:8位CRC校验,1:16位CRC校验。PWR_UP:nRF24L01上电掉电模式设置位。上电,0:掉电。PRIM_RX:nRF24L01接收、发射模式设置位。接收模式,0:发射模式。1.4、nRF24L01功能描述(1)nRF24L01主要的工作模式设置模式FIFO寄存器状态接收模式发送模式数据存放在TX FIFO中1跳变0数据发送待机模式TX FIFO为空待机模式待机掉电模式芯片不工作待机模式:待机模式I在保
7、证快速启动的同时减少系统平均消耗电流。在待机模式I下,晶振正常工作。在待机模式II下,部分时钟缓冲器处在工作模式。当发送端TXFIFO寄存器为空并且CE为高电平时进入待机模式II。在待机模式期间,寄存器配置字内容保持不变。掉电模式:在掉电模式下,nRF24L01各功能关闭,保持电流消耗最小。进入掉电模式后,nRF24L01停止工作,但寄存器内容保持不变。掉电模式由寄存器中PWR_UP位来控制。(2)增强型的ShockBurstTM收发模式增强型ShockBurstTM模式可以使得双向链接协议执行起来更为容易、有效。典型的双向链接为:发送方要求终端设备在接收到数据后有应答信号,以便于发送方检测有
8、无数据丢失。一旦数据丢失,则通过重新发送功能将丢失的数据恢复。增强型的ShockBurstTM模式可以同时控制应答及重发功能而无需增加MCU工作量。nRF24L01在接收模式下可以接收6路不同通道的数据。每一个数据通道使用不同的地址,但是共用相同的频道。也就是说6个不同的nRF24L01设置为发送模式后可以与同一个设置为接收模式的nRF24L01进行通讯,而设置为接收模式的nRF24L01可以对这6个发射端进行识别。数据通道0是唯一的一个可以配置为40位自身地址的数据通。道1-5数据通道都为8位自身地址和32位公用地址。所有的数据通道都可以设置为增强型ShockBurst模式。nRF24L01
9、在确认收到数据后记录地址,并以此地址为目标地址发送应答信号。在发送端,数据通道0被用做接收应答信号。因此,数据通道0的接收地址要与发送端地址相等以确保接收到正确的应答信号。nRF24L01配置为增强型的ShockBurstTM发送模式下,时只要MCU有数据要发送,nRF24L01就会启动ShockBurstTM模式来发送数据。在发送完数据后nRF24L01转到接收模式并等待终端的应答信号。如果没有收到应答信号,nRF24L01将重发相同的数据包,直到收到应答信号或重发次数超过SETUP_RETR_ARC寄存器中设置的值为止,如果重发次数超过了设定值则产生MAX_RT中断。只要收到确认信号,nR
10、F24L01就认为最后一包数据已经发送成功(接收方已经收到数据),把TXFIFO中的数据清除掉并产生TX_DS中断IRQ引脚置高)。增强型ShockBurstTM模式下数据包的格式前导码TX_ADDR(3-5字节)9位(标志位)DATA(1-32字节)CRC校验增强型ShockBurstTM 发送模式:1.配置寄存器位PRIM_RX 为低2.当MCU 有数据要发送时,接收节点地址(TX_ADDR)和有效数据(TX_PLD)通过SPI 接口写入nRF24L01。发送数据的长度以字节计数从MCU 写入TX FIFO。当CSN 为低时数据被不断的写入。发送端发送完数据后,将通道0 设置为接收模式来接
11、收应答信号,其接收地址(RX_ADDR_P0)与接收端地址(TX_ADDR)相同3.设置CE 为高,启动发射。CE 高电平持续时间最小为10 us。4.nRF24L01 ShockBurstTM 模式: 无线系统上电 启动内部16MHz 时钟 无线发送数据打包(见数据包描述) 高速发送数据(由MCU 设定为1Mbps 或2Mbps)5.如果启动了自动应答模式(自动重发计数器不等于0,ENAA_P0=1),无线芯片立即进入接收模式。如果在有效应答时间范围内收到应答信号,则认为数据成功发送到了接收端,此时状态寄存器的TX_DS 位置高并把数据从TX FIFO 中清除掉。如果在设定时间范围内没有接收到应答信号,则重新发送数据。如果自动重发计数器(ARC_CNT)溢出(超过了编程设定的值),则状态寄存器的MAX_RT 位置高。不清除TX FIFO 中的数据。当MAX_RT 或TX_DS 为高电平时IRQ 引脚产生中断。IRQ 中断通过写状态寄存器来复位。如果重发次数在达到设定的最大重发次数时还没有收到应答信号的话,在MAX_RX 中断清除之前不会重发数据包。数据包丢失计数器(PLOS_CNT)在每次产生MAX_RT 中断后加一。也就是说
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1