當(dāng)前位置:首頁(yè) > 嵌入式 > 嵌入式軟件
[導(dǎo)讀]嵌入式WiFi技術(shù)研究與通信設(shè)計(jì)

嵌入式WiFi技術(shù)是當(dāng)前無(wú)線網(wǎng)絡(luò)應(yīng)用的一個(gè)熱點(diǎn)。本文介紹IEEE802.11b的基本技術(shù),給出一種在 嵌入式環(huán)境中的WiFi通信設(shè)計(jì)方案;通過(guò)一個(gè)移動(dòng)監(jiān)護(hù)系統(tǒng)的具體實(shí)現(xiàn),說(shuō)明方案的有效性。

關(guān)鍵詞 IEEE802.11b嵌入式WiFi TCP/IP 移動(dòng)監(jiān)護(hù)


    目前,IEEE802.11無(wú)線局域網(wǎng)標(biāo)準(zhǔn)在語(yǔ)音通信、無(wú)線辦公等領(lǐng)域廣泛應(yīng)用,但主要還是局限在PC機(jī)、筆記本電腦等通用平臺(tái)的無(wú)線通信。無(wú)線局域網(wǎng)在信息家電、工業(yè)控制、移動(dòng)手持設(shè)備等嵌入式環(huán)境中的應(yīng)用需求日益增多。如何在嵌入式系統(tǒng)中整合WLAN寬帶通信,成為嵌入式系統(tǒng)應(yīng)用中的一個(gè)熱點(diǎn)。


1 IEEE802.11b無(wú)線局域網(wǎng)
    IEEE802.11系列包括IEEE802.11、IEEE802.11a、IEEE802.1lb、IEEE802.1lg四個(gè)標(biāo)準(zhǔn)?,F(xiàn)階段IEEE802.11b的產(chǎn)品比較多。本文主要針對(duì)IEEE802.1lb標(biāo)準(zhǔn),介紹嵌入式WiFi的實(shí)現(xiàn)。
    IEEE802.11b標(biāo)準(zhǔn)是在IEEE802.11的基礎(chǔ)上發(fā)展起來(lái)的,工作在2.4 GHz頻段,采用CCK調(diào)制技術(shù),最高傳輸率能夠達(dá)到11 Mbps,具有部署方便、通信可靠、抗干擾能力強(qiáng)、成本低、靈活性好、移動(dòng)性強(qiáng)、高吞吐量等特點(diǎn)。它使得無(wú)線用戶可以得到以太網(wǎng)級(jí)的網(wǎng)絡(luò)性能、速率和可用性,并且可以無(wú)縫地將多種LAN技術(shù)集成起來(lái),形成一種能夠最大限度地滿足用戶需求的網(wǎng)絡(luò)。WiFi是Wireless Fidelity的縮寫(xiě),專指IEEE802.11b無(wú)線標(biāo)準(zhǔn)。在介紹IEEE802.11b的工作模式之前,首先介紹幾個(gè)基本的概念。
1.1 IEEE802.11b基本概念
    STA是指接入無(wú)線媒介的部分,常被稱為網(wǎng)絡(luò)適配器或者網(wǎng)絡(luò)接口卡。STA可以是移動(dòng)的,也可以是固定的。每個(gè)STA都支持鑒權(quán)(authentication),取消鑒權(quán)(deauthentication),加密和數(shù)據(jù)傳輸?shù)取?BR>    基本服務(wù)集BSS(Basic Service Set)是IEEES02.11b
