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