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