局域網(wǎng)的基本構(gòu)成單元,基本服務(wù)集中可以包含多個(gè)STA。BSS基本服務(wù)集都有一個(gè)覆蓋范圍。在該覆蓋范圍內(nèi)基本服務(wù)集的成員STA可以保持相互通信,每個(gè)BSS有一個(gè)基本服務(wù)集識(shí)別碼BSSID。
    獨(dú)立的基本服務(wù)集IBSS(Independent BSS)是最基本的IEEE802.11b局域網(wǎng)類型,一個(gè)最小的IEEE802.11b局域網(wǎng)可以僅僅包含兩個(gè)STA。在這種模式下,STA能夠直接通信。因?yàn)檫@種類型的IEEES02.11b局域網(wǎng)通常在需要的時(shí)候才安排,所以這種網(wǎng)絡(luò)工作模式通常被稱為ad hoc(拉丁語(yǔ),可譯為“自組網(wǎng)”)模式。站點(diǎn)(STA)與基本服務(wù)集(BSS)之間的相互關(guān)系是動(dòng)態(tài)的,STA可以自由地開(kāi)機(jī)、關(guān)機(jī)、進(jìn)入或離開(kāi)BSS覆蓋范圍。
    DSS(Distribution System Service),用于連接多個(gè)BSS。由于物理層覆蓋范圍的限制決定了所能支持的STA與STA之間的直接通信距離。為了解決這個(gè)問(wèn)題,引入DS(Distribution System),它可以把多個(gè)BSS構(gòu)成一個(gè)擴(kuò)展的網(wǎng)絡(luò)。
    AP是Access Point簡(jiǎn)稱,一般翻譯為“無(wú)線訪問(wèn)節(jié)點(diǎn)”或“橋接器”。主要在媒介訪問(wèn)控制層MAC中扮演無(wú)線工作站及有線局域網(wǎng)絡(luò)的橋梁。
    ESS(Extended Service Set),DS和多個(gè)BSS允許IEEE802.11構(gòu)成一個(gè)任意大小和復(fù)雜的無(wú)線網(wǎng)絡(luò)。IEEE802.11b把這種網(wǎng)絡(luò)稱為擴(kuò)展服務(wù)集網(wǎng)絡(luò)。同樣,ESS也有一個(gè)標(biāo)識(shí)的名稱,即ESSID。
1.2 IEEE802.11b的工作模式
    IEEE 802.1lb有兩種工作模式:Ad-hoe和Infra—structure模式。IEEE標(biāo)準(zhǔn)以獨(dú)立的基本服務(wù)集(IBSS)來(lái)定義Ad-hoc模式工作的客戶端集合,以基本服務(wù)集(BSS)定義以Infrastructure模式工作的客戶端集合。
    在Ad-hoc模式中,客戶端不能直接和網(wǎng)絡(luò)外其他的客戶端通信。Ad-hoc模式的設(shè)計(jì)目的是使在同一個(gè)頻譜覆蓋范圍內(nèi)的客戶間能夠互相通信。如果一個(gè)Ad—hoc網(wǎng)絡(luò)模式中的客戶想要和該網(wǎng)絡(luò)外的客戶通信,則該網(wǎng)絡(luò)中必須有一個(gè)客戶做網(wǎng)關(guān)并執(zhí)行路由功能。

    而在Infrastructure模式中,每一個(gè)客戶將其通信報(bào)文發(fā)向AP.AP轉(zhuǎn)發(fā)所有的通信報(bào)文。這些報(bào)文可以是發(fā)往以太網(wǎng)的,也可以是發(fā)往無(wú)線網(wǎng)絡(luò)的。這是一種整合以太網(wǎng)和無(wú)線網(wǎng)絡(luò)架構(gòu)的應(yīng)用模式。無(wú)線訪問(wèn)節(jié)點(diǎn)負(fù)責(zé)頻段管理及漫游等指揮工作。一個(gè)AP最多可連接1024個(gè)站點(diǎn)。


2 嵌入式WiFi的設(shè)計(jì)
    嵌入式WiFi的結(jié)構(gòu)與標(biāo)準(zhǔn)PC/OS平臺(tái)上的實(shí)現(xiàn)有所不同。要在普通的微處理器/微控制器上實(shí)現(xiàn)WiFi通信,其硬件結(jié)構(gòu)、軟件層次都必須進(jìn)行裁減。下面以Prism MAC為例說(shuō)明嵌入式WiFi的軟、硬件設(shè)計(jì)。
2.1 嵌入式WiFi的硬件設(shè)計(jì)
    嵌入式環(huán)境中WiFi的硬件接口如圖1所示。與標(biāo)準(zhǔn)平臺(tái)相比,中間沒(méi)有PCMCIA橋。圖1是嵌入式環(huán)境中的PC2MCIA接口的網(wǎng)卡與總線開(kāi)放MCU的連接。

    由于Prism MAC包括Memory space和I/O memory兩個(gè)空間,所以需要兩個(gè)片選通過(guò)或門(mén)控制讀寫(xiě)空間的選擇。PCMCIA封裝的Prism MAC有26根地址線,驅(qū)動(dòng)Prism MAC僅僅需要地址線A0~A9,其他地址線全部接地。對(duì)于總線不開(kāi)放的處理器,可以使用I/O口線模擬的方式進(jìn)行讀寫(xiě)。
