《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 通信與網(wǎng)絡(luò) > 業(yè)界動(dòng)態(tài) > 基于NRF24E1芯片的組網(wǎng)技術(shù)研究與實(shí)現(xiàn)

基于NRF24E1芯片的組網(wǎng)技術(shù)研究與實(shí)現(xiàn)

2008-03-17
作者:高惠燕,, 李忠成

  摘 要: 給出了一種基于NRF24E1芯片的無(wú)線組網(wǎng)新方法,。介紹了關(guān)于無(wú)線片上系統(tǒng)" title="片上系統(tǒng)">片上系統(tǒng)NRF24E1芯片的相關(guān)知識(shí),,并結(jié)合一個(gè)具體的無(wú)線點(diǎn)菜" title="無(wú)線點(diǎn)菜">無(wú)線點(diǎn)菜系統(tǒng)的設(shè)計(jì)和架構(gòu)過(guò)程,對(duì)用NRF24E1芯片無(wú)線組網(wǎng)的具體方案進(jìn)行了細(xì)致的闡述。
  關(guān)鍵詞: NRF24E1 無(wú)線片上系統(tǒng)? IEEE802.11b? ShockBurst

?

  在短距離的通信中,無(wú)線技術(shù)被普遍看好,其中射頻技術(shù)因其功耗低和無(wú)方向性等優(yōu)點(diǎn)而受到青睞,。通信頻率為2.4GHz的頻段是全球開放的ISM(工業(yè)、科學(xué)和醫(yī)學(xué))頻段,,人們無(wú)需申請(qǐng)?jiān)S可證即可使用,,給開發(fā)者和用戶帶來(lái)了很大方便;同時(shí),,該頻率又可以有效地避免低頻段信號(hào),、各類電火花以及家用電器等的干擾。由于這一頻段具有的優(yōu)點(diǎn),,其他的一些應(yīng)用,,例如藍(lán)牙(BlueTooth)、無(wú)線局域網(wǎng)(WLAN)也在這一頻段,;但藍(lán)牙和無(wú)線局域網(wǎng)對(duì)于工業(yè)控制,、醫(yī)療傳感器、智能自動(dòng)化裝置等設(shè)備來(lái)說(shuō),,過(guò)于復(fù)雜,,其成本也過(guò)高,很難滿足快速開發(fā)和低成本的要求,。因此,,目前迫切需要一種低成本、低功耗,、能夠快速開發(fā)應(yīng)用的方案,,實(shí)現(xiàn)設(shè)備的無(wú)線連接。
  本文結(jié)合無(wú)線片上系統(tǒng)NRF24El芯片的具體系統(tǒng)開發(fā)實(shí)例,,研究一種無(wú)線組網(wǎng)技術(shù),。
