nrf2401

nRF2401是单片射频收发芯片,工作于2.4~2.5GHz ISM频段,芯片内置频率合成器、功率放大器、晶体振荡器和调制器等功能模块,输出功率和通信频道可通过程序进行配置。芯片能耗非常低,以-5dBm的功率发射时,工作电流只有10.5mA,接收时工作电流只有18mA,多种低功率工作模式,节能设计更方便。其DuoCeiverTM技术使nRF2401可以使用同一天线,同时接收两个不同频道的数据。nRF2401适用于多种无线通信的场合,如无线数据传输系统、无线鼠标、遥控开锁、遥控玩具等。

nrf2401基本信息

中文名 nrf2401 最新版本 nRF2401A
宽电压范围 1.9V~3.6V 频率范围 2.400GHz~2.524GHz

nRF2401是nRF2401A的早期型号,nRF2401AG是无铅工艺型号。它们完全兼容,硬件可直接替换,代码也可相互使用。

nrf2401造价信息

市场价 信息价 询价
材料名称 规格/型号 市场价
(除税)
工程建议价
(除税)
行情 品牌 单位 税率 供应商 报价日期
暂无数据
材料名称 规格/型号 除税
信息价
含税
信息价
行情 品牌 单位 税率 地区/时间
暂无数据
材料名称 规格/需求量 报价数 最新报价
(元)
供应商 报价地区 最新报价时间
会议桌(IF-2401) 详见附件|5张 3 查看价格 广东华尚实业有限公司 广东   2022-03-19
2401#外墙砖 400×200×6mm|100m² 2 查看价格 佛山市瑞星陶瓷有限公司 广西   2022-06-07
配电箱ALB2401 配电箱 ALB2401|1台 1 查看价格 广东中建普联科技股份有限公司 四川  南充市 2019-12-12
配电箱ALEB2401 配电箱 ALEB2401|1台 1 查看价格 广东中建普联科技股份有限公司 四川  南充市 2019-12-12
低压开关柜AP2401 XL21(改)(详见图纸DQ-00-111)|1台 2 查看价格 广东奥川电气科技有限公司 全国   2020-04-21
低压开关柜AP2401 XL21(改)(详见图纸DQ-00-111)|1台 1 查看价格 广东中建普联股份科技有限公司 全国   2020-02-27
配电箱9APE2401 配电箱 9APE2401|1台 1 查看价格 广东中建普联科技股份有限公司 四川  南充市 2019-12-12
配电箱APEB2401 配电箱 APEB2401|1台 1 查看价格 广东中建普联科技股份有限公司 四川  南充市 2019-12-12

nrf2401电路原理

nRF2401电路原理图

nrf2401引脚定义

nRF2401引脚定义

nrf2401接线图

nRF2401与5V单片机的连接(只适用于高阻口)

◆小体积,QFN24 5x5mm封装

◆宽电压工作范围,1.9V~3.6V

◆工作温度范围,-40℃~ 80℃

◆工作频率范围,2.400GHz~2.524GHz

◆数据传输速率,250Kbps、1Mbps

◆低功耗设计,接收时工作电流18mA,0dBm功率发射时13mA,掉电模式时仅为400uA

◆多通道工作模式,125个数据通道,通道切换时间≤200us,满足多点通讯和调频需要

◆硬件的CRC校验和点对多点的地址控制

◆SPI通讯端口,适合与各种MCU连接,编程简单

◆可通过软件设置工作频率、通讯地址、传输速率和数据包长度

◆MCU可通过接收完成引脚快判断是否完成数据接收

nrf2401常见问题

  • 单片机怎么通过rs232与nrf2401无线模块链接

    无线模块有内置的命令,你根据协议进行发送和接收就好了。NRF2401使用SPI接口的,可以跟单片机直接连的,只是电源需要3.3v的

  • GB/2401是什么规范

    GB/T 2401-2006 阳离子染料 染腈纶时纤维饱和值、染料饱和值及饱和因数的测定

  • 九牧2401-255怎么换阀芯

    呵呵,直接用刀片贴在外盖处,就是有红兰标志的地方吧,轻轻用力就拨开了,然后就会见分别有一颗十字螺丝,松动后取下手柄轮,就可使直接更换阀芯了!

