在短距離的通信中,無線技術被普遍看好,其中射頻技術因為功耗低和無方向性等優(yōu)點而受到青睞。通信頻率為2.4 GHz的頻段是全球開放的ISM(工業(yè)、科學和醫(yī)學)頻段,使用者無需申請許可證,給開發(fā)者和用戶帶來了很大方便;同時,可以有效地避免低頻段信號、各類電火花及家用電器的干擾。因為這一頻段具有這些優(yōu)點,其他的一些應用,如藍牙、WLAN,也是在這一頻段;但藍牙和WLAN對于工業(yè)控制、醫(yī)療傳感器、住宅和樓宇自動化裝置等設備來說,過于復雜,其成本也過高,很難滿足快速開發(fā)和低成本的要求。因此,目前迫切需要一種低成本、低功耗、能夠快速開發(fā)應用的方案,來實現(xiàn)設備的無線連接。
另一方面,經(jīng)過多年的發(fā)展,TCP/IP協(xié)議已經(jīng)成為目前被廣泛應用于Internet的通信協(xié)議。在嵌入式系統(tǒng)中實現(xiàn)TCP/IP協(xié)議棧,利用Internet進行遠程數(shù)據(jù)傳送,可以實現(xiàn)對遠端設備運行狀態(tài)的監(jiān)視和控制。
在嵌入式TCP/IP平臺下利用工作頻率為2.4 GHz的無線收發(fā)模塊nRF24E1,進行短距離的點對多點的無線通信;用無線技術解決最后10 m的通信問題,可實現(xiàn)一種無線接入的解決方案。
2 nRF24E1及其通信協(xié)議
2.1 nRF24E1模塊的基本特性
nRF24E1是北歐集成電路公司(Nordic)推出的一款帶8051內核的無線收發(fā)模塊,內部結構如圖1所示。該模塊的無線收發(fā)器工作于2.4 GHz的ISM頻段,有多達125個的頻點,可通過改頻和跳頻來避免干擾。nRF24E1的集成度非常高,內部集成了增強型8051內核,2.4 GHz無線收發(fā)器,100 ksps的9路10位模數(shù)轉換器,UART接口,SPI接口,PWM輸出,內置RC振蕩器、看門狗和喚醒定時器以及專門的穩(wěn)壓電路。所有高頻元件包括電感、振蕩器等,全部集成在芯片內部,因此芯片的性能穩(wěn)定,受外界環(huán)境的影響很小。
nRF24E1采用36腳QFN(6 mm×6 mm)封裝,最大傳輸速率可達1 Mb/s,靈敏度為一90 dBm,最大發(fā)射功率為O dBm;在較為理想的環(huán)境中,室內傳輸距離可達30~40 m,室外傳輸距離可達100~200 m;其工作電壓為1.9~3.3 V,工作溫度范圍為一40~+80℃。
2.2 nRF24E1之間的通信協(xié)議
nRF24E1的無線數(shù)據(jù)包格式為
其中,Preamble是前導碼,是硬件自動加上去的;ADDR是發(fā)送的地址,為32~40位;PAYLOAD是有效數(shù)據(jù);CRC是CRC校驗和,由內置CRC糾檢錯硬件電路自動加上,可設為O、8或16位。ADDR、PAYLOAD和CRC的總長度最大為256位,因此,設置較短的地址和校驗和能提高傳輸效率,但也使得可靠性降低。
nRF24E1通過軟件設置收發(fā)模式、收發(fā)頻率、接收地址、發(fā)射功率、CRC校驗和的長度、有效數(shù)據(jù)的長度等。無線收發(fā)器有2個頻道:頻道1可以接收和發(fā)送;頻道2只能接收,且頻道2的接收頻率總比頻道1高8 MHz;同時,每個芯片可以設置2個地址。收發(fā)頻率和地址隨時都可以通過軟件更改,實現(xiàn)改頻和跳頻;但是,必須通過通信協(xié)議解決好,一致的頻率和正確的地址才是數(shù)據(jù)傳送的前提。只有地址符合且校驗和正確的包,才能被進一步處理;若有一項不正確,整個數(shù)據(jù)包就被硬件自動丟棄。若地址與校驗和相符,則由硬件產生中斷DRl或DR2,8051才能將數(shù)據(jù)接收到緩沖區(qū)。
在同一時刻,nRF24E1只能處于接收或發(fā)送模式中的一種。一般以接收模式為待機狀態(tài)。
3 無線接入解決方案
系統(tǒng)的解決方案示意圖如圖2所示。
nRF24E1主機是無線系統(tǒng)的關鍵部分。它不但作為接入點,負責與嵌入式TCP/IP模塊交換數(shù)據(jù),同時也負責與其他無線模塊通信。
為實現(xiàn)Internet網(wǎng)絡互聯(lián),使用以太網(wǎng)控制芯片RTL8019AS,并將TCP/IP協(xié)議棧嵌入在ATmegal28的內部。除此之外,ATmegal28內部還實現(xiàn)了一個小型通用的Web Server,而遠端的PC就作為客戶端。
數(shù)據(jù)的傳送過程是遠端PC通過Internet發(fā)送數(shù)據(jù),由RTL8019AS接收數(shù)據(jù)包,再由ATmegal28對TCP/lP數(shù)據(jù)包進行處理,得到PC發(fā)送的信息,AT-megal28再將數(shù)據(jù)通過SPI接口傳送到nRF24E1主機。nRF24E1主機根據(jù)內部協(xié)議又將數(shù)據(jù)傳給相應的nRF24E1從機,再由nRF24E1從機對各自的設備進行通信或控制。nRF24E1從機給遠端PC傳送數(shù)據(jù)為反向的過程。
4 接入系統(tǒng)的控制及其實現(xiàn)
4.1 無線系統(tǒng)的控制方法
將所有的nRF24E1模塊都設置為同一頻率,通過設置不同的地址來區(qū)分各個無線模塊。為了避免多個從機同時給主機發(fā)送數(shù)據(jù)產生沖突,主機不但要作為接入點,同時要控制整個無線系統(tǒng),避免沖突。
系統(tǒng)采用主機輪詢,從機應答的方法,即主機按照一定的規(guī)則,給從機發(fā)送一個允許從機發(fā)送數(shù)據(jù)的標志。該標志相當于一個令牌,從機若有數(shù)據(jù)發(fā)送,得到令牌后,可在令牌的有效時間內連續(xù)地發(fā)送多幀數(shù)據(jù)。當然,也可以設置只能發(fā)送1幀數(shù)據(jù),數(shù)據(jù)發(fā)送完畢后必須有一個結束的信號END標志;如果從機沒有數(shù)據(jù)發(fā)送,也必須給主機返回END標志,從機的回應可以讓主機判斷與該從機的通信鏈路是否正常。
主機對無線系統(tǒng)的控制主要是通過令牌來實現(xiàn)的,因此主機對從機的令牌是否有效的判斷是其中的關鍵,而且必須考慮足夠的容錯性能??梢酝ㄟ^兩個方法來判斷和控制令牌的有效時間:一是從機收到令牌到返回END標志的時間內令牌為有效,而主機根據(jù)從機返回的END標志即可判斷該從機的令牌已經(jīng)失效;二是規(guī)定令牌的最大有效時間,從機收到令牌后開始計時,達到規(guī)定的最大時間后,令牌自動失效,主機也通過計時來判斷從機的令牌是否失效。這兩個方法同時起作用。第一個方法可以提高系統(tǒng)效率,避免在空閑的鏈路上消耗過多的時間,使系統(tǒng)的品質得到提高;而設置最大時間是為了限制一個從機占用通信鏈路的時間,也可以防止丟失END標志甚至通信鏈路不正常所產生的錯誤,盡量減少不正常的鏈路對系統(tǒng)其他部分的影響。
當然,主機不僅可以采用輪詢的方法,也可以根據(jù)各個從機的通信優(yōu)先級不同來分配令牌,而且每個從機令牌的最大有效時間也可以不一樣。從機必須在令牌的有效時間內才能給主機發(fā)送數(shù)據(jù),每一時刻只有一個從機的令牌有效,以避免沖突。主機要發(fā)送數(shù)據(jù),必須先查詢從機的令牌是否有效。若令牌有效,還必須等從機的END標志到來后,或者時間超過了令牌的最大有效時間,且這時所有從機的令牌都見效,主機才可以發(fā)送數(shù)據(jù)。
4.2 系統(tǒng)的實現(xiàn)
nRF24E1主機不但要與ATmegal28通信,還要與其他nRF24E1從機通信;同時,還要控制整個無線系統(tǒng)。因此,nRF24E1主機是整個無線接人系統(tǒng)的關鍵,它能否高效地運行,關系到整個系統(tǒng)的效率。
圖3所示為。nRF24E1主機在正常情況下的運行流程。主機在令牌發(fā)出去以后,就只能處于無線接收的狀態(tài),直到從機的令牌無效后才能進行與ATmegal28的通信或者給從機發(fā)送數(shù)據(jù)。
nRF24E1從機的通信任務要簡單得多,另外還有各自的應用??梢杂胣RF24E1的I/O端口直接控制設備,也可以連接其他MCU實現(xiàn)其他功能。
由于nRF24E1內置了增強型8051控制器,使nRF24E1成為一種集無線數(shù)據(jù)接收和發(fā)送于一體,以及對數(shù)據(jù)進行處理的片上系統(tǒng)(SoC),并且有模擬輸入和PWM輸出,因此,不但可以作為無線接口實現(xiàn)無線數(shù)據(jù)傳送,在一些較為簡單的控制系統(tǒng)中,可以用它作為控制核心,無需另接MCU。這使得nRF24E1的應用系統(tǒng)更為簡化,大大增強了無線系統(tǒng)的穩(wěn)定性和可靠性;同時,也使得開發(fā)變得簡單,成本進一步降低。
在一些較為復雜的系統(tǒng)中,由于nRF24E1的端口有限,只有256字節(jié)的RAM空間,805l的處理能力也不是很強。在這樣的系統(tǒng)中,可通過連接功能更為強大的MCU,讓MCU進行處理。應用中,采用了ATmegal28,而nRF24E1只作為無線通信的接口,將數(shù)據(jù)通過UART或SPI接口傳送到Atmegal28,讓Atmegal28進行較為復雜的運算和處理。
圖4為ATmegal28與nRF24E1的SPI接口電路圖。nRF24E1為SPI的主機,ATmegal28為從機。通過SPI接口可使nRF24El與ATmegal28的最大通信速率達到2 Mbps,因此,傳輸?shù)乃俣瓤梢詽M足大多數(shù)場合的應用。
本系統(tǒng)可以應用于數(shù)據(jù)采集系統(tǒng)、信息家電的無線通信接口、住宅和樓宇自動化裝置以及工業(yè)自動化的無線連接等場合。上述方案已經(jīng)在數(shù)據(jù)采集系統(tǒng)上得到應用,很方便地實現(xiàn)了設備間的無線連接;而且對原有模塊的改動很少,開發(fā)時間較短,系統(tǒng)的穩(wěn)定性很好。
結 語
藍牙工作在2.4 GHz頻段,但由于其芯片的成本一直居高不下,產品很難開發(fā),因此到目前為止,藍牙的產品還是很少。另外,市場尚未出現(xiàn)非藍牙不可的應用 需求,藍牙的一些市場定位能夠輕易地被其他更專業(yè)的產 品所取代。nRF24E1就是以較低的價格和較容易應用開 發(fā)等優(yōu)勢來代替一些領域的藍牙應用,為一些只需要簡單 的無線連接的應用領域,提供一種低成本、低功耗、能夠快 速開發(fā)應用的方案,以實現(xiàn)無線連接。另外,在嵌入式系 統(tǒng)中實現(xiàn)TCP/IP協(xié)議棧,利用Internet進行數(shù)據(jù)的遠程 傳送;而在本地端采用嵌入式的2.4 GHz無線接入技術, 將這兩者結合起來,具有一定的先進性和廣闊的應用前景。