20世紀90年代以來,隨著個人數(shù)據(jù)通信的發(fā)展,為了實現(xiàn)任何人在任何時間,任何地點均能實現(xiàn)數(shù)據(jù)通信的目標,無線局域網(wǎng)得到了迅猛發(fā)展。無線局域網(wǎng)(wLAN),通常被稱為wi-Fi,這是一種可以在9l.44m內(nèi)進行無線通信的技術(shù)。IEEE802.11委員會把孤立使用的無線局域網(wǎng)稱為自組無線局域網(wǎng)(Ad-boc Network),把互連使用的無線局域網(wǎng)稱為多區(qū)無線局域網(wǎng)(Infrastructure Network)
無線AP是組建多區(qū)無線局域網(wǎng)的常用設備,配置多個接入點AP,就可以構(gòu)成一個連續(xù)的覆蓋區(qū)域,可提供移動用戶漫游的能力。同時,它在介質(zhì)訪問控制子層MAC中扮演無線工作站及有線局域網(wǎng)的橋梁,是一十兩端口的網(wǎng)橋。
1 無線接入點AP的功能描述和系統(tǒng)設計
無線接入點AP(Accss Point)通過一個標準的RJ-45接口用電纜連接到一個傳統(tǒng)的集線器或交換機端口,一個無線接入點可認為是一個中繼器,在有線局域網(wǎng)和無線設備運行的RF之間轉(zhuǎn)發(fā)幀。
當一個站在LAN上發(fā)送數(shù)據(jù)時,接入點以指定的RF和無線幀格式轉(zhuǎn)發(fā)幀,而并不考慮該幀的目的地。同樣,當一個無線設備發(fā)送一個幀時,接入點通過所設定運行的RF來接收幀,然后把幀轉(zhuǎn)發(fā)到有線局域網(wǎng)。兩個或者多個無線局域網(wǎng)接入點,將為移動無線設備提供一個接入到有線局域網(wǎng)的無線擴展區(qū)域。當建立一個無線局域網(wǎng)接人點時,要配置一個BSS(Basic Service Set)標識符。同樣,也要為那些無線局域網(wǎng)適配卡設定一個區(qū)域標識符,其中接入點是為使用適配卡與其連接在一起的無線設備提供服務的。在多個無線接入點構(gòu)造的一個擴展服務集(ESS,Extended Serice Set)中,通過定位接入點,無線設備就實現(xiàn)了漫游功能,以及通過應用無線局域網(wǎng)接入點服務的能力。一個基本的無線局域網(wǎng)是由一個連接到有限局域網(wǎng)的接入點和使用該接入點的一個或多個無線PC用戶所組成。
基于MPC852T的無線接入點AP由核心板和接口板組成,如圖l所示。核心板集成了摩托羅拉MPC852T處理器,32MB SDRAM以及4MB的Flash,為系統(tǒng)軟件提供了足夠的空間。核心板上還集成了一個l0M以太網(wǎng)口,不僅實現(xiàn)和有線局域網(wǎng)的橋接。還可以實現(xiàn)系統(tǒng)程序的以太網(wǎng)下載,從而燒寫進FIash中。底板上則提供了非常豐富的外設接口:1個10M以太網(wǎng)接口,1個100M以太網(wǎng)接口,1個RS-232接口(COMI),1個BDM調(diào)試口(MPC8XX系列的EPBDM),還有1個PCMCIA接口,按入無線網(wǎng)卡,作為無線接入點的RF,實現(xiàn)數(shù)據(jù)的無線發(fā)送和接收。該系統(tǒng)具有體積小,耗電低,處理能力強,網(wǎng)絡功能強大的特點,能夠裝載和運行嵌入式Linux的操作系統(tǒng),可以在這個系統(tǒng)平臺上進行自主的應用軟件和驅(qū)動程序開發(fā)。
2 MPC852T功能介紹
在無線接入點A P的設計中,選用了MotoIoraMPC852T處理器。它是Motorola公司的PowerQUICC系列嵌入式通信處理器。PowerQulCC處理器系列廣泛應用于當今市場上的DSL 調(diào)制解調(diào)器、SOHO路由器、遠程接入服務器、DSLAM、中心局交換機設備、無線基礎設施基站、企業(yè)路由器以及媒體網(wǎng)關(guān)等領(lǐng)域。
MPC852T PowerQUICC(Quad Integrated CommunicationController)內(nèi)部集成了微處理器和一些控制領(lǐng)域的常用器件,是一個多用途的通用芯片。它內(nèi)部集成了微處理器和常用外圍器件,可用于各種控制領(lǐng)域。它應用于通信系統(tǒng)的低成本實現(xiàn),提供了更高的性價比,并在通信方面有所增強。MPC852 PowerQUICC集成了兩個處理塊,一個處理塊是嵌入的PowerPC核,另一個是通信處理模塊(CPM,C0MMunications processor Module)。由于cPM分擔了嵌入式PowerPC核的外圍工作任務,這種雙處理器體系結(jié)構(gòu)功耗要低于傳統(tǒng)的體系結(jié)構(gòu)的處理器。嵌入式MFC852T內(nèi)核可達l00MHz,擴展總線最大頻率是66MHz,50/60MHz內(nèi)核頻率支持l:1模式和2:1模式,80/100MHz內(nèi)核頻率支持2:l模式。MFC852T系統(tǒng)集成單元主要包括:總線監(jiān)視器、中斷監(jiān)視器、軟件看門狗、中斷定時器、時鐘合成器、PowerPC減量器、復位控制器及JTAG1149.l測試口。以上性能理想地適用于各種有線和無線的通信處理任務,極大地滿足了控制層繁重的任務處理及傳輸層高帶寬的要求。
3 核心板的設計
MPC852T是32位地址,32位數(shù)據(jù)總線寬度,4KB的數(shù)據(jù)Cache和4KB指令Cache,分別帶有一個MMU,52MHz的主頻,52MbpS的總線速度。若外接8位或l6位數(shù)據(jù)寬度的外設芯片,與CPU相接時,MPC852T的總線數(shù)據(jù)寬度是可設置的,可分配為8位、l6位或32位模式。在核心板中,選用了2片16×lbit數(shù)據(jù)寬度,共4MB的Flash(MX29Lv160BTC,如有不同型號,則是完全兼容的器件),速度70/90ns:2片16M×8bit數(shù)據(jù)寬度的SDRAM(HY57V651620BTC-10S,如有不同型號,則是完全兼容的器件)構(gòu)成,共32MB SDRAM。
MPC852T共提供了4個PORT,即PoRTA、PortB、P0rtC和PortD,對應的控制寄存器實現(xiàn)與其它信號引腳的復用。
端口分配使用情況如表l所列。
其中:一個SCC作為10M以太網(wǎng)接口,SMC(和P0rtB GPIO復用)作為兩線串口(TXD,RXD)。核心板未用的,通過核心板接口,引到接口板作為GPl0資源使用。
同時,由1個LED提供1個運行指示.1個l0M局域網(wǎng)接口LINK/TRANSMIT/RECEIVE指示,如圖2所示。
4 底層接口板的設計
底層接口板有1個9V供電插座和1個供電模塊,用的是9V的直流電源,為核心板和接口板提供標準的3.3V和5V電壓。底層接口板還提供了一系列的接口:1個標準RS-232串口,1個標準10M快速以太網(wǎng)接口,1個標準的100M快速以太網(wǎng)接口,1個PCMCIA接口,1個BDM接口。其中,BDM接口和RS-232串口,可用于核心板硬件檢測,映象文件下載,運行,F(xiàn)lash燒寫等。
系統(tǒng)所用的無線網(wǎng)卡是LANEscapeTM XI-325H的無線網(wǎng)卡,PCMCIA接口,2.4GHz直接序列擴頻,高速低功耗,發(fā)射功率為20dBm,遵循802.11h協(xié)議和Wi-Fi認證,64bit/128bitWEP加密,支持TCP/IP,IPX,NetBEUI的協(xié)議,支持1Mbps、2Mbps、5.5Mbps和llMbps的自動傳輸速率選擇,支持Ad-Hoc(對等),Infrastructure(基礎網(wǎng)絡)和Roaming(漫游)的網(wǎng)絡模式,可以實現(xiàn)方便快捷無縫連接以太網(wǎng)和無線局域網(wǎng)。
MPC852T的CPM部分的4個SCC均可配置為10M以太網(wǎng)控制器,F(xiàn)EM是10M/100M以太網(wǎng)自適應控制器-通過這些以太網(wǎng)控制器,只需要簡單的線路接口單元就可構(gòu)成10M以太網(wǎng)口和10M/100M自適應網(wǎng)口。該以太網(wǎng)口符臺IEEE8023規(guī)范。實際使用中,MPC852T設置多少個網(wǎng)口,應根據(jù)主芯片的運行主頻和接口要求統(tǒng)籌考慮。在50MHz的MPC852T芯片上,實現(xiàn)1個10M網(wǎng)口(采用SCCl實現(xiàn),如圖3所示)和1個lO/100M自適應網(wǎng)口如圖4所示。
MPC852T中I/O口的引腳幾乎都有多種功能,通過對有關(guān)的寄存器進行設置或?qū)⒛承┮_設置成指定電位,使得有關(guān)I/0功能為設計指定功能。由于MPC852T的引腳多,各引腳的功能也多,為了能夠盡快地確定各引腳的功能,可利用摩托羅拉公司提供的引腳功能安排工具,檢查引腳功能上的沖突。
5 無線接入點AP的系統(tǒng)軟件設計
MPC852T是遵照P0werPC結(jié)構(gòu)體系的嵌入式芯片系列,因此可實現(xiàn)多任務操作,并支持多種內(nèi)存映射方式,完全可以運行實時多任務操作系統(tǒng),以滿足通信控制設備所要求的實時性。
嵌入式操作系統(tǒng)主要有Palm OS、Windows CE、EPOC、Linux CE、ONX、ECOS、LYNX等。高端嵌入式操作系統(tǒng)要求許多高級功能,如圖形用戶界面和網(wǎng)絡支持,但其價格很高,一般用戶難以接受。嵌入式Linux操作系統(tǒng)以價格低廉,功能強大有易于移植而被廣泛應用。Linux是個和Unix相似,以核心為基礎的,完全內(nèi)存保護,多任務多進程的操作系統(tǒng)。它支持廣泛的計算機硬件,包括MOTOROLA、X86、Alpha、Sparce、MIPS、PPC、ARM、NEG等。
在移植的Linux源代碼中,根據(jù)目標進行半裁減定制,以適合目標系統(tǒng),盡量少占用系統(tǒng)內(nèi)存。操作系統(tǒng)定制后.將其連接到目標的應用程序上,成為應用程序的一部分,并對低級系統(tǒng)的初始化文件進行修改,使之符合目標板的需要。對于MPC852T,所有軟件都固化在板上2片F(xiàn)lash內(nèi),F(xiàn)lash的內(nèi)容可通過燒寫工具來更新升級。開發(fā)應用
程序和更改其上的操作系統(tǒng)工作方式,可以采用一種交叉編譯的開發(fā)模式,即為MPC852T應用。它不能直接在MPC823板上編輯、編譯和調(diào)試,而必須把工作寄宿到一臺PC機上完成。
一個小型的Linux操作系統(tǒng)需要下面三個基本要素。
①引導工具.它完成系統(tǒng)的一些初始化工作,然后把操作系統(tǒng)調(diào)入到內(nèi)存中,跳到操作系統(tǒng)的入口。
②Linux內(nèi)核,由內(nèi)存管理,進程管理和事務處理構(gòu)成。因為Linux內(nèi)核支持多種CPU體系,所以修改Linux內(nèi)核運行到硬件平臺中,不需要太多的工作。
③初始化進程,為Linux系統(tǒng)安裝inetd、telnetd、tftpd、bttpd等守護進程,使得Linux系統(tǒng)成為名副其實的網(wǎng)絡操作系統(tǒng),可以Telnet遠程管理,可以FTP傳遞文件。
如果系統(tǒng)想成為完整的操作系統(tǒng),還得加上一個文件系統(tǒng),硬件驅(qū)動程序和提供所需功能的一個或多個應用程序,如1個串口、1個10M以太網(wǎng)接口、1個100M以太網(wǎng)接口、1個BDM調(diào)試接口、WLAN無限網(wǎng)卡的驅(qū)動程序,802.1lb無線AP以及網(wǎng)關(guān)系統(tǒng)軟件,Web Server及TCP/IP協(xié)議等應用程序。
6 嵌入式LinuX無線接入點AP的實現(xiàn)
由于嵌入式操作系統(tǒng)硬件資源的限制.要做到實現(xiàn)AP在嵌入式Linux操作系統(tǒng)上的應用,就需要對Linux操作系統(tǒng)進行特別定制,刪除AP不需要的部分,真正做到精簡系統(tǒng),過程大致可以分成兩個部分。
(1)精簡內(nèi)核
Linux內(nèi)核是可以根據(jù)特定的要求進行定制的,筆者使用的是嵌入式Linux操作系統(tǒng)3.0for PowerPC版本.在/usr/src/linux目錄下,使用make menuconfig把可以拿掉的項目全部拿掉。如果嵌入式系統(tǒng)沒有軟驅(qū)和光驅(qū),則去掉內(nèi)核中對于軟驅(qū)(floppy)及光驅(qū)(cdrom)的支持選項;如果AP不需要發(fā)聲,則不要聲音(sound)的支持。去掉所有的字符設備(character device)等。
在去除的同時 要根據(jù)AP應用軟件及一些特定功能的要求,在內(nèi)核中留下對需要驅(qū)動的支持。例如:要保留對網(wǎng)絡的支持,保留對TCP/IP協(xié)議的支持,保留PPP(點對點協(xié)議)特定功能的支持。
配置完成后,重新編譯內(nèi)核,然后修改Linux系統(tǒng)引導器Iilo的配置文件井最后以新編譯的核作為啟動內(nèi)核。
(2)縮小Llnux的文件系統(tǒng)
嵌入式Linux本身是一種操作系統(tǒng),它的主要任務是管理計算機的系統(tǒng)資源,為用戶提供使用計算機及外部設備的接口,因此在對Linux進行大幅度刪減縮小的同時,也保留了一些基本的命令和目錄。這些保留的命令和目錄大致可以分成三類:一類是Linux操作系統(tǒng)啟動所需要的,另一類是為了完成一些系統(tǒng)功能的,最后一類是使AP能夠正常工作的。
完成裁減工作后重啟,若Linux能夠正常啟動運行,表明初步的Linux操作系統(tǒng)已構(gòu)架成功,這樣就要完成AP在此上面的實現(xiàn)。AP是以運行腳本命令pcmcia將AP驅(qū)動程序中已經(jīng)編好的目標文件(.o文件)作為模塊加載到系統(tǒng)中啟動的,Linux提供了depmod、insmod、rmmod以及其它一些命令來保證適當?shù)哪K以正確的順序加載。同時,AP啟動時還要讀取配置文件,所謂配置文件就是方便用戶修改相應的參數(shù),如AP的SSID,AP的信道號等所編制的簡單腳本文件。這些配置文件通知AP驅(qū)動程序相關(guān)參數(shù)的設置。有了這些文件后,AP就能正常啟動了。另外,AP的目標文件在AP關(guān)閉后自動卸載掉。
最終實現(xiàn)的AP嵌入式Linux操作系統(tǒng)大概由以下幾個目錄組成。
◇/bin: 包含用戶的使用命令,如cp、Is、rm等,可根據(jù)情況對原系統(tǒng)的命令進行刪減。
◇/boot:包含一些壓縮的內(nèi)核映像和啟動必備的文件。
◇/dev包含系統(tǒng)所需要的設備文件,是Linux設備輸出,輸入所需要的,可以用命令mknod或是makedev來產(chǎn)生。
◇/etc:包含系統(tǒng)所需要的配置文件。
◇/lib包含執(zhí)行命令所需要的共享庫,命令ldd可以告訴哪些庫可以動態(tài)連接在某一個執(zhí)行命令上,這樣可以將需要的庫拷入。
◇/mnt:此目錄一般為空。
◇/proc:是個空目錄,啟動時內(nèi)核將系統(tǒng)啟動狀態(tài)文件放人此目錄中,是proc文件系統(tǒng)所需要的目錄。
◇/sbin:包含系統(tǒng)命令,如init、getty、reboot等,有 些命令會影響整個系統(tǒng)。
◇/var:包含AP啟動時的一些日志文件。
◇/usr:放入另外一些必要的命令,在目錄/ust/sbin及/usr/bin中。
根據(jù)具體的情況進行具體的刪減,最終在4MB存儲容量的巔入式Linux操作系統(tǒng)中完成對無線接入點AP的使用。
結(jié)語
在嵌入式Linux操作系統(tǒng)上實現(xiàn)基于MPC852T的無線接入點AP的系統(tǒng)設計,充分發(fā)揮了MPC852T的強大控制能力和通信能力,以及Linux操作系統(tǒng)資源調(diào)度能力和實時性的特性,使AP具有較高的轉(zhuǎn)發(fā)速率,滿足了用戶的需求,而且構(gòu)成了一個結(jié)構(gòu)清晰、模塊化、易實現(xiàn)、易使用的嵌入式系統(tǒng)。