系統芯片nRF24E1及其在無繩電話中的應用
文章出處:http://hz-huyue.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指示等更加容易。