NRF术语表SPI指令表
关于使用STM32硬件SPI驱动NRF24L01
关于使用STM32硬件SPI驱动NRF24L01+ 今天是大年初一总算有时间做点想做很久的事了,说到NRF2401可能很多电子爱好者都有用过或是软件模拟驱动又或是用单片机自带的硬件SPI来驱动,但不管是用哪种方法来驱动我想都在调试方面耗费了不少的时间(可能那些所谓的电子工程师不会出现这种情况吧!)网上的资料确实很多,但大多数都并没有经过发贴人认真测试过,有的只是理论上可以行的通但上机测试只能说是拿回来给他修改。
本文作者也是经过无助的多少天才算是调试成功了(基于STM32硬件SPI,软件模拟的以前用51单片机已经调通了今天就不准备再拿来讲了,当然如果以后有朋友有需要也可以告诉我,我也可以重新写一篇关于51的驱动的只要有时间是没有问题的。
)因为我用的是STM32F103C8T6的系统而且是刚接触不知道别的系统和我用的这个系统有多大的差别所以我不会整个代码全贴上来就完事了,我将就着重思路配合代码写出来,这样对于刚接触单片机的朋友会有很好的作用,但是还有一点请大家要原谅,可能会存在一些说的不好的地方,毕竟我没有经过正规渠道系统地学习过电子知识,对于前辈来说存在这样那样的问题不可避免的,在此也希望大家指教!贴个图先:NRF2401+的资料大家上网查一下,我输字的速度有点不好说!下面我来说一下整个调试流程吧1.先把STM32串口一调通(因为我不知道STM32 I/O口不知可不可以像51那样并口输出数据,如果可以那就更方便啰)。
2.与NRF2401建立起通信(这个才是问题的关键);3.利用读NRF2401的一个状态寄存器(STATUS)的值并通过串口发送到PC后通过51下载软件的串口助手显示出来(如果你用液晶来调试那你太有才了,你液晶和NRF2401存在牵连可能就会给寻找不成功的原因造成困难,而且还有不少硬件工作要做)在这说一下本文只调试发送程序,致于接收只改一个程序参数就行了。
我们先来调试STM32F103C8T6的串口1吧(也就是USART1)!它是STM32F103C8T6的片上外设之一,使用它时相对来说简单了不少。
欧姆龙指令表
编程指令顺序输入指令顺序输出指令顺序输出指令定时器和计数器指令比较指令数据传送指令指令助记符装载LD装载非LD NOT与AND与非AND NOT或OR或非OR NOT与装载AND LD或装载OR LD非NOT条件ON UP条件OFF DOWN指令助记符输出OUT输出非OUT NOT保持KEEP上升沿微分DIFU下降沿微分DIFD置位SET复位RSET多位置位SETA多位复位RSTA单一位置位SETB单一位复位RSTB指令助记符结束END空操作NOP联锁IL联锁解除ILC多联锁区别保持MILH 多联锁区别释放MILR 多联锁解除MILC跳转JMP跳转结束JME条件跳转CJPFOR循环FOR循环终止BREAK下一个循环NEXT指令助记符定时器TIM编辑指令数据移位指令递增/递减指令四则运算指令转换指令逻辑指令特殊算术指令特殊算术指令表格数据处理指令数据控制指令指令助记符移位寄存器SFT可逆移位寄存器SFTR字移位WSFT算术左移ASL算术右移ASR循环左移ROL循环右移ROR一个数字左移SLD一个数字右移SRD左移N位NASL双字左移N位NSLL右移N位NASR双字右移N位NSRL指令助记符二进制递增++双字二进制递增++L二进制递减--双字二进制递减--LBCD递增++B双字BCD递增++BLBCD递减--B双字BCD递减--BL指令助记符无进位带符号二进制加法+无进位带符号双字二进制加法+L有进位带符号二进制加法+C有进位带符号双字二进制加法+CL 无进位BCD加法+B无进位双字BCD加法+BL有进位BCD加法+BC有进位双字BCD加法+BCL无进位带符号二进制减法-无进位带符号双字二进制减法-L 有进位带符号二进制减法-C有进位带符号双字二进制减法-CL 无进位BCD减法-B无进位双字BCD减法-BL有进位BCD减法-BC有进位双字BCD减法-BCL带符号二进制乘法*带符号双字二进制乘法*LBCD乘法*B双字BCD乘法*BL带符号二进制除法/带符号双字二进制除法/LBCD除法/B双字BCD除法/BL指令助记符BCD→二进制BIN双字BCD→双字二进制BINL二进制→BCD BCD双字二进制→双字BCD BCDL二进制求补NEG数据译码MLPX数据编码DMPXASCⅡ转换码ASCASCⅡ→HEX HEX指令助记符逻辑与ANDW双字逻辑与ANDL逻辑或ORW双字逻辑或ORWL异或XORW双字异或XORL求补COM双字求补COML指令助记符算术处理APR位计数器BCNT指令助记符浮点数→16位FIX浮点数→32位FIXL16位→浮点数FLT32位→浮点数FLTL浮点数加法+F浮点数减法-F浮点数除法/F浮点数乘法*F浮点符号比较LD, AND, OR+=FLD, AND, OR+<>FLD, AND, OR+<FLD, AND, OR+<=FLD, AND, OR+>FLD, AND, OR+>=F浮点数→ASCⅡFSTR ASCⅡ→浮点数FVAL指令助记符交换字节SWAP帧校验和FCS指令助记符带自调整的PID控制PIDAT 时间比例输出TPO标度SCL标度2 SCL2标度3 SCL3平均值AVG子程序指令中断控制指令高速计数器和脉冲输出指令步指令I/O单元指令串行通信指令时钟指令故障诊断指令其他指令指令助记符子程序调用SBS子程序进入SBN子程序返回RET指令助记符设置中断屏蔽MSKS清除中断CLI禁止中断DI允许中断EI指令助记符模式控制INI高速计数器当前值读取PRV 比较表载入CTBL速度输出SPED设置脉冲PULS脉冲输出PLS2加速度模式ACC原点搜索ORG可变占空比系数脉冲PWM 指令助记符步定义STEP步启动SNXT指令助记符I/O刷新IORF7段译码SDEC数字开关输入DSW矩阵输入MTR7段显示输出7SEG指令助记符发送TXD接收RXD指令助记符日历加法CADD日历减法CSUB时钟调整DATE指令助记符故障报警FAL严重故障报警FALS指令助记符设置进位STC清除进位CLC延长最大循环时间WDT TIMX计数器CNTCNTX高速定时器TIMHTIMHX1MS定时器TMHHTMHHX累计定时器TTIMTTIMX长时间定时器TIMLTIMLX可逆计数器CNTRCNTRX定时器/计数器复位CNRCNRX指令助记符输入比较指令(无符号)LD,AND,OR+=LD,AND,OR+<> LD,AND,OR+< LD,AND,OR+<=LD,AND,OR+> LD,AND,OR+>=输入比较指令(双字长,无符号) LD,AND,OR+=+L LD,AND,OR+<>+L LD,AND,OR+<+L LD,AND,OR+<=+L LD,AND,OR+>+L LD,AND,OR+>=+L 输入比较指令(带符号)LD,AND,OR+=+S LD,AND,OR+<>+S LD,AND,OR+<+S LD,AND,OR+<=+SLD,AND,OR+>+SLD,AND,OR+>=+S输入比较指令(双字长,带符号)LD,AND,OR+=+SLLD,AND,OR+<>+SLLD,AND,OR+<+SLLD,AND,OR+<=+SLLD,AND,OR+>+SLLD,AND,OR+>=+SL时间比较指令=DT<>DT<DT<=DT>DT>=DT比较CMP双字比较CMPL带符号二进制比较CPS双字长带符号二进制比较CPSL 表格比较TCMP无符号块比较BCMP区域范围比较ZCP双区域范围比较ZCPL指令助记符传送MOV双字长传送MOVL传送非MVN传送位MOVB数字传送MOVD多位传送XFRB块传送XFER块置位BSET数据交换XCHG单字分配DIST数据收集COLL。
NRF24L01+寄存器及指令集
寄存器读地址 AAAAA //读地址时,直接输入寄存器地址就可以。
空操作0xff //空操作,把要读的地址用spi写入后,需要写0xff,(写0xff的同时无线模块会输出该寄存器的设置)写寄存器地址1AAAAA //相当于二进制100000是十六进制的0x20,比如要写0x00寄存器的时候,要写0x00+0x20等于的值寄存器 0x60 255位~0位无线接收寄存器(高字节先输出)寄存器 0x61 255位~0位无线接收寄存器(低字节先输出)寄存器 0xc2 写0xff 清空无线接收寄存器(直接写0xe2,0xff)寄存器 0x80 255位~0位无线发送寄存器(写入数据可以发送出去)(直接写0xa0,uchar数据,uchar数据。
32字节)寄存器 0x90 255位~0位无线发送寄存器(写入数据可以发送出去,但不使用应答)(直接写0xb0,uchar数据,uchar数据。
32字节)寄存器 0xc1 写0xff 清空发送寄存器(直接写0xe1,0xff)寄存器 0xc3 数据重发(写地址0xe3)寄存器 0x00 7不用6接收完成中断使能(1关0开中断产生时IRQ脚底电平)5发送完成中断使能4接收满中断3校验使能2校验位选择(0:8位1:9位)1无线使能(1开,0关)0无线工作方式(1接收模式0发送模式)寄存器 0x01 7不用6不用5数据通道5自动应答(1开0关)4数据通道4自动应答(1开0关)3数据通道3自动应答(1开0关)2数据通道2自动应答(1开0关)1数据通道1自动应答(1开0关)0数据通道0自动应答(1开0关)寄存器 0x027不用6 不用5 接收通道5允许(1开,0关)4 接收通道4允许(1开,0关)3 接收通道3允许(1开,0关)2 接收通道2允许(1开,0关)1 接收通道1允许(1开,0关)0 接收通道0允许(1开,0关)寄存器 0x0376543210RX / TX地址字段宽度(00:无效01:3字节10:4字节11:5字节)寄存器 0x047654自动重发延时0000:250微秒 0001:500微秒。
【最新资料】NRF24L01_学习笔记
按照如下方式在电路板上安排的管脚8 76 54 32 1各管脚如下定义:8.IRQ 7.MISO6.MOSI 5.SCK4.CSN 3.CE2.VCC 1.GND具体说明:3.CE 芯片的模式控制线。
在CSN 为低的情况下,CE 协同NRF24L01 的CONFIG 寄存器共同决定NRF24L01 的状态(参照NRF24L01 的状态机)。
4.CSN 为芯片的片选线CSN 为低电平芯片工作5.SCK 为芯片控制的时钟线(SPI时钟)6.MOSI 为芯片控制数据线(Master output slave input)主输出从输入7.MISO 芯片控制数据线(Master input slave output)master 硕士主人船长slave 从属奴隶主输入从输出8.IRQ 中断信号引脚。
中断时变为低电平,即NRF24L01内部发生中断时IRQ 引脚从高电平变为低电平。
引脚会在以下三种情况变低:Tx FIFO 发完并且收到ACK(使能ACK情况下)、Rx FIFO 收到数据、达到最大重发次数。
中断:nRF24L01 的中断引脚(IRQ)为低电平触发,当状态寄存器中TX_DS(数据发送完成中断位)、RX_DR(接收数据中断位)或MAX_RT(达到最多次重发中断位)为高时触发中断。
当MCU 给中断源写‘1’时,中断引脚被禁止。
可屏蔽中断可以被IRQ 中断屏蔽。
通过设置可屏蔽中断位为高,则中断响应被禁止。
默认状态下所有的中断源是被禁止的。
在写寄存器之前一定要进入待机模式或掉电模式NRF24L01有以下工作模式:其工作模式又CE和寄存器内部PWR_UP、PRIM_RX共同控制,见下表:NRF24L01所处模式 PWR_UP位状态PRIM_RX位状态CE引脚电平FIFO 寄存器状态接收模式 1 1 1 -发送模式 1 0 1 数据在TX FIFO 寄存器中发送模式 1 0 1→0 停留在发送模式,直至数据发送完待机模式II 1 0 1 TX FIFO 为空待机模式I 1 - 0 无数据传输掉电模式0 - - -PWR_UP和PRIM_RX 在配置寄存器(CONFIG)中设置,配置寄存器如下:配置寄存器:寄存器地址:00名称:CONFIGCON FIG配置寄存器(配置NRF24L0 1一些工作方式)第7位第6位(MASK_RX_DR)第5位(MASK_TX_DS)第4位(MASK_MAX_RT)第3位(EN_CRC)第2位(CRCO)第1位(PWR_UP)第0位(PRIM_RX)保留(未用)(MASK_RX_DR)可屏蔽中断RX_RD。
单片机术语中英文对照表
单片机术语中英文对照表PC=progammer counter//程序计数器ACC=accumulate//累加器PSW=progammer status word//程序状态字SP=stack point//堆栈指针DPTR=data point register//数据指针寄存器IP=interrupt priority//中断优先级IE=interrupt enable//中断使能TMOD=timer mode//定时器方式(定时器/计数器控制寄存器) ALE=alter(变更,可能是)PSEN=progammer saving enable//程序存储器使能(选择外部程序存储器的意思)EA=enable all(允许所有中断)完整应该是enable all interrupt PROG=progamme(程序)SFR=special funtion register//特殊功能寄存器TCON=timer control//定时器控制PCON=power control//电源控制MSB=most significant bit//最高有效位LSB=last significant bit//最低有效位CY=carry//进位(标志)AC=assistant carry//辅助进位OV=overflow//溢出ORG=originally//起始来源DB=define byte//字节定义EQU=equal//等于DW=define word//字定义E=enable//使能OE=output enable//输出使能RD=read//读WR=write//写中断部分:INT0=interrupt0//中断0INT1=interrupt1//中断1T0=timer0//定时器0T1=timer1//定时器1TF1=timer1flag//定时器1标志(其实是定时器1中断标志位)IE1=interrupt exterior//(外部中断请求,可能是)IT1=interrupt touch//(外部中断触发方式,可能是)ES=enable serial//串行使能ET=enable timer//定时器使能EX=enable exterior//外部使能(中断)PX=priority exterior//外部中断优先级PT=priority timer//定时器优先级PS=priority serial//串口优先级参考PC=Progammer Counter //程序计数器寄存器部分:SFR=special funtion register //特殊功能寄存器(片内RAM 80H~FFH)ACC= accumulate//累加器PSW=progammer status word //程序状态字SP=stack point//堆栈指针DPL,DPH,DPTR=data point register //数据指针寄存器的低8位和高8位IE=interrupt enable// 中断使能IP=interrupt priority//中断优先级PCON=power control//电源控制SCON=serial control//串行口控制SBUF=serial buffer//串行数据缓冲TCON=timer control//定时器控制TMOD=timer mode//定时器方式PSW:CY=carry(psw.7) //进位(标志)AC=auxiliary carry (psw.6) //辅助进位F0=(psw.5) //用户自定义标志位RS1,RS0=register select (psw.4,psw.3)//工作寄存器组选择位OV=overflow(psw.2) //溢出P=parity(psw.0) //奇偶校验位IE:EA=Enable All Interrupt //CPU开/关中断控制位ET1=Enable Timer //定时器2溢出中断允许位ES=Enable Serial Port //串行口中断允许位EX=Enable External //外部中断1的中断允许位IP:PS=Priority Serial //串口优先级PT=Priority Timer //定时器优先级PX=Priority External //外部中断优先级SCON:RI=Receive Interrupt//串行口接收中断请求标志位TI=Transmit Interrupt//串行口发送中断请求标志位TCON:TF1=Timer1 Overflow Flag //定时器1溢出中断请求标志TR1=Timer1 Run//定时器1启动控制位IE1=Interrupt Edge//外部中断1请求标志位IT1=Interrupt Trigger//外部中断1触发方式选择位8051引脚:RST=RESET(9)//复位,重启P3:RXD=Received eXchange Data(10,p3.0)//接收串行数据TXD=Transmit eXchange Data(11,p3.1)//发送串行数据INT0=interrupt 0(12,p3.2)//中断0INT1=interrupt 1(13,p3.3)//中断1T0=timer 0(14,p3.4)//定时器0T1=timer 1(15,p3.5)//定时器1RD=ReaD(16,p3.6)//外部数据存储器(RAM)的读信号WR=WRite(17,p3.7)//外部数据存储器(RAM)的写信号XTAL2,XTAL1=External Crystal Oscillator (18,19) //外部晶体振荡器PSEN=Program Store Enable(29) //程序存储器(ROM)使能ALE=Address Latch Enable(30) //地址锁存EA=External Address Enable(31) //外部程序存储器(ROM)地址允许其它:OE=output enable //输出使能MSB = most significant bit//最高有效位LSB = last significant bit//最低有效位ORG = originally //起始来源DB = define byte //字节定义EQU = equal //等于DW = define word //字定义CLKOUT=Clock out,时钟输出BUSWDITH:总线宽度Vref:参考电压(带ADC的单片机中有的)HSO=High Speed Output,高速输出HIS=High Speed Input:高速输入INST=Instruction,指令READY就绪,总线中的就绪信号或引脚NMI=No Mask Interruput (Input):不可屏蔽的中断请求(输入)BHE=Bank High Enable:存储器的高位允许,如在80286系统中RAM 的组织为16位的,分为高8位和低8位数据,分别的控制信号为BHE 和BLEWelcome To Download !!!欢迎您的下载,资料仅供参考!。
FNC 指令表
—
○
○
外围设备I/O
70
ROR
数字键入输入
—
—
○ห้องสมุดไป่ตู้
○
71
ROL
16键输入
—
—
○
○
72
RCR
数字式开关
○
○
○
○
73
RCL
7段详码
—
—
○
○
74
SFTR
7段码按时间
○
○
○
○
75
SFTL
箭头开关
—
—
○
○
76
WSFR
ASCII码变换
—
—
○
○
77
WSFL
ASCII码打印输出
—
—
○
○
78
SFWR
BFM读出
—
○
○
○
79
SFDR
BFM写入
—
○
○
○
外围设备SER
80
RS
串行数据传送
○
○
○
○
81
PRUN
8进制位传送
○
○
○
○
82
ASCI
HEX—ASCII转换
○
○
○
○
83
HEX
ASCII—HEX转换
○
○
○
○
84
CCD
校验码
○
○
○
○
85
VRRD
电位器读出
○
○
○
○
86
VRSC
电位器刻度
○
nRF905模块使用手册
基本特点
(1) 433Mhz 开放 ISM 频段免许可证使用; (2) 最高工作速率 50kbps,通信距离可达 300 米左右; (3) 高效 GFSK 调制,抗干扰能力强,特别适合工业控制场合; (4) 工作频率可软件设置,满足多点通信和跳频通信需要; (5) 内置硬件 8、16 位 CRC 检错和点对多点通信地址控制;
联系电话:13704018223 陈 工 在线咨询:QQ:35625400 474882985
E-mail: chj_006@ MSN:ll88mm88@
NewMsgTech
术同时也减小了整个系统的平均工作电流。 在 ShockBurstTM 收发模式下,nRF905 自动处理字头和 CRC 校
NewMsgTech
nRF905 无线模块 用户手册
联系电话:13704018223 陈 工 在线咨询:QQ:35625400 474882985
E-mail: chj_006@ MSN:ll88mm88@
NewMsgTech
E-mail: chj_006@ MSN:ll88mm88@
NewMsgTech
模块尺寸(单位:mm)
RF905B 尺寸图(PCB 差分环形天线)
RF905SE 尺寸图(SMA 天线接口)
联系电话:13704018223 陈 工 在线咨询:QQ:35625400 474882985
E-mail: chj_006@ MSN:ll88mm88@
NewMsgTech
工作方式
nRF905一共有四种工作模式, 其中有两种正常RX/TX 模式和
两种节电模式。
正常模式
ShockBurst RX
ShockBurst TX
nrf24L01中文资料
单片2.4G 无线射频收发芯片nRF24L01===================================================特性● 真正的GFSK● 内置链路层● 增强型ShockBurst TM● 自动应答及自动重发功能 ● 地址及CRC 检验功能● 数据传输率1或2Mbps ● SPI 接口数据速率0~8Mbps ● 125个可选工作频道● 很短的频道切换时间可用于跳频 ● 与nRF 24XX 系列完全兼容 ● 可接受5V 电平的输入 ● 20脚QFN 44mm 封装 ● 极低的晶振要求60ppm ● 低成本电感和双面PCB 板 ● 工作电压 1.9~3.6V 应用● 无线鼠标键盘游戏机操纵杆 ● 无线门禁● 无线数据通讯 ● 安防系统 ● 遥控装置 ● 遥感勘测● 智能运动设备 ● 工业传感器 ● 玩具 概述:nRF24L01是一款工作在2.4~2.5GHz 世界通用ISM 频段的单片无线收发器芯片无线收发器包括:频率发生器增强型SchockBurst TM 模式控制器功率放大器晶体振荡器调制器解调器输出功率频道选择和协议的设置可以通过SPI 接口进行设置极低的电流消耗当工作在发射模式下发射功率为-6dBm 时电流消耗为9.0mA 接收模式时为12.3mA掉电模式和待机模式下电流消耗更低 快速参考数据参数 数值 单位最低供电电压 1.9 V最大发射功率 0 dBm最大数据传输率 2000 kbps发射模式下电流消耗0dBm 11.3 mA接收模式下电流消耗2000kbps 12.3 mA温度范围 -40~ +85数据传输率为1000kbps 下的灵敏度 -85 dBm掉电模式下电流消耗 900 nA 表1 nRF24L01快速参考数据很短的时间???hehe,,有想法,,,是Mbps,,,,要利用好,,,这是在此功耗下,,,大的功耗消耗更大丠丠dBm=10*lg(P/1mW)为0.9uA 1mW W分类信息型号描述版本nRF24L01 IC 裸片 DnRF24L01 20脚QFN 4*4mm,RoHS&SS-00259compliant DnRF24L01-EVKIT 评估套件 1.0表2nRF24L01 分类信息结构方框图:图1 nRF24L01 及外部接口引脚及其功能引脚名称引脚功能描述1 CE 数字输入 RX或TX模式选择2 CSN 数字输入 SPI片选信号3 SCK 数字输入 SPI时钟4 MOSI 数字输入从SPI数据输入脚5 MISO 数字输出从SPI数据输出脚6 IRQ 数字输出可屏蔽中断脚7 VDD 电源电源+3V8 VSS 电源接地0V9 XC2 模拟输出晶体震荡器2脚10 XC1 模拟输入晶体震荡器1脚/外部时钟输入脚11 VDD_PA 电源输出给RF的功率放大器提供的+1.8V电源12 ANT1 天线天线接口113 ANT2 天线天线接口214 VSS 电源接地0V15 VDD 电源电源+3V16 IREF 模拟输入参考电流17 VSS 电源接地0V18 VDD 电源电源+3V19 DVDD 电源输出去耦电路电源正极端20 VSS 电源接地0V表3nRF24L01引脚功能图2 引脚封装电气特性参数+27 +85 高电平输出电压=-0.5mA 高电平输出电压=0.5mA 160 320R GFSK >0 1800 2000 单通道工作电流单通道工作电流0.1%BRE(@2000kbps)图3nRF24L01外形封装尺寸极限范围供电电压VDD…………………………….-0.3V~+3.6VVSS (0V)输入电压V I………………………………-0.3V~5.25V输出电压V O……………………………. VSS~VDD总功耗=85……………………… 60mWPD T温度工作温度……………………-40~+85存储器温度…………………-40~+125注意:若超出上述极限值可能对元器件有损害静电敏感元件术语表术语描述ACK 确认信号应答信号ART 自动重发CE 芯片使能CLK 时钟信号CRC 循环冗余校验CSN 片选非ESB 增强型ShockBrust TMGFSK 高斯键控频移IRQ 中断请求ISM 工业科学医学LNA 低噪声放大LSB 最低有效位LSByte 最低有效字节Mbps 兆位/秒MCU 微控制器MISO 主机输入从机输出MOSI 主机输出从机输入MSB 最高有效位MSByte 最高有效字节PCB 印刷电路板PER 数据包误码率PID 数据包识别位PLD 载波PRX 接收源PTX 发射源PWR_DWN 掉电PWR_UP 上电RX 接收RX_DR 接收数据准备就绪SPI 串行可编程接口TX 发送TX_DS 已发送数据表5术语表功能描述工作模式nRF24L01可以设置为以下几种主要的模式模式PWR_UP PRIM_RX CE FIFO寄存器状态-接收模式 1 1 1数据在TX FIFO寄存器中发送模式 1 0 1发送模式 1 0 10 停留在发送模式直至数据发送完TX FIFO为空待机模式II 1 0 1待机模式I 1 - 0无数据传输-掉电模式0 - -表6 nRF24L01主要工作模式关于nRF24L01 I/O脚更详细的描述请参见下面的表7nRF24L01在不同模式下的引脚功能引脚名称 方向 发送模式接收模式 待机模式 掉电模式CE 输入 高电平>10us 高电平低电平-CSN 输入 SPI 片选使能低电平使能SCK 输入 SPI 时钟 MOSI输入 SPI 串行输入 MISO 三态输出 SPI 串行输出 IRQ输出 中断低电平使能表7nRF24L01引脚功能待机模式待机模式I在保证快速启动的同时减少系统平均消耗电流在待机模式I 下晶振正常工作在待机模式II 下部分时钟缓冲器处在工作模式当发送端TX FIFO 寄存器为空并且CE 为高电平时进入待机模式II 在待机模式期间寄存器配置字内容保持不变掉电模式在掉电模式下,nRF24L01各功能关闭保持电流消耗最小进入掉电模式后nRF24L01停止工作但寄存器内容保持不变启动时间见表格13掉电模式由寄存器中PWR_UP 位来控制数据包处理方式nRF24L01有如下几种数据包处理方式ShockBurst TM 与nRF2401nRF24E1nRF2402nRF24E2数据传输率为1Mbps 时相同 增强型ShockBurst TM 模式ShockBurst TM 模式ShockBurst 模式下nRF24L01可以与成本较低的低速MCU 相连高速信号处理是由芯片内部的射频协议处理的nRF24L01提供SPI 接口数据率取决于单片机本身接口速度ShockBurst 模式通过允许与单片机低速通信而无线部分高速通信减小了通信的平均消耗电流在ShockBurst TM 接收模式下当接收到有效的地址和数据时IRQ 通知MCU 随后MCU 可将接收到的数据从RX FIFO 寄存器中读出 在ShockBurst TM发送模式下nRF24L01自动生成前导码及CRC 校验参见表格12数据发送完毕后IRQ 通知MCU 减少了MCU 的查询时间也就意味着减少了MCU 的工作量同时减少了软件的开发时间nRF24L01内部有三个不同的RX FIFO 寄存器6个通道共享此寄存器和三个不同的TX FIFO 寄存器在掉电模式下待机模式下和数据传输的过程中MCU 可以随时访问FIFO 寄存器这就允许SPI 接口可以以低速进行数据传送并且可以应用于MCU 硬件上没有SPI 接口的情况下增强型的ShockBurst TM 模式增强型ShockBurst TM 模式可以使得双向链接协议执行起来更为容易有效典型的双向链接为发送方要求终端设备在接收到数据后有应答信号以便于发送方检测有无数据丢失一旦数据丢失则通过重新发送功能将丢失的数据恢复增强型的ShockBurst TM 模式可以同时控制应答及重发功能而无需增加MCU 工作量确实,,由硬件完成,,减小了量,,,图4 nRF24L01在星形网络中的结构图nRF24L01在接收模式下可以接收6路不同通道的数据见图4每一个数据通道使用不同的地址但是共用相同的频道也就是说6个不同的nRF24L01设置为发送模式后可以与同一个设置为接收模式的nRF24L01进行通讯而设置为接收模式的nRF24L01可以对这6个发射端进行识别数据通道0是唯一的一个可以配置为40位自身地址的数据通道1~5数据通道都为8位自身地址和32位公用地址所有的数据通道都可以设置为增强型ShockBurst 模式nRF24L01在确认收到数据后记录地址并以此地址为目标地址发送应答信号在发送端数据通道0被用做接收应答信号因此数据通道0的接收地址要与发送端地址相等以确保接收到正确的应答信号见图5 选择地址举例图5应答地址确定举例nRF24L01配置为增强型的ShockBurst TM发送模式下时只要MCU 有数据要发送nRF24L01就会启动ShockBurst TM 模式来发送数据在发送完数据后nRF24L01转到接收模式并等待终端的应答信号如果没有收到应答信号nRF24L01将重发相同的数据包直到收到应答信号或重发次数超过SETUP_RETR_ARC 寄存器中设置的值为止如果重发次数超过了设定值则产生MAX_RT 中断只要收到确认信号nRF24L01就认为最后一包数据已经发送成功接收方已经收到数据把TX FIFO 中的数据清除掉并产生TX_DS 中断IRQ 引脚置高在发射器中,,通道0要接收应答回来的信号,,所以应该与发送通道地址,,,相同,,在增强型ShockBurst模式下nRF24L01有如下的特征当工作在应答模式时快速的空中传输及启动时间极大的降低了电流消耗低成本nRF24L01集成了所有高速链路层操作比如重发丢失数据包和产生应答信号无需单片机硬件上一定有SPI口与其相连SPI 接口可以利用单片机通用I/O口进行模拟 由于空中传输时间很短极大的降低了无线传输中的碰撞现象由于链路层完全集成在芯片上非常便于软硬件的开发增强型ShockBurstTM发送模式1配置寄存器位PRIM_RX为低2当MCU有数据要发送时接收节点地址TX_ADDR和有效数据(TX_PLD)通过SPI接口写入nRF24L01发送数据的长度以字节计数从MCU写入TX FIFO当CSN为低时数据被不断的写入发送端发送完数据后将通道0设置为接收模式来接收应答信号其接收地址(RX_ADDR_P0)与接收端地址(TX_ADDR)相同例在图5中数据通道5的发送端(TX5)及接收端(RX)地址设置如下TX5TX_ADDR=0xB3B4B5B605TX5RX_ADDR_P0=0xB3B4B5B605RX RX_ADDR_P5=0xB3B4B5B6053设置CE为高启动发射CE高电平持续时间最小为10 us4nRF24L01 ShockBurst TM模式无线系统上电启动内部16MHz时钟无线发送数据打包见数据包描述高速发送数据由MCU设定为1Mbps或2Mbps5如果启动了自动应答模式自动重发计数器不等于0ENAA_P0=1无线芯片立即进入接收模式如果在有效应答时间范围内收到应答信号则认为数据成功发送到了接收端此时状态寄存器的TX_DS位置高并把数据从TX FIFO中清除掉如果在设定时间范围内没有接收到应答信号则重新发送数据如果自动重发计数器ARC_CNT溢出超过了编程设定的值则状态寄存器的MAX_RT位置高不清除TX FIFO中的数据当MAX_RT或TX_DS为高电平时IRQ引脚产生中断IRQ中断通过写状态寄存器来复位见中断章节如果重发次数在达到设定的最大重发次数时还没有收到应答信号的话在MAX_RX中断清除之前不会重发数据包数据包丢失计数器(PLOS_CNT)在每次产生MAX_RT中断后加一也就是说重发计数器ARC_CNT计算重发数据包次数PLOS_CNT计算在达到最大允许重发次数时仍没有发送成功的数据包个数6如果CE置低则系统进入待机模式I如果不设置CE为低则系统会发送TX FIFO寄存器中下一包数据如果TX FIFO寄存器为空并且CE为高则系统进入待机模式II.7如果系统在待机模式II当CE置低后系统立即进入待机模式I.增强型ShockBurst TM接收模式1 ShockBurst TM接收模式是通过设置寄存器中PRIM_RX位为高来选择的准备接收数据的通道必须被使能EN_RXADDR寄存器所有工作在增强型ShockBurst TM模式下的数据通道的自动应答功能是由(EN_AA寄存器)来使能的有效数据宽度是由RX_PW_Px寄存器来设置的地址的建立过程见增强型ShockBurst TM发送章节23 130us后4接收到有效的数据包后地址匹配CRC检验正确数据存储在RX_FIFO中同时RX_DR位置高并产生中断状态寄存器中RX_P_NO位显示数据是由哪个通道接收到的5如果使能自动确认信号则发送确认信号6 MCU设置CE脚为低进入待机模式I低功耗模式7 MCU将数据以合适的速率通过SPI口将数据读出8芯片准备好进入发送模式接收模式或掉电模式两种数据双方向的通讯方式如果想要数据在双方向上通讯寄存器必须紧随芯片工作模式的变化而变化处理器必须保证PTX和PRX端的同步性在RX_FIFO和TX_FIFO寄存器中可能同时存有数据CE=1是开始启动的标志,,,这个以前没有注意,,,!!!要接收几点的地址,,,看看要求,,,我的天那,,,认真看吧,,自动应答时,,接收方和发送方的EN_AA都要打开,,,接收方也要设置有效位,,跟发送的应该一致,,,自动应答RX自动应答功能减少了外部MCU 的工作量并且在鼠标/键盘等应用中也可以不要求硬件一定有SPI 接口因此降低成本减少电流消耗自动重应答功能可以通过SPI 口对不同的数据通道分别进行配置在自动应答模式使能的情况下收到有效的数据包后系统将进入发送模式并发送确认信号发送完确认信号后系统进入正常工作模式工作模式由PRIM_RX 位和CE 引脚决定自动重发功能ART (TX)自动重发功能是针对自动应答系统的发送方启动重发数据的时间长度在每次发送结束后系统都会进入接收模式并在设定的时间范围内等待应答信号接收到应答信号后系统转入正常发送模式如果TX FIFO 中没有待发送的数据且CE 脚电平为低则系统将进入待机模式I 如果没有收到确认信号则系统返回到发送模式并重发数据直到收到确认信号或重发次数超过设定值达到最大的重发次数有新的数据发送或PRIM_RX 寄存器配置改变时丢包计数器复位 数据包识别和CRC 校验应用于增强型ShockBurst TM模式下每一包数据都包括两位的PID 数据包识别来识别接收的数据是新数据包还是重发的数据包PID 识别可以防止接收端同一数据包多次送入MCU 在发送方每从MCU 取得一包新数据后PID 值加一PID 和CRC 校验应用在接收方识别接收的数据是重发的数据包还是新数据包如果在链接中有一些数据丢失了则PID 值与上一包数据的PID 值相同如果一包数据拥有与上一包数据相同的PID 值nRF24L01将对两包数据的CRC 值进行比较如果CRC 值也相同的话就认为后面一包是前一包的重发数据包而被舍弃1接收方接收方对新接收数据包的PID 值与上一包进行比较如果PID 值不同则认为接收的数据包是新数据包如果PID 值与上一包相同则新接收的数据包有可能与前一包相同接收方必须确认CRC 值是否相等如果CRC 值与前一包数据的CRC 值相等则认为是同一包数据并将其舍弃 2发送方每发送一包新的数据则发送方的PID 值加一图6PID 值生成和检测CRC 校验的长度是通过SPI 接口进行配置的一定要注意CRC 计算范围包括整个数据包地址PID确实,,减小了编程量,,,额,,,高四位设置,,额,,,两个CNT 就复位了,,,和有效数据等若CRC 校验错误则不会接收数据包这一点是接收数据包的附加要求在上图没有说明载波检测CD当接收端检测到射频范围内的信号时将CD 置高否则CD 为低内部的CD 信号在写入寄存器之前是经过滤波的内部CD 高电平状态至少保持128us 以上在增强型ShockBurst TM 模式中只有当发送模块没有成功发送数据时推荐使用CD 检测功能如果发送端PLOS_CNT 显示数据包丢失率太高时可将其设置位接收模式检测CD 值如果CD 为高说明通道出现了拥挤现象需要更改通信频道如果CD 为低电平状态距离超出通信范围可保持原有通信频道但需作其它调整数据通道nRF24L01配置为接收模式时可以接收6路不同地址相同频率的数据每个数据通道拥有自己的地址并且可以通过寄存器来进行分别配置数据通道是通过寄存器EN_RXADDR 来设置的默认状态下只有数据通道0和数据通道1是开启状态的 每一个数据通道的地址是通过寄存器RX_ADDR_Px 来配置的通常情况下不允许不同的数据通道设置完全相同的地址数据通道0有40位可配置地址数据通道1~5的地址为32位共用地址+各自的地址最低字节图7所示的是数据通道1~5的地址设置方法举例所有数据通道可以设置为多达40位但是1~5数据通道的最低位必须不同图7 通道0~5的地址设置当从一个数据通道中接收到数据并且此数据通道设置为应答方式的话则nRF24L01在收到数据后产生应答信号此应答信号的目标地址为接收通道地址 寄存器配置有些是针对所有数据通道的有些则是针对个别的如下设置举例是针对所有数据通道的 CRC 使能/禁止 CRC 计算 接收地址宽度 频道设置无线数据通信速率 LNA 增益 射频输出功率寄存器配置,,,注意了丗不同地址丆相同频率,,,不允许配置相同的地址的,,,额,,,这的目标地址为其接受到的地址,,,这么多是相同的,,,nRF24L01所有配置都在配置寄存器中所有寄存器都是通过SPI 口进行配置的 SPI 接口SPI 接口是标准的SPI 接口其最大的数据传输率为10Mbps 大多数寄存器是可读的 SPI 指令设置SPI 接口可能用到的指令在下面有所说明CSN 为低后SPI 接口等待执行指令每一条指令的执行都必须通过一次CSN 由高到低的变化 SPI 指令格式<命令字由高位到低位每字节>AAAAA AAAAA 1-32读操作全部从字节当读有效数据完成后寄存器中有效数据被清除应用于接收模式下1-32开始应用于发射模式下应用于发射模式下寄存器应用于接收模式下在传输应答信号过程中不应执行此指令信号过程中执行此指令的话将使得应答信号不能被完整的传输重新使用上一包有效数据当数据包被不断的重新发射空操作寄存器可能操作单字节或多字节寄存器当访问多字节寄存器时首先要读/写的是最低字节的高位在所有多字节寄存器被写完之前可以结束写SPI 操作在这种情况下没有写完的高字节保持原有内容不变例如RX_ADDR_P0寄存器的最低字节可以通过写一个字节给寄存器RX_ADDR_P0来改变在CSN 状态由高变低后可以通过MISO 来读取状态寄存器的内容 中断nRF24L01的中断引脚IRQ 为低电平触发当状态寄存器中TX_DS RX_DR 或MAX_RT 为高时触发中断当MCU 给中断源写1时中断引脚被禁止可屏蔽中断可以被IRQ 中断屏蔽通过设置可屏蔽中断位为高则中断响应被禁止默认状态下所有的中断源是被禁止的SPI 时序图8910和表910给出了SPI 操作及时序在写寄存器之前一定要进入待机模式或掉电模式在图8至图10中用到了下面的符号Cn-SPI 指令位 Sn-状态寄存器位Dn-数据位备注由低字节到高字节每个字节中高位在前图8SPI 读操作不会出现无线命令的配置,,,即:设置MASK 为高,,所以说写之前要把CSN 拉低,,,,图9SPI写操作图10SPI NOP 操作时序图表9SPI参考时间C load=5pF表10SPI参考时间C load=10pF寄存器地址所有未定义位可以被读出其值为0’地址 参数 位 复位值类型 描述 00 寄存器配置寄存器 reserved 7 0 R/W 默认为0 MASK_RX_DR 6R/W 可屏蔽中断RX_RD1IRQ 引脚不显示RX_RD 中断0RX_RD 中断产生时IRQ 引脚电平为低MASK_TX_DS 5 0 R/W 可屏蔽中断TX_DS1IRQ 引脚不显示TX_DS 中断0TX_DS 中断产生时IRQ 引脚电平为低MASK_MAX_RT 4 0 R/W 可屏蔽中断MAX_RT1IRQ 引脚不显示TX_DS 中断0MAX_RT 中断产生时IRQ 引脚电平为低EN_CRC 3 1 R/W CRC 使能如果EN_AA 中任意一位为高则EN_CRC 强迫为高CRCO 2 0 R/W CRC 模式‘0’-8位CRC 校验 ‘1’-16位CRC 校验PWR_UP 1 0 R/W 1:上电 0:掉电 PRIM_RX 0 0 R/W 1:接收模式 0:发射模式01 EN_AA Enhanced ShockBurst TM 使能自动应答功能此功能禁止后可与nRF2401通讯 Reserved 7:6 00 R/W 默认为0 ENAA_P5 5 1 R/W 数据通道5自动应答允许 ENAA_P4 4 1 R/W 数据通道4自动应答允许 ENAA_P3 3 1 R/W 数据通道3自动应答允许 ENAA_P2 2 1 R/W 数据通道2自动应答允许 ENAA_P1 1 1 R/W 数据通道1自动应答允许 ENAA_P0 0 1 R/W 数据通道0自动应答允许 02 EN_RXADDR 接收地址允许 Reserved 7:6 00 R/W 默认为00 ERX_P5 5 0 R/W 接收数据通道5允许 ERX_P4 4 0 R/W 接收数据通道4允许 ERX_P3 3 0 R/W 接收数据通道3允许 ERX_P2 2 0 R/W 接收数据通道2允许 ERX_P1 1 1 R/W 接收数据通道1允许 ERX_P0 0 1 R/W 接收数据通道0允许 03 SETUP_AW 设置地址宽度所有数据通道 Reserved 7:2 00000 R/W 默认为00000 AW 1:0 11 R/W 接收/发射地址宽度‘00’-无效‘01’-3字节宽度 ‘10’-4字节宽度 ‘11’-5字节宽度04 SETUP_RETR 建立自动重发允许–1Mbps ‘1’-18dBm当接收到有效数据后置一接收数据通道号数据通道号寄存器满标志寄存器满当写存器复位当丢失15个数据包后此寄存器重启 ARC_CNT 3:0 0 R 重发计数器发送新数据包时此寄存器复位09 CDReserved 7:1 000000 RCD 0 0 R 载波检测0A RX_ADDR_P0 39:0 0xE7E7E7E7E7 R/W 数据通道0接收地址最大长度:5个字节先写低字节所写字节数量由SETUP_AW设定0B RX_ADDR_P1 39:0 0xC2C2C2C2C2 R/W 数据通道1接收地址最大长度:5个字节先写低字节所写字节数量由SETUP_AW设定0C RX_ADDR_P2 7:0 0xC3 R/W数据通道2接收地址最低字节可设置高字节部分必须与RX_ADDR_P1[39:8]相等0D RX_ADDR_P3 7:0 0xC4 R/W数据通道3接收地址最低字节可设置高字节部分必须与RX_ADDR_P1[39:8]相等0E RX_ADDR_P4 7:0 0xC5 R/W数据通道4接收地址最低字节可设置高字节部分必须与RX_ADDR_P1[39:8]相等0F RX_ADDR_P5 7:0 0xC6 R/W数据通道5接收地址最低字节可设置高字节部分必须与RX_ADDR_P1[39:8]相等10 TX_ADDR 39:0 0xE7E7E7E7E7 R/W 发送地址先写低字节在增强型ShockBurst TM模式下RX_ADDR_P0与此地址相等11 RX_PW_P0Reserved 7:6 00 R/W 默认为00RX_PW_P0 5:0 0 R/W 接收数据通道0有效数据宽度(1到32字节)0: 设置不合法1: 1字节有效数据宽度……32: 32字节有效数据宽度12 RX_PW_P1Reserved 7:6 00 R/W 默认为00RX_PW_P1 5:0 0 R/W 接收数据通道1有效数据宽度(1到32字节)0: 设置不合法1: 1字节有效数据宽度……32: 32字节有效数据宽度13 RX_PW_P2Reserved 7:6 00 R/W 默认为00RX_PW_P2 5:0 0 R/W 接收数据通道2有效数据宽度(1到32字节)0: 设置不合法1: 1字节有效数据宽度……32: 32字节有效数据宽度14 RX_PW_P3Reserved 7:6 00 R/W 默认为00RX_PW_P3 5:0 0 R/W 接收数据通道3有效数据宽度(1到32字节)0 设置不合法1: 1字节有效数据宽度……32: 32字节有效数据宽度15 RX_PW_P4Reserved 7:6 00 R/W 默认为00RX_PW_P4 5:0 0 R/W 接收数据通道4有效数据宽度(1到32字节)0: 设置不合法1: 1字节有效数据宽度……32: 32字节有效数据宽度16 RX_PW_P5Reserved 7:6 00 R/W 默认为00RX_PW_P5 5:0 0 R/W 接收数据通道5有效数据宽度(1到32字节)0: 设置不合法1: 1字节有效数据宽度……32: 32字节有效数据宽度17 FIFO_STATUS FIFO 状态寄存器Reserved 7 0 R/W 默认为0TX_REUSE 6 0 R 若TX_REUSE=1则当CE位高电平状态时不断发送上一数据包TX_REUSE通过SPI 指令REUSE_TX_PL设置通过W_TX_PALOAD或FLUSH_TX复位TX_FULL 5 0 R TX FIFO寄存器满标志1:TX FIFO寄存器满0: TX FIFO寄存器未满有可用空间 TX_EMPTY 4 1 R TX FIFO寄存器空标志1:TX FIFO寄存器空0: TX FIFO寄存器非空 Reserved 3:2 00 R/W 墨认为00RX_FULL 1 0 R RX FIFO寄存器满标志1:RX FIFO寄存器满0: RX FIFO寄存器未满有可用空间 RX_EMPTY 0 1 R RX FIFO寄存器空标志1:RX FIFO寄存器空0: RX FIFO寄存器非空N/A TX_PLD 255:0 WN/A RX_PLD 255:0 R表11nRF24L01寄存器地址与nRF24XX兼容的寄存器配置如何建立nRF24L01从nRF2401/ nRF2402/ nRF24E1/ nRF24E2接收数据使用与nRF2401/ nRF2402/ nRF24E1/ nRF24E2相同的CRC配置设置PRIM_RX位为1相应通道禁止自动应答功能与发射模块使用相同的地址宽度与发射模块使用相同的频道在nRF24L01和nRF2401/ nRF2402/ nRF24E1/ nRF24E2两端都选择1Mbit/s的数据传输率设置正确的数据宽度设置PWR_UP和CE为高即频率相同,,,如何建立nRF24L01发射nRF2401/ nRF2402/ nRF24E1/ nRF24E2接收数据使用与nRF2401/ nRF2402/ nRF24E1/ nRF24E2相同的CRC 配置 设置PRIM_RX 位为0设置自动重发计数器为0禁止自动重发功能与nRF2401/ nRF2402/ nRF24E1/ nRF24E2使用相同的地址宽度 与nRF2401/ nRF2402/ nRF24E1/ nRF24E2使用相同的频道在nRF24L01和nRF2401/ nRF2402/ nRF24E1/ nRF24E2两端都选择1Mbit/s 的数据传输率 设置PWR_UP 为高发送与nRF2401/ nRF2402/ nRF24E1/ nRF24E2寄存器配置数据宽度相同的数据长度 设置CE 为高启动发射打包描述增强型ShockBurst TM 模式下的数据包形式前导码 地址35字节 9位标志位 数据132字节 CRC 校验 0/1/2字节ShockBurst TM 模式下与nRF2401/ nRF2402/ nRF24E1/ nRF24E2相兼容的数据包形式前导码 地址35字节 数据132字节 CRC 校验0/1/2字节1在发送模式下加入前导码从接收的数据包中自动去除地址PID 其中两位七位保留用作将来与其它产品相兼容nRF24L01 校验的多项式是校验的多项式是12重要的时序数据下面是nRF24L01部分工作时序数据nRF24L01时序信息nRF24L01时序最大值 最小值 参数名 掉电模式待机模式1.5ms T pd2stby 待机模式发送/接收模式 130usT stby2aCE 高电平保持时间10us Thce CSN 为低电平CE 上升沿的延迟时间4us T pece2csn表13nRF24L01工作时序nRF24L01在掉电模式下转入发射模式或接收模式前必须经过1.5ms 的待机模式注意当关掉电源VDD 后寄存器配置内容丢失模块上电后需重新进行配置最好禁止自动重发功能,,,增强型ShockBurst模式时序图11增强型ShockBurst TM模式发送一包数据时序2Mbps图11所示是发送一包数据并收到应答信号的示意图数据送入发送模块部分没有在图中显示接收模块转入接收模式CE=1发射模块配置为发射模式CE=1持续至少10us 130us 后启动发射再过37us 后发送一字节数据发送结束后发送模块自动转入接收模式等待应答信号发送模块在收到应答信号后产生中断通知MCU IRQ (TX_DS)=>TX-data sent(数据发送完)接收模块接收到数据包后产生中断通知MCU IRQ (RX_DR)=>RX-data ready(数据接收完毕)外围RF 信息 天线输出ANT1和ANT2输出脚给天线提供稳定的RF 输出这两个脚必须连接到VDD 的直流通路或者通过RF 扼流圈或者通过天线双极的中心点在输出功率最大时0dBm 推荐使用负载阻抗为15+j88通过简单的网络匹配可以获得较低的阻抗例如50Ω输出功率调节RF_PWR 输出功率 电流消耗11 0 dBm 11.3mA 10 -6 dBm 9.0 mA 01 -12 dBm 7.5 mA 00 -18 dBm 7.0 mA 工作条件VDD=3.0V ,VSS=0V ,T A =27,负载=15+j88表14nRF24L01输出功率设置接收完应答信号后才产生中断,,,。
NRF905
General RF conditions 常规无线电频率
工作频率 晶体振荡频率
4) 430 5) 4
频率误差
±42
GFSK数据率,
Manchester-encoded
433MHz 波段的信道间隔 868/915MHz 波段的信道间 隔
928 MHz 20 MHz ±50 ±58 kHz
100
kbps
VI ......................... - 0.3V to VDD + 0.3V 输出电压
VO ........................ - 0.3V to VDD + 0.3V 总的功耗
PD (TA=85° C).................................200mW 温度 工作温度............................................ - 40° C to + 85° C 存放温度...............................................- 40° C to + 125° C 注意 :负载超过一个或多个极值可能导致设备的永久损坏。
封装尺寸: nRF905用32引脚QFN 5×5mm封装。,推荐使用的焊接回流切面技术是nAN400-8 应用文档里QFN使用的焊接回流切面技术,可到www.nvlsi.no上找到。
封装类型
QFN32 (5x5 mm)
A A1 A2 b D
Min 0.8 0.0 0.65 0.18 5
Typ.
0.23 BSC
nRF905-EVKIT 868/915
特征 32L QFN 5x5mm Evaluation kit 433MHz Evaluation kit 868/915MHz
NRF24L01 SPI 通讯示例程序(无线串口)
//*pBuf:数据指针
//len:数据长度
//返回值,此次读到的状态寄存器值
u8 NRF24L01_Write_Buf(u8 reg, u8 *pBuf, u8 len)
{
u8 status,u8_ctr;
NRF24L01_CSN = 0;
//使能 SPI 传输
status = SPI2_ReadWriteByte(reg);//发送寄存器值(位置),并读取状态值
=================================================================== 以下是 2401.c 文件 .h 文件在后面 =================================================================== #include "24l01.h" #include "delay.h" #include "spi.h"
//使能 SPI 传输
SPI2_ReadWriteByte(reg); //发送寄存器号
reg_val=SPI2_ReadWriteByte(0XFF);//读取寄存器内容
NRF24L01_CSN = 1;
//禁止 SPI 传输
return(reg_val);
//返回状态值
}
//在指定位置读出指定长度的数据
NRF24L01_Write_Buf(WRITE_REG+RX_ADDR_P0,(u8*)RX_ADDRESS,RX_ADR_WI DTH);//写 RX 节点地址
NRF24L01_Write_Reg(WRITE_REG+EN_AA,0x01); //使能通道 0 的自动应答 NRF24L01_Write_Reg(WRITE_REG+EN_RXADDR,0x01);// 使 能 通 道 0 的 接 收 地 址
RF905功能说明
一、模块介绍(1) 433Mhz 开放ISM 频段免许可证使用(2) 最高工作速率50kbps,高效GFSK 调制,抗干扰能力强,特别适合工业控制场合(3) 125 频道,满足多点通信和跳频通信需要(4) 内置硬件CRC 检错和点对多点通信地址控制(5) 低功耗1.9 - 3.6V 工作,待机模式下状态仅为2.5uA(6) 收发模式切换时间< 650us(7) 模块可软件设地址,只有收到本机地址时才会输出数据(提供中断指示),可直接接各种单片机使用,软件编程非常方便(8) TX Mode: 在+10dBm 情况下,电流为30mA; RX Mode: 12.2mA(9) 标准DIP 间距接口,便于嵌入式应用二、接口电路管脚说明说明:(1) VCC 脚接电压范围为3.3V~3.6V 之间,不能在这个区间之外,超过3.6V 将会烧毁模块。
推荐电压3.3V 左右。
(2) 除电源VCC 和接地端,其余脚都可以直接和普通的5V 单片机IO 口直接相连,无需电平转换。
当然对3V 左右的单片机更加适用了。
(3) 硬件上面没有SPI 的单片机也可以控制本模块,用普通单片机IO 口模拟SPI 不需要单片机SPI 模块介入,只需添加代码模拟SPI 时序即可。
(4) 13 脚、14 脚为接地脚,需要和母板的逻辑地连接起来(5) 排针间距为100mil,标准DIP 插针,如果需要其他封装接口,比如密脚插针,或者其他形式的接口,可以联系我们定做。
(6) 与51 系列单片机P0 口连接时候,需要加10K 的上拉电阻,与其余口连接不需要。
(7) 其他系列的单片机,如果是5V 的,请参考该系列单片机IO 口输出电流大小,如果超过10mA,需要串联电阻分压,否则容易烧毁模块! 如果是3.3V 的,可以直接和RF905 模块的IO 口线连接。
三、模块引脚和电气参数说明AY-RF905 模块使用Nordic 公司的nRF905 芯片开发而成。
nRF24L01中文手册
迅ቤተ መጻሕፍቲ ባይዱ科技
描述 20 脚 QFN 4*4mm, RoHS&SS-00259compliant
评估套件 表 2、nRF24L01 分类信息
版本 D 1.0
结构方框图:
技
科
通
迅 图 1 nRF24L01 及外部接口
COPYRIGHT ©2007 迅通科技 TEL 北京:+86 10 64390486 深圳:+86 755 26675941
时钟信号
CRC
循环冗余校验
CSN
片选非
ESB
增强型 ShockBrustTM
GFSK
高斯键控频移
IRQ
中断请求
ISM
工业—科学—医学
LNA LSB LSByte Mbps MCU MISO MOSI
低噪声放大 最低有效位 最低有效字节 兆位/秒 微控制器 主机输入从机输出 主机输出从机输入
技
MSB MSByte
2
引脚及其功能: 引脚 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
迅通科技
名称 CE CSN SCK MOSI MISO IRQ VDD VSS XC2 XC1 VDD_PA ANT1 ANT2 VSS VDD IREF VSS VDD DVDD VSS
nrf24l01可以设置为以下几种主要的模式模式pwrupprimrxcefifo寄存器状态接收模式111发送模式101数据在txfifo寄存器中发送模式1010停留在发送模式直至数据发送完待机模式ii101txfifo为空待机模式i10无数据传输掉电模式0表6nrf24l01主要工作模式关于nrf24l01io脚更详细的描述请参见下面的表7
STC12单片机硬件SPI的nrf20l01从机发送程序
#include <reg52.h>#include <intrins.h>typedef unsigned char uchar;#define uint unsigned int//****************************************IO端口定义***************************************sfr SPCTL = 0xCE; //SPI Control Register SSIG SPEN DORD MSTR CPOL CPHA SPR1 SPR0 0000,0100sfr SPSTAT = 0xCD; //SPI Status Register SPIF WCOL - - - - - - 00xx,xxxxsfr SPDAT = 0xCF;sbit CE =P1^0;sbit CSN =P1^1;sbit IRQ =P1^2;sbit led=P1^3;//****************************************************************************************** uchar bdata sta; //状态标志sbit RX_DR =sta^6;sbit TX_DS =sta^5;sbit MAX_RT =sta^4;//*********************************************NRF24L01*************************************#define TX_ADR_WIDTH 5 // 5 uints TX address width#define RX_ADR_WIDTH 5 // 5 uints RX address width#define TX_PLOAD_WIDTH 32 // 32 uints TX payload#define RX_PLOAD_WIDTH 32 // 32 uints TX payloaduchar const TX_ADDRESS[TX_ADR_WIDTH]= {0x34,0x43,0x10,0x10,0x01}; //本地地址uchar const RX_ADDRESS[RX_ADR_WIDTH]= {0x34,0x43,0x10,0x10,0x01}; //接收地址uchar codeTx_Buf[TX_PLOAD_WIDTH]={0xff,0xee,0x11,0x22,0x33,0xaa,0xbb,0x11,0x22,0x33,0xaa,0xbb,0x11,0x22,0x33,0xaa,0xbb,0x11,0x22,0x33,0xaa,0xbb,0x11,0x22,0x33,0xaa,0xbb,0x11,0x22,0x33,0xee,0xff};//发送数据uchar Rx_Buf[RX_PLOAD_WIDTH];//接收数据//***************************************NRF24L01寄存器指令*******************************************************#define READ_REG 0x00 // 读寄存器指令#define WRITE_REG 0x20 // 写寄存器指令#define RD_RX_PLOAD 0x61 // 读取接收数据指令#define WR_TX_PLOAD 0xA0 // 写待发数据指令#define FLUSH_TX 0xE1 // 冲洗发送 FIFO指令#define FLUSH_RX 0xE2 // 冲洗接收 FIFO指令#define REUSE_TX_PL 0xE3 // 定义重复装载数据指令#define NOP 0xFF // 保留//*************************************SPI(nRF24L01)寄存器地址****************************************************#define CONFIG 0x00 // 配置收发状态,CRC校验模式以及收发状态响应方式#define EN_AA 0x01 // 自动应答功能设置#define EN_RXADDR 0x02 // 可用信道设置#define SETUP_AW 0x03 // 收发地址宽度设置#define SETUP_RETR 0x04 // 自动重发功能设置#define RF_CH 0x05 // 工作频率设置#define RF_SETUP 0x06 // 发射速率、功耗功能设置#define STATUS 0x07 // 状态寄存器#define OBSERVE_TX 0x08 // 发送监测功能#define CD 0x09 // 地址检测#define RX_ADDR_P0 0x0A // 频道0接收数据地址#define RX_ADDR_P1 0x0B // 频道1接收数据地址#define RX_ADDR_P2 0x0C // 频道2接收数据地址#define RX_ADDR_P3 0x0D // 频道3接收数据地址#define RX_ADDR_P4 0x0E // 频道4接收数据地址#define RX_ADDR_P5 0x0F // 频道5接收数据地址#define TX_ADDR 0x10 // 发送地址寄存器#define RX_PW_P0 0x11 // 接收频道0接收数据长度#define RX_PW_P1 0x12 // 接收频道1接收数据长度#define RX_PW_P2 0x13 // 接收频道2接收数据长度#define RX_PW_P3 0x14 // 接收频道3接收数据长度#define RX_PW_P4 0x15 // 接收频道4接收数据长度#define RX_PW_P5 0x16 // 接收频道5接收数据长度#define FIFO_STATUS 0x17 // FIFO栈入栈出状态寄存器设置/******************************************延时函数********************************************************///长延时void Delay(unsigned int s){unsigned int i,j;for(i=0;i<1000;i++)for(j=0;j<s;j++);}//短延时void delay_ms(unsigned int x){unsigned int i,j;i=0;for(i=0;i<x;i++){j=108;while(j--);}}/************初始化5A spi***************/void Init_SPI(){SPDAT=0; //初始化数据寄存器SPSTAT=0XC0; //清除状态寄存器SPCTL=0XD2;//设置为主机模式主频不能超过2M//忽略SS 使能spi MSB SCLK空闲为0 第一个时钟边沿开始采集 spi通信的频率为CUP_CLK/16 }//SPDAT 读写一个字节//TxData:要写入的字节//返回值:读取到的字节uchar SPI_ReadWriteByte(uchar TxData){SPDAT=TxData; //发送一个bytewhile((SPSTAT&0x80)==0);SPSTAT=0XC0; //清除状态寄存器return SPDAT; //返回收到的数据}//读取SPI寄存器值//reg:要读的寄存器uchar SPI_Read_Reg(uchar reg){uchar reg_val;CSN = 0; //使能SPI传输SPI_ReadWriteByte(reg); //发送寄存器号reg_val=SPI_ReadWriteByte(0xFF);//读取寄存器内容CSN = 1; //禁止SPI传输return(reg_val); //返回状态值}// 向寄存器REG写一个字节,同时返回状态字节 reg寄存器地址 value写入的数据uchar SPI_RW_Reg (uchar reg,uchar value){uchar status;CSN=0;status=SPI_ReadWriteByte(reg);//发送寄存器号SPI_ReadWriteByte(value); //写入寄存器的值CSN=1;return(status);}//写一个数据包uchar SPI_Write_Buf(uchar reg, uchar *pBuf, uchar bytes){uchar status,byte_ctr;CSN = 0;status=SPI_ReadWriteByte(reg);for(byte_ctr=0; byte_ctr<bytes; byte_ctr++)SPI_ReadWriteByte(*pBuf++);CSN = 1;return(status);}//读一个数据包uchar SPI_Read_Buf(uchar reg, uchar *pBuf, uchar uchars){uchar status,uchar_ctr;CSN = 0;status = SPI_ReadWriteByte(reg);for(uchar_ctr=0;uchar_ctr<uchars;uchar_ctr++)pBuf[uchar_ctr]=SPI_ReadWriteByte(0xFF);CSN = 1;return(status);}//*******************************发*****送*****模*****式*****代*****码*************************************/void TX_Mode(void){CE=0;SPI_RW_Reg(FLUSH_TX,0x00);SPI_Write_Buf(WRITE_REG + TX_ADDR, TX_ADDRESS, TX_ADR_WIDTH); // 写发送的地址 Writes TX_Address to nRF24L01SPI_Write_Buf(WRITE_REG + RX_ADDR_P0, TX_ADDRESS, TX_ADR_WIDTH); // 写接受的地址 RX_Addr0 same as TX_Adr for Auto.AckSPI_RW_Reg(WRITE_REG + EN_AA, 0x01); //**使能自动应答 Enable Auto.Ack:Pipe0SPI_RW_Reg(WRITE_REG + EN_RXADDR, 0x01); //使能通道0 Enable Pipe0SPI_RW_Reg(WRITE_REG + SETUP_RETR, 0x1a); // **自动重发功能设置 500us + 86us, 10 retrans...1a SPI_RW_Reg(WRITE_REG + RF_CH, 40); //收发频率SPI_RW_Reg(WRITE_REG + RF_SETUP, 0x07); // 发射速率、功耗功能设置TX_PWR:0dBm, Datarate:1Mbps, LNA:HCURRSPI_RW_Reg(WRITE_REG + RX_PW_P0, (unsigned char)RX_PLOAD_WIDTH); //设置接收数据长度,本次设置为2字节SPI_RW_Reg(WRITE_REG + CONFIG, 0x0e);CE=1;delay_ms(100);}void Transmit(unsigned char * tx_buf){CE=0; //StandBy I模式SPI_Write_Buf(WRITE_REG + RX_ADDR_P0, TX_ADDRESS, TX_ADR_WIDTH); //装载接收端地址SPI_RW_Reg(FLUSH_TX,0x00); //清除FIFOSPI_Write_Buf(WR_TX_PLOAD, tx_buf, TX_PLOAD_WIDTH); // 装载数据SPI_RW_Reg(WRITE_REG + CONFIG, 0x0e); // IRQ收发完成中断响应,16位CRC,主发送 CE=1; //置高CE,激发数据发送delay_ms(150);}/************************************主函数************************************************************/uchar NRF24L01_Check(void){uchar buf[5]={0XA5,0XA5,0XA5,0XA5,0XA5};uchar i;SPI_Write_Buf(WRITE_REG+TX_ADDR,buf,5);//写入5个字节的地址.SPI_Read_Buf(TX_ADDR,buf,5); //读出写入的地址for(i=0;i<5;i++) if(buf[i]!=0XA5) break;if(i!=5) return 1;//检测24L01错误return 0; //检测到24L01}void main(){uint i=0;CE=0;CSN=1;Init_SPI();while(NRF24L01_Check())//检测不到24L01{delay_ms(500);delay_ms(500);led=!led;}TX_Mode();while(1){Transmit(Tx_Buf); //清除FIFODelay(10);sta=SPI_Read_Reg(READ_REG + STATUS);if(TX_DS){led=0; //8位LED显示当前STATUS状态发送中断应使bit5 = 1 灯灭Delay(100);SPI_RW_Reg(WRITE_REG + STATUS,sta);}if(MAX_RT) //如果是发送超时{//发送超时时 8位LED灯 bit4 = 1 灯灭Delay(150);SPI_RW_Reg(WRITE_REG + STATUS,sta);}Delay(10);}}。
NRF24l01使用手册函数介绍
NRF24l01使用手册以及函数指令寄存器介绍芯片简介NRF24L01 是NORDIC 公司最近生产的一款无线通信通信芯片,采用FSK 调制,内部集成NORDIC 自己的Enhanced Short Burst 协议。
可以实现点对点或是1 对 6 的无线通信。
无线通信速度可以达到2M(bps)。
NORDIC 公司提供通信模块的GERBER 文件,可以直接加工生产。
嵌入式工程师或是单片机爱好者只需要为单片机系统预留5 个GPIO,1 个中断输入引脚,就可以很容易实现无线通信的功能,非常适合用来为MCU 系统构建无线通信功能。
NRF24L01功能框图NRF24L01 的框图如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 的状态机)。
NRF24L01状态机NRF24L01 的状态机见Fig.2 所示,对于NRF24L01 的固件编程工作主要是参照NRF24L01 的状态机。
主要有以下几个状态Power Down Mode:掉电模式Tx Mode:发射模式Rx Mode:接收模式Standby-1Mode:待机1 模式Standby-2 Mode:待机2 模式上面五种模式之间的相互切换方法以及切换所需要的时间参照Fig.2。
nRF24L01无线通信模块使用手册
nRF24L01无线通信模块使用手册一、模块简介该射频模块集成了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。
三、模块引脚说明7 NC 空 8 CSN 芯片片选信号 I 9 CE 工作模式选择I 10+5V电源四、模块与AT89S52单片机接口电路注:上图为示意连接,可根据自己实际需求进行更改;使用AT89S52MCU 模块时,请将Nrf24L01通讯模块每个端口〔MOSI 、SCK 、CSN 和CE 〕增强其驱动能力〔如下列图:〕。
RF24L01中文详细资料 datasheet
待机模式 低电平
掉电模式 -
待机模式 待机模式 I 在保证快速启动的同时减少系统平均消耗电流 在待机模式 I 下 晶振正常工作 在待机
模式 II 下部分时钟缓冲器处在工作模式 当发送端 TX FIFO 寄存器为空并且 CE 为高电平时进入待机模式 II 在待机模式期间 寄存器配置字内容保持不变
掉电模式 在掉电模式下,nRF24L01 各功能关闭 保持电流消耗最小 进入掉电模式后 nRF24L01 停止工作
描述 确认信号 应答信号 自动重发 芯片使能 时钟信号 循环冗余校验 片选非 增强型 ShockBrustTM 高斯键控频移 中断请求 工业 科学 医学 低噪声放大 最低有效位 最低有效字节 兆位/秒 微控制器 主机输入从机输出 主机输出从机输入 最高有效位 最高有效字节 印刷电路板 数据包误码率 数据包识别位 载波 接收源 发射源 掉电 上电 接收 接收数据准备就绪 串行可编程接口 发送 已发送数据
引脚及其功能
引脚 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
名称 CE CSN SCK MOSI MISO IRQ VDD VSS XC2 XC1 VDD_PA ANT1 ANT2 VSS VDD IREF VSS VDD DVDD VSS
掉电模式和待机模式下电流消耗更低
快速参考数据
参数
数值
最低供电电压
1.9
最大发射功率
0
最大数据传输率
2000
发射模式下 电流消耗 0dBm
11.3
接收模式下电流消耗 2000kbps
12.3
温度范围
-40~ +85
数据传输率为 1000kbps 下的灵敏度
SPI从器件数据表
Cypress Semiconductor Corporation •198 Champion Court •San Jose ,CA 95134-1709•408-943-2600SPI 从器件数据表 SPIS V 2.60001-66280 Rev. **SPI SlaveCopyright © 2002-2010 Cypress Semiconductor Corporation. All Rights Reserved.特性与概述支持串行外设互连 (SPI) 从器件协议 支持协议模式 0、1、2 和 3MOSI、SCLK 和 ~SS 可选择输入源 MISO 可选择输出路由SPI 完成条件下的可编程中断SS 可能由固件控制(不包括 PSoC 器件的 CY8C26/25xxx 系列)SPIS 用户模块是一种串行外设互连从器件。
它执行全双工同步 8-bit 数据传输。
可以指定 SCLK 相位、SCLK 极性和最低有效位优先,以适应大多数 SPI 协议。
SPIS PSoC 模块拥有输入和输出信号的可选路由以及可编程的中断驱动控制。
应用程序编程接口 (API) 固件为汇编语言和 C 语言应用程序软件提供了高级别的编程接口。
Figure 1.SPIS 框图资源PSoC ® 模块API 内存(字节)引脚(每个外部 I/O)数字模拟 CT模拟 SC闪存RAMCY8C29/27/24/22/21、CY8C23x33、CY7C603xx、CY7C64215、CYWUSB6953、CY8CLED02/04/08/16、CY8CLED0xD、CY8CLED0xG、CY8CTST110、CY8CTMG110、CY8CTST120、CY8CTMG120、CY8CTMA120、CY8C21x45、CY8C22x45、CY8CTMA30xx、CY8C28x45、CY8CPLC20、CY8CLED16P01、CY8C28xxx、 CY8C21x121004304CY8C26/25xxx1374功能说明SPIS 是一个实施串行外设互连从器件的用户模块。
nrf24L01中文资料
描述 确认信号 应答信号 自动重发 芯片使能 时钟信号 循环冗余校验 片选非 增强型 ShockBrustTM 高斯键控频移 中断请求 工业 科学 医学 低噪声放大 最低有效位 最低有效字节 兆位/秒 微控制器 主机输入从机输出 主机输出从机输入 最高有效位 最高有效字节 印刷电路板 数据包误码率 数据包识别位 载波 接收源 发射源 掉电 上电 接收 接收数据准备就绪 串行可编程接口 发送 已发送数据
引脚及其功能
引脚 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
名称 CE CSN SCK MOSI MISO IRQ VDD VSS XC2 XC1 VDD_PA ANT1 ANT2 VSS VDD IREF VSS VDD DVDD VSS
ShockBurstTM 模式 ShockBurst 模式下 nRF24L01 可以与成本较低的低速 MCU 相连 高速信号处理是由芯片内部的射频
协议处理的 nRF24L01 提供 SPI 接口 数据率取决于单片机本身接口速度 ShockBurst 模式通过允许与
单片机低速通信而无线部分高速通信 减小了通信的平均消耗电流 在 ShockBurstTM 接收模式下 当接收到有效的地址和数据时 IRQ 通知 MCU 随后 MCU 可将接收到
分类信息
型号 nRF24L01 IC
nRF24L01 nRF24L01-EVKIT
描述 裸片 20 脚 QFN 4*4mm,RoHS&SS-00259compliant 评估套件 表 2 nRF24L01 分类信息
结构方框图:
版本 D D 1.0
图 1 nRF24L01 及外部接口
COPYRIGHT ©2005 ALL RIGHTS RESERVED 迅通科技 TEL:+86 10 64390486 E-mail: sales@
nRF905用户手册(翻译稿)
产品规格433/868/915 MHz的单芯片收发器nRF905●GFSK调制收发合一,真正的单芯片在一个小型的GFSK收发器的32引脚封装(5x5mm QFN封装)●ShockBurst TM收发模式特适用于低功耗应用●多频道应用——兼容ETSI/FCC,频道切换时间小于650us●最大输出功率+10dBm可调,接收灵敏度高达-100dBm●需外接433MHz 50Ω天线●载波监听( for”Listen before Transmit”protocols)功能有效防止RF传输碰撞●成功收发数据包信号提示——使您能有效的控制数据收发时机●接收数据包自动地址匹配——便利于点对多和多对多传输●发送数据包自动重传●自动生成数据包报头及CRC校验码●数据传输速率高达100kbps●16脚双排接口,可直接与TTL/COMS模式MCU引脚连接●接口协议:同步串行SPI接口(可用单片机IO模拟)●地址设定、频道选择、速率设定、功率控制、数据的接收与发射等都通过SPI接口由单片机的程序控制实现●工作电压:1.9~3.6V●工作电流:✧接收:12.5 mA✧发射:11 mA @ -10 dBm RF输出功率;30mA@+10dBm RF输出功率✧待机:2.5uA应用无线数据通信报警和安全系统家庭自动化远程控制监视汽车遥测工业传感器无钥匙进入系统玩具一般描述nRF905是挪威Nordic VLSI公司推出的单片射频收发器,工作电压为1.9~3.6 V,32引脚QFN封装(5×5mm),工作于433/868/915MHz三个ISM(工业、科学和医学)频道,频道之间的转换时间小于650us。
nRF905由频率合成器、接收解调器、功率放大器、晶体振荡器和调制器组成,不需外加声表滤波器,ShockBurstTM工作模式,自动处理字头和CRC(循环冗余码校验),使用SPI接口与微控制器通信,配置非常方便。
此外,其功耗非常低,以-10dBm的输出功率发射时电流只有11mA,工作于接收模式时的电流为12.5mA,内建空闲模式与关机模式,易于实现节能。