歡迎您光臨本站 登入註冊首頁

嵌入式WiFi技術

admin @ 2014-03-26 , reply:0

概述

   目前,IEEE802.11無線區域網標準在語音通信、無線辦公等領域廣泛應用,但主要還是局限在PC機、筆記本電腦等通用平台的無線通信。無線區域網在信息家電、工業控制、……

    目前,IEEE802.11無線區域網標準在語音通信、無線辦公等領域廣泛應用,但主要還是局限在PC機、筆記本電腦等通用平台的無線通信。無線區域網在信息家電、工業控制、移動手持設備等嵌入式環境中的應用需求日益增多。如何在嵌入式系統中整合WLAN寬頻通信,成為嵌入式系統應用中的一個熱點。

1 IEEE802.11b無線區域網
    IEEE802.11系列包括IEEE802.11、IEEE802.11a、IEEE802.1lb、IEEE802.1lg四個標準。現階段IEEE802.11b的產品比較多。本文主要針對IEEE802.1lb標準,介紹嵌入式WiFi的實現。
    IEEE802.11b標準是在IEEE802.11的基礎上發展起來的,工作在2.4 GHz頻段,採用CCK調製技術,最高傳輸率能夠達到11 Mbps,具有部署方便、通信可靠、抗干擾能力強、成本低、靈活性好、移動性強、高吞吐量等特點。它使得無線用戶可以得到乙太網級的網路性能、速率和可用性,並且可以無縫地將多種LAN技術集成起來,形成一種能夠最大限度地滿足用戶需求的網路。WiFi是Wireless Fidelity的縮寫,專指IEEE802.11b無線標準。在介紹IEEE802.11b的工作模式之前,首先介紹幾個基本的概念。
1.1 IEEE802.11b基本概念
    STA是指接入無線媒介的部分,常被稱為網路適配器或者網路介面卡。STA可以是移動的,也可以是固定的。每個STA都支持鑒權(authentication),取消鑒權(deauthentication),加密和數據傳輸等。
    基本服務集BSS(Basic Service Set)是IEEES02.11b
區域網的基本構成單元,基本服務集中可以包含多個STA。BSS基本服務集都有一個覆蓋範圍。在該覆蓋範圍內基本服務集的成員STA可以保持相互通信,每個BSS有一個基本服務集識別碼BSSID。
    獨立的基本服務集IBSS(Independent BSS)是最基本的IEEE802.11b區域網類型,一個最小的IEEE802.11b區域網可以僅僅包含兩個STA。在這種模式下,STA能夠直接通信。因為這種類型的IEEES02.11b區域網通常在需要的時候才安排,所以這種網路工作模式通常被稱為ad hoc(拉丁語,可譯為“自組網”)模式。站點(STA)與基本服務集(BSS)之間的相互關係是動態的,STA可以自由地開機、關機、進入或離開BSS覆蓋範圍。
    DSS(Distribution System Service),用於連接多個BSS。由於物理層覆蓋範圍的限制決定了所能支持的STA與STA之間的直接通信距離。為了解決這個問題,引入DS(Distribution System),它可以把多個BSS構成一個擴展的網路。
    AP是Access Point簡稱,一般翻譯為“無線訪問節點”或“橋接器”。主要在媒介訪問控制層MAC中扮演無線工作站及有線區域網絡的橋樑。
    ESS(Extended Service Set),DS和多個BSS允許IEEE802.11構成一個任意大小和複雜的無線網路。IEEE802.11b把這種網路稱為擴展服務集網路。同樣,ESS也有一個標識的名稱,即ESSID。
1.2 IEEE802.11b的工作模式
    IEEE 802.1lb有兩種工作模式:Ad-hoe和Infra—structure模式。IEEE標準以獨立的基本服務集(IBSS)來定義Ad-hoc模式工作的客戶端集合,以基本服務集(BSS)定義以Infrastructure模式工作的客戶端集合。
    在Ad-hoc模式中,客戶端不能直接和網路外其他的客戶端通信。Ad-hoc模式的設計目的是使在同一個頻譜覆蓋範圍內的客戶間能夠互相通信。如果一個Ad—hoc網路模式中的客戶想要和該網路外的客戶通信,則該網路中必須有一個客戶做網關並執行路由功能。
    而在Infrastructure模式中,每一個客戶將其通信報文發向AP.AP轉發所有的通信報文。這些報文可以是發往乙太網的,也可以是發往無線網路的。這是一種整合乙太網和無線網路架構的應用模式。無線訪問節點負責頻段管理及漫遊等指揮工作。一個AP最多可連接1024個站點。

2 嵌入式WiFi的設計
    嵌入式WiFi的結構與標準PC/OS平台上的實現有所不同。要在普通的微處理器/微控制器上實現WiFi通信,其硬體結構、軟體層次都必須進行裁減。下面以Prism MAC為例說明嵌入式WiFi的軟、硬體設計。
2.1 嵌入式WiFi的硬體設計
    嵌入式環境中WiFi的硬體介面如圖1所示。與標準平台相比,中間沒有PCMCIA橋。圖1是嵌入式環境中的PC2MCIA介面的網卡與匯流排開放MCU的連接。 
  
    由於Prism MAC包括Memory space和I/O memory兩個空間,所以需要兩個片選通過或門控制讀寫空間的選擇。PCMCIA封裝的Prism MAC有26根地址線,驅動Prism MAC僅僅需要地址線A0~A9,其他地址線全部接地。對於匯流排不開放的處理器,可以使用I/O口線模擬的方式進行讀寫。