1 無(wú)線片上系統(tǒng)NRF24E1
  NRF24E1 是一種工作頻率可達(dá)到2.4GHz的無(wú)線射頻收發(fā)芯片。內(nèi)部嵌有與 8051 兼容的微處理器和10位9路A/D轉(zhuǎn)換器,,可以在 1.9~3.6V電壓下穩(wěn)定工作,。其內(nèi)部還有電壓調(diào)整器和VDD電壓監(jiān)視,通道轉(zhuǎn)換時(shí)間小于200微秒,,數(shù)據(jù)速率1Mbps,不需要外接 SAW 濾波器,。
  NRF24E1是目前首次推出的全球2.4GHz通用的,、完整低成本射頻系統(tǒng)級(jí)芯片。無(wú)線收發(fā)" title="無(wú)線收發(fā)">無(wú)線收發(fā)部分有與nRF2401同樣的功能。該功能由外部并行口和外部 SPI 啟動(dòng),,每一個(gè)待發(fā)信號(hào)對(duì)于處理器來(lái)講都可以作為中斷來(lái)編程,,或者通過(guò)GPIO端口實(shí)現(xiàn)。NRF24E1是一個(gè)可以在全球公用的頻段范圍(2.4~2.5 GHz)內(nèi)實(shí)現(xiàn)無(wú)線通信的芯片,。收發(fā)機(jī)包含 1 個(gè)完全集成的分頻器、放大器,、調(diào)節(jié)器和 2 個(gè)收發(fā)單元,。輸出能量、頻段等射頻參數(shù),,可通過(guò)射頻寄存器方便地編程調(diào)節(jié),。在發(fā)送模式下,電流消耗只有10.5mA,;在接收模式下,,只有 18mA,所以功耗相當(dāng)?shù)汀?BR>  圖1是NRF24E1芯片示意圖,。從圖中看到,,NRF24E1由一個(gè)8051微控制器" title="微控制器">微控制器內(nèi)核和一個(gè)NRF2401 無(wú)線收發(fā)器組成,芯片包括:增強(qiáng)型 8051 內(nèi)核,、無(wú)線收發(fā)器 NRF2401,、9路100ksps的10位模數(shù)轉(zhuǎn)換器、UART 異步串口,、SPI 接口,、PWM 輸出、RC振蕩器,、看門狗和喚醒定時(shí)器以及內(nèi)置的專用穩(wěn)壓電路等,。


  在 NRF24E1 的內(nèi)部存儲(chǔ)空間中,512B ROM 用于存儲(chǔ)引導(dǎo)程序,。上電后,,它可將 EEPROM 中存儲(chǔ)的程序下載到 4KB RAM 的程序運(yùn)行空間,另外的 256B RAM為數(shù)據(jù)存儲(chǔ)器,。無(wú)線收發(fā)器 NRF2401 可以通過(guò)軟件編程來(lái)設(shè)定接收地址,、收發(fā)頻率、發(fā)射功率,、無(wú)線傳輸速率,、無(wú)線收發(fā)模式、CRC 校驗(yàn)和的長(zhǎng)度以及有效數(shù)據(jù)的長(zhǎng)度等無(wú)線通信參數(shù),。
  NRF24E1的典型應(yīng)用電路原理圖如圖2,,從圖中看到,,采用 Nordic NRF24E1 無(wú)線單片機(jī)芯片設(shè)計(jì)的線路非常簡(jiǎn)單,外圍零件很少,,也非常容易進(jìn)行設(shè)計(jì)開發(fā),。


  NRF24E1 體積小、功耗低,,因此非常適用于對(duì)體積和功耗要求較高的應(yīng)用場(chǎng)合,。可廣泛應(yīng)用于計(jì)算機(jī)外設(shè),、無(wú)線耳機(jī),、玩具、游戲手柄,、汽車電子,、醫(yī)療器械、遙控和工業(yè)傳感器等方面,。
2 具體組網(wǎng)實(shí)現(xiàn)
  結(jié)合前面的知識(shí),,再來(lái)看看基于NRF24E1芯片的短距離無(wú)線網(wǎng)絡(luò)具體應(yīng)該如何組網(wǎng)。這里以一個(gè)具體的無(wú)線點(diǎn)菜系統(tǒng)的設(shè)計(jì)架構(gòu)為例,。
2.1 系統(tǒng)功能
  該無(wú)線點(diǎn)菜系統(tǒng)采用NRF24E1芯片設(shè)計(jì)實(shí)現(xiàn),,同時(shí)通過(guò)無(wú)線網(wǎng)卡實(shí)現(xiàn)點(diǎn)菜系統(tǒng)后臺(tái)服務(wù)器與計(jì)算機(jī)收銀管理系統(tǒng)的無(wú)線數(shù)據(jù)交換,實(shí)現(xiàn)從點(diǎn)菜,、出菜,、加菜、撤菜等從菜品進(jìn)廚房直至結(jié)賬的全過(guò)程自動(dòng)化,。
  該系統(tǒng)的功能流程是:餐廳內(nèi)的就餐點(diǎn)和餐廳外的外賣點(diǎn)都可以通過(guò)無(wú)線發(fā)送/接收終端輔助完成點(diǎn)菜,,并通過(guò)無(wú)線傳輸將點(diǎn)菜數(shù)據(jù)傳送至后臺(tái)服務(wù)器,再由服務(wù)器進(jìn)行分單打印和數(shù)據(jù)無(wú)線傳輸至收銀用機(jī),、傳菜用機(jī),,根據(jù)所得數(shù)據(jù),收銀機(jī)結(jié)帳并打印帳單,,傳菜機(jī)打印,、傳菜、劃單,,最后由服務(wù)員完成送菜,、上菜。