2.2嵌入式WiFi的軟件設(shè)計(jì)
    在WinCE、Linux等操作系統(tǒng)環(huán)境下,可以使用廠家提供的設(shè)備驅(qū)動(dòng)來(lái)使用WiFi網(wǎng)卡。這種系統(tǒng)一般對(duì)硬件資源(如CPU性能、存儲(chǔ)器容量等)有較高的要求。對(duì)于許多嵌入式應(yīng)用,由于硬件資源的限制,很多系統(tǒng)都在簡(jiǎn)單OS(如uC/0S等)或無(wú)0S的環(huán)境下運(yùn)行,這時(shí)就需要對(duì)整個(gè)軟件協(xié)議作適當(dāng)?shù)牟脺p。圖2是嵌入式WiFi的軟件結(jié)構(gòu)。
    圖2中,TCP/IP協(xié)議的實(shí)現(xiàn)在許多文章中已經(jīng)有較多的講述。這里主要以Prism MAC為例,介紹無(wú)限網(wǎng)絡(luò)驅(qū)動(dòng),即嵌入式WiFi的驅(qū)動(dòng)。
    Prism MAC提供給用戶一組接口寄存器,通過(guò)這些寄存器和Prism MAC進(jìn)行通信。這些寄存器位于Attribute Memory[2]空間中,可以使用AttribLlte Memory地址直接訪問(wèn)。表1列出了PRISM MAC的常用寄存器及其定義。


    為了讀寫(xiě)這些寄存器,定義了兩個(gè)函數(shù):unsigned int getReg(unsigned int reg)和void selReg(unsigned int reg,
usnigned int val)。Prism MAC驅(qū)動(dòng)就是向命令寄存器發(fā)命令來(lái)操作MAC。常用的命令有分配buffer、查詢網(wǎng)卡狀態(tài)、初始化網(wǎng)卡、讀數(shù)據(jù)、寫(xiě)數(shù)據(jù)等。


    Prism MAC驅(qū)動(dòng)程序需要為上層提供MAC的讀寫(xiě)函數(shù)和一些控制函數(shù),實(shí)現(xiàn)的函數(shù)原型如下:
    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)用于在系統(tǒng)啟動(dòng)或者系統(tǒng)需要復(fù)位時(shí),復(fù)位Prism MAC,同時(shí)對(duì)驅(qū)動(dòng)使用的變量進(jìn)行初始化。inh_mac(void)函數(shù)完成初始化網(wǎng)絡(luò)控制器和固件,同時(shí)向網(wǎng)卡控制器申請(qǐng)使用的buffer,保存需要用到的RID。wc_write(W0RD*burf,W0RD len)函數(shù)把buff中的len個(gè)字節(jié)寫(xiě)入到MAC的發(fā)送緩沖區(qū),然后寫(xiě)發(fā)送命令到網(wǎng)卡的命令寄存器發(fā)送數(shù)據(jù),函數(shù)返回實(shí)際發(fā)送的數(shù)據(jù)長(zhǎng)度。wc_read(WORD*buff,WoRD maxlen)函數(shù)接收輸入數(shù)據(jù)。返回實(shí)際收到的數(shù)據(jù)長(zhǎng)度,對(duì)上層協(xié)議來(lái)講,調(diào)用wc_read以后,可以對(duì)buff中的數(shù)據(jù)做協(xié)議分析。對(duì)于TCP/IP來(lái)講,實(shí)際上取出的可能是IP、ARP等類型的報(bào)文。get_wlan(void)通過(guò)訪問(wèn)EvStat寄存器判斷是否有數(shù)據(jù)被接收,返回判斷結(jié)果。若有,則把PrismMAC數(shù)據(jù)幀收入到共享數(shù)據(jù)區(qū)中。本函數(shù)只是把PrismMAC的數(shù)據(jù)幀首部讀出,相當(dāng)于是以太網(wǎng)幀的首部。讀出的數(shù)據(jù)格式為


    上層協(xié)議調(diào)用get_wlan以后,如果返回值是TRUE,就可以訪問(wèn)目的地址、源地址、幀類型等變量,以判斷是否處理收到的數(shù)據(jù)。如果是需要接收的數(shù)據(jù),可以調(diào)用wc—read讀取數(shù)據(jù)。


