作者:王陸林,劉貴如,蔣朝根
目前,WLAN作為一種實現寬帶無線IP接入的典型方式,由于其接入速率高、架構使用靈便、可支持移動計算、系統費用低及可擴展性較好等優點,越來越受到人們的青睞。本文將詳細介紹一款支持802.11a/b/g協議的高速基帶芯片,以及它在通信系統中的典型應用設計,包括硬件設計和驅動開發。
WT6104CLVG功能介紹
WT6104CLVG是北京六合萬通微電子技術有限公司生產的無線基帶控制芯片。它是一款高度集成的無線局域網芯片,完整實現IEEE標準所規定的802.11a/b/g基帶信號處理、協議處理以及各種附加增強功能模塊。完全支持802.11b/g和802.11a所要求的各種調制方式,能夠完整提供協議規定的1Mbps“54Mbps傳輸速率。該芯片還提供了大量的安全和加密算法,例如AES、TKIP、WEP、WPI等。針對移動設備的特點,它提供多種工作模式,其工作頻率為40MHz,有效地降低了功耗。它能夠與多種RF無縫集成,并提供了多種主機接口,如Cardbus、MiniPCI、Memory 接口。該芯片內部主要功能模塊包括MAC、基帶、ADC/DAC 以及RF接口。向上提供HCI接口,向下提供RF和SPI配置接口。各模塊功能如下:MAC模塊完成了媒體接入層所規定的所有協議,其中包括安全和加密算法協議;基帶模塊完全支持802.11b 和802.11a 所要求的所有調制方式;ADC/DAC是低功耗、單通道、差分輸入/輸出器件,內部集成采樣/保持放大器。同時具有節能功能,采用模擬電源3.3V、數字電源1.8V的雙電源供電。芯片內部集成了44KB的存儲單元。
無線模塊硬件電路設計
WT6104CLVG與主控制器的接口設計
本設計的主控制器采用三星公司的S3C2410。通過TST_MOD[2:0]=3b:010將芯片設置為 Memory 接口工作模式,直接和S3C2410的數據、地址、控制總線連接。P_AD_OUT_[15:0]接S3C2410的低16位數據總線D[15:0];P_AD_OUT_[31:16]接低16位地址總線A[15:0];P_CBEN _[1:0]總線高低字節使能, 低有效,分別接nWBE[1:0]引腳;P_CBEN_[3:2]分別接nWE、nOE引腳。P_IDSEL片選信號接nGCS2引腳,P_INIT接EINT9外部中斷引腳。具體連接電路如圖1所示。
圖1 WT6104CLVG與D3C2410的連接電路
WT6104CLVG與RF收發器的接口設計
RF芯片采用絡達科技公司的AL2230S。它是一款支持802.11b/g無線協議的收發芯片。
WT6104CLVG通過RF接口和AL2230S連接。SHDN_OUT RF使能控制信號接AL2230S的PLLON引腳。A_RX_ENA、A_TX_ENA接收、發送通道使能信號分別接RXON、TXON引腳。PA_PE_11A、PA_PE_11G為802.11a/g模式使能信號,一起接PAON引腳。B[6:0]收發控制信號線接AL2230S的GC[7:1]引腳。TR_SW、TR_SW_BAR為收發切換控制信號。RF_CS片選信號接AL2230S的LE引腳。RF_SCLK、RF_SD_OUT為IIC接口信號線,分別接AL2230S的CLK、DATA引腳,具體連接如圖2所示。WT6104CLVG通過IIC接口來配置AL2230S。
圖2 WT6104CLVG與AL2230S的連接電路
基帶芯片和RF收發芯片分開雖然增加了設計難度,但是設計起來更加靈活,可以根據需要選擇發射功率大的收發芯片,從而增加數據的傳輸距離。
無線模塊驅動軟件設計
此設計采用微軟的嵌入式操作系統Windows CE,下面詳細介紹以WT6104CLVG芯片為核心的無線網卡的NIC驅動程序設計。
Windows CE平臺下的網絡驅動模型
Windows CE.NET引入了NDIS(網絡驅動程序接口規范,Network Driver Interface Specification)。NDIS 支持以太網(802.3)、802.11、IrDA、WAN以及令牌環網(802.5)微端口。NDIS庫將網絡硬件抽象為網絡驅動程序。NDIS也說明了網絡驅動程序間的標準接口,因此,它將用來管理硬件的底層驅動程序抽象為上層驅動程序,NDIS支持以下幾種類型的網絡驅動程序:微端口驅動程序、中間層驅動程序、協議驅動程序。
Windows CE平臺下無線局域支持組件配置
在WinCE平臺下要支持802.11x無線網絡,除需要注冊NIC驅動之外,還要將以下組件添加到內核:
1) Wired Local Area Network [802.3, 802.5] (SYSGEN_ ETHERNET=1)
2) Wireless LAN [802.11]-Automatic Configuration and 802.1x (SYSGEN_ETH_80211=1)
3) Wireless Access Point [802.11] Support (SYSGEN_WIFI_AP=1)
4) Networking Utilities [ipConfig, Ping, Route] (SYSGEN_NETUTILS =1)
5) TCP/IP (SYSGEN_TCPIP=1)
6) Core Server Support (SYSGEN_SERVICES=1)
7) Web Server [HTTPD] (SYSGEN_HTTPD=1)
8) ”Cisco 802.11b PC Card“。 SYSGEN_ETH_CISCO=1
WT6104CLVG和RF的初始化以及NIC驅動程序設計
主控制器通過WT6104CLVG的Memory接口實現其初始化和數據的發送和接收。對AL2230S可以通過IIC接口進行初始化配置和控制。該系統針對WT6104CLVG芯片開發了基于WinCE的NDIS微端口驅動程序,它負責與WT6104CLVG通信,完成協議包數據的收發。在驅動程序中向NDIS_MINIPORT_ CHARACTERISTICS結構體變量 WTChar賦值了一系列在驅動中實現的、為微端口向上提供的一組入口函數(MiniportXxx函數)的指針,然后調用系統函數NdisMRegister Miniport,向NDIS注冊這些函數,并同時調用系統函數NdisMRegister Interrupt,向NDIS注冊一個系統中斷。具體源程序代碼就不在此詳述了。
數據包的具體發送流程見圖3(接收流程與此相似)。
圖3 發送流程圖
WT6104CLVG NIC驅動程序的注冊
WT6104CLVG NIC驅動程序的注冊需要在platform.reg注冊表文件中添加以下幾項(其中,WTWLAN.DLL為驅動編譯以后生成的動態庫):
[HKEY_LOCAL_MACHINE\ Comm\ WTWLAN]
”DisplayName“=”WLAN 802.11“
”Group“=”NDIS“
”ImagePath“=”WTWLAN.dll“
[HKEY_LOCAL_MACHINE\Comm \WTWLAN\Linkage]
”Route“=multi_sz:”WTWLAN1“
[HKEY_LOCAL_MACHINE\Comm\ WTWLAN1]
”DisplayName“=”WLAN 802.11“
”Group“=”NDIS“
”ImagePath“=”WTWLAN.dll“
[HKEY_LOCAL_MACHINE\ Comm\WTWLAN1\Parms]
”BusNumber“=dword:0
”BusType“=dword:0
”InterruptNumber“=dword:26
”IoBaseAddress“=dword: 0xa2000000
”Transceiver“=dword:3
”CardType“=dword:1
”sysintr“=dword:26
”NetworkAddress“=”001217534633“
[HKEY_LOCAL_MACHINE \Comm\WTWLAN1\Parms\TcpIp]
”EnableDHCP“=dword:1
”DefaultGateway“=”10.0.0.138“
”LLInterface“=”“
”UseZeroBroadcast“=dword:0
”IpAddress“=”10.0.0.125“
”Subnetmask“=”255.255.255.0“
”DNS“=”10.0.0.1“
”AutoCfg“=dword:00000001
[HKEY_LOCAL_MACHINE\ Comm\Tcpip\Linkage]
”Bind“=”WTWLAN1“
結語
本文介紹了WT6104CLVG無線基帶芯片以及它在無線通信系統中的典型設計,采用該芯片設計的無線通信系統工作在802.11g模式下,具有較高的傳輸速度,可廣泛應用于安全監控、工業控制、醫療監護和視頻監控等場合。
責任編輯:gt
-
芯片
+關注
關注
456文章
51092瀏覽量
425983 -
無線
+關注
關注
31文章
5468瀏覽量
173647 -
通信系統
+關注
關注
6文章
1201瀏覽量
53409
發布評論請先 登錄
相關推薦
評論