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