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