802.11B的無(wú)線網(wǎng)卡在DSP系統(tǒng)中的實(shí)現(xiàn)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
摘 要:研究基于802.11B的無(wú)線網(wǎng)卡在嵌入式數(shù)字信號(hào)處理器(DSP)OMAP5912上的實(shí)現(xiàn)。整個(gè)系統(tǒng)以DSP為核心,采用T1公司的TNETll00B無(wú)線網(wǎng)卡模塊實(shí)現(xiàn)802.11B通信協(xié)議,進(jìn)行無(wú)線信號(hào)收發(fā)。系統(tǒng)制造簡(jiǎn)單,集成度高,適用于多種無(wú)線局域網(wǎng)絡(luò)設(shè)備。
關(guān)鍵詞:無(wú)線網(wǎng)卡 802.1lB 嵌入式 OMAP5912
引 言
無(wú)線局域網(wǎng)是指以無(wú)線信道作為傳輸媒介的計(jì)算機(jī)局域網(wǎng);無(wú)線網(wǎng)絡(luò)是有線聯(lián)網(wǎng)方式的重要補(bǔ)充和延伸,并逐漸成為計(jì)算機(jī)網(wǎng)絡(luò)中一個(gè)至關(guān)重要的組成部分,廣泛應(yīng)用于需要可移動(dòng)數(shù)據(jù)處理或無(wú)法進(jìn)行物理傳輸介質(zhì)布線的領(lǐng)域。隨著IEEE802.11無(wú)線網(wǎng)絡(luò)標(biāo)準(zhǔn)的制定與發(fā)展,使無(wú)線網(wǎng)絡(luò)技術(shù)更加成熟與完善;能夠給用戶提供更加安全可靠、移動(dòng)、高效、遠(yuǎn)距離的網(wǎng)絡(luò)互聯(lián)方案,并已成功應(yīng)用于眾多行業(yè)。無(wú)線網(wǎng)絡(luò)的強(qiáng)大加密技術(shù)和極低的輻射以及可以自由架設(shè)的2.4 GHz自由頻段,可使無(wú)線網(wǎng)絡(luò)得到進(jìn)一步發(fā)展。下面介紹一種在嵌入式數(shù)字信號(hào)處理器(DSP)OMAP5912上實(shí)現(xiàn)無(wú)線網(wǎng)絡(luò)802.11B的方法。DSP對(duì)PC機(jī)數(shù)據(jù)或者直接采樣語(yǔ)音信號(hào),通過(guò)無(wú)線網(wǎng)絡(luò)傳輸,實(shí)現(xiàn)數(shù)據(jù)通信。由于系統(tǒng)以DSP為核心,使得無(wú)線網(wǎng)絡(luò)的數(shù)字信號(hào)處理更加方便,可以較方便地實(shí)現(xiàn)數(shù)據(jù)加密、信號(hào)壓縮等較復(fù)雜的算法。
1 無(wú)線網(wǎng)卡模塊TNETll00B
無(wú)線信號(hào)的收發(fā)采用無(wú)線網(wǎng)卡模塊TNETll00B實(shí)現(xiàn)。TNETll00B是TI公司最近推出的遵循802.11B通信標(biāo)準(zhǔn)的無(wú)線信號(hào)收發(fā)芯片。
TNETll00B的內(nèi)部功能如圖1所示。TNETll00B主要由射頻信號(hào)處理單元、基帶信號(hào)處理單元、中間接入控制單元以及嵌入式CPU、RAM、主機(jī)硬件接口、時(shí)鐘管理模塊等多個(gè)部分組成。
射頻信號(hào)處理單元實(shí)現(xiàn)無(wú)線信號(hào)的接收和發(fā)送。集成有1個(gè)8位22MHz的模數(shù)轉(zhuǎn)換器AD和1個(gè)10位44MHz的數(shù)模轉(zhuǎn)換器DA。AD/DA都具有自動(dòng)增益控制功能,DA還具有功率控制功能。射頻信號(hào)處理單元還提供可調(diào)的參考時(shí)鐘,為AD的全速、半速時(shí)鐘或者其1/4分頻時(shí)鐘,分別對(duì)應(yīng)為22 MHz、11MHz和5.5 MHz。
基帶信號(hào)處理單元實(shí)現(xiàn)基帶信號(hào)的調(diào)制解調(diào),支持IEEE Std的802.11B協(xié)議?;鶐卧臄?shù)據(jù)速率可以和射頻單元的時(shí)鐘一致,也可以設(shè)置成較低的1 Mb/s或者2 Mb/s。較低速率下的基帶信號(hào)為了和射頻單元進(jìn)行通信,發(fā)送數(shù)據(jù)時(shí)采用插值濾波,使得低速率信號(hào)變成高速率信號(hào);同樣,接收數(shù)據(jù)時(shí)采用抽取濾波,使得高速率信號(hào)變成低速率信號(hào)。
中間接人控制單元完成射頻單元和基帶單元與處理器的邏輯控制,處理器、RAM、時(shí)鐘以及與外設(shè)硬件接口的控制。處理器為44 MHz主頻的ARM7TDMI嵌入式處理器,RAM容量為64 KB,可以動(dòng)態(tài)分配接收和發(fā)送數(shù)據(jù)所占用的塊。接人單元響應(yīng)硬件產(chǎn)生的應(yīng)答ACK、請(qǐng)求發(fā)送RTS、清除發(fā)送CTS等Modem命令。接人單元還具有對(duì)接收數(shù)據(jù)包的解析功能,具有64、128或者256位的加密/解碼密鑰注入功能。
主機(jī)硬件接口支持33 MHz的PCl2.2協(xié)議或者USBl.1接口,數(shù)據(jù)通信可以使用DMA后臺(tái)方式傳輸。為了支持USB接口,TNETll00B專門(mén)配有1個(gè)48 MHz的時(shí)鐘接口。此外,為了嵌入式CPU保持實(shí)時(shí)時(shí)鐘,TNETll00B配有sleep時(shí)鐘接口。該時(shí)鐘信號(hào)需要配置電池。這樣系統(tǒng)在斷電情況下,依靠電池仍然保持準(zhǔn)確的時(shí)鐘信號(hào)。實(shí)時(shí)時(shí)鐘在電池情況下功耗極低,功耗為12μW。
2系統(tǒng)硬件結(jié)構(gòu)
整個(gè)系統(tǒng)由OMAP5912、TNET1100B、音頻AD/DA、人機(jī)接口、PC機(jī)以及Flash組成,硬件連接如圖2所示。圖2中,13SP是核心控制單元;音頻AD用于將采集的模擬語(yǔ)音信號(hào)轉(zhuǎn)變成數(shù)字語(yǔ)音信號(hào);音頻DA將數(shù)字語(yǔ)音信號(hào)轉(zhuǎn)換成模擬語(yǔ)音信號(hào)。FLASH_1保存DSP所需要的程序,供DSP上電調(diào)用;FLASH_2保存TNETll00B所需要的程序,供TNETll00B上電調(diào)用。DSP和PC機(jī)之間使用HPI口,使用PCI橋芯片,實(shí)現(xiàn)和PC機(jī)的連接。
PC機(jī)發(fā)送的數(shù)據(jù)包可以直接在PC上完成數(shù)據(jù)的壓縮、交織以及編碼等數(shù)據(jù)處理,OMAP5912負(fù)責(zé)傳送數(shù)據(jù)。對(duì)OMAP5912直接采樣的語(yǔ)音信號(hào),基于WiFi的語(yǔ)音傳輸,(VoWiFi)要求數(shù)字化的語(yǔ)音信號(hào)必須以數(shù)據(jù)包的形式通過(guò)無(wú)線網(wǎng)絡(luò)傳輸,為此OMAP5912必須實(shí)現(xiàn)數(shù)據(jù)組包處理算法。此外,無(wú)線網(wǎng)絡(luò)要求語(yǔ)音數(shù)據(jù)必須在規(guī)定的時(shí)間間隔內(nèi)傳送出去,一般最長(zhǎng)的時(shí)間間隔為20ms。這樣語(yǔ)音信號(hào)到目的地后,目的網(wǎng)卡才有足夠的時(shí)間進(jìn)行拆包并最終形成語(yǔ)音數(shù)據(jù)實(shí)時(shí)播放出去。無(wú)線網(wǎng)絡(luò)的結(jié)構(gòu)必須保證數(shù)據(jù)包的丟失、延遲以及誤碼在規(guī)定的門(mén)限以下。在802.ll的升級(jí)協(xié)議中,還要求了新的服務(wù)質(zhì)量協(xié)議、允許控制協(xié)議、快速漫游協(xié)議、智能安全協(xié)議以及無(wú)線資源管理協(xié)議等各種新的算法。這些均由OMAP5912中的嵌入式ARM處理器完成。
3 TNETll00B和OMAP5912的硬件設(shè)計(jì)
TNETll00B和OMAP5912的連接是系統(tǒng)硬件連接的關(guān)鍵,具體連接如圖3所示。使用OMAP5912的EMIFS接口連接TNETll00B。EMIFS是OMAP5912的慢速外部存儲(chǔ)器接口(External Memory Interface SlOW),可以方便地和外部Flash、異步SRAM等設(shè)備連接。系統(tǒng)的TNETll00B模塊遵循802.llB協(xié)議,其最高數(shù)據(jù)傳輸速率為11 Mbps。OMAP5912的EMIFS接口滿足其速度要求。
在TNETll00B和OMAP5912的EMIFS連接圖中,TNETll00B作為OMAP5912的外部16位從異步設(shè)備。由于OMAP5912的內(nèi)部數(shù)據(jù)總線寬度為32位,而TNETll00B的數(shù)據(jù)總線寬度為16位,為此,將每32位數(shù)據(jù)分成2個(gè)16位數(shù)據(jù)傳輸,使用BE0和BEl引腳區(qū)分當(dāng)前傳輸?shù)氖歉?/SPAN>16位還是低16位。通信時(shí),使用第20位地址線ADD20和片選信號(hào)CSl參與字節(jié)信號(hào)的譯碼,具體的譯碼電路如圖4所示。譯碼電路直接使用邏輯器件實(shí)現(xiàn),也可以使用CPLD實(shí)現(xiàn)。此外,當(dāng)TNETllOOB有數(shù)據(jù)上傳時(shí),使用CINT引腳發(fā)送中斷信號(hào)到OMAP5912,OMAP5912根據(jù)當(dāng)前自身的工作情況處理和TNETll00B的通信;OMAP5912也可以使用通用I/O引腳控制TNETll00B的復(fù)位信號(hào),當(dāng)連續(xù)多次未收到TNETll00B的響應(yīng)信號(hào)時(shí),OMAP5912可以軟件復(fù)位TNETll00B,從而避免通信的互鎖現(xiàn)象。此外,OMAP5912使用通用I/O引腳控制TNETll00B的CPD(Card POWer Down)信號(hào),可以在無(wú)數(shù)據(jù)通信時(shí).控制TNETll00B進(jìn)入低功耗狀態(tài)。
4 TNETllDOB和OMAP5912的軟件設(shè)計(jì)
OMAP5912和TNETll00B的數(shù)據(jù)通信流程如圖5所示。系統(tǒng)初始化后,OMAP5912判斷當(dāng)前是否有數(shù)據(jù)讀寫(xiě)。數(shù)據(jù)的讀是通過(guò)判斷是否有掛起的硬件中斷;數(shù)據(jù)寫(xiě)是通過(guò)判斷上層程序是否有數(shù)據(jù)發(fā)的軟件中斷。無(wú)數(shù)據(jù)讀寫(xiě)情況下,OMAP5912將定期發(fā)送測(cè)試命令到TNET1100B,以便確定TNETll00B在正常工作;也可以根據(jù)需要,將TNET1100B設(shè)置到低功耗狀態(tài)。如果讀取數(shù)據(jù)的校驗(yàn)錯(cuò)誤較多,表明當(dāng)前無(wú)線通信的信道噪聲很大或者TNETll00B的總線被干擾出現(xiàn)紊亂。OMAP5912將軟件復(fù)位TNETll00B模塊,使得TNETll00B重新設(shè)置總線,避免在低信噪比情況下多次重復(fù)發(fā)送同樣的數(shù)據(jù),減小無(wú)效通信時(shí)間。
5總 結(jié)
使用OMAP5910的EMIFS接口連接無(wú)線網(wǎng)卡接口TNETll00B,可實(shí)現(xiàn)802.llB協(xié)議的無(wú)線數(shù)據(jù)收發(fā)。使用TNETll00B模塊實(shí)現(xiàn)射頻信號(hào)處理、基帶信號(hào)處理以及中間接入控制,可使系統(tǒng)結(jié)構(gòu)簡(jiǎn)單、實(shí)現(xiàn)方便。由于采用具有DSP核的處理器,系統(tǒng)還可以方便地應(yīng)用各種數(shù)據(jù)信號(hào)處理算法。