《rf2401中文资料》由会员分享,可在线阅读,更多相关《rf2401中文资料(23页珍藏版)》请在金锄头文库上搜索。
1、一、模块介绍NewMsg_RF2401B (尺寸:34mm X 17mm 板厚:1mm)(1) 2.4Ghz 全球开放 ISM 频段免许可证 使用(2) 最高工作速率 1Mbps,高效 GFSK 调制,抗干扰能力强,特别适合工业控制场合(3) 125 频 道,满足多点通信和跳 频通信需要(4) 内置硬件 CRC 检错和点对多点通信地址控制(5) 低功耗 1.9 - 3.6V 工作,待机模式下状态仅为 1uA (6) 内置 2.4Ghz 天线,体积小巧 34mm X 17mm(7) 模块 可软件设地址,只有收到本机地址时才会输出数据(提供中断指示),可直接接各种单片机使用,软件编程非常方便(8)
2、 内置专门稳压电 路,使用各种 电源包括 DC/DC 开关电源均有很好的通信效果 (9) 标 准 DIP 间距接口,便于嵌入式应用(10)RFModule-Quick-DEV 快速开发系统,含开发板11 与 51 系列单片机 P0 口连接时候,需要加 10K 的上拉电阻,与其余口连接不需要。12 其他系列的单片机,如果是 5V 的,请 参考该系列单片机 IO口输出电流大小,如果超过 10mA,需要串联电阻分压,否则容易烧毁模块! 如果是 3.3V 的,可以直接和 RF2401 模块的IO 口线连接。比如 AVR 系列单片机如果是 5V 的,一般串接2K 的电阻。二、接口电路说明:(1) VCC
3、 脚接电压范围为 1.9V3.6V 之间,不能在这个区间之外,超过 3.6V 将会烧毁模块。推荐电压 3.3V 左右。(2) 除电源 VCC 和接地端,其余脚都可以直接和普通的 5V 单片机 IO 口直接相连,无需电平转换。当然对 3V 左右的单片机更加适用了。(3) 硬件上面没有 SPI 的单片机也可以控制本模块,用普通单片机IO 口模拟 SPI 不需要单片机真正的串口介入,只需要普通的单片机 IO 口就可以了,当然用串口也可以了。(4) 6 脚,12 脚为接地脚,需要和母板的逻辑地连接起来(5) 排针间距为 100mil,标准 DIP 插针,如果需要其他封装接口,比如密脚插针,或者其他形式
4、的接口,可以联系我们定做。三、模块结构和引脚说明NewMsg_RF2401 模块使用 Nordic 公司的 nRF2401A 芯片开发而成。四、工作方式NewMsg_RF2401 有工作模式有四种:收发模式配置模式空闲模式关机模式工作模式由 PWR_UP 、CE、TX_EN 和 CS 三个引脚决定,详见下表。4.1 收发模式收发模式有 ShockBurstTM 收发模式和直接收 发模式两种,收发模式由器件配置字决定,具体配置将在器件配置部分详细介绍。4.1.1 ShockBurstTM 收 发模式ShockBurstTM 收发模式下,使用片内的先入先出堆栈区,数据低速从微控制器送入,但高速(1
5、Mbps) 发射, 这样可以尽量节能,因此,使用低速的微控制器也能得到很高的射频数据发射速率。与射频协议相关的所有高速信号处理都在片内进行,这种做法有三大好处:尽量节能;低的系统费用(低速微处理器也能进行高速射频发射) ;数据在空中停留时间短,抗干扰性高。ShockBurstTM 技术同时也减小了整个系统的平均工作电流。在 ShockBurstTM 收发 模式下, NewMsg_RF2401 自动处理字头和 CRC 校验码。在接收数据 时,自动把字头 和 CRC 校验码移去。在发送数据时,自动加上字头和 CRC 校验码 ,当发送过程完成后,DR引脚通知微处理器数据发射完毕。4.1.1.1 Sh
6、ockBurstTM 发射流程需要用到的接口引脚为 CE,CLK1,DATAA. 当微控制器有数据要发送时,其把 CE 置高,使 NewMsg_RF2401工作;B. 把接收机的地址和要发送的数据按时序送入 NewMsg_RF2401;C. 微控制器把 CE 置低,激发 NewMsg_RF2401 进行ShockBurstTM 发射;D. NewMsg_RF2401 的 ShockBurstTM 发 射(1) 给射 频前端供电;(2)射频 数据打包(加字头、 CRC 校验码);(3) 高速 发射数据包;(4)发射完成,NewMsg_RF2401 进入空闲状态。4.1.1.2 ShockBurs
7、tTM 接收流程需用到的接口引脚 CE、DR1、CLK1 和 DATA(接收通道 1)A. 配置本机地址和要接收的数据包大小;B. 进 入接收状态,把 CE 置高;C. 200us 后, NewMsg_RF2401 进入监视状态,等待数据包的到来;D. 当接收到正确的数据包(正确的地址和 CRC 校验码) ,NewMsg_RF2401 自动把字头、地址和 CRC 校验位移去;E. NewMsg_RF2401 通过把 DR1(这个引脚一般引起微控制器中断 )置高通知微控制器;F. 微控制器把数据从 NewMsg_RF2401 读出;G. 所有数据读取完毕后,NewMsg_RF2401 把 DR1
8、 置低,此时,如果 CE 为高,则等待下一个数据包,如果 CE 为低,开始其它工作流程。4.1.2 直接收发模式在直接收发模式下,NewMsg_RF2401 如传统的射频收发器一样工作。4.1.2.1 直接发送模式需要用到的接口引脚为 CE、DATAA. 当微控制器有数据要发送时,把 CE 置高;B. NewMsg_RF2401 射频前端被激活;C. 所有的射频协议必须在微控制器程序中进行处理 (包括字头、地址和 CRC 校验码) 。4.1.2.2 直接接收模式需要用到的接口引脚为 CE、CLK1 和 DATAA. 一旦 NewMsg_RF2401 被配置为直接接收模式, DATA 引脚将根据
9、天线接收到的信号开始高低变化(由于噪声的存在) ;B. CLK1 引脚也开始工作;C. 一旦接收到有效的字头,CLK1 引脚和 DATA 引脚将协调工作,把射频数据包以其被发射时的数据从 DATA 引脚送给微控制器;D. 字头必须是 8 位;E. DR 引脚没用上,所有的地址和 CRC 校验必须在微控制器内部进行。4.2 配置模式在配置模式,15 字节的配置字被送到 NewMsg_RF2401,这通过CS、CLK1 和 DATA 三个引脚完成,具体的配置方法 请参考本文的器件配置部分。4.3 空闲模式NewMsg_RF2401 的空闲模式是为了减小平均工作电流而设计,其最大的优点是, 实现节能
10、的同时,缩短芯片的起动时间。在空闲模式下,部分片内晶振仍在工作,此时的工作电流跟外部晶振的频率有关,如外部晶振为 4MHz 时工作电流为 12uA,外部晶振 为 16MHz 时工作电流为 32uA。在空闲 模式下,配置字的内容保持在 NewMsg_RF2401片内。4.4 关机模式在关机模式下,为了得到最小的工作电流,一般此时的工作电流小于 1uA。关机模式下,配置字的内容也会被保持在 NewMsg_RF2401片内,这是 该模式与断电状态最大的区别。五、配置 NewMsg_RF2401 模块NewMsg_RF2401 的所有配置工作都是通过 CS、CLK1 和 DATA 三个引脚完成,把其配
11、置为 ShockBurstTM 收发模式需要 15 字节的配置字,而如把其配置为直接收发模式只需要 2 字节的配置字。我们推荐 NewMsg_RF2401 工作于 ShockBurstTM 收发模式,这种工作模式下,系统的程序编制会更加简单,并且稳定性也会更高,因此,下文着重介绍 把 NewMsg_RF2401 配置为 ShockBurstTM 收发模式的器件配置方法。ShockBurstTM 的配置字使 NewMsg_RF2401 能够处理射频协议,在配置完成后,在 NewMsg_RF2401 工作的过程中,只需改变其最低一个字节中的内容,以实现接收模式和发送模式之间切换。ShockBurs
12、tTM 的配置字可以分 为以下四个部分:数据宽度:声明射频数据包中数据占用的位数。这使得 NewMsg_RF2401 能 够区分接收数据包中的数据和 CRC 校验码;地址宽度:声明射频数据包中地址占用的位数。这使得 NewMsg_RF2401 能 够区分地址和数据;地址:接收数据的地址,有通道 1 的地址和通道 2 的地址;CRC:使 NewMsg_RF2401 能够生成 CRC 校验码和解码。当使用 NewMsg_RF2401 片内的 CRC 技术时,要确保在配置字中 CRC 校验被使能,并且发送和接收使用相同的协议。 NewMsg_RF2401 配置字的各个位的描述如下表所示。NewMsg
13、_RF2401 配置字描述在配置模式下,注意保证 PWR_UP 引脚为高电平,CE 引脚为低电平。配置字从最高位开始,依次送入 NewMsg_RF2401。在 CS 引脚的下降沿,新送入的配置字开始工作。六、参考源代码参考源代码/*Email: wenming_官方网址:http:/官方论坛:http:/ #define BYTE_BIT0 0x01#define BYTE_BIT1 0x02#define BYTE_BIT2 0x04#define BYTE_BIT3 0x08#define BYTE_BIT4 0x10#define BYTE_BIT5 0x20#define BYTE_B
14、IT6 0x40#define BYTE_BIT7 0x80/sbit PWR_UP = P16;sbit CE = P12;/ sbit DR2 = P35; /暂时没有用到/ sbit CLK2 = P34;/ sbit OUT2 = P33;sbit CS = P11;sbit DR1 = P10;sbit CLK1 = P37;sbit DATA = P33;sbit LED0 = P34;sbit LED1 = P35;sbit KEY0 = P30;sbit KEY1 = P31;/* nRF2401 Configuration * 保存 2401 的配置信息 */*=*/芯片测试
15、用,无需修改#define TEST_2 0x8E /MSB D143D136#define TEST_1 0x08 / D135D128#define TEST_0 0x1C / D127D120/* 注意: DATAx_W + ADDRx_W + CRC 的值必须小于 256 ! 单个数据包的大小必须小于32 字节(256 位) */#define DATA2_W 0x10 /0x10=2 字节 /频道 2 发送/接收数据长度( 单位:Bit)#define DATA1_W 0xE0 /0x20=28 字节 /频道 1 发送/接收数据长度( 单位:Bit)/* 注意:2401 忽略 ADDR 中超过 ADDR_W 设定宽度的那些位,同时地址不能全部设置为 0 */频道 2 接收地址 #define RFConfig_Bit0 TEST_2#define RFConfig_Bit1 TEST_1#define RFConfig_Bit2 TEST_0#define RFConfig_Bit3 DATA2_W#define RFConfig_Bit4 DATA1_W#define