系統(tǒng)芯片nRF24E1及其在無繩電話中的應(yīng)用
文章出處:http://xianjuhong.com 作者:單片機(jī)及嵌入式系統(tǒng)應(yīng)用 人氣: 發(fā)表時間:2011年10月29日
摘要:首先,簡要介紹系統(tǒng)級RF收發(fā)芯片nRF24E1的各個功能模塊及其特性。然后,分析無繩電話的工作原理,介紹怎樣用nRF24E1在無繩電話中實現(xiàn)話音信號的無線接收和發(fā)送。最后,給出實際應(yīng)用中的一些體會。
引言
nRF24E1收發(fā)器和nRF24E2發(fā)射器是Nordic VLSI推出的兩種系統(tǒng)級芯片,采用先進(jìn)的0。18μs CMOS工藝、6mm×6mm的36引腳QFN封裝;以nRF2401/02芯片結(jié)構(gòu)為基礎(chǔ),將射頻、8051MCU、9輸入12位ADC、125通道、UART、SPI、PWM、RTC、WDT全部集成到單芯片中;內(nèi)部有電壓高速器(工作電壓1.9~3.6V)和VDD電壓監(jiān)視,通常開關(guān)時間小于200μs,數(shù)據(jù)速率1Mbps,輸出功率0dBm;不需要外接SAW濾波器,是目前世界首次推出的、全球2.4GHz通用的、完事的低成本射頻系統(tǒng)級芯片。nRF24E1/nRF24E2適用于無線鼠標(biāo)和鍵盤、無線手持終端、無線頻率識別、數(shù)字視頻、遙控和汽車電子及其它短距離無線高速應(yīng)用。
1 nRF24E1功能介紹
nRF24E1結(jié)構(gòu)框圖如圖1所示。
(1)微處理器
nRF24E1微處理器的指令系統(tǒng)與工業(yè)標(biāo)準(zhǔn)8051的指令系統(tǒng)相兼容,但兩者的指令執(zhí)行時間有些不同。通常,nRF24Ex的每條指令執(zhí)行時間為4~20個時鐘周期,而工業(yè)標(biāo)準(zhǔn)8051的每條指令執(zhí)行時間為12~48個時鐘周期。nRF24E1比工業(yè)標(biāo)準(zhǔn)8051增加了ADC、SPI、RF接收器1、RF接收器2、喚醒定時器5個中斷源,以及3個與8051一樣的定時器。NRF24E1內(nèi)含1個與8051相同的UART,在傳統(tǒng)的異步通信方式下,可用定時器1和定時器2作為UART的波特率發(fā)生器。為了便于和外部RAM區(qū)進(jìn)行數(shù)據(jù)傳遞,nRF24E1的CPU還集成2個數(shù)據(jù)指針。nRF24E1微控制器的時鐘直接來源泉于晶振。
微處理器中有256字節(jié)的數(shù)據(jù)RAM和512字節(jié)的ROM。上電復(fù)位或軟件復(fù)位后,處理器自動執(zhí)行ROM中引導(dǎo)區(qū)的代碼。用戶程序通常是在引導(dǎo)區(qū)的引導(dǎo)下,從EEPROM加載到1個4KB的RAM中,這個4KB的RAM也可作存儲數(shù)據(jù)用。如果應(yīng)用當(dāng)中不用掩膜ROM(也即內(nèi)含的ROM),程序代碼必須從外部非易失性存儲器中加載。比較常見的是通過SPI接口擴(kuò)展型號為25320的EEPROM。
為了控制一些標(biāo)準(zhǔn)8051沒有的功能,nRF24E1增加了一些特殊功能寄存器,如RADIO(P2)、ADCCON、ADCDATAH、ADCDATAL、ADCSTATIC、PWMCON、PWMDUTY等。其P0和P1也和標(biāo)準(zhǔn)8051有所不同,其它的特殊功能豁口與標(biāo)準(zhǔn)8051相同。
(3) PWM和SPI接口
nRF24E1具有一個可編程控制的PWM輸出。使用時,通過程序改變DIO9(即P0.9)的功能,并可編程決定PWM工作于6位、7位或8位。
SPI(串行外設(shè)接口)的3個口與GPIO(DIN0、DION0和DION1)和RF收發(fā)器重用。SPI硬件不產(chǎn)生任何片選信號,通常用GPIO的位(P0口)作為外部SPI設(shè)備的片選口。
(3)RTC喚醒定時器、WTD和RC振蕩器
nRF24E1內(nèi)有一個低功耗的RC振蕩器。該振蕩器不能禁止,當(dāng)VDD≥1.8V時,其連續(xù)工作。RTC喚醒定時器和WTD(看門狗)為2個16可編程定時器,它們的工作時鐘為RC振蕩器的LP——OSC。喚醒定時器和看門狗的定時時間約為300μs~80ms,默認(rèn)值為10ms。
(4) A/D轉(zhuǎn)換器
nRF24E1內(nèi)有9通道10位ADC,線性轉(zhuǎn)換時間為每10位48個CPU指令周期。A/D轉(zhuǎn)換器的9個輸入可通過軟件進(jìn)行選擇。通道0~7可以把對應(yīng)引腳AIN0~AIN7上的電壓值轉(zhuǎn)換為數(shù)字值,通常8用于對nRF24E1工作電壓的監(jiān)控。A/D轉(zhuǎn)換器默認(rèn)工作于10位方式,可通過軟件使其工作于6位、8位或12位方式。
(5) 無線收發(fā)器
nRF24E1收發(fā)器通過內(nèi)部并行口或內(nèi)部SPI口與其它模塊進(jìn)行通信,具有同單片射頻收發(fā)器nRF2401相同的功能。DuoCeiver接收器輸出的數(shù)據(jù)準(zhǔn)備信號,可通過程序使其為微處理器的中斷或通過GPIO口傳給CPU。NRF240x工作于全球開放的2.4~2.5GHz頻段。收發(fā)器由1個完整的頻率合成器、1個功率放大器、1個調(diào)節(jié)器和2個接收器組成。輸出功率、頻道和其它射頻參數(shù)可通過對特殊功能豁口RADIO(0xA0)編程進(jìn)行控制。發(fā)射模式下,射頻電流消耗僅為10.5mA,接收模式下為18mA。為了節(jié)能,可通過程序控制收發(fā)器的開/關(guān)。
2 無繩電話
無繩電話系統(tǒng)基于兩個模擬音頻通道進(jìn)行工作,因此,無繩電話的無線收發(fā)系統(tǒng)必須能夠高保真地仿真這兩個模擬音頻通道。
話音的音頻一般介于300~3400kHz,和固定電話的工作頻率相近。把話音進(jìn)行數(shù)據(jù)化時,至少需要用8位的處理器來進(jìn)行處理。一般,話音的采樣頻率為6.8kHz。在實際使用中,常把采樣頻率設(shè)為8kHz,因此,每個音頻通道的工作速率最低求為64kb/s。采樣頻率的提高,有利于改善音質(zhì)和降低預(yù)處理的要求,但同時,對數(shù)據(jù)處理速率的要求也相應(yīng)的更高。
根據(jù)射頻通信的協(xié)議,在發(fā)送端把音頻信息分割、按地址進(jìn)行打包,在接收端對數(shù)據(jù)進(jìn)行檢查、整合,這樣可以防止偷聽、提高穩(wěn)定性和安全性。要從數(shù)字信號重新產(chǎn)生音頻信號,最簡單的方法是對數(shù)字信號過濾后,用脈寬調(diào)制的方法進(jìn)行處理。重新產(chǎn)生8位的音頻信號需要8位的脈寬調(diào)制器。脈寬調(diào)制器的載波頻率越高,對接收后過濾處理的要求越低。
3 nRF24E1在無繩電話中的應(yīng)用
(1) 基本原理
nRF24E1滿足無繩電話所需要的性能要求:
①內(nèi)嵌10位A/D轉(zhuǎn)換器,可用于音頻采樣和電池監(jiān)控;
②2.4GHz射頻收發(fā)器,獨特的ShockBurst通信方式;
③為D/A提供8位PWM輸出。
音頻的發(fā)前過濾、發(fā)后過濾和放大必須在片外進(jìn)行。用nRF24E1進(jìn)行無繩電話的數(shù)據(jù)傳輸?shù)幕驹砣鐖D2所示。
(2) A/D轉(zhuǎn)換
nRF24E1片內(nèi)ADC的采樣信號,在不夠一個RF數(shù)據(jù)包之前,存儲在微控制器8051中。采樣數(shù)據(jù)滿包后,8051一邊存儲下一個新的數(shù)據(jù)包,一邊把已滿的數(shù)據(jù)包轉(zhuǎn)換到RF前端去。在ShockBurst通信方式下,每包為24個字節(jié)或3ms的音頻采樣信號。在沒有音頻信號輸入的時候,可以減少輸出或只輸出很短的狀態(tài)信息。這樣,既減少數(shù)據(jù)傳輸?shù)娜蝿?wù),同時也減少系統(tǒng)功耗。在系統(tǒng)設(shè)計時,這種節(jié)能方法必須在發(fā)送端實現(xiàn)。
(3) 射頻通信
射頻連接必須能夠保證雙向都為64kb/s數(shù)據(jù)速率,并且要求這個連接是全雙工的,即兩個收發(fā)器能同時工作。由于ShockBurst特性,所有與協(xié)議相關(guān)的操作都由硬件來處理。雖然
nRF24E1使用的是低速的8051微控制器,但無線傳輸速度可達(dá)到1Mb/s。在初始化配置后,nRF24E1就可對射頻收發(fā)器進(jìn)行控制。
時隙由采樣頻率決定(8kHz=125μs)。每個時隙,A/D必須被讀取1次,PWM的值也被更新1次。主從收發(fā)器在進(jìn)行數(shù)據(jù)傳送之前必須先同步化(握手)。RF使用的數(shù)據(jù)包可定為248位(8位引導(dǎo)信號+16位CRC+32位地址+24字節(jié)有用數(shù)據(jù)),因此,每個數(shù)據(jù)包含有24個采樣信號。為了達(dá)到實時要求,必須3ms發(fā)送1次。
(4)D/A轉(zhuǎn)換
當(dāng)RF前端收到1個有效的數(shù)據(jù)包,微控制器收到1個RF接收中斷時,接收到的數(shù)據(jù)包中的有效數(shù)據(jù)部分可用RF前端的I/O豁口分離出來,然后,再把分離出的有效數(shù)據(jù)部分存儲起來作為PWM的輸出信號。PWM輸出通過8位PWM引擎來驅(qū)動,不需要微控制器分擔(dān)處理任務(wù)。nRF24E1中PWM調(diào)制器的最大載波頻率為64kHz,這個頻率易于數(shù)據(jù)接收后的過濾。
4 結(jié)論
經(jīng)使用證明,nRF24E1非常適合用作無繩電話的收發(fā)模塊,它有以下優(yōu)點:
*nRF24E1內(nèi)嵌8051,更易于減小體積;
*不必編寫壓縮音頻信號的代碼;
*更易于實現(xiàn)高音質(zhì)、安全的通信;
*2.4GHz的收發(fā)頻段為全球開放頻段;
*電池監(jiān)管更方便,且功耗低,用120mAh的電池,可以達(dá)到13小時的通話時間或1200小時的待機(jī)時間;
*nRF24E1的GPIO使得擴(kuò)展其它功能,如音量控制、LED指示等更加容易。