新聞中心

EEPW首頁(yè) > 手機(jī)與無(wú)線(xiàn)通信 > 設(shè)計(jì)應(yīng)用 > 基于射頻模塊nRF24E1的無(wú)線(xiàn)系統(tǒng)的開(kāi)發(fā)

基于射頻模塊nRF24E1的無(wú)線(xiàn)系統(tǒng)的開(kāi)發(fā)

作者: 時(shí)間:2006-07-03 來(lái)源:網(wǎng)絡(luò) 收藏
1.引言
隨著嵌入式網(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)域。本文研究的以NORDIC無(wú)線(xiàn)芯片為基礎(chǔ),它是一款帶增強(qiáng)型8051內(nèi)核的無(wú)線(xiàn)收發(fā),適用于各種無(wú)線(xiàn)設(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)的無(wú)線(xiàn)通信,同時(shí)可采用改頻和跳頻來(lái)避免干擾。該已應(yīng)用于無(wú)線(xiàn)環(huán)境參數(shù)(包括溫度、濕度、紅外信號(hào)等)的采集和處理;無(wú)線(xiàn)遠(yuǎn)程下載,可適用于將動(dòng)態(tài)變化的控制程序下載到不斷移動(dòng)的設(shè)備上,來(lái)控制其做出不同的反應(yīng),例如機(jī)器人的遙控、超級(jí)市場(chǎng)的動(dòng)態(tài)價(jià)格指示等等。

2.系統(tǒng)原理及流程

2.1工作原理和流程
該系統(tǒng)主要由程序下載單片機(jī)、無(wú)線(xiàn)、SPI存儲(chǔ)器EEPROM、前端采集或功能顯示界面及串行口組成。程序下載單片機(jī)(如AT89S52)通過(guò)串行口與PC機(jī)連接,接收PC機(jī)下載的執(zhí)行程序,并存儲(chǔ)到SPI存儲(chǔ)器中,配置內(nèi)的51核。在數(shù)據(jù)采集系統(tǒng)中,nRF24E1無(wú)線(xiàn)模塊上電后讀取SPI存儲(chǔ)器中的執(zhí)行程序,讀取前端采集的數(shù)據(jù),并通過(guò)nRF24E1中的無(wú)線(xiàn)收發(fā)模塊實(shí)現(xiàn)無(wú)線(xiàn)發(fā)送。在遠(yuǎn)程下載系統(tǒng)中,發(fā)送端將要在24E1模塊中執(zhí)行的程序在無(wú)線(xiàn)環(huán)境中傳輸,接收端運(yùn)行結(jié)果在終端(PC、液晶屏等)上顯示,以適應(yīng)動(dòng)態(tài)變化要求。

系統(tǒng)模式圖如下:

圖1:系統(tǒng)模型

2.2硬件設(shè)計(jì)
在硬件上,本系統(tǒng)研制了SPI總線(xiàn)下載器,將24E1的模塊作為外插件附于其上。板上包括串口電平轉(zhuǎn)換部分、89S52單片機(jī)部分、24E1可拔插模塊及控制部分、電源管理部分。板由5V電源供電,轉(zhuǎn)換為3.3V向芯片輸出,由繼電器DS2Y-3控制下載完程序后24E1模塊的上電。兩個(gè)串口一個(gè)用作89S52控制PC向EEPROM傳遞程序,另一個(gè)與24E1相連,使得其接收到的或采集的數(shù)據(jù)可在串口顯示。控制模塊與EEPROM進(jìn)行數(shù)據(jù)交換的是幾片邏輯芯片74LVC1G125、74AHC1G32,有效的隔離了以EEPROM為分界的程序下載和加載過(guò)程。

在兩種應(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é)果通過(guò)串口或USB口與PC等其它設(shè)備相連,或外接液晶屏顯示。

2.3軟件控制
  
nRF24E1內(nèi)的51核相對(duì)普通8051作了一定的擴(kuò)展,一般編譯器不能完全支持nRF24E1。KeilC51V7.01及其以上的版本都支持nRF24E1,因此,編程非常方便。此系統(tǒng)的軟件分以下幾個(gè)部分:發(fā)送端的上位機(jī)軟件由VC,主要實(shí)現(xiàn)控制程序到HEX文件的轉(zhuǎn)換及通過(guò)串口和單片機(jī)89S52向EEPROM25AA320的下載。其中溫度采集系統(tǒng)的控制程序?qū)崿F(xiàn)對(duì)24E1的配置、利用片內(nèi)51核進(jìn)行溫度等的采集、并將采集到的數(shù)據(jù)通過(guò)模塊發(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é)果顯示出來(lái)。