3 嵌入式WiFi在醫(yī)療監(jiān)護(hù)中的應(yīng)用
    嵌入式WiFi在許多領(lǐng)域有著廣泛的應(yīng)用。這里介紹一個(gè)嵌入式WiFi的具體實(shí)現(xiàn)——移動(dòng)監(jiān)護(hù)系統(tǒng)。該監(jiān)護(hù)系統(tǒng)用于醫(yī)院病人監(jiān)護(hù),采用嵌入式WiFi技術(shù),可在移動(dòng)環(huán)境下,對(duì)被測(cè)對(duì)象進(jìn)行數(shù)字分組、實(shí)時(shí)監(jiān)測(cè)。
3.1 硬件結(jié)構(gòu)
   
移動(dòng)監(jiān)護(hù)系統(tǒng)由服務(wù)器和多個(gè)移動(dòng)監(jiān)護(hù)器組成。服務(wù)器端包括1臺(tái)PC或者筆記本電腦、1個(gè)無(wú)線AP和1個(gè)報(bào)警器,硬件結(jié)構(gòu)和連接方式都比較簡(jiǎn)單,在此不再說(shuō)明。

    移動(dòng)監(jiān)護(hù)器的硬件結(jié)構(gòu)框圖如圖3所示。


    圖3中,移動(dòng)監(jiān)護(hù)器的硬件結(jié)構(gòu)包括電源模塊、壓力傳感器模塊、加速度傳感器模塊和無(wú)線網(wǎng)卡模塊。
    移動(dòng)監(jiān)護(hù)器使用Ti的超低功耗微控制器MSP430F148作為CPU。加速度傳感器模塊使用AD公司的加速度傳感器ADXL202,用于運(yùn)動(dòng)加速度測(cè)試,或重力加速度的測(cè)量,分析傾斜度,即用于病人跌倒測(cè)試。壓力傳感器使用Motorola醫(yī)療專用的MPX2300DT,具有良好的低電壓工作特性和線性輸出,用于脈搏測(cè)量。

    電源使用3.6 V電池供電,經(jīng)過(guò)簡(jiǎn)單電壓變換即可滿足移動(dòng)監(jiān)護(hù)器電源要求。無(wú)線網(wǎng)卡采用基于IntersilPrism2芯片集的PCMCIA網(wǎng)卡。它是一款I(lǐng)EEE802.11b兼容網(wǎng)絡(luò)適配器。
3.2 軟件結(jié)構(gòu)
    ad-hoc模式下,移動(dòng)監(jiān)護(hù)器和服務(wù)器間的距離很短。為了增大監(jiān)護(hù)范圍,移動(dòng)監(jiān)護(hù)系統(tǒng)工作在Infrastructure模式,服務(wù)器端的AP和移動(dòng)監(jiān)護(hù)器都相當(dāng)于一個(gè)STA,移動(dòng)監(jiān)護(hù)器與服務(wù)器可以在不同的BSS中。移動(dòng)監(jiān)護(hù)器、AP所在的BSS共同構(gòu)成一個(gè)ESS,使用DSS通信。
    服務(wù)器端軟件模塊主要用于從網(wǎng)絡(luò)接收到的數(shù)據(jù)中分離出斜度、移動(dòng)監(jiān)護(hù)器配置信息、脈搏信息,并根據(jù)信息報(bào)警,對(duì)移動(dòng)監(jiān)護(hù)器進(jìn)行控制。
    移動(dòng)監(jiān)護(hù)器的軟件模塊如圖4所示。移動(dòng)監(jiān)護(hù)器主要完成加速度(斜度)數(shù)據(jù)的采集、脈搏信號(hào)的采集、數(shù)據(jù)的收發(fā)、傳感器的啟??刂?。其軟件可劃分為兩個(gè)層次:應(yīng)用層和驅(qū)動(dòng)層。陰影部分為硬件驅(qū)動(dòng)層,驅(qū)動(dòng)層以上為應(yīng)用層。

    移動(dòng)監(jiān)護(hù)系統(tǒng)由于采用嵌入式WiFi技術(shù),支持?jǐn)?shù)字分組,可以根據(jù)需要對(duì)被測(cè)對(duì)象分組檢測(cè),同時(shí)進(jìn)行實(shí)時(shí)數(shù)據(jù)傳輸;保證了監(jiān)護(hù)的可靠性與準(zhǔn)確性,在實(shí)際使用中有很好的效果。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車(chē)的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車(chē)技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車(chē)工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車(chē)。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車(chē) 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