構建擁有自主MAC層協議的無線網卡
摘要:闡述擁有自主MAC層協議無線網卡的構建方法和實現過程。改進了基于Intersil公司的PRISM 2系列無線網卡套片的無線局域網解決方案,使用DSP和CPLD來替代其中的MAC層控制芯片,實現自主MAC層協議的無線網卡開發。
關鍵詞:無線網卡 PRISM2 TMS320VC5402 EPM7128AE MAC協議
隨著無線網絡應用領域的增長,各種無線接入方式不斷涌現,基于IEEE 802.11無線以太網標準的寬帶無線接入系統憑借其高達11~54Mbps的數據傳輸速率及其建網速度快、運營成本低、投資成本回報快等特點獲得用戶的青睞。但是無線網卡芯片供應商只向用戶提供套片解決方案,這對研究無線局域網MAC層協議的高校和科研單位來說極為不便。通常的作法是:首先開發出自己的MAC層協議軟件,然后使用信道仿真器來仿真此MAC層協議。這種作法的缺點是不能在物理信道上實測。本文針對該問題,基于Intersil公司的PRISM2系列無線局域網套片的解決方案,去掉其中的MAC層控制芯片,使用TMS320VC5402和PEM7128AE來完成對套片其它芯片的控制和數據交換,實現自主的MAC層協議無線網卡。
圖1
1 無線網卡解決方案
Intersil公司的PRISM2系列無線網卡套片及其主要功能如表1所列。
使用該套片,根據Intersil公司提供的無線局域網解決方案,就可以方便地構建IEEE802.11b的無線網卡。
參考Intersil公司的提供的無線局域網解決方案,筆者提出的擁有自主MAC層協議的無線網卡解決方案如圖1所示。
在該方案中,去掉了PRISM2系列套片中的MAC層控制芯片HFA3841,用TMS320VC5402和EPM7128AE來實現對PRISM2系列其它芯片的控制和數據交換,構建擁有自主MAC層協議的無線網卡。
圖2
2 無線網卡的接口分析
根據Intersil公司提供的套片數據手冊及其各芯片的接口關系可知,要構建自主MAC層協議的無線網卡,替代芯片組TMS320VC5402和EPM7128AE須有以下接口能力。
①具有足夠的通用I/O口,以便與套片的各個控制引腳相連接,對其進行置位或清位操作,從而使無線網卡處于正確的收發狀態。
②具有SPI接口,能夠對HFA3683、HFA3783和HFA3861中各個寄存器進行初始化。同時需要注意的是,對HFA3861來說應該是16位的數據傳輸格式,先傳數據高位;對HFA3783和HFA3683來說,應該是20位的數據傳輸格式,先傳輸數據高位。
③具有連續數據傳輸的能力,能夠與HFA3861進行連續的數據交換。需要注意的是數據接收和發送的時鐘都需要由HFA3861來提供。
根據TMS320VC5402的芯片資料可知,TMS320VC5402具有2個支持多種接口標準且能高速雙向數據傳輸的多通常緩沖同步串口(McBsp)。將DMA與McBsp相結合,在不占用CPU資源的情況下,可以構造自動收發的串行數據傳輸通道。同時EPM7128AE提供了足夠的門陣列單元和I/O引腳,可以完成對無線卡控制引腳的置位或清位操作,同時還可以在EPM7128AE里面設計完成802.11b的部分功能(如退避、定時、設置NA位、CRC32校驗等)。
由以上分析可知,使用TMS320VC5402和EPM7128AE來替代HFA3841完成對套片的設置、控制和數據交換,以實現擁有自主MAC層協議的無線網卡是可行的。替代芯片組與無線網卡套片的接口關系如圖2所示。其中,TMS320VC5402的串口0負責對HFA3861、HFA3783和HFA3683的寄存器進行初始化;串口1負責與HFA3861進行數據交換;EPM7128AE的I/O引腳與套片的控制引腳相連,進行相應的控制操作。
3 無線網卡的接口實現
根據上述分析可知,利用TMS320VC5402和EPM7128AE完成對無線網卡的控制主要分以下三個步驟。
①對于無線網卡的各個寄存器的初始化。由于DSP對HFA3861、HFA3783和HFA3683寄存器初始化時的數據傳輸格式不同,而在本接口設計中又使用了同一個串口,所以在對寄存器進行設置前要將DSP的串口0初始化為正確的工作模式。另外,若寄存器的初始化值錯誤或寄存器的初始化順序不對,則初始化工作不能正常進行,各個芯片也不能處于正確的工作狀態。由于這里涉及的寄存器過多,在這里就不一一多述,請參考數據手冊的說明。
圖4
③無線網卡的數據收發。無線網卡的基帶數據收發波動如圖4所示,它采用的是數據連續傳送模式,這就要求DSP的McBsp和DMA結合起來,完成數據的連續傳輸。為了和通用的無線網卡兼容,需要將串口設置為8位的數據傳輸模式,先傳數據的高位。需要注意的一點是,無論數據收發,都需要由HFA3861來提供時鐘,而HFA3861本身并不提供幀同步信號,所以說幀同步需要在CPLD內由HFA3861提供的時鐘來產生。但是并不能簡單地由8時鐘產生一幀同步的方法來產生,否則數據的錯位比較嚴重。正確的作法是充分利用TX_RDY和RX_RDY這兩個信號,由它們控制產生合適的幀同步信號。
4 無線網卡的操作
至此,按照圖5的順序來操作無線網卡,就可以正確的進行數據收發。
5 結論
通過對PRISM2系列無線網卡套片的接口時序分析,用DSP和CPLD來替換其中的MAC層控制芯片,構建擁有自主MAC層協議的無線網卡,實踐證明是可行的。我們在863重大項目“無線移動自紡織互聯網及其實驗系統的研制”中得以成功應用,實現了增強型802.11b MAC協議。
評論