摘 要: 給出了一種基于NRF24E1芯片的無線組網新方法。介紹了關于無線片上系統" title="片上系統">片上系統NRF24E1芯片的相關知識,并結合一個具體的無線點菜" title="無線點菜">無線點菜系統的設計和架構過程,對用NRF24E1芯片無線組網的具體方案進行了細致的闡述。
關鍵詞: NRF24E1 無線片上系統? IEEE802.11b? ShockBurst
?
在短距離的通信中,無線技術被普遍看好,其中射頻技術因其功耗低和無方向性等優點而受到青睞。通信頻率為2.4GHz的頻段是全球開放的ISM(工業、科學和醫學)頻段,人們無需申請許可證即可使用,給開發者和用戶帶來了很大方便;同時,該頻率又可以有效地避免低頻段信號、各類電火花以及家用電器等的干擾。由于這一頻段具有的優點,其他的一些應用,例如藍牙(BlueTooth)、無線局域網(WLAN)也在這一頻段;但藍牙和無線局域網對于工業控制、醫療傳感器、智能自動化裝置等設備來說,過于復雜,其成本也過高,很難滿足快速開發和低成本的要求。因此,目前迫切需要一種低成本、低功耗、能夠快速開發應用的方案,實現設備的無線連接。
本文結合無線片上系統NRF24El芯片的具體系統開發實例,研究一種無線組網技術。
1 無線片上系統NRF24E1
NRF24E1 是一種工作頻率可達到2.4GHz的無線射頻收發芯片。內部嵌有與 8051 兼容的微處理器和10位9路A/D轉換器,可以在 1.9~3.6V電壓下穩定工作。其內部還有電壓調整器和VDD電壓監視,通道轉換時間小于200微秒,數據速率1Mbps,不需要外接 SAW 濾波器。
NRF24E1是目前首次推出的全球2.4GHz通用的、完整低成本射頻系統級芯片。無線收發" title="無線收發">無線收發部分有與nRF2401同樣的功能。該功能由外部并行口和外部 SPI 啟動,每一個待發信號對于處理器來講都可以作為中斷來編程,或者通過GPIO端口實現。NRF24E1是一個可以在全球公用的頻段范圍(2.4~2.5 GHz)內實現無線通信的芯片。收發機包含 1 個完全集成的分頻器、放大器、調節器和 2 個收發單元。輸出能量、頻段等射頻參數,可通過射頻寄存器方便地編程調節。在發送模式下,電流消耗只有10.5mA;在接收模式下,只有 18mA,所以功耗相當低。
圖1是NRF24E1芯片示意圖。從圖中看到,NRF24E1由一個8051微控制器" title="微控制器">微控制器內核和一個NRF2401 無線收發器組成,芯片包括:增強型 8051 內核、無線收發器 NRF2401、9路100ksps的10位模數轉換器、UART 異步串口、SPI 接口、PWM 輸出、RC振蕩器、看門狗和喚醒定時器以及內置的專用穩壓電路等。
在 NRF24E1 的內部存儲空間中,512B ROM 用于存儲引導程序。上電后,它可將 EEPROM 中存儲的程序下載到 4KB RAM 的程序運行空間,另外的 256B RAM為數據存儲器。無線收發器 NRF2401 可以通過軟件編程來設定接收地址、收發頻率、發射功率、無線傳輸速率、無線收發模式、CRC 校驗和的長度以及有效數據的長度等無線通信參數。
NRF24E1的典型應用電路原理圖如圖2,從圖中看到,采用 Nordic NRF24E1 無線單片機芯片設計的線路非常簡單,外圍零件很少,也非常容易進行設計開發。
NRF24E1 體積小、功耗低,因此非常適用于對體積和功耗要求較高的應用場合。可廣泛應用于計算機外設、無線耳機、玩具、游戲手柄、汽車電子、醫療器械、遙控和工業傳感器等方面。
2 具體組網實現
結合前面的知識,再來看看基于NRF24E1芯片的短距離無線網絡具體應該如何組網。這里以一個具體的無線點菜系統的設計架構為例。
2.1 系統功能
該無線點菜系統采用NRF24E1芯片設計實現,同時通過無線網卡實現點菜系統后臺服務器與計算機收銀管理系統的無線數據交換,實現從點菜、出菜、加菜、撤菜等從菜品進廚房直至結賬的全過程自動化。
該系統的功能流程是:餐廳內的就餐點和餐廳外的外賣點都可以通過無線發送/接收終端輔助完成點菜,并通過無線傳輸將點菜數據傳送至后臺服務器,再由服務器進行分單打印和數據無線傳輸至收銀用機、傳菜用機,根據所得數據,收銀機結帳并打印帳單,傳菜機打印、傳菜、劃單,最后由服務員完成送菜、上菜。
2.2 系統設計
無線點菜系統中點菜模塊外觀及總體設計圖如圖3所示,其中發送、接收端通過NRF24E1芯片實現無線數據傳輸。
無線點菜系統中點菜模塊系統流程圖如圖4所示。
首先由用戶在點菜終端輸入用戶號和密碼(刷卡)登錄,餐廳內的就餐點由服務員輸入信息進入系統。當驗證用戶合法后,用戶可以進行點菜操作,點菜時直接通過菜肴的編碼和加減運算符組合輸入即可實現點菜,方便快捷,具體編碼可參考無線點菜終端使用說明書。用戶點菜輸入并“確認”后,無線點菜終端將用戶已點菜肴信息顯示輸出,用戶核對無誤,再次“確認”點菜,如需加菜、減菜,可按“取消”鍵回到上一步,同樣通過菜肴的編碼和加減運算符組合輸入來實現加減菜。用戶完成點菜后,無線點菜終端會將點菜數據傳輸給遠程服務器,并給出“您已成功點菜!”的顯示信息,用戶此時可以退出系統。
2.3 發送端總體設計
基于NRF24E1的點菜發送端需要有鍵盤進行點菜的數據輸入,同時還需要一個液晶顯示屏來顯示點菜信息。因此,整個發送端可大致分為主控制器、鍵盤、鍵盤編解碼、LCD、電壓轉換等部分,其總體設計框圖如圖5所示。
2.4 無線收發設計
NRF24E1收發器的收發任務由NRF2401子系統控制,NRF2401子系統結構框圖如圖6所示。
收發功能由特殊功能寄存器中的RADIO和SPI_ CTRL控制。SPI_ CTRL=0X00時,SPI不用;SPI_ CTRL=0X01時,SPI連接到P1口;SPI_ CTRL=0X10時,SPI連接到第一個NRF2401頻道;SPI_ CTRL=0X11時,SPI連接到第二個NRF2401頻道。
RADIO寄存器中的3個位PWR_UP、CE、CS可以用來控制NRF2401子系統的工作模式。當PWR_UP=1,CE=1,CS=0時為收發方式;當PWR_UP=1,CE=O,CS=1時為配置方式;當PWR_UP=1,CE=O,CS=0時為空閑方式;PWPWR_UP=0時關機。
系統射頻部分的通信協議均由內置硬件電路完成,NRF24E1的無線數據包格式如表1。
表1 NRF24E1的無線數據包格式
PRE-AMBLE | ADDRESS | PAYLOAD | CRC |
其中,PRE-AMBLE是前導碼,由硬件自動加上去;ADDRESS是要發送的32~40位地址碼;PAYLOAD是有效數據;CRC是CRC校驗和,它可由內置CRC糾檢錯硬件電路自動加上,可設為0、8或16位。ADDRESS、PAYLOAD和CRC的總長度最大為256位,設置較短的地址和校驗和可以提高傳輸效率,但會使可靠性降低。
NRF24E1支持點到多點通信,每個芯片可通過軟件設置最多40位地址,通信時只有與本機地址相符時才應答,否則不響應。
無線收發器NRF2401有一個144bit的ShockBurst配置字,該配置字規定了無線收發器的接收地址、收發頻率、發射功率、無線傳輸速率、無線收發模式、CRC校驗和的長度以及有效數據的長度。該配置字使NRF2401能夠處理射頻協議。
當NRF2401工作在收發方式時,其采用了先進的ShockBurst技術。
(1)ShockBurst工作在發送方式時,CPU接口引腳為CE、CLK1和DATA(如圖6)。當CPU請求發送數據時,置CE為高電平" title="高電平">高電平,此時將接收機地址和有效載荷數據送入NRF2401,置CE為低電平激活ShockBurst發射。具體流程為:
a.當微控制器有數據要發送時,置CE為高,使NRF2401工作;
b.把接收機的地址和要發送的數據按時序送入NRF2401;
c.微控制器把CE置低,激發NRF2401進行ShockBurst發射;
d.NRF2401 ShockBurst發射:給射頻前端供電;射頻數據打包(加字頭、CRC校驗碼);高速發射數據包;發射完成,NRF2401進入空閑狀態。
?(2)ShockBurst工作在接收方式時,CPU接口引腳為CE、DR1、CLK1和DATA(如圖6)。當正確設置射頻包輸入載荷的地址和大小后,置CE為高電平可激活RX。此后NRF2401監測信息輸入,若收到有效數據包,則給MCU一個中斷并置DR1為高電平,以使MCU以時鐘形式將有效載荷數據取走,待系統收到全部數據后NRF2401再置DR1為低。此時如果 CE保持高電平,則等待新的數據包;若CE置低電平,則開始其他工作流程。具體流程為:
a. 配置本機地址和要接收的數據包大小;
b. 進入接收狀態,把CE置高;
c. 200微秒后,NRF2401進入監視狀態,等待數據包的到來;
d. 當接收到正確的數據包(正確的地址和CRC校驗碼),NRF2401自動把字頭、地址和CRC校驗位移去;
e. NRF2401通過把DR1(這個引腳引起微控制器中斷)置高通知微控制器;
f. 微控制器把數據從NRF2401移出;
g. 所有數據移完,NRF2401把DR1置低,此時,如果CE為高,則等待下一個數據包,如果CE為低,開始其他工作流程。
ShockBurst接收和發送的流程框圖如圖7和圖8所示。最終,無線點菜系統數據接收端正確接收點菜發送端發射來的點菜代碼,并處理成計算機所能識別的數據傳送給后臺服務器進行處理。
該無線點菜系統成本低廉、設計簡單、易于實現,經實際調試驗證完全可用。通過該系統的研發架構,可以得到一種用無線片上系統NRF24E1芯片來進行短距離無線組網的簡易可行的設計方法。可以預見,隨著無線網絡的不斷發展和應用普及,無線片上系統以其獨特的優勢,其應用必將不斷擴展,而NRF24E1作為目前主流、典型、優秀的無線片上系統,在未來的無線領域中將發揮更大的作用。
參考文獻
[1](美) RASHINKAR. P等著, 孫海平,丁鍵譯. 系統芯片(SoC)驗證方法與技術[M]. 北京:電子工業出版社,2005.
[2]潘琢金,施國君.C8051Fxxx高速SOC單片機原理及應用[M]. 北京:北京航空航天大學出版社,2002.
[3]黃智偉. 射頻集成電路芯片原理與應用電路設計[M]. 北京:電子工業出版社,2004.
[4]李健. 無線點菜系統的研究[D]. 天津大學碩士學位論文,2004.
[5]許劍. 基于無線片上系統的家庭網絡控制系統的研究與設計[D]. 浙江大學碩士學位論文,2006.
[6]延濤. 基于nRF24E1芯片的通用遙控器原型樣機的設計[D]. 西北工業大學碩士學位論文,2005.