摘要:2USB網(wǎng)卡無線網(wǎng)絡(luò)功能的實(shí)現(xiàn)2.1無線網(wǎng)卡的軟件管理層實(shí)現(xiàn)嵌入式系統(tǒng)硬件部分建立好后,需要建立軟件系統(tǒng)。本系統(tǒng)中采用了vivi做為BOOTLOADER(引導(dǎo)啟動(dòng)程序),嵌入式Linux作為操作系統(tǒng),以Cramfs作為主文件系統(tǒng),為支持可讀寫功能還添加了Jffs2文件系統(tǒng)。接著,需要軟件上實(shí)現(xiàn)無線網(wǎng)卡的功能。無線網(wǎng)卡的軟件包括無線網(wǎng)
2 USB網(wǎng)卡無線網(wǎng)絡(luò)功能的實(shí)現(xiàn)
2.1 無線網(wǎng)卡的軟件管理層實(shí)現(xiàn)
嵌入式系統(tǒng)硬件部分建立好后,需要建立軟件系統(tǒng)。本系統(tǒng)中采用了vivi做為BOOTLOADER(引導(dǎo)啟動(dòng)程序),嵌入式Linux作為操作系統(tǒng),以Cramfs作為主文件系統(tǒng),為支持可讀寫功能還添加了Jffs2文件系統(tǒng)。 接著,需要軟件上實(shí)現(xiàn)無線網(wǎng)卡的功能。
無線網(wǎng)卡的軟件包括無線網(wǎng)卡固件(Firmware)、無線網(wǎng)卡驅(qū)動(dòng)程序(Driver)和無線網(wǎng)卡配置管理程序三部分。
無線網(wǎng)卡的軟件實(shí)現(xiàn)結(jié)構(gòu)圖如圖3所示。固件是無線網(wǎng)卡上最基本的控制系統(tǒng),主要基于MAC芯片來實(shí)現(xiàn)對(duì)整個(gè)網(wǎng)卡的控制和管理,并向下提供與物理層的接口,向上提供一個(gè)程序開發(fā)接口,為程序開發(fā)附加的移動(dòng)主機(jī)應(yīng)用程序提供支持。在嵌入式系統(tǒng)中,IEEE802.11提供的服務(wù),包括認(rèn)證、解除認(rèn)證、登錄、重登錄等均由固件完成。
無線網(wǎng)卡的驅(qū)動(dòng)程序使用固件提供的軟件編程接口,對(duì)無線網(wǎng)卡進(jìn)行控制,配合固件完成數(shù)據(jù)的收發(fā)以及對(duì)信息幀的處理。無線網(wǎng)卡驅(qū)動(dòng)程序主要是針對(duì)相應(yīng)的無線網(wǎng)卡芯片進(jìn)行設(shè)計(jì)的,不同的芯片,它們的固件和寄存器相關(guān)設(shè)置存在很大的差異。除了要完成對(duì)下層的控制外,無線網(wǎng)卡驅(qū)動(dòng)還要向上層應(yīng)用程序和管理程序提供操作和配置無線網(wǎng)卡的應(yīng)用程序編程接口,以實(shí)現(xiàn)其網(wǎng)絡(luò)傳輸功能。
所有的Linux網(wǎng)絡(luò)驅(qū)動(dòng)程序遵循通用的接口。設(shè)計(jì)時(shí)采用的是面向?qū)ο蟮姆椒āR粋€(gè)設(shè)備就是一個(gè)對(duì)象(device結(jié)構(gòu)),它內(nèi)部有自己的數(shù)據(jù)和方法。每一個(gè)設(shè)備的方法被調(diào)用時(shí)的第一個(gè)參數(shù)都是這個(gè)設(shè)備對(duì)象本身,這樣這個(gè)方法就可以存取自身的數(shù)據(jù)(類似面向?qū)ο蟪绦蛟O(shè)計(jì)時(shí)的this引用)。一個(gè)網(wǎng)絡(luò)設(shè)備最基本的方法有初始化、發(fā)送和接收。
初始化程序完成硬件的初始化,device中變量的初始化和系統(tǒng)資源的申請(qǐng),發(fā)送程序是在驅(qū)動(dòng)程序的上層協(xié)議層有數(shù)據(jù)要發(fā)送時(shí)自動(dòng)調(diào)用的。一般驅(qū)動(dòng)程序中不對(duì)發(fā)送數(shù)據(jù)進(jìn)行緩存,直接使用硬件的發(fā)送功能把數(shù)據(jù)發(fā)送出去。接收數(shù)據(jù)一般是通過硬件中斷來通知的。在中斷處理程序里,把硬件幀信息填入一個(gè) skbuff結(jié)構(gòu)中,然后調(diào)用 netif_rx()傳遞給上層處理。
本系統(tǒng)的無線網(wǎng)卡驅(qū)動(dòng)接口主要實(shí)現(xiàn)了以下接口函數(shù):
無線網(wǎng)卡配置管理程序利用驅(qū)動(dòng)程序提供的信息查詢和設(shè)置接口,向用戶實(shí)時(shí)提供無線網(wǎng)卡的狀態(tài),同時(shí)利用該管理軟什可以實(shí)現(xiàn)對(duì)IP、SSID等無線剛卡參數(shù)進(jìn)行必要的配置。常見的無線網(wǎng)卡配置管理程序有iwconfig、iwlistt、iwspy、iwpriv等。這里介紹幾個(gè)主要的無線網(wǎng)卡配置管理程序:
通信工程師備考資料免費(fèi)領(lǐng)取
去領(lǐng)取
共收錄117.93萬道題
已有25.02萬小伙伴參與做題