主控制器使用Atmel 9261,工作頻率為180 MHz,具有16 KB數(shù)據(jù)高速緩存和16 KB指令高速緩存,外部64 MB NAND FLASH和64 MB SDRAM,外設(shè)接口通過10/100 Mb / s自適應(yīng)以太網(wǎng)卡,3個(gè)USB 2.0接口,兩個(gè)通用異步收發(fā)器(UART),LCD接口和串行外設(shè)接口(SPI),可以輕松連接到工作設(shè)備。
操作系統(tǒng)使用Linux 2.6.15;引導(dǎo)程序使用U-boot;根文件系統(tǒng)使用ramdisk。
系統(tǒng)啟動(dòng)后會(huì)掛載yaffs文件系統(tǒng)。
該系統(tǒng)使用Ateml的Atmel 9261開發(fā)板。
外圍接口包括兩個(gè)USB主機(jī)接口,其中一個(gè)是外部USB無線網(wǎng)卡。
無線路由器采用Cisco-Linksys WRTl60N,支持802.11g標(biāo)準(zhǔn),TCP協(xié)議和TFTP協(xié)議,如圖1所示。
對(duì)于接入系統(tǒng)中的USB無線網(wǎng)卡,首先從CPU的角度看USB總線,然后是網(wǎng)卡芯片,所以USB驅(qū)動(dòng)必須在網(wǎng)卡驅(qū)動(dòng)之前實(shí)現(xiàn)。
USB設(shè)備接口具有主機(jī)設(shè)備和設(shè)備設(shè)備之間的差異,因此USB驅(qū)動(dòng)器還具有USB主機(jī)驅(qū)動(dòng)器和USB設(shè)備驅(qū)動(dòng)器。
就主控制單元而言,主要有兩種規(guī)格的UHCI和OHCI。
上層應(yīng)用軟件通過文件系統(tǒng)訪問系統(tǒng)的USB設(shè)備。
連接到系統(tǒng)總線的每個(gè)USB設(shè)備可以同時(shí)對(duì)應(yīng)于一個(gè)或多個(gè)驅(qū)動(dòng)器,也就是說,每個(gè)USB設(shè)備可以設(shè)置為由Linux系統(tǒng)上的一個(gè)或多個(gè)節(jié)點(diǎn)提供者使用。
由于USB接口是樹狀網(wǎng)絡(luò)結(jié)構(gòu),其中主從模式和多設(shè)備連接,因此USB主機(jī)必須具有配置和管理連接到總線的所有類型的USB設(shè)備的功能。
LinuxUSB主機(jī)驅(qū)動(dòng)程序可以同時(shí)支持多個(gè)USB總線功能,每個(gè)USB總線獨(dú)立工作。
USB主機(jī)驅(qū)動(dòng)程序包括USB主機(jī)控制器驅(qū)動(dòng)程序(HCD),USB驅(qū)動(dòng)程序(USBD)和不同的USB設(shè)備類型驅(qū)動(dòng)程序。
圖2描述了Linux USB驅(qū)動(dòng)程序的結(jié)構(gòu)。
Linux定義了Universal Reqlaest Block(URB),用于USB設(shè)備類驅(qū)動(dòng)程序與USBD,USBD和HCD之間的數(shù)據(jù)傳輸。
該系統(tǒng)的Linux內(nèi)核版本是2.6.15。
內(nèi)核在主機(jī)上配置。
通過“make menuconfig”刪除內(nèi)核中不必要的函數(shù)。
增加對(duì)WLAN的支持。
單擊De-Vice Driver→網(wǎng)絡(luò)設(shè)備支持→無線LAN(非hamradio)→檢查Wireless Lan driner(非hamradio)和無線擴(kuò)展;然后進(jìn)入通用USB-WLAN驅(qū)動(dòng)程序源,修改makefile,并重新創(chuàng)建內(nèi)核文件夾選項(xiàng)。
位于剛剛編譯的Linux內(nèi)核中,由“make”編譯而成。
在此文件夾中生成rt73。
Ko驅(qū)動(dòng)模塊。
在ARM嵌入式Linux開發(fā)中有很多方法可以傳輸文件,例如TFTP服務(wù)和NFS文件系統(tǒng)。
這里采用的是rt73。
ko驅(qū)動(dòng)程序模塊下載到開發(fā)板。
由于Linux支持模塊的動(dòng)態(tài)加載,因此方便的是用“insmod”將模塊加載到內(nèi)核中,并通過“l(fā)stood”查看加載的模塊,之后rt73模塊已成功加載。
將無線管理應(yīng)用程序添加到開發(fā)板文件系統(tǒng),以及iwconfig,iwapy,iwlist等,用于配置頻率,網(wǎng)絡(luò),ID,ES-SID,接受靈敏度,訪問模式,無線網(wǎng)絡(luò)標(biāo)準(zhǔn)和加密交換機(jī)。
最后,編寫無線網(wǎng)絡(luò)啟動(dòng)和自配置程序,自動(dòng)配置IP地址和無線網(wǎng)卡。
此時(shí),整個(gè)無線網(wǎng)卡驅(qū)動(dòng)程序已完全編譯。
Linux是目前市場上使用最廣泛的嵌入式系統(tǒng)操作系統(tǒng)。
其驅(qū)動(dòng)模式支持模塊堆疊技術(shù),內(nèi)核開發(fā)人員提供了一些通用模塊。
基于工程應(yīng)用,研究并移植了Linux下USB無線網(wǎng)卡的設(shè)備驅(qū)動(dòng)程序。
基于此,它可以構(gòu)建嵌入式無線局域網(wǎng),可以用于有線網(wǎng)絡(luò),無法擴(kuò)展或難以安裝,具有靈活的移動(dòng)性和臨時(shí)性對(duì)于外部攝像頭和圖像處理芯片等應(yīng)用,也可以使用用于工業(yè)現(xiàn)場的遠(yuǎn)程無線視頻監(jiān)控。