2.2 系統(tǒng)設(shè)計(jì)
  無(wú)線點(diǎn)菜系統(tǒng)中點(diǎn)菜模塊外觀及總體設(shè)計(jì)圖如圖3所示,,其中發(fā)送,、接收端通過(guò)NRF24E1芯片實(shí)現(xiàn)無(wú)線數(shù)據(jù)傳輸。
  無(wú)線點(diǎn)菜系統(tǒng)中點(diǎn)菜模塊系統(tǒng)流程圖如圖4所示,。


  首先由用戶在點(diǎn)菜終端輸入用戶號(hào)和密碼(刷卡)登錄,,餐廳內(nèi)的就餐點(diǎn)由服務(wù)員輸入信息進(jìn)入系統(tǒng),。當(dāng)驗(yàn)證用戶合法后,用戶可以進(jìn)行點(diǎn)菜操作,,點(diǎn)菜時(shí)直接通過(guò)菜肴的編碼和加減運(yùn)算符組合輸入即可實(shí)現(xiàn)點(diǎn)菜,方便快捷,,具體編碼可參考無(wú)線點(diǎn)菜終端使用說(shuō)明書,。用戶點(diǎn)菜輸入并“確認(rèn)”后,無(wú)線點(diǎn)菜終端將用戶已點(diǎn)菜肴信息顯示輸出,,用戶核對(duì)無(wú)誤,,再次“確認(rèn)”點(diǎn)菜,如需加菜,、減菜,,可按“取消”鍵回到上一步,同樣通過(guò)菜肴的編碼和加減運(yùn)算符組合輸入來(lái)實(shí)現(xiàn)加減菜,。用戶完成點(diǎn)菜后,,無(wú)線點(diǎn)菜終端會(huì)將點(diǎn)菜數(shù)據(jù)傳輸給遠(yuǎn)程服務(wù)器,并給出“您已成功點(diǎn)菜,!”的顯示信息,,用戶此時(shí)可以退出系統(tǒng)。
2.3 發(fā)送端總體設(shè)計(jì)
  基于NRF24E1的點(diǎn)菜發(fā)送端需要有鍵盤進(jìn)行點(diǎn)菜的數(shù)據(jù)輸入,,同時(shí)還需要一個(gè)液晶顯示屏來(lái)顯示點(diǎn)菜信息,。因此,整個(gè)發(fā)送端可大致分為主控制器,、鍵盤,、鍵盤編解碼、LCD,、電壓轉(zhuǎn)換等部分,,其總體設(shè)計(jì)框圖如圖5所示。


2.4 無(wú)線收發(fā)設(shè)計(jì)
  NRF24E1收發(fā)器的收發(fā)任務(wù)由NRF2401子系統(tǒng)控制,,NRF2401子系統(tǒng)結(jié)構(gòu)框圖如圖6所示,。


  收發(fā)功能由特殊功能寄存器中的RADIO和SPI_ CTRL控制。SPI_ CTRL=0X00時(shí),,SPI不用,;SPI_ CTRL=0X01時(shí),SPI連接到P1口,;SPI_ CTRL=0X10時(shí),,SPI連接到第一個(gè)NRF2401頻道;SPI_ CTRL=0X11時(shí),,SPI連接到第二個(gè)NRF2401頻道,。
  RADIO寄存器中的3個(gè)位PWR_UP,、CE、CS可以用來(lái)控制NRF2401子系統(tǒng)的工作模式,。當(dāng)PWR_UP=1,,CE=1,CS=0時(shí)為收發(fā)方式,;當(dāng)PWR_UP=1,,CE=O,CS=1時(shí)為配置方式,;當(dāng)PWR_UP=1,,CE=O,CS=0時(shí)為空閑方式,;PWPWR_UP=0時(shí)關(guān)機(jī),。
  系統(tǒng)射頻部分的通信協(xié)議均由內(nèi)置硬件電路完成,NRF24E1的無(wú)線數(shù)據(jù)包格式如表1,。

