南京遨凌电子荣誉出品
第 页 0
南京遨凌电子
AL-NRF905无线收发模块
说明文档
www.flyelec.com.cn
2009年 8月
南京遨凌电子荣誉出品
第 页 1
一、模块介绍
(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)
标准
excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载
DIP 间距接口,便于嵌入式应用
二、接口电路管脚说明
说明:
南京遨凌电子荣誉出品
第 页 2
(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 口线连接。
三、模块引脚和电气参数说明
AL-RF905 模块使用 Nordic 公司的 nRF905 芯片开发而成。
AL- RF905 单片无线收发器工作在 433/868/915MHZ 的 ISM 频段由一个完全集成的频率调
制器一个带解调器的接收器一个功率放大器一个晶体震荡器和一个调节器组成 ShockBurst
工作模式的特点是自动产生前导码 和 CRC 可以很容易通过 SPI 接口进行编程配置电流
消耗很低在发射功率为+10dBm 时发射电流为 30mA 接收电流为 12.5mA. 进入
POWERDOWN 模式可以很容易实现节电.
AL-RF905SE模块性能参考数据
NewMsg-RF905SE模块工作电压与最大发射增益参考数据
四、工作方式
AL-RF905一共有四种工作模式, 其中有两种活动 RX/TX 模式和两种节电模式。
南京遨凌电子荣誉出品
第 页 3
活动模式
ShockBurst RX
ShockBurst TX
节电模式
掉电 和 SPI编程
STANDBY 和 SPI编程
nRF905 工作模式由 TRX_CE、TX_EN、PWR_UP 的设置来设定。
4.1 ShockBurst 模式
ShockBurstTM 收发模式下,使用片内的先入先出堆栈区,数据低速从微控制器送入,但高
速发射,这样可以尽量节能,因此,使用低速的微控制器也能得到很高的射频数据发射速率。
与射频协议相关的所有高速信号处理都在片内进行,这种做法有三大好处:尽量节能;低的
系统费用(低速微处理器也能进行高速射频发射); 数据在空中停留时间短,抗干扰性高。
ShockBurstTM 技术同时也减小了整个系统的平均工作电流。 在 ShockBurstTM 收发模式
下, RF905 自动处理字头和 CRC 校验码。在接收数据时,自动把字头和 CRC 校验码移
去。在发送数据时,自动加上字头和 CRC 校验码,当发送过程完成后,DR 引脚通知微处
理器数据发射完毕。
4.1.1 ShockBurst TX 发送
流程
快递问题件怎么处理流程河南自建厂房流程下载关于规范招聘需求审批流程制作流程表下载邮件下载流程设计
典型的 RF905 发送流程分以下几步:
A. 当微控制器有数据要发送时,通过 SPI 接口,按时序把接收机
的地址和要发送的数据送传给 RF905,SPI 接口的速率在通信协议和
器件配置时确定;
B. 微控制器置高 TRX_CE 和 TX_EN,激发 RF905 的 ShockBurstTM
发送模式;
C. RF905 的 ShockBurstTM 发送:
(1) 射频寄存器自动开启;
(2) 数据打包(加字头和 CRC 校验码);
(3) 发送数据包;
(4) 当数据发送完成,数据准备好引脚被置高;
D. AUTO_RETRAN 被置高,RF905 不断重发,直到 TRX_CE 被置低;
E. 当 TRX_CE 被置低,RF905 发送过程完成,自动进入空闲模式。
注意:ShockBurstTM 工作模式保证,一旦发送数据的过程开始,无论 TRX_EN 和 TX_EN
引脚是高或低,发送过程都会被处理完。只有在前一个数据包被发送完毕,RF905 才能接
受下一个发送数据包。
4.1.2 ShockBurst RX 接收流程
接收流程
A. 当 TRX_CE 为高、TX_EN 为低时,RF905 进入 ShockBurstTM 接收模式;
B. 650us 后,RF905 不断监测,等待接收数据;
南京遨凌电子荣誉出品
第 页 4
C. 当 RF905 检测到同一频段的载波时,载波检测引脚被置高;
D. 当接收到一个相匹配的地址,AM 引脚被置高;
E. 当一个正确的数据包接收完毕, RF905 自动移去字头、 地址和 CRC校验位,然后把
DR 引脚置高
F. 微控制器把 TRX_CE 置低,nRF905 进入空闲模式;
G. 微控制器通过 SPI 口,以一定的速率把数据移到微控制器内;
H. 当所有的数据接收完毕,nRF905 把 DR 引脚和 AM 引脚置低;
I. nRF905 此时可以进入 ShockBurstTM 接收模式、ShockBurstTM 发送模式或关机模式。
当正在接收一个数据包时, TRX_CE或 TX_EN 引脚的状态发生改变,RF905 立即把其工
作模式改变,数据包则丢失。当微处理器接到 AM引脚的信号之后, 其就知道 RF905 正
在接收数据包,其可以决定是让 RF905 继续接收该数据包还是进入另一个工作模式。
4.1.3 节能模式
RF905 的节能模式包括关机模式和节能模式。
在关机模式,RF905 的工作电流最小,一般为 2.5uA。进入关机模式后,RF905 保持配置
字中的内容,但不会接收或发送任何数据。 空闲模式有利于减小工作电流, 其从空闲模式
到发送模式或接收模式的启动时间也比较短。在空闲模式下,RF905 内部的部分晶体振荡
器处于工作状态。
五、配置 AY-RF905 模块
所有配置字都是通过 SPI 接口送给 RF905。 SIP 接口的工作方式可通过 SPI 指令进行设
置。当 RF905 处于空闲模式或关机模式时,SPI接口可以保持在工作状态。
5.1 SPI 接口寄存器配置
SPI 接口由状态寄存器、射频配置寄存器、发送地址寄存器、发送数据寄存器和接收数据寄
存器 5 个寄存器组成。 状态寄存器包含数据准备好引脚状态信息和地址匹配引脚状态信
息; 射频配置寄存器包含收发器配置信息,如频率和输出功能等;发送地址寄存器包含接
收机的地址和数据的字节数; 发送数据寄存器包含待发送的数据包的信息, 如字节数等;
接收数据寄存器包含要接收的数据的字节数等信息.SPI 接口由 5 个内部寄存器组成执行寄
存器的回读模式来确认寄存器的内容
南京遨凌电子荣誉出品
第 页 5
状态寄存器 Status-Register
寄存器包含数据就绪 DR 和地址匹配 AM 状态
RF 配置寄存器 RF-Configuration Register
寄存器包含收发器的频率,输出功率等配置信息
发送地址 TX-Address
寄存器包含目标器件地址字节长度由配置寄存器设置
发送有效数据 TX-Payload
寄存器包含发送的有效 ShockBurst 数据包数据字节长度由配置
寄存器设置
接收有效数据 TX-Payload
寄存器包含接收到的有效 ShockBurst 数据包数据字节长度由配
置寄存器设置在寄存器中的有效数据由数据准备就绪 DR 指示
5.2 SPI 指令设置
当 CSN 为低时, SPI 接口开始等待一条指令。任何一条新指令均由 CSN 的由高到低的转
换开始。用于 SPI 接口的有用命令见下
表
关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf
:
SPI 串行接口指令设置
5.3 SPI 时序
南京遨凌电子荣誉出品
第 页 6
5.4 配置寄存器 RF-Configuration-Register 说明
南京遨凌电子荣誉出品
第 页 7
5.5 配置寄存器内容。
南京遨凌电子荣誉出品
第 页 8
注意:射频寄存器的各位的长度是固定的。然而,在 ShockBurstTM 收发过程中,
TX_PAYLOAD、RX_PAYLOAD、TX_ADDRESS 和 RX_ADDRESS 4 个寄存器使用字节数
由配置字决定。RF905 进入关机模式或空闲模式时,寄存器中的内容保持不变。
六、AL-RF905 编程指南
使用 AL-RF905 模块无需掌握任何专业无线或高频方面的理
论,读者只需要具备一定的 C 语言程序基础即可。
6.1 [nRF905 配置寄存器]
南京遨凌电子荣誉出品
第 页 9
字节 0:
[7:0] CH_NO[7:0]:
连同字节 1 的 CH_NO[8]和 HFREQ_PLL 控制 905 的载波频段
参考设置:
Operating frequency HFREQ_PLL CH_NO
430.0 MHz [0] [001001100]
433.1 MHz [0] [001101011]
433.2 MHz [0] [001101100]
434.7 MHz [0] [001111011]
862.0 MHz [1] [001010110]
868.2 MHz [1] [001110101]
868.4 MHz [1] [001110110]
869.8 MHz [1] [001111101]
902.2 MHz [1] [100011111]
902.4 MHz [1] [100100000]
927.8 MHz [1] [110011111]
载波频率的计算公式:
字节 1:
[0] CH_NO [8] :参见字节 0
[1] HFREQ_PLL :
0 - 器件工作在 433MHZ 频段
1 - 期间工作在 868/915MHZ 频段
[3:2] PA_PWR :
输出功率
00 -10dBm (默认)
01 -2dBm
10 +6dBm
11 +10dBm
[4] RX_RED_PWR :
降低接收模式电流消耗至 1.6mA,灵敏度降低。
0 - 正常模式 (默认)
1 - 低功耗模式
[5] AUTO_RETRAN:
自动重发 TX 寄存器中的数据包, 如果 TRX_CE 和 TX_EN 被设置
为高。
0 - 不重发数据包 (默认)
1 - 自动重发数据包
[7:6] 保留
字节 2
[2:0] RX_AWF [2:0] :
南京遨凌电子荣誉出品
第 页 10
RX 地址宽度
001 - 1 字节 RX 地址宽度 (默认)
100 - 4 字节 RX 地址宽度
[3] 保留
[6:4] TX_AWF [2:0] :
TX 地址宽度
001 - 1 字节 TX 地址宽度
100 - 4 字节 TX 地址宽度
[7] 保留
字节 3
[5:0] RX_PW [5:0] :
RX 接收有效数据宽度
000001 - 1 字节 RX 有效数据宽度
000010 - 2 字节 RX 有效数据宽度
……
100000 - 32 字节 RX 有效数据宽度
[7:6] 保留
字节 4
[5:0] TX_PW [5:0] :
TX 发送有效数据宽度
000001 - 1 字节 TX 有效数据宽度
000010 - 2 字节 TX 有效数据宽度
……
100000 - 32 字节 TX 有效数据宽度
[7:6] 保留
字节 5 : RX地址 0字节
字节 6 : RX地址 1字节
字节 7 : RX地址 2字节
字节 8 : RX地址 3字节
字节 9
[1:0] UP_CLK_FREQ [1:0]:
输出时钟频率
00 - 4MHZ
01 - 2MHZ
10 - 1MHZ
11 - 500KHZ
[2] UP_CLK_EN :
输出时钟使能
0 - 没有外部时钟
1 - 外部时钟信号使能 (默认)
南京遨凌电子荣誉出品
第 页 11
[5:3] XOF [2:0] :
晶体振荡器频率,必须依据外部晶体的标称频率设置
(无线模块上 905 芯片外接晶振的频率)
000 - 4MHZ
001 - 8MHZ
010 - 12MHZ
011 - 16MHZ
100 - 20MHZ (默认)
[6] CRC_EN :
CRC 校验允许
0 - 部允许
1 - 允许 (默认)
[7] CRC_MODE :
CRC模式
0 - 8 位 CRC 校验位
1 -16 位 CRC 校验位 (默认)
范例程序中的相关代码段:
/*nRF905 寄存器配置参数*/
typedef struct RFConfig
{
uchar n;
uchar buf[10];
}RFConfig;
code RFConfig RxTxConf =
{
10,
0x4c, 0x0c, 0x44, 0x20, 0x20, 0xcc, 0xcc, 0xcc,0xcc, 0x58
};
//buf[10] 中数据对应 字节 0 ~ 字节 9 ,具体内容可参考上文寄存
器配置章节
//注: 对于频段设置参数 CH_NO, 在我们提供的范例程序中 CH_NO[7:0]
的值为 0x4c。我们不建议各位用户使用其他数值,因为我们的模块
在硬件上只适应 430MHz 左右的频率,为了达到最好的效果,软件参
数上应当与硬件匹配,否则会影响通讯距离。
6.2 [通过 SPI 接口向 nRF905 配置寄存器读写配置信息]
nRF905 通过 SPI 接口与单片机通讯,因此必须首先了解 SPI 接口。
[SPI 概念] SPI 外围串行接口由四条线构成:
MOSI 主机输出从机输入 (主机写操作)
MISO 主机输入从机输出 (主机读操作)
SCK 串行时钟信号,由主机控制
CSN 片选信号,低电平有效
//
void SpiWrite(uchar byte)
南京遨凌电子荣誉出品
第 页 12
{
uchar i;
DATA_BUF=byte; // 将需要发送的数据写入缓存
for (i=0;i<8;i++) // 循环 8 次发送一个字节的数据
{
if (flag) // flag = DATA_BUF^7;
MOSI=1;
else
MOSI=0;
SCK=1; // SCK 高电平
DATA_BUF=DATA_BUF<<1; // 左移一位,为下一位的发送做
准备
SCK=0; // SCK 低电平
}
}
步骤一:MOSI 线准备好需要发送的数据位
步骤二:SCK 置高,器件读取 MOSI 线上的数据
步骤三:SCK 置低,准备发送数据的下一位
以上步骤循环执行 8 次,通过 SPI 向器件发送数据完成!
注意:数据的传输时,高位在前,低位在后。
//
uchar SpiRead(void)
{
uchar i;
for (i=0;i<8;i++) //循环 8 次发送一个字节的数据
{
DATA_BUF=DATA_BUF<<1; //左移一位,准备接收下一位数据
SCK=1; // SCK 高电平
if (MISO)
flag1=1; // flag1 = DATA_BUF^0;
else
flag1=0;
SCK=0; // SCK低电平
}
return DATA_BUF; // DATA_BUF 为接收到的完整数据
}
步骤一:MISO 线准备好需要发送的数据位
步骤二:SCK 置高,主机读取 MISO 线上的数据
步骤三:SCK 置低,准备接收数据的下一位
以上步骤循环执行 8 次,通过 SPI 从器件上读数据完成!
注意:数据的传输时,高位在前,低位在后。
//<主机通过 SPI 接口向 905 配置寄存器写入信息>
void Config905(void)
南京遨凌电子荣誉出品
第 页 13
{
uchar i;
CSN=0; // CSN片选信号,SPI使能
SpiWrite(WC); // 向 905芯片写配置命令
for (i=0;i
void SetTxMode(void)
{
TX_EN=1;
TRX_CE=0;
Delay(1); // delay for mode change(>=650us)
}
//<设置器件为接收模式>
void SetRxMode(void)
{
TX_EN=0;
TRX_CE=1;
Delay(1); // delay for mode change(>=650us)
}
6.3[SPI 接口相关数据]
在使用高性能的单片机作为 nRF905 的主机时需要考虑这个
表格
关于规范使用各类表格的通知入职表格免费下载关于主播时间做一个表格详细英语字母大小写表格下载简历表格模板下载
中的
相关数据。
6.4[器件模式切换时间]