基于MPC852T通信處理器的無(wú)線接入點(diǎn)設(shè)計(jì)
引言
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而,這是一種可以在91.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)(Infrastruture 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)的橋梁,是一個(gè)兩端口的網(wǎng)橋。
無(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ú)線幀格式來(lái)轉(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由核心板和接口板組成,圖1所示是其系統(tǒng)功能結(jié)構(gòu)框圖。其中在核心板上集成了摩托羅拉MPC852處理器、32MB SDRAM以及4MB的Flash,因而為系統(tǒng)軟件提供了足夠的空間。核心板上還集成了一個(gè)10M以太網(wǎng)口,不僅實(shí)現(xiàn)和有線局域網(wǎng)的橋接。還可以實(shí)現(xiàn)系統(tǒng)程序的以太網(wǎng)下載,從而燒寫進(jìn)Flash中。底板上則提供了非常豐富的外設(shè)接口:包括1個(gè)10Mbps以太網(wǎng)接口,1個(gè)100Mbps以太網(wǎng)接口、一個(gè) RS-232接口(COMI)、1個(gè)BDM調(diào)試是口(MPC8XX系列的EPBDM)、還有1個(gè)PCMCIA接口。當(dāng)接入無(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)程序開發(fā)。
MPC852T功能介紹
在無(wú)線接入點(diǎn)AP的設(shè)計(jì)中,可選用Motorola公司的MPC852T處理器,它是Motorola公司的PowerQUICC系列嵌入式通信處理器。PowerQUICC處理器系列廣泛應(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 Communication Controlle)內(nèi)部集成有微處理器和一些控制領(lǐng)域的常用器件,是一個(gè)多用途的通用芯片,它內(nèi)部集成了微處理器和常用外圍器件,可用于各種控制領(lǐng)域,它應(yīng)用于通信系統(tǒng)時(shí),可實(shí)現(xiàn)更低的成本,并提供更高的性價(jià)比,同時(shí)在通信性能方面也有所增強(qiáng)。MPC852T PowerQUICC集成了兩個(gè)處理塊,一個(gè)處理塊是嵌入的PowerPC核心,另一個(gè)是通信處理模塊CPM(Communications Processor Module)。由于CPM 分擔(dān)了嵌入式PowerPC核心的外圍工作任務(wù),這種雙處理器體系結(jié)構(gòu)功耗要低于傳統(tǒng)的體系結(jié)構(gòu)的處理器,嵌入式MFC852T內(nèi)核可達(dá)100MHz,擴(kuò)展總線最大頻率是66MHz,50/60MHz內(nèi)核頻率支持1:1模式和2:1模式,80/100MHz內(nèi)核頻率支持2:1模塊,MFC852T系統(tǒng)集成單元主要包括:總線監(jiān)視器、中斷監(jiān)視器、軟件看門夠、中斷定時(shí)器,時(shí)鐘合成器、PowerPC減量器,復(fù)位控制器及JTAG1149測(cè)試口,以上這些性能都可以非常理想地適用于各種有線和無(wú)線的通信處理任務(wù),從而極大地滿足控制層繁重的任務(wù)處理及傳輸層高帶寬的要求。
核心板的設(shè)計(jì)
MPC852T是32位地址,32位數(shù)字總線寬度, 4KB的數(shù)據(jù)Cache和4KB指令Cache,分別帶有一個(gè)MMU,52MHz的主頻,52Mbps的總線速度,若外接8位或16位數(shù)據(jù)帶寬的外設(shè)芯片,與CPU相接時(shí),MPC852T的總線數(shù)據(jù)寬度是可設(shè)置的,可配置為8位,16位或32位模式。在核心板中,可選用2片16×1 bit數(shù)據(jù)寬度,共4MB的Flash(MX29Lv160BTC,如有不同型號(hào),則應(yīng)是完全兼容的器件),速度70/90ns:2片16M×8bit數(shù)據(jù)寬度的SDRAM(HY57V651620BTC-10S,如有不同型號(hào),則是完全兼容的器件)構(gòu)成,共32MB SDRAM。
MPC852T共提供了4個(gè)PORT(即PortA、PortB、PortC和PortD),以便于對(duì)應(yīng)的控制寄存器實(shí)現(xiàn)與其他信號(hào)引腳的復(fù)用,其端口分配使用情況如表1所列。其中:SCC作為10Mbps以太網(wǎng)接口,SMC(和PortB GPIO復(fù)用)作為兩線串口(TXD,RXD)。核心板未用的端口可通過(guò)核心板接口引到接口板,作為GPIO資源使用,圖2所示是核心板的功能模塊結(jié)構(gòu)圖。 底層接口板的設(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)10Mbps快速以太網(wǎng)接口,1個(gè)標(biāo)準(zhǔn)的100Mbps快速以太網(wǎng)接口,1個(gè)PCMCIA接口、 1個(gè)BDM接口等,其中BDM接口和RS-232串口可用于核心板的硬件檢測(cè),映象文件下載、運(yùn)行、Flash燒寫等。
系統(tǒng)所用的無(wú)線網(wǎng)卡是LANEscapeTM XI325H的無(wú)線網(wǎng)卡,采用PCMCIA接口,可實(shí)現(xiàn)2.4GHz直接序列擴(kuò)頻,并具有高速低功耗的特點(diǎn),其發(fā)射功率為20dBM,遵循802.11h 協(xié)議和Wi-Fi認(rèn)證,同時(shí)具備64bit/128bit WEP加密功能,可支持TCP/IP,IPX,NetBEUI等協(xié)議,同時(shí)支持1Mbps、2Mbps、5.5Mbps和11Mbps的自動(dòng)傳輸速率選擇。此外,它還支持AD-Hoc(對(duì)等)、Infrastructure(基礎(chǔ)網(wǎng)絡(luò))和Roaming(漫游)等網(wǎng)絡(luò)模式,可方便快捷無(wú)縫連接以實(shí)現(xiàn)以太網(wǎng)和無(wú)線局域網(wǎng)的連接。
MPC852T中CPM部分的4個(gè)SCC均可配置為10Mbps以太網(wǎng)控制器,F(xiàn)EM是10/100Mbps以太網(wǎng)自適應(yīng)控制器,通過(guò)這些以太網(wǎng)控制器, 只需要簡(jiǎn)單的線路接口單元就可構(gòu)成10Mbps以太網(wǎng)口和10Mbps/100mbps自適應(yīng)網(wǎng)口。該以太網(wǎng)口符合IEEE8023規(guī)范,實(shí)際使用中,MPC852T設(shè)置多少個(gè)網(wǎng)口,應(yīng)根據(jù)主芯片的運(yùn)行主頻和接口要求統(tǒng)籌考慮,圖3所示是一個(gè)10/100Mbps的自適應(yīng)網(wǎng)口電路。
MPC852T中I/O口的引腳幾乎都有多種功能,通過(guò)對(duì)有關(guān)的寄存器進(jìn)行設(shè)置或?qū)⒛承┮_設(shè)置成指定電位,使得有關(guān)I/O功能為設(shè)計(jì)指定功能,由于MPC852T的引腳多,各引腳的功能也多,為了能夠盡快地確定各引腳的功能,可利用摩托羅拉公司提供的引腳功能安排工具,檢查引腳功能上的沖突。
無(wú)線接入點(diǎn)AP的系統(tǒng)軟件設(shè)計(jì)
MPC852T是遵照PowerPC結(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í),開發(fā)應(yīng)用程序和更改其上的操作系統(tǒng)工作方式,可以采用一種交叉編譯的開發(fā)模式,即為MPC852T應(yīng)用。它不能直接在 MPC823板上編輯、編譯和調(diào)試,而必須把工作寄存到一臺(tái)PC機(jī)上來(lái)完成,事實(shí)上,一個(gè)小型的Linux操作系統(tǒng)需要下面三個(gè)基本要素:
(1) 引導(dǎo)工具
用于完成系統(tǒng)的一些初始化工作,然后把操作系統(tǒng)調(diào)入內(nèi)存中,應(yīng)用時(shí)再將其跳到操作系統(tǒng)的入口。
(2) 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),不需要太多的工作。
(3)初始化進(jìn)程
主要指為L(zhǎng)inux系統(tǒng)安裝inted、telnetd、tftpd、bttpd等守護(hù)進(jìn)程,以便使Linux系統(tǒng)能成為名副其實(shí)的網(wǎng)絡(luò)操作系統(tǒng),但是,如果系統(tǒng)想成為完整的操作系統(tǒng),還得加上一個(gè)文件系統(tǒng),硬件驅(qū)動(dòng)程序和提供所需功能的一個(gè)或多個(gè)應(yīng)用程序,如1個(gè)串口、1個(gè)10Mbps以太網(wǎng)接口、1個(gè)100Mbps為以太網(wǎng)接口,1個(gè)BDM調(diào)試接口、WLAN無(wú)線網(wǎng)卡的驅(qū)動(dòng)程序,802.11b無(wú)線AP以及網(wǎng)關(guān)系統(tǒng)軟件,Web Server及TCP/IP協(xié)議等應(yīng)用程序。
嵌入式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è)部分。
精簡(jiǎn)內(nèi)核
Linux內(nèi)核是可以根據(jù)特定的要求進(jìn)行定制的,筆者使用的是嵌入式Linux操作系統(tǒng)3.0 for 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)核。
縮小Linux的文件系統(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)功能,最后一類的主要任務(wù)是使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)大概由以下目錄組成:
/bin:包含用戶的使用命令,如cp、Is、rm等,設(shè)計(jì)時(shí)也可以根據(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)連接在某一執(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中。
實(shí)際操作時(shí),可根據(jù)具體情況進(jìn)行刪減,最終在4MB存儲(chǔ)容量的嵌入式Linux操作系統(tǒng)中完成對(duì)無(wú)線接入點(diǎn)AP的使用。
結(jié)束語(yǔ)
在嵌入式Linux操作系統(tǒng)上實(shí)現(xiàn)基于MPC852TD無(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)成的嵌入式系統(tǒng)是一個(gè)結(jié)構(gòu)清晰,同時(shí)具有模塊化、易實(shí)現(xiàn)、易使用等特性。