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