nRF2401 (最新版本为nRF2401A,nRF2401AG为无铅工艺版本)是由Nordic公司出品的单芯片无线收发芯片,工作于2.4GHz~2.5GHz的全球免申请(ISM)频率。芯片包括一个完全集成的频率合成器,功率放大器,晶体振荡器和调制器。发射功率和工作频率等工作参数可以很容易的通过3线SPI端口完成。极低的电流消耗,在-5dBm的输出功率时仅为10.5mA,在接收模式时仅为18mA。掉电模式可以很容易的实现低功耗需求。

nRF2401有工作模式有四种:收发模式、配置模式、空闲模式和关机模式。nRF2401的工作模式由PWR_UP 、CE、CS三个引脚决定。

#include

//

//只需要把自己单片机的I/O 口接上对应

sbit MISO = P1^3;

sbit MOSI = P1^4;

sbit CK = P1^5;

sbit CE = P1^6;

sbit CSN = P3^7;

sbit IRQ = P1^2;

sbit LED2 = P3^5;

sbit LED1 = P3^4;

sbit KEY1 = P3^0;

sbit KEY2 = P3^1;

//SPI(nRF24L01)commands

#define EAD_REG 0x00 //Definereadcommandtoregister

#define ITE_REG 0x20 //Definewritecommandtoregister

#define D_RX_PLOAD 0x61 //DefineRXpayloadregisteraddress

#define LOAD 0xA0 //DefineTXpayloadregisteraddress

#define FLUSH_TX 0xE1 //DefineflushTXregistercommand

#define FLUSH_RX 0xE2 //DefineflushRXregistercommand

#define EUSE_TX_PL 0xE3 //DefinereuseTXpayloadregistercommand

#define Nop0xFF //DefineNoOperation,mightbeusedtoreadstatusregister

//***************************************************//

//SPI(nRF24L01)registers(addresses)

#define CONFIG 0x00 //'Config' registeraddress

#define EN_AA 0x01 //'Enable AutoAcknowledgment'registeraddress

#define EN_RXADDR 0x02 //'Enabled RXaddresses'registeraddress

#define ETUP_AW 0x03 //'Setup addresswidth'registeraddress

#define ETUP_RETR 0x04 //'Setup Auto.Retrans'registeraddress

#define F_CH 0x05 //'RF channel'registeraddress

#define F_SETUP 0x06 //'RF setup'registeraddress

#define ATUS 0x07 //'Status' registeraddress

#define BSERVE_TX 0x08 //'Observe TX'registeraddress

#define CD 0x09 //'Carrier Detect'registeraddress

#define ADDR_P0 0x0A //'RX addresspipe0'registeraddress

#define ADDR_P1 0x0B //'RX addresspipe1'registeraddress

#define ADDR_P2 0x0C //'RX addresspipe2'registeraddress

#define ADDR_P3 0x0D //'RX addresspipe3'registeraddress

#define ADDR_P4 0x0E //'RX addresspipe4'registeraddress

#define ADDR_P5 0x0F //'RX addresspipe5'registeraddress

#define ADDR 0x10 //'TX address'registeraddress

#define 0x11 //'RX payloadwidth,pipe0'registeraddress

#define 1 0x12 //'RX payloadwidth,pipe1'registeraddress

#define 2 0x13 //'RX payloadwidth,pipe2'registeraddress

#define 3 0x14 //'RX payloadwidth,pipe3'registeraddress

#define 4 0x15 //'RX payloadwidth,pipe4'registeraddress

#define 5 0x16 //'RX payloadwidth,pipe5'registeraddress

#define FIFO_STATUS 0x17 //'FIFO StatusRegister'registeraddress

//------------------------------------------------------------// 写一个字节到24L01,同时读出一个字节

uchar SPI_RW(ucharbyte)

{

uchar ;

for (bit_ctr=0;bit_ctr<8;bit_ctr ) //output8-bit

{

MOSI = (byte&0x80);//output'byte', MSBtoMOSI

byte = (byte<<1);//shiftnextbitintoMSB..

SCK = 1;//SetSCKhigh..

byte |= MISO;//capturecurrentMISObit

SCK = 0;//..then setSCKlowagain

}

return(byte);//returnreadbyte

}

// 向寄存器reg写一个字节,同时返回状态字节

uchar SPI_RW_Reg(BYTEreg,BYTEvalue)

{

uchar status;

CSN = 0;//CSNlow, initSPItransaction

status = SPI_RW(reg);//selectregister

SPI_RW(value);//..and writevaluetoit..

CSN = 1;//CSNhighagain

return(status);//returnnRF24L01statusbyte

}