(1)上位機(jī)下載軟件

將轉(zhuǎn)換成HEX格式的文件向串口下載,同時(shí)在后臺(tái)運(yùn)行燒入89S52的下載控制程序,不斷監(jiān)測(cè)串口是否有數(shù)據(jù)輸出,一旦發(fā)現(xiàn)則通過(guò)單片機(jī)的SPI總線(xiàn)下載到外部ROM。EEPROM25AA320是SPI接口的存儲(chǔ)器,有標(biāo)準(zhǔn)的控制信號(hào)SDO、SCK、SCI,在SCK脈沖的上升沿進(jìn)行數(shù)據(jù)的寫(xiě)入,每次寫(xiě)入都要將25320的CS信號(hào)選通,同時(shí)將WP(寫(xiě)保護(hù))信號(hào)關(guān)掉,這同時(shí)也斷掉了25320到24E1方向的通路。寫(xiě)入EEPROM的數(shù)據(jù)都要以以下格式傳送:

其中SPEED和XO_FREQ為VC界面上的下載速度和晶振頻率。

程序下載完畢后,繼電器控制模塊上電,軟件將WP信號(hào)置位,就切斷了程序下載過(guò)程,也將程序存儲(chǔ)器與24E1之間的通路打開(kāi),nRF24E1通過(guò)SPI口與EEPROM進(jìn)行連接。上電后,電路可在512BROM中存儲(chǔ)的引導(dǎo)程序的控制下,通過(guò)SPI總線(xiàn)將EEPROM中存儲(chǔ)的用戶(hù)程序傳送至nRF24E1的4KBRAM程序運(yùn)行空間中,從而把控制的任務(wù)轉(zhuǎn)到用戶(hù)程序。這樣,24E1內(nèi)部的單片機(jī)就開(kāi)始執(zhí)行控制程序的工作了。

(2)無(wú)線(xiàn)收發(fā)協(xié)議及流程

射頻模塊的無(wú)線(xiàn)傳輸有兩種模式: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ī)的通信過(guò)程,所以要應(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)再寫(xiě)一段bootloader,將接收的程序引導(dǎo)入內(nèi)部的程序執(zhí)行區(qū)域,由8051運(yùn)行并輸出結(jié)果。兩種方法都可行,開(kāi)發(fā)人員可視具體系統(tǒng)而定。

3.創(chuàng)新點(diǎn)與完善

本論文完成的整個(gè)系統(tǒng)投入較低,作為無(wú)線(xiàn)傳輸設(shè)備,nRF系列單片機(jī)易于開(kāi)發(fā),通信協(xié)議簡(jiǎn)單,只要掌握51的編程規(guī)范,很容易上手。另外,結(jié)合各類(lèi)傳感器的使用,nRF系列單片可用于多種數(shù)據(jù)的采集;可以在此基礎(chǔ)上,方便地開(kāi)發(fā)無(wú)線(xiàn)傳感網(wǎng)絡(luò)的節(jié)點(diǎn)??捎密浖瓿商l通信,實(shí)現(xiàn)點(diǎn)對(duì)多點(diǎn)的數(shù)據(jù)傳輸。該系統(tǒng)用于無(wú)線(xiàn)編程下載,也有很大的應(yīng)用前景,國(guó)外很多無(wú)線(xiàn)的編程控制系統(tǒng)已投入使用。目前,USB這種即插即拔的接口設(shè)備以其方便的特性有越來(lái)越多的應(yīng)用,在此系統(tǒng)的基礎(chǔ)上,可用一塊CP2102(USB轉(zhuǎn)串口芯片)用USB代替串口,實(shí)現(xiàn)更大的應(yīng)用價(jià)值。

日前,ZigBee(802.15.4)技術(shù)已成為無(wú)線(xiàn)傳輸?shù)臒狳c(diǎn),它以低功耗、低成本、時(shí)延短、容量大等特點(diǎn),被業(yè)界認(rèn)為是最有可能應(yīng)用在工控場(chǎng)合的無(wú)線(xiàn)方式。它同樣使用2.4GHz波段,采用跳頻技術(shù)。我們完成的nRF24E1的系統(tǒng)還可以參照Z(yǔ)igBee協(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ú)線(xiàn)傳感器網(wǎng)絡(luò)[M]北京:清華大學(xué)出版社2005



評(píng)論


相關(guān)推薦

技術(shù)專(zhuān)區(qū)

關(guān)閉