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