// 读出bytes字节的数据

uchar SPI_Read_Buf(BYTEreg,BYTE*pBuf,BYTEbytes)

{

uchar status,byte_ctr;

CSN = 0;//SetCSNlow,initSPItranaction

status = SPI_RW(reg);//Selectregistertowritetoandreadstatusbyte

for (byte_ctr=0;byte_ctr pBuf[byte_ctr] = SPI_RW(0);//

CSN = 1;

return(status);//returnnRF24L01statusbyte

}

// 写入bytes字节的数据

uchar SPI_Write_Buf(BYTEreg,BYTE*pBuf,BYTEbytes)

{

uchar status,byte_ctr;

CSN = 0;

status = SPI_RW(reg);

for (byte_ctr=0;byte_ctr SPI_RW(*pBuf );

CSN = 1;//SetCSNhighagain

return(status);//

}

// 接收函数,返回1表示有数据收到,否则没有数据接受到

unsigned char nRF24L01_RxPacket(unsignedchar*rx_buf)

{

unsigned char revale=0;

//setinRXmode

SPI_RW_Reg(WRITE_REG CONFIG,0x0f);//SetPWR_UPbit,enableCRC(2bytes)&

Prim:RX.RX_DRenabled..

CE = 1;//SetCEpinhightoenableRXdevice

dalay130us();

sta = SPI_Read(STATUS);//readregisterSTATUS'svalue

if (RX_DR)//ifreceivedataready(RX_DR)interrupt

{

CE = 0;//standbymode

SPI_Read_Buf(RD_RX_PLOAD,rx_buf,TX_PLOAD_WIDTH);//readreceivepayloadfrom

RX_FIFObuffer

revale = 1;

}

SPI_RW_Reg(WRITE_REG STATUS,sta);//clearRX_DRorTX_DSorMAX_RTinterrupt flag

return revale;

}

// 发送函数

voidn RF24L01_TxPacket(unsignedchar*tx_buf)

{

CE = 0;

//SPI_Write_Buf(WRITE_REG TX_ADDR,TX_ADDRESS,TX_ADR_WIDTH);//Writes

TX_AddresstonRF24L01

//SPI_Write_Buf(WRITE_REG RX_ADDR_P0,TX_ADDRESS,TX_ADR_WIDTH);//

RX_Addr0sameasTX_AdrforAuto.Ack

SPI_Write_Buf(WR_TX_PLOAD,tx_buf,TX_PLOAD_WIDTH);//WritesdatatoTXpayload

SPI_RW_Reg(WRITE_REG CONFIG,0x0e);//SetPWR_UPbit,enableCRC(2bytes)&

Prim:TX.MAX_RT&TX_DSenabled..

CE = 1;

dalay10us();

CE = 0;

}

// 配置函数

void nRF24L01_Config(void)

{

//initialio

CE = 0;//chipenable

CSN = 1;//Spidisable

SCK = 0;//Spiclockline inithigh

CE = 0;

SPI_RW_Reg(WRITE_REG CONFIG,0x0f);//SetPWR_UPbit,enableCRC(2bytes)&

Prim:RX.RX_DRenabled..

SPI_RW_Reg(WRITE_REG EN_AA,0x01);

SPI_RW_Reg(WRITE_REG EN_RXADDR,0x01);//EnablePipe0

SPI_RW_Reg(WRITE_REG SETUP_AW,0x02);//Setupaddresswidth=5bytes

SPI_RW_Reg(WRITE_REG SETUP_RETR,0x1a);//500us 86us,10retrans...

SPI_RW_Reg(WRITE_REG RF_CH,0);

SPI_RW_Reg(WRITE_REG RF_SETUP,0x07);//TX_PWR:0dBm,Datarate:1Mbps,

LNA:HCURR

SPI_RW_Reg(WRITE_REG RX_PW_P0,RX_PLOAD_WIDTH);

SPI_Write_Buf(WRITE_REG TX_ADDR,TX_ADDRESS,TX_ADR_WIDTH);

SPI_Write_Buf(WRITE_REG RX_ADDR_P0,TX_ADDRESS,TX_ADR_WIDTH);CE=1;//

}

//////////////////第三维编辑/////////////////////////////////////////////////////

nRF2401的收发模式有ShockBurstTM收发模式和直接收发模式两种,收发模式由器件配置字决定,具体配置将在器件配置部分详细介绍。

ShockBurstTM收发模式

ShockBurstTM收发模式下,使用片内的先入先出堆栈区,数据低速从微控制器送入,但高速(1Mbps)发射,这样可以尽量节能,因此,使用低速的微控制器也能得到很高的射频数据发射速率。与射频协议相关的所有高速信号处理都在片内进行,这种做法有三大好处:尽量节能;低的系统费用(低速微处理器也能进行高速射频发射);数据在空中停留时间短,抗干扰性高。nRF2401的ShockBurstTM技术同时也减小了整个系统的平均工作电流。

在ShockBurstTM收发模式下,nRF2401自动处理字头和CRC校验码。在接收数据时,自动把字头和CRC校验码移去。在发送数据时,自动加上字头和CRC校验码,当发送过程完成后,数据准备好引脚通知微处理器数据发射完毕。

ShockBurstTM发射流程

接口引脚为CE,CLK1,DATA

A. 当微控制器有数据要发送时,其把CE置高,使nRF2401工作;

B. 把接收机的地址和要发送的数据按时序送入nRF2401;

C. 微控制器把CE置低,激发nRF2401进行ShockBurstTM发射;

D. nRF2401的ShockBurstTM发射

给射频前端供电;

射频数据打包(加字头、CRC校验码);

高速发射数据包;

发射完成,nRF2401进入空闲状态。

ShockBurstTM接收流程

接口引脚CE、DR1、CLK1和DATA(接收通道1)

A. 配置本机地址和要接收的数据包大小;

B. 进入接收状态,把CE置高;

C. 200us后,nRF2401进入监视状态,等待数据包的到来;

D. 当接收到正确的数据包(正确的地址和CRC校验码),nRF2401自动把字头、地址和CRC校验位移去;

E. nRF2401通过把DR1(这个引脚一般引起微控制器中断)置高通知微控制器;

F. 微控制器把数据从nRF2401移出;

G. 所有数据移完,nRF2401把DR1置低,此时,如果CE为高,则等待下一个数据包,如果CE为低,开始其它工作流程。

直接收发模式

在直接收发模式下,nRF2401如传统的射频收发器一样工作。

直接发送模式

接口引脚为CE、DATA

A. 当微控制器有数据要发送时,把CE置高;

B. nRF2401射频前端被激活;

C. 所有的射频协议必须在微控制器程序中进行处理(包括字头、地址和CRC校验码)。

直接接收模式

接口引脚为CE、CLK1和DATA

A. 一旦nRF2401被配置为直接接收模式,DATA引脚将根据天线接收到的信号开始高低变化(由于噪声的存在);

B. CLK1引脚也开始工作;

C. 一旦接收到有效的字头,CLK1引脚和DATA引脚将协调工作,把射频数据包以其被发射时的数据从DATA引脚送给微控制器;

D. 这头必须是8位;

E. DR引脚没用上,所有的地址和CRC校验必须在微控制器内部进行。

配置模式

在配置模式,15字节的配置字被送到nRF2401,这通过CS、CLK1和DATA三个引脚完成,具体的配置方法请参考本文的器件配置部分。

空闲模式

nRF2401的空闲模式是为了减小平均工作电流而设计,其最大的优点是,实现节能的同时,缩短芯片的起动时间。在空闲模式下,部分片内晶振仍在工作,此时的工作电流跟外部晶振的频率有关,如外部晶振为4MHz时工作电流为12uA,外部晶振为16MHz时工作电流为32uA。在空闲模式下,配置字的内容保持在nRF2401片内。

关机模式

在关机模式下,为了得到最小的工作电流,一般此时的工作电流小于1uA。关机模式下,配置字的内容也会被保持在nRF2401片内,这是该模式与断电状态最大的区别。

nRF2401内置地址解码器、先入后出堆栈区、解调处理器、时钟处理器、GFSK滤波器、低噪声放大器、频率合成器,功率放大器等功能模块,需要很少的外围元件,因此使用起来非常方便。QFN24引脚封装,外形尺寸只有5×5mm。

nRF2401的所有配置工作都是通过CS、CLK1和DATA三个引脚完成,把其配置为ShockBurstTM收发模式需要15字节的配置字,而如把其配置为直接收发模式只需要2字节的配置字。由上文对nRF2401工作模式的介绍,我们可以知道,nRF2401一般工作于ShockBurstTM收发模式,这样,系统的程序编制会更加简单,并且稳定性也会更高,因此,下文着重介绍把nRF2401配置为ShockBurstTM收发模式的器件配置方法。

ShockBurstTM的配置字使nRF2401能够处理射频协议,在配置完成后,在nRF2401工作的过程中,只需改变其最低一个字节中的内容,以实现接收模式和发送模式之间切换。ShockBurstTM的配置字可以分为以下四个部分:

数据宽度:声明射频数据包中数据占用的位数。这使得nRF2401能够区分接收数据包中的数据和CRC校验码;

地址宽度:声明射频数据包中地址占用的位数。这使得nRF2401能够区分地址和数据;

地址:接收数据的地址,有通道1的地址和通道2的地址;

CRC:使nRF2401能够生成CRC校验码和解码。

当使用nRF2401片内的CRC技术时,要确保在配置字中CRC校验被使能,并且发送和接收使用相同的协议。

在配置模式下,注意保证PWR_UP引脚为高电平,CE引脚为低电平。配置字从最高位开始,依次送入nRF2401。在CS引脚的下降沿,新送入的配置字开始工作。

PCB设计

PCB设计对nRF2401的整体性能影响很大,所以PCB设计在nRF2401收发系统的开发过程中主要的工作之一,在PCB设计时,必须考虑到各种电磁干扰,注意调整电阻、电容和电感的位置,特别要注意电容的位置。

nRF2401的PCB一般都是双层板,底层一般不放置元件,为地层,顶层的空余地方一般都敷上铜,这些敷铜通过过孔与底层的地相连。直流电源及电源滤波电容尽量靠近VDD引脚。nRF2401的供电电源应通过电容隔开,这样有利于给nRF2401提供稳定的电源。在PCB中,尽量多打一些通孔,使顶层和底层的地能够充分接触。

nRF2401通过ShockBurstTM收发模式进行无线数据发送,收发可靠,其外形尺寸小,需要的外围元器件也少,因此,使用方便,在工业控制、消费电子等各个领域都具有广阔的应用前景。

nrf2401文献

基于nRF2401的PLC无线通信控制器 基于nRF2401的PLC无线通信控制器

格式:pdf

大小:139KB

页数: 3页

评分: 4.7

介绍一种利用nRF2401无线通信模块实现PLC间数据无线传输的方法,可使生产现场的PLC灵活布置,并节省布线成本。该系统设计是针对西门子S7-200PLC,单片机从PLC获取现场数据,再将数据传输到nRF2401以实现无线通信,由此实现PLC之间的无线数据传输。经试验表明:该无线通信控制器可在9 m范围实现PLC间数据的无线传输。

立即下载
基于nRF2401和GPRS的无线温度传输系统设计 基于nRF2401和GPRS的无线温度传输系统设计

格式:pdf

大小:139KB

页数: 未知

评分: 4.7

针对环境温度监测传感器传输距离较短的问题,设计一种基于nRF2401短距离无线传输模块和GPRS远距离传输相结合的无线温度监测传输系统,实现环境温度的实时采集,以及温度信息在监测节点、汇聚节点和监控中心之间的无线传输。

立即下载

nrf24l01 nRF2401A(nRF2401AG)

nRF2401A为nRF2401的改进型号(nRF2401AG为无铅工艺型号)。nRF2401A工作在2.4GHz的国际通用ISM免申请频段GFSK调制的无线数传芯片。最高发射功率0dBm,接收灵敏度-90dBm,支持124个接收频率与126个发射频率。使用ShockBurst™传输模式,具备两个独立的数据接收通道。支持250kbps和1Mbps的空中数据速率。使用SPI接口与MCU完成数据通讯与通讯控制等功能。

nrf24l01 nRF24L01

nRF24L01是工作在2.4GHz的国际通用ISM免申请频段GFSK调制的无线数传芯片。最高发射功率0dBm,接收灵敏度为-85dBm,支持125个通讯频率。使用增强型的 Enhanced ShockBurst™传输模式,支持6个数据通道(共用FIFO)。支持1Mbps和2Mbps的空中数据传输速率。使用SPI接口与MCU完成数据通讯与通讯控制等功能。

nrf24l01 与前两者的兼容

RF2401A、nRF24L01和nRF24L01 之间是可以完成相互通讯的。前提是,它们必须在配置的过程中使用相同的通讯频率、空中传输速率、地址长度、地址信息、数据长度和CRC校验方式。

nrf2401相关推荐
  • 相关百科
  • 相关知识
  • 相关专栏