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