24L01 台产资料
24L01无线射频发射芯片

JTT-24L01+说明书 V1.0JTT-24L01+ 嵌入式微功率无线数传模块JTT-24L01+是一款工作在2.4~2.5GHz频段的单芯片微功率无线收发模块,是世达通科技有限公司采用高性能的无线射频nRF24L01+以及高精度外围元件开发的一款无线通信模块。
模块具有很强的抗干扰能力, 灵敏度高,体积小功耗低,传输距离远的特点,可应用于非常广泛的领域。
应用:车辆监控、遥控、遥测、小型无线网络、无线抄表、楼宇自动化、物流及资产管理、电力安全、智能家居、工业数据采集系统、有源标签、非接触RF 智能卡、安全防火系统、无线遥感遥测试系统、生物信号采集、机器人控制、无线232\485\422数据通信、数字音频、数字图像传输等。
JTT-24L01+说明书 V1.0特点:● 内置 2.4Ghz 天线,体积小巧 15mm X 24mm● 传输距离远,开阔地无干扰视距100米,(具体距离视环境而定)● 真正的GFSK 单收发芯片● 2.4Ghz 全球开放 ISM 频段免许可证使用● 内置链路层● 增强型ShockBurstTM ● 自动应答及自动重发功能● 地址及CRC 检验功能及点对多点通信地址控制●最高工作速率2Mbps,高效 GFSK 调制,抗干扰能力强,特别适合工业控制场合,可以传输音频、视频●标准 DIP 间距接口,便于嵌入式应用● SPI 接口数据速率0~10Mbps● 125 个可选工作频道,满足多点通信和跳频通信需要● 支持无线唤醒,很短的频道切换时间可用于跳频● 可接受5V 电平的输入● 采用10PPM的高精度晶振● 采用高Q值0402封装的电感和电容● 工作电压1.9~3.6V,推荐3.6V,但是不能超过3.6V.可以把电压尽可能靠近3.6V但是不超过3.6VJTT-24L01+ 模块工作条件JTT-24L01+说明书 V1.0符号参数(条件)Min 1.92.7-40Typ. 3.03.0+27Max单位备注模块供电电压(直流)当信号电平大于3.6V 时供电电压工作温度+85°CJTT-24L01+模块电气规范(Vdd = +3V,Vss = 0V , TA = -40 to +85°C )序号符号参数(条件) Idle Modes 掉电模式耗电电流 Standby-I 模式消耗电流 Standby-II 模式消耗电流当晶体起振后1.5mS 内平均电流Transmit0 dBm 功率输出是消耗电流 -6 dBm 功率输出是消耗电流 -12 dBm 功率输出是消耗电流 -16 dBm 功率输出是消耗电流 -6 dBm 功率输出,ShockBurst 模式发射设定时平均消耗电流Receive 2Mbps 时的消耗电流 1Mbps 时的消耗电流 250Kbps 时的消耗电流接收设定时平均消耗电流MinTyp.Max单位备注VDD_PDVDD_ST1VDD_ST2VDD_SUVDD_TX0VDD_TX6VDD_TX12VDD_TX16VDD_AVGVDD_TXS VDD_2MVDD_1MVDD_250VDD_RXS更多的参数,请参考Nordic 官方公布的器件手册。
24L01详细经验之谈

