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)行,Flash燒寫等。
系統(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)控制器,FEM是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),Flash的內(nèi)容可通過(guò)燒寫工具來(lái)更新升級(jí)。開發(fā)應(yīng)用程序和更改其上的操作系統(tǒng)工作方式,可以采用一種交叉編譯的開發(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)沒有軟驅(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)。





