基于射頻模塊nRF24E1的無線系統(tǒng)的開發(fā)
隨著嵌入式系統(tǒng)和無線網(wǎng)絡的發(fā)展,兩者已能緊密結合在一起。而且隨著無線應用領域的擴大,工作在ISM(工業(yè)、科學和醫(yī)學)標準的2.4GHz自由免費頻段,已成為研究的焦點。例如Wi-Fi、BlueTooth、Zigbee等無線傳輸協(xié)議都是應用在2.4GHz頻段上,并以其數(shù)據(jù)率高、節(jié)點分布廣等特點廣泛的應用于科研、家庭、軍事等各個領域。本文研究的系統(tǒng)以NORDICnRF24E1無線芯片為基礎,它是一款帶增強型8051內(nèi)核的無線收發(fā)模塊,適用于各種無線設備互聯(lián)的應用場合,工作于ISM頻段,有125個頻點,能夠實現(xiàn)點對點、點對多點的無線通信,同時可采用改頻和跳頻來避免干擾。該系統(tǒng)已應用于無線環(huán)境參數(shù)(包括溫度、濕度、紅外信號等)的采集和處理;無線遠程下載,可適用于將動態(tài)變化的控制程序下載到不斷移動的設備上,來控制其做出不同的反應,例如機器人的遙控、超級市場的動態(tài)價格指示等等。
2.系統(tǒng)原理及流程
2.1工作原理和流程
該系統(tǒng)主要由程序下載單片機、無線模塊nRF24E1、SPI存儲器EEPROM、前端采集模塊或功能顯示界面及串行口組成。程序下載單片機(如AT89S52)通過串行口與PC機連接,接收PC機下載的執(zhí)行程序,并存儲到SPI存儲器中,配置nRF24E1內(nèi)的51核。在數(shù)據(jù)采集系統(tǒng)中,nRF24E1無線模塊上電后讀取SPI存儲器中的執(zhí)行程序,讀取前端采集的數(shù)據(jù),并通過nRF24E1中的無線收發(fā)模塊實現(xiàn)無線發(fā)送。在遠程下載系統(tǒng)中,發(fā)送端將要在24E1模塊中執(zhí)行的程序在無線環(huán)境中傳輸,接收端運行結果在終端(PC、液晶屏等)上顯示,以適應動態(tài)變化要求。
系統(tǒng)模式圖如下:
圖1:系統(tǒng)模型
2.2硬件設計
在硬件上,本系統(tǒng)研制了SPI總線下載器,將24E1的模塊作為外插件附于其上。開發(fā)板上包括串口電平轉換部分、89S52單片機部分、24E1可拔插模塊及控制部分、電源管理部分。開發(fā)板由5V電源供電,轉換為3.3V向芯片輸出,由繼電器DS2Y-3控制下載完程序后24E1模塊的上電。兩個串口一個用作89S52控制PC向EEPROM傳遞程序,另一個與24E1相連,使得其接收到的或采集的數(shù)據(jù)可在串口顯示。控制射頻模塊與EEPROM進行數(shù)據(jù)交換的是幾片邏輯芯片74LVC1G125、74AHC1G32,有效的隔離了以EEPROM為分界的程序下載和加載過程。
在兩種應用的系統(tǒng)中,發(fā)射端的硬件設計是一致的,在接收端:數(shù)據(jù)采集系統(tǒng)將傳感器與24E1模塊引出的I/O相連,由內(nèi)部8051內(nèi)核控制;遠程程序下載系統(tǒng)將運行結果通過串口或USB口與PC等其它設備相連,或外接液晶屏顯示。
2.3軟件控制
nRF24E1內(nèi)的51核相對普通8051作了一定的擴展,一般編譯器不能完全支持nRF24E1。KeilC51V7.01及其以上的版本都支持nRF24E1,因此,編程非常方便。此系統(tǒng)的軟件分以下幾個部分:發(fā)送端的上位機軟件由VC開發(fā),主要實現(xiàn)控制程序到HEX文件的轉換及通過串口和單片機89S52向EEPROM25AA320的下載。其中溫度采集系統(tǒng)的控制程序實現(xiàn)對24E1的配置、利用片內(nèi)51核進行溫度等的采集、并將采集到的數(shù)據(jù)通過射頻模塊發(fā)送;接收端將收到的溫度信息送到串口顯示。遠程下載系統(tǒng)的控制程序實現(xiàn)24E1的配置和發(fā)送對接收端進行下載編程的程序;接收端將收到的程序導入負責程序執(zhí)行的4KB RAM中,對于它相連的設備進行控制或將運行結果顯示出來。
(1)上位機下載軟件
將轉換成HEX格式的文件向串口下載,同時在后臺運行燒入89S52的下載控制程序,不斷監(jiān)測串口是否有數(shù)據(jù)輸出,一旦發(fā)現(xiàn)則通過單片機的SPI總線下載到外部ROM。EEPROM25AA320是SPI接口的存儲器,有標準的控制信號SDO、SCK、SCI,在SCK脈沖的上升沿進行數(shù)據(jù)的寫入,每次寫入都要將25320的CS信號選通,同時將WP(寫保護)信號關掉,這同時也斷掉了25320到24E1方向的通路。寫入EEPROM的數(shù)據(jù)都要以以下格式傳送:
其中SPEED和XO_FREQ為VC界面上的下載速度和晶振頻率。
程序下載完畢后,繼電器控制射頻模塊上電,軟件將WP信號置位,就切斷了程序下載過程,也將程序存儲器與24E1之間的通路打開,nRF24E1通過SPI口與EEPROM進行連接。上電后,電路可在512BROM中存儲的引導程序的控制下,通過SPI總線將EEPROM中存儲的用戶程序傳送至nRF24E1的4KBRAM程序運行空間中,從而把控制的任務轉到用戶程序。這樣,24E1內(nèi)部的單片機就開始執(zhí)行控制程序的工作了。
(2)無線收發(fā)協(xié)議及流程
射頻模塊的無線傳輸有兩種模式:ShockBurstMode和DirectMode,24E1只支持前者,這種技術使用片上的FIFO的方式在8051MCU與射頻模塊之間進行數(shù)傳,保證了較低的數(shù)據(jù)傳輸率(10Kbps)和較高的數(shù)據(jù)發(fā)送速率(可達1Mbps),從而節(jié)省了能量。數(shù)據(jù)在空中傳輸?shù)膸袷饺缦拢?/P>
地址和數(shù)據(jù)字段的長度在配置24E1時均可定義,PRE-AMBLE和CRC校驗字段均為系統(tǒng)在成幀后自動加上。
發(fā)送流程如下:
接收流程如下:
發(fā)送和接受都由8位RADIO寄存器控制,發(fā)送時定義了兩個通道的時鐘和一位數(shù)據(jù);接收時受PWR_UP、CE、CS信號聯(lián)合控制,要嚴格遵守時序。
由于系統(tǒng)要設計一對多機的通信過程,所以要應用到跳頻技術。在傳統(tǒng)的調(diào)頻通信技術中,使傳輸頻率以突發(fā)脈沖序列為基礎進行跳變,不同突發(fā)脈沖序列上的數(shù)據(jù)采用不同的頻率進行傳送。在本套系統(tǒng)中,24E1的頻段是2400MHz~2527MHz范圍,定義:ChannelRF=2400MHz+RF_CH*1.0MHz,由于24E1是一發(fā)二收的機制,發(fā)送端同一頻點(RF_CH)的兩個接收通道(channel)頻率相差8MHz,都在初始化時由相應的寄存器控制。
需要提出的是,在遠程程序下載系統(tǒng)中,在接收端的程序設計要相對復雜一些。它收到的是對其它設備進行控制的程序,有兩個辦法:一是將整段程序送到與之相連的帶MCU的設備處理;二是在24E1內(nèi)再寫一段bootloader,將接收的程序引導入內(nèi)部的程序執(zhí)行區(qū)域,由8051運行并輸出結果。兩種方法都可行,開發(fā)人員可視具體系統(tǒng)而定。
3.創(chuàng)新點與完善
本論文完成的整個系統(tǒng)投入較低,作為無線傳輸設備,nRF系列單片機易于開發(fā),通信協(xié)議簡單,只要掌握51的編程規(guī)范,很容易上手。另外,結合各類傳感器的使用,nRF系列單片可用于多種數(shù)據(jù)的采集;可以在此基礎上,方便地開發(fā)無線傳感網(wǎng)絡的節(jié)點??捎密浖瓿商l通信,實現(xiàn)點對多點的數(shù)據(jù)傳輸。該系統(tǒng)用于無線編程下載,也有很大的應用前景,國外很多基于無線的編程控制系統(tǒng)已投入使用。目前,USB這種即插即拔的接口設備以其方便的特性有越來越多的應用,在此系統(tǒng)的基礎上,可用一塊CP2102(USB轉串口芯片)用USB代替串口,實現(xiàn)更大的應用價值。
日前,ZigBee(802.15.4)技術已成為無線傳輸?shù)臒狳c,它以低功耗、低成本、時延短、容量大等特點,被業(yè)界認為是最有可能應用在工控場合的無線方式。它同樣使用2.4GHz波段,采用跳頻技術。我們完成的基于nRF24E1的系統(tǒng)還可以參照ZigBee協(xié)議,進一步拓展通信協(xié)議,實現(xiàn)更完善的功能。
參考文獻
1.NORDICnRF24E1PRELIMINARY PRODUCT SPECIFICATION http://www.nordicsemi.no/
2.nRF24E1PCB設計指南
3.肖金球.《單片機接口技術》[M]北京:清華大學出版社2004
4孫利民.無線傳感器網(wǎng)絡[M]北京:清華大學出版社2005
評論