每次开始spi写,读回来的都是状态字。
射频收发工作在2.4~2.4835G
收发共用天线接口
GFSK调制
250k,1M,2M的空中速率
发射输出功率最高0dBm,即1mW
6路1对6星型网络(使用6个data pipe)
#define NOP 0xFF//保留
//*****************SPI(nRF24L01)寄存器地址****************************************************
#define CONFIG 0x00 //配置收发状态,CRC校验模式以及收发状态响应方式
/*reg:待写入的寄存器;value:待写入的值*/
ucharSPI_RW_Reg(uchar reg, uchar value)
{
ucharstatus;定义uchar变量status
CSN = 0;//片选非
status = SPI_RW(reg);//待写入的寄存器地址reg
SPI_RW(value);//写入值为value
自动应答的延时和重发次数是可编程的。
/********************************************************************************/
/*函数:void SetRX_Mode(void)
/*功能:数据接收配置
/********************************************************************************/
24L01模块说明

24L01微功率2.4G高速无线收发模块简介一.24L01模块简介★ 2.4G全球开放ISM频段,最大0dBm发射功率。
★ 支持2M的高速数据传输,减少发射时间,降低平均功耗。
★ 125个频点,满足多点通信和跳频通信需要★ 内置2.4G天线,体积小巧,15X34mm 方便集成使用★ 当工作在应答模式通信时,快速的空中传输及启动时间,极大的降低了平均功耗。
★ 集成了所有与RF协议相关的高速信号处理部分,如:自动重发丢失数据包和自动产生应答信号等,SPI接口可以利用单片机的硬件SPI口连接或用单片机的I/O口进行模拟,内部有FIFO可以与各种高低速微处理器接口,便于使用低成本单片机。
★ 由于链路层完全集成在模块上,非常便于开发。
★ 自动重发功能,自动检查和重发丢失的数据包,重发时间及重发次数可软件控制★ 自动存储未收到的应答信号的数据包★ 自动应答功能,在收到有效数据后,模块自动发送应答信号,无须另行编程★ 内置硬件CRC检错和点对多点通信地址控制★ 数据包传输错误计数器及载波检测功能可用于跳频设置★ 可同时设置六路接收通道地址,可选择性的打开接收通道★ 标准的2.54mmDIP间距接口,便于嵌入式应用。
★ 提供参考源代码,应用原理图等详细资料,上手快,缩短您的开发时间二.24L01模块的应用1、智能家庭、家居应用和无线传感、安全系统;2、控制处理、无线数据连接、遥测、小型无线网络;3、车辆监控、防盗;机器人控制,飞思卡尔智能车控制4、无线抄表、门禁系统、小区传呼;5、工业数据采集系统、生物信号采集、水文气象监控等;三.24L01模块的技术指标产品型号 24L01工作频率 2400-2525M调制方式 GFSK发射功率 0dBm接收灵敏度 -85dBm@1M -82dBm@2M 工作电压 1.9---3.6V谐波1st<-20dBc ; 2nd<-50dB杂散 <-60dBm发射电流 11 mA @0dBm接收电流 12.3mA用户接口方式 SPI工作温度 -30℃~70℃工作湿度 10%~90%相对湿度,无冷凝外形尺寸 15mm×34mm参考距离 开阔地最远80米四.24L01端口定义及连接示意图1、端口定义2、连接示意图3、SPI接口SPI 接口由SCK , MISO , MOSI及CSN组成在待机或掉电模式下,单片机通过SPI接口配置模块的工作参数,在发射或接收模式下,单片机通过SPI接口发送或接收数据,中断接口IRQ可提供如下几种中断输出(可选): 数据发射结束TX_DS,数据接收就绪TX_DR,重发此时达到最大MAX_RF具体模块的SPI配置参数及工作时序请参考NORDIC的官方文件。
nRF24LE1中文数据手册

nRF24LE1 nRF24LU1 模块 多功能编程器 RMB88
号进行解调,当地址与自身地址一致且 CRC 校验正确时,有效数据被送到 RX FIFOs.如果 RX FIFOs 已满,则数据包被丢弃。
射频收发器保持在接收模式直到 MCU 配置其进入待机模式 1 或掉电模式。如果自动应答特 性被开启,则收发器可以进入其他模式,如进入发送模式发送应答确认。
应用 l 电脑外设:鼠标、键盘、远程控制、游戏 l 高级远程控制:音频/视频、娱乐中心、家庭应用 l 有源 RFID、传感网络 l 安全系统:支付、报警、访问控制 l 医疗健康和运动 l 遥控玩具
1
Байду номын сангаас
nRF24LE1 nRF24LU1 模块 多功能编程器 RMB88
可用于唤醒 低电流消耗(典型为 0.75 uA) 差分或单端输入 单端输入阈值可编程设置为 VDD 的 25%,50%,75%,100%或参考电压引脚的任意值 14 通道输入多路选择器 满摆幅输入电压范围 可编程输出极性 加密/解密加速器 使用高速节电的 AES 固件 随机数发生器 基于热噪声的非确认性构架 无需种子数 非重复序列 校正算法保证了均衡的统计分布 数据速率达 10kB 每秒 处理器空闲时操作 系统复位和电源监控视 上电复位和欠压复位 看门狗定时器复位 引脚复位 电源掉电中断通知 片上定时器 3 个以系统时钟运行的 16 位定时/计数器 1 个以 32.768 KHz 为时钟频率的 16 位定时/计数器 片上振荡器 16 MHz 晶体振荡器 16 MHz RC 振荡器 32.768 KHz 晶体振荡器 32.768 KHz RC 振荡器 电源管理功能 支持全静态停止/待机的低功耗设计 可编程时钟频率:125 KHz 到 16 MHz 片上稳压器支持低功耗模式 看门狗和唤醒功能运行在低功耗模式 片上支持 FS2 或 nRFprobe 硬件调试 完整的可用固件 硬件抽象层函数 库函数 Gazell 无线协议 应用实例
NRF24L01中文资料_数据手册_参数

重点:NRF24L01是一个数字芯片,内部有若干寄存器,什么数据寄存器、配置寄存器、状态寄存器等。单片机通过SPI口,首先配置 好NRF24L01的配置寄存器,诸如频道,通道,地址,接收还是发送模式等等。然后分两种情况,一、如果配置为了发送模式,就可 以发送数据了,发送完数据以后,IRQ引脚会拉低,所以观察IRQ引脚就可以知道有没有发送成功;二、如果配置为了接收模式,就 需要不断的观察IRQ引脚,IRQ引脚正常是高电平,如果接收到数据,就会变成低电平,所以观察这个引脚就知道有没有接收到数 据。 新手在做NRF24L01的通信程序时,好拿两个相同的单片机,做相同的程序(除了一个配置未发送,一个配置为接收)。 重中之重:首先要确保单片机和NRF24L01能够正常的SPI通信,这个就好比你和一个阿拉伯人说话,你告它先去家乐福买瓶牛奶,再 去沃尔玛买个鸡腿,然后….,但是如果阿拉伯人根本听不懂你说话,那么…就没有然后了。你用单片机给NRF24L01写配置寄存器, 输入地址,输入频道…稍等,你配置了半天,NRF24L01的寄存器真的如你所想配置好了吗?不确定?这就需要验证。验证方法?太 容易了,找一个可读可写的寄存器,你先写进去,然后再读出来,如果数据一样,那么你的SPI通信就正常,你大可放心的配置了, 如果读出来的数据和写进去的数据不一样,恭喜你,你再和不懂汉语的阿拉伯人说了半天废话,你还是先搞通SPI再说吧。这里我给 你一个寄存器,就是地址寄存器,可读可写,所以你可以用地址寄存器验证一个SPI通信是否正常 如果你不确保你的SPI通信正常,请先确定以后再进行下面的内容,否则就可能要对牛弹琴了。 收发数据的程序,要先判断“数据是否发送出去了”和“是否接收到了”,而不要直接判断发送和接收的数据是否一致。 例如:接收模块,if(IRQ==0)点亮LED1,当程序执行后,当你看到LED1亮了,哇,接收到了。 当你确定接收到数据以后,你再判断接收到的数据和你发送的数据是否一致。 例如:接收模块,if(IRQ==0)把接收到的数据取出来,if(rec[0]==0x88),哇,和我发的一样。 记住了吗?做程序要循序渐进,而不是直接写完。多年亲自试验,不管多大的程序,循序渐进的写,速度是快的
24L01寄存器

地址76543210配置寄存器00reservedMASK_RX_D R MASK_TX_DS MASK_MAX_RTEN_CRC CRCO PWR_UP PRIM_RXCONFIG复位值0000100类型R/WR/WR/W R/W R/W R/W R/WR/W描述默认为0可屏蔽中断RX_RD 1:IRQ引脚不产生RX_RD中断;0:RX_R D中断产生时IRQ引脚电平为低可屏蔽中断TX_DS 1: IRQ引脚不产生TX_DS中断;0:TX_DS中断产生时IRQ 引脚电平为低可屏蔽中断MAX_RT 1:IRQ引脚不产生MAX_RT 中断;0:MA X_RT中断产生时IRQ引CRC使能如果EN_AA中任一位为高则EN_CRC 强迫为高CRC模式0: 8位CRC校验;1: 16位CRC校验1:上电0:掉电1:接收模式0:发射模式地址76543210使能自动应答01reserved reservedENAA_P5ENAA_P4ENAA_P3ENAA_P2ENAA_P1ENAA_P0EN_AA复位值00111111类型R/WR/W R/W R/W R/W R/W R/W R/W 描述默认为0默认为0数据通道5自动应答允许数据通道4自动应答允数据通道3自动应答允数据通道2自动应答允许数据通道1自动应答允许数据通道0自动应答允许地址76543210接收地址允许02reserved reservedERX_P5ERX_P4ERX_P3ERX_P2ERX_P1ERX_P0EN_RXADDR复位值00011类型R/WR/W R/W R/W R/W R/W R/W R/W 描述默认为0默认为0接收数据通道5允许接收数据通道4允许接收数据通道3允许接收数据通道2允许接收数据通道1允许接收数据通道0允许地址7654321设置地址宽度(所有数据通道)03reserved reserved reservedreserve d reservedreservedSETUP_AW复位值00000011类型R/WR/WR/WR/WR/WR/WR/W R/W描述地址76543210建立自动重发04SETUP_REDRAW 默认为0接收/发射地址宽度'00'无效 '01'3字节宽度 '10'4字节宽度'11'5字节宽度ARDARC复位值00000011类型R/W R/W R/W R/W R/WR/WR/WR/W描述地址76543210射频通道05reservedRF_CH复位值0000010类型R/W R/W R/WR/WR/W R/W R/WR/W描述默认为0默认为0地址76543210射频寄存器06reserved reserved reservedPLL_LOCKRF_DR LNA_HCURRRF_SETUP复位值00001111类型R/WR/WR/WR/W R/W R/W R/W R/W 描述默认为0默认为0默认为0锁相环允许 仅用于测试模式数据传输率0:1Mbps 1:2Mbps 低噪声放大增益 默认为1地址76543210状态寄存器07reservedRX_DR TX_DS MAX_RT TX_FULLSTATUS复位值0001类型R/WR/WR/W R/W R/W描述默认为0接收数据中断 当收到有效的数据包后置1 写'1'清除中断数据发送完成中断如工作在自动应答模式下,只有当收到自动应答模式后该位置1写'1'清除中断重发次数溢出中断 写'1'清除中断 如果中断发生则必须清除后系统才能进行通RX_FIFO寄存器满标志1:RX_FIFO寄存器满0:RX_FIFO寄存器未满,有可用空间地址7654321发送检测寄存器08OBSERVE_TX复位值00001000类型描述地址7654321RF_PWR发射功率'00' -18dBm '01' -12dBm '10' -6dBm '11'0dBm RX_P_NO R 自动重发延时 '0000'等待250+86us '0001'等待500+86us '0010'等待750+86us …… '1111'等待4000+86us 自动重发计数 '0000'禁止自动重发 '0001'自动重发1次 …… '1111'自动重发15次RF_CH 设置工作通道频率数据包丢失计数器 当写RF_CH寄存器时此寄存器复位 当丢失15个数据包后此寄存重发计数器 发送新数据包时此寄存器复位接收数据通道号 000—101:数据通道号110:未使用111:RX_FIFO寄存器为空PLOS_CNTARC_CNTR R09Reserved Reserved ReservedReserve d ReservedReserved ReservedCD CD复位值00000000类型RRRRRRRR描述载波检测地址0ARX_ADDR_P0复位值类型描述地址0BRX_ADDR_P1复位值类型描述地址76543210CRX_ADDR_P2复位值类型描述地址76543210DRX_ADDR_P3复位值类型描述地址76543210ERX_ADDR_P4复位值类型描述地址76543210FRX_ADDR_P5复位值类型描述地址39 : 0oxC2C2C2C2C2R/W 数据通道1接收地址 最大长度5个字节(先写低字节,所写字节数量由SETUP_AW设定)oxE7E7E7E7E7R/W 数据通道0接收地址 最大长度5个字节(先写低字节,所写字节数量由SETUP_AW设定)39 : 0R/W数据通道3接收地址 最低字节可设置。
中文24L01

W_REGISTER
001A AAAA 写配置寄存器。AAAAA 指出写操作的寄存器地址 只能在掉电模式或待机模式下操作。
R_RX_PAYLOAD
0110 0001
读 RX 有效数据:1-32 字节。读操作全部从字节 0 开始。 当读 RX 有效数据完成后,FIFO 寄存器中有效数据被清除。 应用于接收模式下。
供电电压
1.9~3.6V
V
最大发射功率
0
dBm
最大数据传输率
2000
kbps
发射模式下,电流消耗(0dBm)
11.3
mA
接收模式下电流消耗(2000kbps)
12.3
mA
温度范围
-40~ +85
℃
数据传输率为 1000kbps 下的灵敏度
-85
dBm
掉电模式下电流消耗
900
nA
表 2-1 基本电气特性
缩短您的开发时间
应用领域: 遥控、遥测、无线抄表、门禁系统、小区传呼、工业数据采集系统、无线标签、 身份识别、非接触RF智能卡、小型无线数据终端、安全防火系统、无线遥控系统、生物信 号采集、水文气象监控、机器人控制、信息家电、无线 232、无线 422/485 数据通信等
二、基本电气特性
参数
数值
单位
00
R/W 默认为‘0’
1
R/W 数据通道 5 自动应答允许
1
R/W 数据通道 4 自动应答允许
1
R/W 数据通道 3 自动应答允许
1
R/W 数据通道 2 自动应答允许
1
R/W 数据通道 1 自动应答允许
1
R/W 数据通道 0 自动应答允许
无线通信24L01操作总结

24L01操作总结初始化一个芯片,如果用一个IO口来模拟协议,那么片选CS = 1;CE = 1; SCK = 0;(时钟线闲时是低电平还是高电平,这个也有讲究,特别是SPI)。
初始化时,先不使能芯片,所以片选拉高,并且使能端也拉高。
初始化函数截图:SPI_Write_Buf函数说明:先传递写操作指令+发送寄存器的地址+用户指定的发送地址+数据个数。
先传递写操作指令+接收寄存器的地址+用户指定的接收地址+数据个数。
SPI_RW_Reg函数说明:主要设置频道,例如接收频道,芯片工作频率,接收的数据宽度,发送速率的频率,以及发射功率等。
24L01常见的指令主函数:SetTX_Mode函数:主要是清除相应的中断位,然后选择校验CRC模式,有8位模式,还有16位模式,并且设置为发送,并设置芯片上电。
nRF24L01_TxPacket函数:主要是设置接收端通道0接收地址,接收地址是TX_ADDRESS。
第二步就开始写入发送命令,并且传递发送数据tx_buff数组的首地址。
发送的数据宽度是20个字节.第三步操作设置寄存器,为什么是0x0e呢,这个需要参照设置寄存器的内容来讨论,设置寄存器的内容如下:从最低位为0可以知道,选择为发射模式。
最后发送了数据,从主函数可以得知,又调用了这个函数。
SPI_RW_Reg(WRITE_REG+STATUS,0XFF);接收模式的主函数如下:unsigned char nRF24L01_RxPacket(unsigned char* rx_buf)函数说明重点是写了一个接收的指令,这个必须有。
巧妙就是接收到数据就返回1,否则返回0;并且sta这个变量读出状态寄存器的内容,然后在接收完数据后,又清理状态寄出器对应的位,这个效果是,读数据保存数据和清除状态寄出器的相应位都互不影响。
从接收的主函数可以知道,程序比较简单。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、模块介绍(1) 2.4Ghz 全球开放ISM 频段免许可证使用(2) 最高工作速率2Mbps,高效GFSK调制,抗干扰能力强,特别适合工业控制场合(3) 126 频道,满足多点通信和跳频通信需要(4) 内置硬件CRC 检错和点对多点通信地址控制(5) 低功耗1.9 - 3.6V 工作,待机模式下状态为22uA;掉电模式下为900nA(6) 内置2.4Ghz 天线,体积种类多样(7) 模块可软件设地址,只有收到本机地址时才会输出数据(提供中断指示),可直接接各种单片机使用,软件编程非常方便(8) 内置专门稳压电路,使用各种电源包括DC/DC 开关电源均有很好的通信效果(9) 2.54MM间距接口,DIP封装(10)工作于Enhanced ShockBurst 具有Automatic packet handling, Auto packet transaction handling,具有可选的内置包应答机制,极大的降低丢包率。
(11)与51系列单片机P0口连接时候,需要加10K的上拉电阻,与其余口连接不需要。
(12)其他系列的单片机,如果是5V的,请参考该系列单片机IO口输出电流大小,如果超过10mA,需要串联电阻分压,否则容易烧毁模块! 如果是3.3V的,可以直接和RF24l01模块的IO口线连接。
比如AVR系列单片机如果是5V 的,一般串接2K 的电阻二、接口电路说明:1) VCC脚接电压范围为1.9V~3.6V之间,不能在这个区间之外,超过3.6V将会烧毁模块。
推荐电压3.3V左右。
(2) 除电源VCC和接地端,其余脚都可以直接和普通的5V单片机IO 口直接相连,无需电平转换。
当然对3V左右的单片机更加适用了。
(3) 硬件上面没有SPI的单片机也可以控制本模块,用普通单片机IO口模拟SPI不需要单片机真正的串口介入,只需要普通的单片机IO口就可以了,当然用串口也可以了。
(4) 如果需要其他封装接口,比如密脚插针,或者其他形式的接口,可以联系我们定做。
三、模块结构和引脚说明NRF24L01 模块使用Nordic 公司的nRF24L01 芯片开发而成。
四、工作方式NRF2401有工作模式有五种:1收发模式2配置模式3空闲模式4关机模式工作模式由PWR_UP register 、PRIM_RX register和CE决定,下表4.1 收发模式收发模式有Enhanced ShockBurstTM收发模式、ShockBurstTM收发模式和直接收发模式三种,收发模式由器件配置字决定,具体配置将在器件配置部分详细介绍。
4.1.1 Enhanced ShockBurstTM收发模式Enhanced ShockBurstTM收发模式下,使用片内的先入先出堆栈区,数据低速从微控制器送入,但高速(1Mbps)发射,这样可以尽量节能,因此,使用低速的微控制器也能得到很高的射频数据发射速率。
与射频协议相关的所有高速信号处理都在片内进行,这种做法有三大好处:尽量节能;低的系统费用(低速微处理器也能进行高速射频发射);数据在空中停留时间短,抗干扰性高。
Enhanced ShockBurstTM技术同时也减小了整个系统的平均工作电流。
在Enhanced ShockBurstTM收发模式下, NRF24L01自动处理字头和CRC校验码。
在接收数据时,自动把字头和CRC校验码移去。
在送数据时,自动加上字头和CRC校验码,在发送模式下,置CE为高,至少10us,将时发送过程完成后。
4.1.1.1 Enhanced ShockBurstTM发射流程A. 把接收机的地址和要发送的数据按时序送入NRF24L01;B. 配置CONFIG寄存器,使之进入发送模式。
C. 微控制器把CE置高(至少10us),激发NRF24L01进行Enhanced ShockBurstTM发射;D. N24L01的Enhanced ShockBurstTM发射(1) 给射频前端供电; (2)射频数据打包(加字头、CRC校验码); (3) 高速发射数据包; (4)发射完成,NRF24L01进入空闲状态。
4.1.1.2 Enhanced ShockBurstTM 接收流程A. 配置本机地址和要接收的数据包大小;B. 配置CONFIG寄存器,使之进入接收模式,把CE置高。
C. 130us后,NRF24L01进入监视状态,等待数据包的到来;D.收到正确的数据包(正确的地址和CRC校验码),NRF2401自动把字头、地址和CRC校验位移去;E. NRF24L01通过把STATUS寄存器的RX_DR置位(STATUS一般引起微控制器中断)通知微控制器;F. 微控制器把数据从NewMsg_RF2401 读出;G. 所有数据读取完毕后,可以清除STATUS寄存器。
NRF2401可以进入4.1.2 ShockBurstTM收发模式ShockBurstTM收发模式可以与Nrf2401a,02,E1及E2兼容,具体表述前看本公司的N-RF2401文档。
4.2 空闲模式NRF24L01的空闲模式是为了减小平均工作电流而设计,其最大的优点是,实现节能的同时,缩短芯片的起动时间。
在空闲模式下,部分片内晶振仍在工作,此时的工作电流跟外部晶振的频率有关。
4.4 关机模式在关机模式下,为了得到最小的工作电流,一般此时的工作电流为900nA左右。
关机模式下,配置字的内容也会被保持在NRF2401片内,这是该模式与断电状态最大的区别。
五、配置NRF24L01模块NRF2401的所有配置工作都是通过SPI完成,共有30字节的配置字。
我们推荐NRF24L01工作于Enhanced ShockBurstTM 收发模式,这种工作模式下,系统的程序编制会更加简单,并且稳定性也会更高,因此,下文着重介绍把NRF24L01配置为Enhanced ShockBurstTM收发模式的器件配置方法。
ShockBurstTM的配置字使NRF24L01能够处理射频协议,在配置完成后,在NRF24L01工作的过程中,只需改变其最低一个字节中的内容,以实现接收模式和发送模式之间切换。
ShockBurstTM的配置字可以分为以下四个部分:数据宽度:声明射频数据包中数据占用的位数。
这使得NRF24L01能够区分接收数据包中的数据和CRC校验码;地址宽度:声明射频数据包中地址占用的位数。
这使得NRF24L01能够区分地址和数据;地址:接收数据的地址,有通道0到通道5的地址;CRC:使NRF24L01能够生成CRC校验码和解码。
当使用NRF24L01片内的CRC技术时,要确保在配置字(CONFIG的EN_CRC)中CRC校验被使能,并且发送和接收使用相同的协议。
NRF24L01配置字的CONFIG寄存器的位描述如下表所示。
NRF24L01 CONFIG 配置字描述我们提供比较完善的测试程序,配套我们测试板可以让你迅速适应。
下面的程序是用STC单周期系列15L204EA ,若用其它型号,请移植程序详解芯片简介 (3)1 NRF24L01 功能框图 (4)2 NRF24L01 状态机 (5)3 Tx 与Rx 的配置过程 (7)3.1 Tx 模式初始化过程 (7)3.2 Rx 模式初始化过程 (8)4 控制程序详解 (9)4.1 函数介绍 (9)4.1.1 uchar SPI_RW(uchar byte) (9)4.1.2 uchar SPI_RW_Reg (uchar reg, uchar value) (10)4.1.3 uchar SPI_Read (uchar reg); (10)4.1.4 uchar SPI_Read_Buf (uchar reg, uchar *pBuf, uchar bytes); (11)4.1.5 uchar SPI_Write_Buf (uchar reg, uchar *pBuf, uchar bytes); (11)4.1.6 void RX_Mode(void) (12)4.1.7 void TX_Mode(void) (13)4.2 NRF24L01 相关命令的宏定义 (13)4.3 NRF24L01 相关寄存器地址的宏定义 (14)5 实际通信过程示波器图 (16)1)发射节点CE 与IRQ 信号 (17)2)SCK 与IRQ 信号(发送成功) (18)3)SCK 与IRQ 信号(发送不成功) (19)芯片简介NRF24L01 是NORDIC 公司最近生产的一款无线通信通信芯片,采用FSK 调制,内部集成NORDIC 自己的Enhanced Short Burst 协议。
可以实现点对点或是1 对6 的无线通信。
无线通信速度可以达到2M(bps)。
NORDIC 公司提供通信模块的GERBER 文件,可以直接加工生产。
嵌入式工程师或是单片机爱好者只需要为单片机系统预留5 个GPIO,1 个中断输入引脚,就可以很容易实现无线通信的功能,非常适合用来为MCU 系统构建无线通信功能。
1 NRF24L01 功能框图Fig.1 NRF24L01 BLOCK DIAGRAMNRF24L01 的框图如Fig.1 所示,从单片机控制的角度来看,我们只需要关注Fig.1 右面的六个控制和数据信号,分别为CSN、SCK、MISO、MOSI、IRQ、CE。
CSN:芯片的片选线,CSN 为低电平芯片工作。
SCK:芯片控制的时钟线(SPI 时钟)MISO:芯片控制数据线(Master input slave output)MOSI:芯片控制数据线(Master output slave input)IRQ:中断信号。
无线通信过程中MCU 主要是通过IRQ 与NRF24L01 进行通信。
CE:芯片的模式控制线。
在CSN 为低的情况下,CE 协同NRF24L01 的CONFIG 寄存器共同决定NRF24L01 的状态(参照NRF24L01 的状态机)。
2 NRF24L01 状态机NRF24L01 的状态机见Fig.2 所示,对于NRF24L01 的固件编程工作主要是参照NRF24L01 的状态机。
主要有以下几个状态Power Down Mode:掉电模式Tx Mode:发射模式Rx Mode:接收模式Standby-1Mode:待机1 模式Standby-2 Mode:待机2 模式上面五种模式之间的相互切换方法以及切换所需要的时间参照Fig.2Fig.2 NRF24L01 State Machine对24L01 的固件编程的基本思路如下:1)置CSN 为低,使能芯片,配置芯片各个参数。
(过程见3.Tx 与Rx 的配置过程)配置参数在Power Down 状态中完成。