欢迎来到冰豆网! | 帮助中心 分享价值,成长自我!
冰豆网
全部分类
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • 党团工作>
  • ImageVerifierCode 换一换
    首页 冰豆网 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    nRF24L01无线通信模块使用手册.docx

    • 资源ID:30700144       资源大小:199.08KB        全文页数:34页
    • 资源格式: DOCX        下载积分:10金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要10金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    nRF24L01无线通信模块使用手册.docx

    1、nRF24L01无线通信模块使用手册nRF24L01无线通信模块使用手册一、模块简介 该射频模块集成了NORDIC公司生产的无线射频芯片nRF24L01:1支持2.4GHz的全球开放ISM频段,最大发射功率为0dBm22Mbps,传输速率高3功耗低,等待模式时电流消耗仅22uA4多频点125个,满足多点通信及跳频通信需求5在空旷场地,有效通信距离:25m外置天线、10mPCB天线6工作原理简介:发射数据时,第一将nRF24L01配置为发射模式,接着把地址TX_ADDR和数据TX_PLD按照时序由SPI口写入nRF24L01缓存区,TX_PLD必须在CSN为低时连续写入,而TX_ADDR在发射时

    2、写入一次即可,然后CE置为高电平并保持至少10s,延迟130s后发射数据;假设自动应答开启,那么nRF24L01在发射数据后赶忙进入接收模式,接收应答信号。假如收到应答,那么认为此次通信成功,TX_DS置高,同时TX_PLD从发送堆栈中清除;假设未收到应答,那么自动重新发射该数据自动重发已开启,假设重发次数ARC_CNT达到上限,MAX_RT置高,TX_PLD可不能被清除;MAX_RT或TX_DS置高时,使IRQ变低,以便通知MCU。最后发射成功时,假设CE为低,那么nRF24L01进入待机模式1;假设发送堆栈中有数据且CE为高,那么进入下一次发射;假设发送堆栈中许多据且CE为高,那么进入待机

    3、模式2。接收数据时,第一将nRF24L01配置为接收模式,接着延迟130s进入接收状态等待数据的到来。当接收方检测到有效的地址和CRC时,就将数据包储备在接收堆栈中,同时中断标志位RX_DR置高,IRQ变低,以便通知MCU去取数据。假设现在自动应答开启,接收方那么同时进入发射状态回传应答信号。最后接收成功时,假设CE变低,那么nRF24L01进入闲暇模式1。二、模块电气特性参数数值单位供电电压5V最大发射功率0dBm最大数据传输率2Mbps电流消耗发射模式,0dBm11.3mA电流消耗接收模式,2Mbps12.3mA电流消耗掉电模式900nA温度范畴-40+85三、模块引脚说明管脚符号功能方向

    4、1GND电源地2IRQ中断输出O3MISOSPI输出O4MOSISPI输入I5SCKSPI时钟I6NC空7NC空8CSN芯片片选信号I9CE工作模式选择I10+5V电源四、模块与AT89S52单片机接口电路 注:上图为示意连接,可依照自己实际需求进行更换;使用AT89S52MCU模块时,请将Nrf24L01通讯模块每个端口MOSI、SCK、CSN和CE接4.7K的排阻上拉到VCC增强其驱动能力如以下图:。假设使用其它单片机与Nrf24L01通讯模块相连时请串联2K电阻。五、工作模式操纵 工作模式由CE和PWR_UP、PRIM_RX两寄存器共同操纵:模式PWR_UPPRIM_RXCEFIFO寄存

    5、器状态接收模式111-发射模式1011数据储备在FIFO寄存器中,发射所有数据发射模式10012数据储备在FIFO寄存器中,发射一个数据待机模式II101TX FIFO为空待机模式I1-0无正在传输的数据掉电模式0-注1:进入此模式后,只要CSN置高,在FIFO中的数据就会赶忙发射出去,直到所有数据数据发射完毕,之后进入待机模式II。注2:正常的发射模式,CE端的高电平应至少保持10us。24L01将发射一个数据包,之后进入待机模式I。六、数据和操纵接口 通过以下六个引脚,可实现模块的所有功能: IRQ低电平有效,中断输出 CE高电平有效,发射或接收模式操纵 CSNSPI信号 SCKSPI信号

    6、 MOSISPI信号 MISOSPI信号 通过SPI接口,可激活在数据寄存器FIFO中的数据;或者通过SPI命令1个字节长度访问寄存器。 在待机或掉电模式下,单片机通过SPI接口配置模块;在发射或接收模式下,单片机通过SPI接口接收或发射数据。 1SPI指令 所有的SPI指令均在当CSN由低到高开始跳变时执行;从MOSI写命令的同时,MISO实时返回24L01的状态值;SPI指令由命令字节和数据字节两部分组成。SPI命令字节表指令名称指令格式二进制字节数操作说明R_REGISTER000A AAAA15读寄存器。AAAAA表示寄存器地址。W_REGISTER001A AAAA15写寄存器。AA

    7、AAA表示寄存器地址,只能在掉电或待机模式下操作。R_RX_PAYLOAD0110 0001132在接收模式下读132字节RX有效断气。从字节0开始,数据读完后,FIFO寄存器清空。W_TX_PAYLOAD1010 0000132在发射模式下写131字节TX有效数据。从字节0开始。FLUSH_TX1110 00010在发射模式下,清空TX FIFO寄存器。FLUSH_RX1110 00100在接收模式下,清空RX FIFO寄存器。在传输应答信号时不应执行此操作,否那么不能传输完整的应答信号。REUSE_TX_PL1110 00110应用于发射端。重新使用上一次发射的有效数据,当CE=1时,数据

    8、将不断重新发射。在发射数据包过程中,应禁止数据包重用功能。NOP1111 11110空操作。可用于读状态寄存器。 2SPI时序 SPI读写时序见下面两图。在写寄存器之前,一定要进入待机模式或掉电模式。其中,CnSPI指令位;Sn状态寄存器位;Dn数据位低字节在前,高字节在后;每个字节中高位在前SPI读时序SPI写时序七、寄存器内容及说明地址十六进制寄存器位复位值类型说明00CONFIG配置寄存器Reserved70R/W默认为0MASK_RX_DR60R/W可屏蔽中断RX_RD1:中断产生时对IRQ没阻碍0:RX_RD中断产生时,IRQ引脚为低MASK_TX_DS50R/W可屏蔽中断TX_RD

    9、1:中断产生时对IRQ没阻碍0:TX_RD中断产生时,IRQ引脚为低MASK_MAX_RT40R/W可屏蔽中断MAX_RT1:中断产生时对IRQ没阻碍0:MAX_RT中断产生时,IRQ引脚为低EN_CRC31R/WCRC使能。假如EN_AA中任意一位为高,那么EN_CRC为高。CRCO20R/WCRC校验值:0:1字节1:2字节PWR_UP10R/W0:掉电 1:上电PRIM_RX00R/W0:发射模式 1:接收模式01EN_AA Enhanced ShockBurst使能自动应答功能Reserved7:600R/W默认为00ENAA_P551R/W数据通道5自动应答使能位ENAA_P441R

    10、/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_

    11、AW设置地址宽度所有数据通道Reserved7:2000000R/W默认为00000AW1:011R/W接收/发射地址宽度:00:无效01:3字节10:4字节11:5字节04SETUP_RETR自动重发ARD7:40000R/W自动重发延时时刻:0000:250us0001:500us1111:4000usARC3:00011R/W自动重发计数:0000:禁止自动重发0001:自动重发1次1111:自动重发15次05RF_CH射频通道Reserved70R/W默认为0RF_CH6:00000010R/W设置工作通道频率06RF_SETUP射频寄存器Reserved7:5000R/W默认为000

    12、PLL_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中断产生,那么必须清除后才能连续通讯R

    13、X_P_NO3:1111R接收数据通道号:000-101:数据通道号110:未使用111:RX FIFO寄存器为空TX_FULL00RTX FIFO寄存器满标志位08OBSERVE_TX发送检测寄存器PLOS_CNT7:40R数据包丢失计数器。当写RF_CH寄存器时,此寄存器复位。当丢失15个数据包后,此寄存重视启。ARC_CNT3:00R重发计数器。当发送新数据包时,此寄存器复位。09CD载波检测Reserved7:1000000RCD00R0ARX_ADDR_P039:0E7E7E7E7E7R/W数据通道0接收地址。最大长度为5个字节。0BRX_ADDR_P139:0C2C2C2C2C2R

    14、/W数据通道1接收地址。最大长度为5个字节。0CRX_ADDR_P27:0C3R/W数据通道2接收地址。最低字节可设置,高字节必须与RX_ADDR_P139:8相等0DRX_ADDR_P37:0C4R/W数据通道3接收地址。最低字节可设置,高字节必须与RX_ADDR_P139:8相等0ERX_ADDR_P47:0C5R/W数据通道4接收地址。最低字节可设置,高字节必须与RX_ADDR_P139:8相等0FRX_ADDR_P57:0C6R/W数据通道5接收地址。最低字节可设置,高字节必须与RX_ADDR_P139:8相等10TX_ADDR39:0E7E7E7E7E7R/W发送地址。在ShockB

    15、urstTM模式,设置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个字节14RX_PW_P3Reserved7:600R/W默认为00R

    16、X_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置高时,不断发送上一数据包。TX_REUSE通过SPI指令R

    17、EUSE_TX_PL设置;通过W_TX_PALOAD 或 FLUSH_TX复位TX_FULL50RTX_FIFO寄存器满标志1:寄存器满0:寄存器未满,有可用空间TX_EMPTY41RTX_FIFO寄存器空标志1:寄存器空0:寄存器非空Reserved3:200R/W默认为00RX_FULL10RRX FIFO寄存器满标志1:寄存器满0:寄存器未满,有可用空间RX_EMPTY01RRX FIFO寄存器空标志1:寄存器空0:寄存器非空N/ATX_PLD255:0XWN/ARX_PLD255:0XR八、模块编程操纵 1ShockBurstTM发射模式 设置PRIM_RX为低。 通过SPI接口,将接

    18、收节点地址TX_ADDR和有效数据TX_PLD写入模块,写TX_PLD时,CSN必须一直置低。 置CE为高,启动发射。CE高电平连续时刻至少为10us。 ShockBurstTM发射模式: 系统上电 启动内部16MHz时钟 数据打包 数据发射 假设启动了自动应答模式ENAA_P0=1,那么模块赶忙进入接收模式NO_ACK已设置。假如接收到应答信号,那么表示发射成功,TX_DS置高且TX FIFO中的有效数据被移出;假如没有接收到应答信号,那么自动重发自动重发已设置;假如自动重发次数超过最大值ARC,MAX_RT置高,在TX FIFO中的数据不被移出。当MAX_RT和TX_DS置高时,IRQ激活

    19、。只有重新写状态寄存器STATUS才能关闭IRQ。假如重发次数达到最大后,仍没有接收到应答信号,在MAX_RT中断清除之前,可不能再发射数据。PLOS_CNT计数器会增加,每当有一个MAX_RT中断产生。 假如CE置低,那么系统进行待机模式I,否那么发送TX FIFO寄存器中的下一个数据包。当TX FIFO中的数据发射完,CE仍为高时,系统进入待机模式II。 在待机模式II下,CE置低,那么进入待机模式I。 2ShockBurstTM接收模式 设置PRIM_RX为高,配置接收数据通道EN_RXADDR、自动应答寄存器EN_AA和有效数据宽度寄存器RX_PW_PX。 置CE为高,启动接收模式。

    20、130us后,模块检测空中信号, 接收到有效的数据包后地址匹配、CRC检验正确,数据储存在RX FIFO中,RX_DR置高。 假如启动了自动应答功能,那么发送应答信号。 MCU置CE为低,进入先机模式I。 MCU可通过SPI接口将数据读出 模块预备好进入发射模式或接收模式或待机模式。 九、RF通道频率 RF通道频率指的是nRF24L01所使用的中心频率,该频率范畴从2.400GHz到2.525GHz,以1MHz区分一个频点,故有125个频点可使用。 由参数RF_CH确定,公式为:F0 = 2400 + RF_CHMHz 十、例如程序 接收模块与发射模块大部分程序代码相同,如下: 1SPI命令和

    21、寄存器配置头文件API.h依照第六、七两点编写#ifndef _BYTE_DEF_#define _BYTE_DEF_typedef unsigned char BYTE;#endif / SPI命令#define READ_REG 0x00 /读第0个寄存器#define WRITE_REG 0x20 /写第0个寄存器#define RD_RX_PLOAD 0x61 /在接收模式下使用,读有效数据#define WR_TX_PLOAD 0xA0 /在发送模式下使用,写有效数据#define FLUSH_TX 0xE1 /在发送模式下使用,清TX FIFO寄存器#define FLUSH_RX

    22、 0xE2 /在接收模式下使用,清RX FIFO寄存器#define REUSE_TX_PL 0xE3 /发送方使用,重复发送最后的数据#define NOP 0xFF /空操作,用于读状态寄存器STATUS的值/ nRF24L01寄存器地址#define CONFIG 0x00 /配置寄存器,8bit#define EN_AA 0x01 /自动应答设置寄存器,8bit#define EN_RXADDR 0x02 /接收地址设置寄存器,8bit#define SETUP_AW 0x03 /地址宽度设置寄存器,8bit#define SETUP_RETR 0x04 /自动重复发送设置寄存器,8b

    23、it#define RF_CH 0x05 /RF通道寄存器,8bit#define RF_SETUP 0x06 /RF设置寄存器,8bit#define STATUS 0x07 /状态寄存器,8bit#define OBSERVE_TX 0x08 /发送观测寄存器,8bit#define CD 0x09 /载波检测寄存器,8bit,#define RX_ADDR_P0 0x0A /接收地址数据通道0,40bit#define RX_ADDR_P1 0x0B#define RX_ADDR_P2 0x0C#define RX_ADDR_P3 0x0D#define RX_ADDR_P4 0x0E

    24、#define RX_ADDR_P5 0x0F #define TX_ADDR 0x10 /发送地址.发送方使用,40bit#define RX_PW_P0 0x11 /通道0接收的有效数据字节长度(1-32字节),8bit#define RX_PW_P1 0x12#define RX_PW_P2 0x13#define RX_PW_P3 0x14#define RX_PW_P4 0x15#define RX_PW_P5 0x16#define FIFO_STATUS 0x17 /FIFO状态寄存器,8bit 2SPI操作头文件与单片机的接口设置在此头文件中#define uchar unsi

    25、gned char#define TX_ADR_WIDTH 5 /地址长度为5个字节#define TX_PLOAD_WIDTH 20 /数据长度为20个字节uchar const TX_ADDRESSTX_ADR_WIDTH = 0xE7,0xE7,0xE7,0xE7,0xE7;char rx_bufTX_PLOAD_WIDTH; /接收缓冲区uchar flag; /标志位int test12;#define CE P0_0 /芯片使能:Chip Enable#define CSN P0_1 /片选信号:Chip Select Not#define SCK P1_2 /串行时钟信号:Ser

    26、ial Clock#define MOSI P0_3 /主发从收:Master In Slave Out#define MISO P0_4 /主收从发:Master Out Slave In#define IRQ P3_2 /中断查询:Interrupt Requestuchar bdata sta;sbit RX_DR = sta6;sbit TX_DS = sta5;sbit MAX_RT = sta4;uchar SPI_RW(uchar byte)/写一个字节到nRF24L01,并返回现在nRF24L01的状态及数据 uchar bit_ctr; for(bit_ctr=0;bit_ctr8;bit_ctr+) /先写字节的高位,再写低位 MOSI = (byte & 0x80); /MOSI取byte最高位 byte =


    注意事项

    本文(nRF24L01无线通信模块使用手册.docx)为本站会员主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2022 冰点文档网站版权所有

    经营许可证编号:鄂ICP备2022015515号-1

    收起
    展开