《nrf905资料中文》由会员分享,可在线阅读,更多相关《nrf905资料中文(10页珍藏版)》请在金锄头文库上搜索。
1、拆分词条 nRF905单片无线收发器nRF905单片无线收发器是挪威Nordic公司推出的单片射频发射器芯片,工作电压为1.9-3.6V,32引脚QFN封装(5mm5mm),工作于433/868/915MHz3个ISM频道(可以免费使用)。目录nRF905概述特点 工作模式 器件配置接口 外围的RF信息 NRF905 无线传输c程序 附加资料 nRF905概述 特点 工作模式 器件配置 接口 外围的RF信息 NRF905 无线传输c程序 附加资料RF905概述nRF905可以自动完成处理字头和CRC(循环冗余码校验)的工作,可由片内硬件自动完成曼彻斯特编码/解码,使用SPI接口与微控制器通信,
2、配置非常方便,其功耗非常低,以-10dBm的输出功率发射时电流只有11mA,在接收模式时电流为12.5mA。 nRF905单片无线收发器工作由一个完全集成的频率调制器,一个带解调器的接收器,一个功率放大器,一个晶体震荡器和一个调节器组成。ShockBurst工作模式的特点是自动产生前导码和CRC,可以很容易通过SPI接口进行编程配置。 特点 真正的单片l 低功耗ShockBurst工作模式ll 多通道工作ETSI/FCC兼容l 通道切换时间l650us 极少的材料消耗l 无需外部lSAW滤波器 输出功率可调至10dBml 传输前监听的载波检测协议l 当正确的数据包被接收或发送时有数据准备就绪信
3、号输出l 侦测接收的数据包当地址正确输出地址匹配信号 应用:l 无线数据通讯l 家庭自动化l 无线遥控l报警及l安全系统 监测l 汽车l 遥感勘测l 无线门禁l 玩具l 工作模式nRF905采用Nordic公司的VLSI ShockBurst技术。ShockBurst技术使nRF905能够提供高速的数据传输,而不需要昂贵的高速MCU来进行数据处理/时钟覆盖。通过将与RF协议有关的高速信号处理放到芯片内,nRF905提供给应用的微控制器一个SPI接口,速率由微控制器自己设定的接口速度决定。nRF905通过ShockBurst工作模式在RF以最大速率进行连接时降低数字应用部分的速度来降低在应用中的
4、平均电流消耗。在ShockBurst RX模式中,地址匹配AM和数据准备就绪DR信号通知MCU一个有效的地址和数据包已经各自接收完成。在ShockBurst TX模式中,nRF905自动产生前导码和CRC校验码,数据准备就绪DR信号通知MCU数据传输已经完成。总之,这意味着降低MCU的存储器需求也就是说降低MCU成本,又同时缩短软件开发时间。 1)、典型ShockBurst TX模式: 、当应用MCU有遥控数据节点时,接收节点的地址TX-address和有效数据TX-payload通过SPI接口传送给nRF905应用协议或MCU设置接口速度; 、MCU设置TRX_CE、TX_EN为高来激活nR
5、F905 ShockBurst传输; 、nRF905 ShockBurst: 无线系统自动上电l 数据包完成(加前导码和CRC校验码)l 数据包发送(100kbps,GFSK,曼l切斯特编码) 、如果AUTO_RETRAN被设置为高nRF905将连续地发送数据包直到TRX_CE被设置为低; 、当TRX_CE被设置为低时,nRF905结束数据传输并自动进入standby模式。 2)、典型ShockBurst RX模式 、通过设置TRX_CE高,TX_EN低来选择ShockBurst模式; 、650us以后,nRF905监测空中的信息; 、当nRF905发现和接收频率相同的载波时,载波检测CD被置
6、高; 、当nRF905接收到有效的地址时,地址匹配AM被置高; 、当nRF905接收到有效的数据包(CRC校验正确)时,nRF905去掉前导码、地址和CRC位,数据准备就绪(DR)被置高; 、MCU设置TRX_CE低,进入standby模式低电流模式; 、MCU可以以合适的速率通过SPI接口读出有效数据; 、当所有的有效数据被读出后,nRF905将AM和DR置低; 、nRF905将准备进入ShockBurst RX、ShockBurst TX或Powerdown模式。 3)、掉电模式 在掉电模式中,nRF905被禁止,电流消耗最小,典型值低于2.5uA。当进入这种模式时,nRF905是不活动的
7、状态。这时候平均电流消耗最小,电池使用寿命最长。在掉电模式中,配置字的内容保持不变。 4)、STANDBY模式 Standby模式在保持电流消耗最小的同时保证最短的ShockBurstRX、ShockBurstTX的启动时间。当进入这种模式时,一部分晶体振荡器是活动的。电流消耗取决于晶体振荡器频率,如:当频率为4MHZ时,IDD=12uA;当频率为20MHZ 时,IDD=46uA。如果uPCLK(Pin3)被使能,电流消耗将增加。并且取决于负载电容和频率。在此模式中,配置字的内容保持不变。 器件配置nRF905的所有配置都通过SPI接口进行。SPI接口由5个寄存器组成,一条SPI指令用来决定进
8、行什么操作。SPI接口只有在掉电模式和Standby模式是激活的。 1)、状态寄存器(Status-Register) 寄存器包含数据就绪DR和地址匹配AM状态。 2)、RF配置寄存器(RF-Configuration Register) 寄存器包含收发器的频率、输出功率等配置信息。 3)、发送地址(TX-Address) 寄存器包含目标器件地址,字节长度由配置寄存器设置。 4)、发送有效数据(TX-Payload) 寄存器包含发送的有效ShockBurst数据包数据,字节长度由配置寄存器设置。 5)、接收有效数据(RX-Payload) 寄存器包含接收到的有效ShockBurst数据包数据,
9、字节长度由配置寄存器设置。在寄存器中的有效数据由数据准备就绪DR指示。 接口1)、模式控制接口: 该接口由 PWR 、TRX_CE、TX_EN组成控制由nRF905组成的高频头的四种工作模式:掉电和 SPI 编程模式;待机和SPI编程模式 ;发射模式;接收模式。 2)、SPI接口: SPI 接口由 CSN、SCK、MOSI以及MISO组成。在配置模式下单片机通过SPI接口配置高频头的工作参数;在发射/接收模式下单片机SPI接口发送和接收数据。 3)、状态输出接口: 提供载波检测输出CD,地址匹配输出AM,数据就绪输出DR。围的RF信息1)、晶体规格 为了实现晶体振荡器低功耗和快速启动时间的解决
10、方案,推荐使用低值晶体负载电容。指定CL=12pF是可以接受的。但是,也可能增大到16pF。指定一个晶体并行相等电容,Co=1.5pF也是很好的,但这样一来会增加晶体自身成本。典型的设定晶体电容Co=1.5pF,指定Co_max=7.0pF。 2)、外部参考时钟 一个外部参考时钟如MCU时钟,可以用来代替晶体震荡器。这个时钟信号应该直接连接到XC1引脚,XC2引脚为高阻态。当使用外部时钟代替晶体时钟工作时,始终必须工作在Standby模式以降低电流消耗。如果器件被设置成Standby模式而没有使用外部时钟或晶体时钟,则电流消耗最大可达1mA。 3)、微处理器输出时钟 在默认情况下,微处理器提供
11、输出时钟。在Standby模式下提供输出时钟将增加电流消耗。在Standby模式电流消耗取决于频率和外部晶体负载、输出时钟的频率和提供输出时钟的电容负载。 4)、天线输出 ANT1和ANT2输出脚给天线提供稳定的RF输出。这两个脚必须有连接到VDD_PA的直流通路,通过RF扼流圈,或者通过天线双极的中心点。在ANT1和ANT2之间的负载阻抗应该在200-700范围内,通过简单的匹配网络或RF变压器(不平衡变压器)可以获得较低的阻抗(例如50)。 NRF905 无线传输c程序发送部分 /* /写发射数据命令:20H /读发射数据命令:21H /写发射地址命令:22H /读发射地址命令:23H /
12、读接收数据命令:24H */ #include #define uint unsigned int #define uchar unsigned char sbit TXEN = P27; /配置口定义567/ sbit TRX_CE = P26; sbit PWR = P25; sbit MISO = P22; /SPI口定义0123/ sbit MOSI = P23; sbit SCK = P21; sbit CSN = P20; sbit DR = P24; /状态输出口4/ sbit led=P10; /*/*RF寄存器配置*/* / 0x00, /配置命令/ / 0x6C, /CH_
13、NO,配置频段在433.2MHZ / 0x0E, /输出功率为10db,不重发,节电为正常模式 / 0x44, /地址宽度设置,为4字节 / 0x03,0x03, /接收发送有效数据长度为3字节 / 0xE7,0xE7,0xE7,0xE7,/接收地址,16位CRC校验,外部时钟信号使能,16M晶振/UP_CLK输出1MHZ频率 / 0xDE, /CRC充许 /*/ /*uchar code RFConf11=0x00,0x6c,0x0e,0x44,0x03,0x03, 0xe7,0xe7,0xe7,0xe7,0xde; */ uchar RFConf11= 0x00, /配置命令/ 0x4c,
14、 /CH_NO,配置频段在423MHZ 0x0C, /输出功率为10db,不重发,节电为正常模式 0x44, /地址宽度设置,为4字节 0x02,0x02, /接收发送有效数据长度为32字节 0xCC,0xCC,0xCC,0xCC, /接收地址 0x58, /CRC充许,8位CRC校验,外部时钟信号不使能,16M晶振 ; void delay(uint z) uint x,y; for(x=z;x0;x-) for(y=110;y0;y-); void SpiWrite(uchar date) /用SPI口写数据至NRF905内/ uchar i; for(i=0;i8;i+) delay(1); SCK=0; MOSI=(date&0x80); date=1 ; delay(1); SCK=1; delay(1); SCK