2.2嵌入式WiFi的軟體設計
    在WinCE、Linux等操作系統環境下,可以使用廠家提供的設備驅動來使用WiFi網卡。這種系統一般對硬體資源(如CPU性能、存儲器容量等)有較高的要求。對於許多嵌入式應用,由於硬體資源的限制,很多系統都在簡單OS(如uC/0S等)或無0S的環境下運行,這時就需要對整個軟體協議作適當的裁減。圖2是嵌入式WiFi的軟體結構。
 
    圖2中,TCP/IP協議的實現在許多文章中已經有較多的講述。這裡主要以Prism MAC為例,介紹無限網路驅動,即嵌入式WiFi的驅動。
    Prism MAC提供給用戶一組介面寄存器,通過這些寄存器和Prism MAC進行通信。這些寄存器位於Attribute Memory[2]空間中,可以使用AttribLlte Memory地址直接訪問。表1列出了PRISM MAC的常用寄存器及其定義。 
 
    為了讀寫這些寄存器,定義了兩個函數:unsigned int getReg(unsigned int reg)和void selReg(unsigned int reg,
usnigned int val)。Prism MAC驅動就是向命令寄存器發命令來操作MAC。常用的命令有分配buffer、查詢網卡狀態、初始化網卡、讀數據、寫數據等。
    Prism MAC驅動程序需要為上層提供MAC的讀寫函數和一些控制函數,實現的函數原型如下:
    void init_mac(void)
    void reset_mac(void)
    WORD wc_write(WORD*buff,WORD len)
    WORDwc_read(WORD*buff,WORDmaxlen)
    B00L get_wlan(void)
    reset_mac(void)用於在系統啟動或者系統需要複位時,複位Prism MAC,同時對驅動使用的變數進行初始化。inh_mac(void)函數完成初始化網路控制器和固件,同時向網卡控制器申請使用的buffer,保存需要用到的RID。wc_write(W0RD*burf,W0RD len)函數把buff中的len個位元組寫入到MAC的發送緩衝區,然後寫發送命令到網卡的命令寄存器發送數據,函數返回實際發送的數據長度。wc_read(WORD*buff,WoRD maxlen)函數接收輸入數據。返回實際收到的數據長度,對上層協議來講,調用wc_read以後,可以對buff中的數據做協議分析。對於TCP/IP來講,實際上取出的可能是IP、ARP等類型的報文。get_wlan(void)通過訪問EvStat寄存器判斷是否有數據被接收,返回判斷結果。若有,則把PrismMAC數據幀收入到共享數據區中。本函數只是把PrismMAC的數據幀首部讀出,相當於是乙太網幀的首部。讀出的數據格式為 
 
    上層協議調用get_wlan以後,如果返回值是TRUE,就可以訪問目的地址、源地址、幀類型等變數,以判斷是否處理收到的數據。如果是需要接收的數據,可以調用wc—read讀取數據。

3 嵌入式WiFi在醫療監護中的應用
    嵌入式WiFi在許多領域有著廣泛的應用。這裡介紹一個嵌入式WiFi的具體實現——移動監護系統。該監護系統用於醫院病人監護,採用嵌入式WiFi技術,可在移動環境下,對被測對象進行數字分組、實時監測。
3.1 硬體結構
    移動監護系統由伺服器和多個移動監護器組成。伺服器端包括1台PC或者筆記本電腦、1個無線AP和1個報警器,硬體結構和連接方式都比較簡單,在此不再說明。
    移動監護器的硬體結構框圖如圖3所示。 
 
    圖3中,移動監護器的硬體結構包括電源模塊、壓力感測器模塊、加速度感測器模塊和無線網卡模塊。
    移動監護器使用Ti的超低功耗微控制器MSP430F148作為CPU。加速度感測器模塊使用AD公司的加速度感測器ADXL202,用於運動加速度測試,或重力加速度的測量,分析傾斜度,即用於病人跌倒測試。壓力感測器使用Motorola醫療專用的MPX2300DT,具有良好的低電壓工作特性和線性輸出,用於脈搏測量。
    電源使用3.6 V電池供電,經過簡單電壓變換即可滿足移動監護器電源要求。無線網卡採用基於IntersilPrism2晶元集的PCMCIA網卡。它是一款IEEE802.11b兼容網路適配器。
3.2 軟體結構
    ad-hoc模式下,移動監護器和伺服器間的距離很短。為了增大監護範圍,移動監護系統工作在Infrastructure模式,伺服器端的AP和移動監護器都相當於一個STA,移動監護器與伺服器可以在不同的BSS中。移動監護器、AP所在的BSS共同構成一個ESS,使用DSS通信。
    伺服器端軟體模塊主要用於從網路接收到的數據中分離出斜度、移動監護器配置信息、脈搏信息,並根據信息報警,對移動監護器進行控制。
    移動監護器的軟體模塊如圖4所示。移動監護器主要完成加速度(斜度)數據的採集、脈搏信號的採集、數據的收發、感測器的啟停控制。其軟體可劃分為兩個層次:應用層和驅動層。陰影部分為硬體驅動層,驅動層以上為應用層。 
  
    移動監護系統由於採用嵌入式WiFi技術,支持數字分組,可以根據需要對被測對象分組檢測,同時進行實時數據傳輸;保證了監護的可靠性與準確性,在實際使用中有很好的效果。


[admin via 研發互助社區 ] 嵌入式WiFi技術已經有2938次圍觀

http://cocdig.com/docs/show-post-44670.html