系统芯片nRF24E1及其在无绳电话中的应用
文章出处:http://www.singbon.com 作者:单片机及嵌入式系统应用 人气: 发表时间:2011年10月29日
摘要:首先,简要介绍系统级RF收发芯片nRF24E1的各个功能模块及其特性。然后,分析无绳电话的工作原理,介绍怎样用nRF24E1在无绳电话中实现话音信号的无线接收和发送。最后,给出实际应用中的一些体会。
引言
nRF24E1收发器和nRF24E2发射器是Nordic VLSI推出的两种系统级芯片,采用先进的0。18μs CMOS工艺、6mm×6mm的36引脚QFN封装;以nRF2401/02芯片结构为基础,将射频、8051MCU、9输入12位ADC、125通道、UART、SPI、PWM、RTC、WDT全部集成到单芯片中;内部有电压高速器(工作电压1.9~3.6V)和VDD电压监视,通常开关时间小于200μs,数据速率1Mbps,输出功率0dBm;不需要外接SAW滤波器,是目前世界首次推出的、全球2.4GHz通用的、完事的低成本射频系统级芯片。nRF24E1/nRF24E2适用于无线鼠标和键盘、无线手持终端、无线频率识别、数字视频、遥控和汽车电子及其它短距离无线高速应用。
1 nRF24E1功能介绍
nRF24E1结构框图如图1所示。
(1)微处理器
nRF24E1微处理器的指令系统与工业标准8051的指令系统相兼容,但两者的指令执行时间有些不同。通常,nRF24Ex的每条指令执行时间为4~20个时钟周期,而工业标准8051的每条指令执行时间为12~48个时钟周期。nRF24E1比工业标准8051增加了ADC、SPI、RF接收器1、RF接收器2、唤醒定时器5个中断源,以及3个与8051一样的定时器。NRF24E1内含1个与8051相同的UART,在传统的异步通信方式下,可用定时器1和定时器2作为UART的波特率发生器。为了便于和外部RAM区进行数据传递,nRF24E1的CPU还集成2个数据指针。nRF24E1微控制器的时钟直接来源泉于晶振。
微处理器中有256字节的数据RAM和512字节的ROM。上电复位或软件复位后,处理器自动执行ROM中引导区的代码。用户程序通常是在引导区的引导下,从EEPROM加载到1个4KB的RAM中,这个4KB的RAM也可作存储数据用。如果应用当中不用掩膜ROM(也即内含的ROM),程序代码必须从外部非易失性存储器中加载。比较常见的是通过SPI接口扩展型号为25320的EEPROM。
为了控制一些标准8051没有的功能,nRF24E1增加了一些特殊功能寄存器,如RADIO(P2)、ADCCON、ADCDATAH、ADCDATAL、ADCSTATIC、PWMCON、PWMDUTY等。其P0和P1也和标准8051有所不同,其它的特殊功能豁口与标准8051相同。
(3) PWM和SPI接口
nRF24E1具有一个可编程控制的PWM输出。使用时,通过程序改变DIO9(即P0.9)的功能,并可编程决定PWM工作于6位、7位或8位。
SPI(串行外设接口)的3个口与GPIO(DIN0、DION0和DION1)和RF收发器重用。SPI硬件不产生任何片选信号,通常用GPIO的位(P0口)作为外部SPI设备的片选口。
(3)RTC唤醒定时器、WTD和RC振荡器
nRF24E1内有一个低功耗的RC振荡器。该振荡器不能禁止,当VDD≥1.8V时,其连续工作。RTC唤醒定时器和WTD(看门狗)为2个16可编程定时器,它们的工作时钟为RC振荡器的LP——OSC。唤醒定时器和看门狗的定时时间约为300μs~80ms,默认值为10ms。
(4) A/D转换器
nRF24E1内有9通道10位ADC,线性转换时间为每10位48个CPU指令周期。A/D转换器的9个输入可通过软件进行选择。通道0~7可以把对应引脚AIN0~AIN7上的电压值转换为数字值,通常8用于对nRF24E1工作电压的监控。A/D转换器默认工作于10位方式,可通过软件使其工作于6位、8位或12位方式。
(5) 无线收发器
nRF24E1收发器通过内部并行口或内部SPI口与其它模块进行通信,具有同单片射频收发器nRF2401相同的功能。DuoCeiver接收器输出的数据准备信号,可通过程序使其为微处理器的中断或通过GPIO口传给CPU。NRF240x工作于全球开放的2.4~2.5GHz频段。收发器由1个完整的频率合成器、1个功率放大器、1个调节器和2个接收器组成。输出功率、频道和其它射频参数可通过对特殊功能豁口RADIO(0xA0)编程进行控制。发射模式下,射频电流消耗仅为10.5mA,接收模式下为18mA。为了节能,可通过程序控制收发器的开/关。
2 无绳电话
无绳电话系统基于两个模拟音频通道进行工作,因此,无绳电话的无线收发系统必须能够高保真地仿真这两个模拟音频通道。
话音的音频一般介于300~3400kHz,和固定电话的工作频率相近。把话音进行数据化时,至少需要用8位的处理器来进行处理。一般,话音的采样频率为6.8kHz。在实际使用中,常把采样频率设为8kHz,因此,每个音频通道的工作速率最低求为64kb/s。采样频率的提高,有利于改善音质和降低预处理的要求,但同时,对数据处理速率的要求也相应的更高。
根据射频通信的协议,在发送端把音频信息分割、按地址进行打包,在接收端对数据进行检查、整合,这样可以防止偷听、提高稳定性和安全性。要从数字信号重新产生音频信号,最简单的方法是对数字信号过滤后,用脉宽调制的方法进行处理。重新产生8位的音频信号需要8位的脉宽调制器。脉宽调制器的载波频率越高,对接收后过滤处理的要求越低。
3 nRF24E1在无绳电话中的应用
(1) 基本原理
nRF24E1满足无绳电话所需要的性能要求:
①内嵌10位A/D转换器,可用于音频采样和电池监控;
②2.4GHz射频收发器,独特的ShockBurst通信方式;
③为D/A提供8位PWM输出。
音频的发前过滤、发后过滤和放大必须在片外进行。用nRF24E1进行无绳电话的数据传输的基本原理如图2所示。
(2) A/D转换
nRF24E1片内ADC的采样信号,在不够一个RF数据包之前,存储在微控制器8051中。采样数据满包后,8051一边存储下一个新的数据包,一边把已满的数据包转换到RF前端去。在ShockBurst通信方式下,每包为24个字节或3ms的音频采样信号。在没有音频信号输入的时候,可以减少输出或只输出很短的状态信息。这样,既减少数据传输的任务,同时也减少系统功耗。在系统设计时,这种节能方法必须在发送端实现。
(3) 射频通信
射频连接必须能够保证双向都为64kb/s数据速率,并且要求这个连接是全双工的,即两个收发器能同时工作。由于ShockBurst特性,所有与协议相关的操作都由硬件来处理。虽然
nRF24E1使用的是低速的8051微控制器,但无线传输速度可达到1Mb/s。在初始化配置后,nRF24E1就可对射频收发器进行控制。
时隙由采样频率决定(8kHz=125μs)。每个时隙,A/D必须被读取1次,PWM的值也被更新1次。主从收发器在进行数据传送之前必须先同步化(握手)。RF使用的数据包可定为248位(8位引导信号+16位CRC+32位地址+24字节有用数据),因此,每个数据包含有24个采样信号。为了达到实时要求,必须3ms发送1次。
(4)D/A转换
当RF前端收到1个有效的数据包,微控制器收到1个RF接收中断时,接收到的数据包中的有效数据部分可用RF前端的I/O豁口分离出来,然后,再把分离出的有效数据部分存储起来作为PWM的输出信号。PWM输出通过8位PWM引擎来驱动,不需要微控制器分担处理任务。nRF24E1中PWM调制器的最大载波频率为64kHz,这个频率易于数据接收后的过滤。
4 结论
经使用证明,nRF24E1非常适合用作无绳电话的收发模块,它有以下优点:
*nRF24E1内嵌8051,更易于减小体积;
*不必编写压缩音频信号的代码;
*更易于实现高音质、安全的通信;
*2.4GHz的收发频段为全球开放频段;
*电池监管更方便,且功耗低,用120mAh的电池,可以达到13小时的通话时间或1200小时的待机时间;
*nRF24E1的GPIO使得扩展其它功能,如音量控制、LED指示等更加容易。