表1 NRF24E1的無(wú)線數(shù)據(jù)包格式

PRE-AMBLE ADDRESS PAYLOAD CRC


  其中,,PRE-AMBLE是前導(dǎo)碼,由硬件自動(dòng)加上去,;ADDRESS是要發(fā)送的32~40位地址碼,;PAYLOAD是有效數(shù)據(jù);CRC是CRC校驗(yàn)和,,它可由內(nèi)置CRC糾檢錯(cuò)硬件電路自動(dòng)加上,,可設(shè)為0、8或16位,。ADDRESS,、PAYLOAD和CRC的總長(zhǎng)度最大為256位,設(shè)置較短的地址和校驗(yàn)和可以提高傳輸效率,,但會(huì)使可靠性降低,。
  NRF24E1支持點(diǎn)到多點(diǎn)通信,每個(gè)芯片可通過(guò)軟件設(shè)置最多40位地址,,通信時(shí)只有與本機(jī)地址相符時(shí)才應(yīng)答,,否則不響應(yīng)。
  無(wú)線收發(fā)器NRF2401有一個(gè)144bit的ShockBurst配置字,,該配置字規(guī)定了無(wú)線收發(fā)器的接收地址,、收發(fā)頻率、發(fā)射功率,、無(wú)線傳輸速率,、無(wú)線收發(fā)模式、CRC校驗(yàn)和的長(zhǎng)度以及有效數(shù)據(jù)的長(zhǎng)度。該配置字使NRF2401能夠處理射頻協(xié)議,。
  當(dāng)NRF2401工作在收發(fā)方式時(shí),,其采用了先進(jìn)的ShockBurst技術(shù)。
  (1)ShockBurst工作在發(fā)送方式時(shí),,CPU接口引腳為CE,、CLK1和DATA(如圖6)。當(dāng)CPU請(qǐng)求發(fā)送數(shù)據(jù)時(shí),,置CE為高電平" title="高電平">高電平,,此時(shí)將接收機(jī)地址和有效載荷數(shù)據(jù)送入NRF2401,置CE為低電平激活ShockBurst發(fā)射,。具體流程為:
  a.當(dāng)微控制器有數(shù)據(jù)要發(fā)送時(shí),置CE為高,,使NRF2401工作,;
  b.把接收機(jī)的地址和要發(fā)送的數(shù)據(jù)按時(shí)序送入NRF2401;
  c.微控制器把CE置低,,激發(fā)NRF2401進(jìn)行ShockBurst發(fā)射,;
  d.NRF2401 ShockBurst發(fā)射:給射頻前端供電;射頻數(shù)據(jù)打包(加字頭,、CRC校驗(yàn)碼),;高速發(fā)射數(shù)據(jù)包;發(fā)射完成,,NRF2401進(jìn)入空閑狀態(tài),。
 ?(2)ShockBurst工作在接收方式時(shí),CPU接口引腳為CE,、DR1,、CLK1和DATA(如圖6)。當(dāng)正確設(shè)置射頻包輸入載荷的地址和大小后,,置CE為高電平可激活RX,。此后NRF2401監(jiān)測(cè)信息輸入,若收到有效數(shù)據(jù)包,,則給MCU一個(gè)中斷并置DR1為高電平,,以使MCU以時(shí)鐘形式將有效載荷數(shù)據(jù)取走,待系統(tǒng)收到全部數(shù)據(jù)后NRF2401再置DR1為低,。此時(shí)如果 CE保持高電平,,則等待新的數(shù)據(jù)包;若CE置低電平,,則開始其他工作流程,。具體流程為:
  a. 配置本機(jī)地址和要接收的數(shù)據(jù)包大小,;
  b. 進(jìn)入接收狀態(tài),,把CE置高,;
  c. 200微秒后,NRF2401進(jìn)入監(jiān)視狀態(tài),,等待數(shù)據(jù)包的到來(lái),;
  d. 當(dāng)接收到正確的數(shù)據(jù)包(正確的地址和CRC校驗(yàn)碼),NRF2401自動(dòng)把字頭,、地址和CRC校驗(yàn)位移去,;
  e. NRF2401通過(guò)把DR1(這個(gè)引腳引起微控制器中斷)置高通知微控制器;
  f. 微控制器把數(shù)據(jù)從NRF2401移出,;
  g. 所有數(shù)據(jù)移完,,NRF2401把DR1置低,此時(shí),,如果CE為高,,則等待下一個(gè)數(shù)據(jù)包,如果CE為低,,開始其他工作流程,。
  ShockBurst接收和發(fā)送的流程框圖如圖7和圖8所示。最終,,無(wú)線點(diǎn)菜系統(tǒng)數(shù)據(jù)接收端正確接收點(diǎn)菜發(fā)送端發(fā)射來(lái)的點(diǎn)菜代碼,,并處理成計(jì)算機(jī)所能識(shí)別的數(shù)據(jù)傳送給后臺(tái)服務(wù)器進(jìn)行處理。


  該無(wú)線點(diǎn)菜系統(tǒng)成本低廉,、設(shè)計(jì)簡(jiǎn)單,、易于實(shí)現(xiàn),經(jīng)實(shí)際調(diào)試驗(yàn)證完全可用,。通過(guò)該系統(tǒng)的研發(fā)架構(gòu),,可以得到一種用無(wú)線片上系統(tǒng)NRF24E1芯片來(lái)進(jìn)行短距離無(wú)線組網(wǎng)的簡(jiǎn)易可行的設(shè)計(jì)方法??梢灶A(yù)見(jiàn),,隨著無(wú)線網(wǎng)絡(luò)的不斷發(fā)展和應(yīng)用普及,無(wú)線片上系統(tǒng)以其獨(dú)特的優(yōu)勢(shì),,其應(yīng)用必將不斷擴(kuò)展,,而NRF24E1作為目前主流、典型,、優(yōu)秀的無(wú)線片上系統(tǒng),,在未來(lái)的無(wú)線領(lǐng)域中將發(fā)揮更大的作用。
參考文獻(xiàn)
[1](美) RASHINKAR. P等著, 孫海平,丁鍵譯. 系統(tǒng)芯片(SoC)驗(yàn)證方法與技術(shù)[M]. 北京:電子工業(yè)出版社,2005.
[2]潘琢金,施國(guó)君.C8051Fxxx高速SOC單片機(jī)原理及應(yīng)用[M]. 北京:北京航空航天大學(xué)出版社,2002.
[3]黃智偉. 射頻集成電路芯片原理與應(yīng)用電路設(shè)計(jì)[M]. 北京:電子工業(yè)出版社,2004.
[4]李健. 無(wú)線點(diǎn)菜系統(tǒng)的研究[D]. 天津大學(xué)碩士學(xué)位論文,2004.
[5]許劍. 基于無(wú)線片上系統(tǒng)的家庭網(wǎng)絡(luò)控制系統(tǒng)的研究與設(shè)計(jì)[D]. 浙江大學(xué)碩士學(xué)位論文,2006.
[6]延濤. 基于nRF24E1芯片的通用遙控器原型樣機(jī)的設(shè)計(jì)[D]. 西北工業(yè)大學(xué)碩士學(xué)位論文,2005.

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章、圖片,、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有,。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無(wú)法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容,、版權(quán)和其它問(wèn)題,,請(qǐng)及時(shí)通過(guò)電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,,避免給雙方造成不必要的經(jīng)濟(jì)損失,。聯(lián)系電話:010-82306118;郵箱:[email protected],。