欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種wlan驅(qū)動實現(xiàn)方法

文檔序號:7765385閱讀:400來源:國知局
專利名稱:一種wlan驅(qū)動實現(xiàn)方法
技術(shù)領(lǐng)域
本發(fā)明涉及無線通信領(lǐng)域,尤其涉及WLAN網(wǎng)絡(luò)中無線網(wǎng)卡的驅(qū)動軟件開發(fā)技術(shù)。
背景技術(shù)
隨著無線網(wǎng)絡(luò)技術(shù)的發(fā)展,其應(yīng)用領(lǐng)域也不在不斷的擴大,基于802. 11標(biāo)準(zhǔn)的 WLAN網(wǎng)絡(luò)的使用范圍早已不再局限于個人PC平臺,而是深入到眾多的嵌入式設(shè)備中,諸如數(shù)字家電、安防監(jiān)控、工業(yè)應(yīng)用等。相比于使用windows或Iinux操作系統(tǒng)的PC平臺,嵌入式設(shè)備擁有較低的CPU性能和較少的硬件資源,因此多采用的是功能更簡單的嵌入式操作系統(tǒng),甚至是不使用任何的操作系統(tǒng)。通常WLAN網(wǎng)絡(luò)的無線網(wǎng)卡驅(qū)動都是基于windows或 Iinux操作系統(tǒng)環(huán)境下實現(xiàn),在不使用上述操作系統(tǒng)的環(huán)境下無法直接使用,而且由于不同的操作系統(tǒng)之間對于設(shè)備驅(qū)動程序?qū)崿F(xiàn)的架構(gòu)差異很大,當(dāng)需要將在一個操作系統(tǒng)上開發(fā)的WLAN驅(qū)動移植到另外一個操作系統(tǒng)時需要做大量的移植工作,有時甚至是不可實現(xiàn)的。正是基于上述問題,本發(fā)明提出了一種方法,使得WLAN無線網(wǎng)卡驅(qū)動的實現(xiàn)可以不依賴于特定的操作系統(tǒng)環(huán)境,從而使WLAN驅(qū)動可以輕松的移植到任何的操作系統(tǒng)甚至是不使用操作系統(tǒng)的環(huán)境中運行。

發(fā)明內(nèi)容
本發(fā)明提供一種不依賴特定操作系統(tǒng)的WLAN驅(qū)動實現(xiàn)方法,主要目的是使得在任何的操作系統(tǒng)甚至是不使用操作系統(tǒng)的環(huán)境下,都可以輕松的移植并運行按照本方法所實現(xiàn)的WLAN驅(qū)動程序,從而使用WLAN無線網(wǎng)絡(luò)功能。本方法將WLAN驅(qū)動抽象為靜態(tài)函數(shù)庫,所有功能、操作均以接口函數(shù)的形式來體現(xiàn),驅(qū)動實現(xiàn)不依賴任何的調(diào)度機制,所有操作均靠外部事件觸發(fā)并實時處理完成。本方法將整個WLAN驅(qū)動抽象成三層,包括用來封裝WLAN模塊的硬件接口操作的硬件適配層、用來實現(xiàn)802. 11協(xié)議的協(xié)議處理層和用來封裝用戶控制與數(shù)據(jù)傳輸?shù)膽?yīng)用接口層。


圖1所示的是本發(fā)明所述的WLAN驅(qū)動軟件結(jié)構(gòu)。圖2所示的是本發(fā)明所述的WLAN驅(qū)動系統(tǒng)控制流程。圖3所示的是本發(fā)明所述的WLAN驅(qū)動數(shù)據(jù)傳輸流程。
具體實施例方式本發(fā)明提供了一種不依賴特定操作系統(tǒng)的WLAN驅(qū)動實現(xiàn)方法,目的是WLAN驅(qū)動可以移植運行在任何的操作系統(tǒng)甚至是不使用操作系統(tǒng)的環(huán)境下,以下結(jié)合附圖,具體說明本發(fā)明。■基本設(shè)計概念1、靜態(tài)函數(shù)庫與事件驅(qū)動
根據(jù)本實現(xiàn)方法,WLAN驅(qū)動對外來說只是一組提供各種功能的函數(shù)庫,從內(nèi)部來說它有多個不同的事件狀態(tài)機組成,驅(qū)動自身并無駐留后臺運行,而是完全依靠外部事件來驅(qū)動。這些事件包括來自上層應(yīng)用程序的用戶命令、數(shù)據(jù)發(fā)送請求、來自底層硬件接口的接收數(shù)據(jù)請求以及定時器超時請求。對于主機系統(tǒng)發(fā)送給驅(qū)動的事件,全部由驅(qū)動提供的接口函數(shù)來輸入;而對于驅(qū)動發(fā)送給系統(tǒng)的事件,則由驅(qū)動提供回調(diào)函數(shù)接口,主機系統(tǒng)向驅(qū)動注冊事件回調(diào)函數(shù),然后通過驅(qū)動調(diào)用事件回調(diào)函數(shù)的方式向主機系統(tǒng)發(fā)送事件。WLAN驅(qū)動軟件內(nèi)部不包含任何的調(diào)度、掛起等操作,所有接口函數(shù)全部直接返回。 對于有些函數(shù)執(zhí)行完成時不能返回執(zhí)行結(jié)果的操作,如加入網(wǎng)絡(luò)命令,在操作完成后通過向系統(tǒng)發(fā)送事件的方式返回操作結(jié)果。2、抽象的數(shù)據(jù)收發(fā)機制根據(jù)本實現(xiàn)方法,WLAN驅(qū)動軟件內(nèi)部不實現(xiàn)真正的數(shù)據(jù)硬件收發(fā)功能,驅(qū)動內(nèi)部的硬件適配層僅作為與主機系統(tǒng)的硬件驅(qū)動(如USB)接口的模塊,用于驅(qū)動與主機硬件接口之間的數(shù)據(jù)傳遞。真正的通過硬件接口的數(shù)據(jù)收發(fā)工作(如usb接收/發(fā)送中斷)由主機系統(tǒng)來實現(xiàn)。對于上行的數(shù)據(jù)(從硬件接口到WLAN驅(qū)動),驅(qū)動提供數(shù)據(jù)接收接口函數(shù), 而對于下行的數(shù)據(jù)(從WLAN驅(qū)動到硬件接口),驅(qū)動提供回調(diào)函數(shù)接口,主機系統(tǒng)需要根據(jù)自身的系統(tǒng)來實現(xiàn)硬件接口數(shù)據(jù)發(fā)送的回調(diào)函數(shù)。3、定時器WLAN驅(qū)動軟件內(nèi)部包含一個定時器管理模塊,用于內(nèi)部的各種超時操作,驅(qū)動提供一個tick函數(shù)接口,所在的目標(biāo)主機系統(tǒng)需周期性的調(diào)用該tick函數(shù),作為驅(qū)動的周期時鐘源。4、臨界代碼段根據(jù)本實現(xiàn)方法,WLAN驅(qū)動軟件內(nèi)部不具有線程同步等機制,所以對臨界代碼段的保護需要所在的主機系統(tǒng)來實現(xiàn)。WLAN驅(qū)動僅提供進(jìn)出臨界代碼段的回調(diào)函數(shù)接口,主機系統(tǒng)可以根據(jù)自身情況實現(xiàn)具體的回調(diào)函數(shù),如打開/關(guān)閉中斷、使能/鎖定系統(tǒng)調(diào)度寸?!鲕浖崿F(xiàn)架構(gòu)1、軟件結(jié)構(gòu)如附圖1所示,整個WLAN驅(qū)動軟件大體上分為三層硬件適配層(HAL)、協(xié)議層 (PROTOCOL)和接口層(INF),包括用來封裝WLAN模塊的硬件接口操作的硬件適配層、用來實現(xiàn)802. 11協(xié)議的協(xié)議處理層和用來封裝用戶控制與數(shù)據(jù)傳輸?shù)膽?yīng)用接口層。令硬件適配層本層用來實現(xiàn)用來封裝WLAN模塊的硬件接口操作,但并不實現(xiàn)真正的硬件收發(fā)操作,僅實現(xiàn)與主機系統(tǒng)的硬件接口驅(qū)動部分進(jìn)行接口的功能。今協(xié)議層本層主要用來實現(xiàn)802. 11協(xié)議功能。今接口層本層是用來封裝用戶控制與數(shù)據(jù)傳輸接口功能,用戶控制接口主要實現(xiàn)上層對 WLAN聯(lián)網(wǎng)等操作的控制,而數(shù)據(jù)傳輸接口主要用來與主機系統(tǒng)的TCP/IP協(xié)議棧接口。2、系統(tǒng)控制流程
4
如附圖2所示,主機系統(tǒng)通過調(diào)用驅(qū)動軟件提供的命令接口函數(shù)來發(fā)出指令,對于無需等待的操作,直接通過命令接口函數(shù)返回結(jié)果。而對于那些需要一定的時間的操作, 驅(qū)動內(nèi)部不進(jìn)行掛起、等待等操作,而是函數(shù)直接返回。等到該操作完成以后,由事件回調(diào)接口將執(zhí)行結(jié)果返回給主機系統(tǒng)。3、數(shù)據(jù)傳輸流程如附圖3所示,上行數(shù)據(jù)流方向,主機系統(tǒng)的硬件接口驅(qū)動部分在接收中斷中調(diào)用驅(qū)動的數(shù)據(jù)接收接口函數(shù),該函數(shù)將數(shù)據(jù)搬移至接收緩沖區(qū)中(根據(jù)主機系統(tǒng)實現(xiàn)不同,可能僅進(jìn)行指針偏移而不發(fā)生數(shù)據(jù)拷貝操作),隨后的幀的重組、過濾、解析等操作均在接收緩沖區(qū)中進(jìn)行。對于接收到的管理幀,將交由無線協(xié)議處理模塊,而數(shù)據(jù)幀則進(jìn)行格式轉(zhuǎn)換后通過調(diào)用數(shù)據(jù)接收回調(diào)接口上交給主機系統(tǒng)。下行數(shù)據(jù)流方向,主機系統(tǒng)將準(zhǔn)備發(fā)送的數(shù)據(jù)在緩沖區(qū)中準(zhǔn)備好后調(diào)用驅(qū)動提供的數(shù)據(jù)發(fā)送接口函數(shù),驅(qū)動將數(shù)據(jù)搬移至發(fā)送緩沖區(qū)(根據(jù)主機系統(tǒng)實現(xiàn)不同,可能僅進(jìn)行指針偏移而不發(fā)生數(shù)據(jù)拷貝操作),隨后的幀格式轉(zhuǎn)換等操作均在發(fā)送緩沖區(qū)中進(jìn)行。此外,無線協(xié)議處理模塊組建的管理幀的發(fā)送也在發(fā)送緩沖區(qū)中完成。待發(fā)送幀組建完成后, 首先判斷當(dāng)前是否由數(shù)據(jù)正在發(fā)送,如果沒有則將調(diào)用硬件發(fā)送回調(diào)接口將數(shù)據(jù)遞交給主機系統(tǒng)的硬件接口驅(qū)動部分進(jìn)行發(fā)送。否則,將當(dāng)前幀復(fù)制到發(fā)送等待隊列中。主機系統(tǒng)的硬件接口驅(qū)動部分在接收到數(shù)據(jù)發(fā)送完成中斷后調(diào)用驅(qū)動提供的數(shù)據(jù)發(fā)送完成接口函數(shù), 該函數(shù)將查詢發(fā)送等待隊列中是否有待發(fā)送數(shù)據(jù),繼續(xù)發(fā)送操作。
權(quán)利要求
1.一種不依賴特定操作系統(tǒng)的WLAN驅(qū)動實現(xiàn)方法,其特征在于本方法將WLAN驅(qū)動抽象為靜態(tài)函數(shù)庫,WLAN驅(qū)動提供各種功能的函數(shù)庫,所有功能、操作均以接口函數(shù)的形式來體現(xiàn),整個WLAN驅(qū)動分為三層用來封裝WLAN模塊的硬件接口操作的硬件適配層、用來實現(xiàn)802. 11協(xié)議功能的協(xié)議處理層和用來封裝用戶控制與數(shù)據(jù)傳輸?shù)膽?yīng)用接口層;主機系統(tǒng)通過調(diào)用WLAN驅(qū)動提供的接口函數(shù)發(fā)出指令;WLAN驅(qū)動依靠外部事件來驅(qū)動,對于主機系統(tǒng)發(fā)送給WLAN驅(qū)動的事件,全部由驅(qū)動提供的接口函數(shù)來輸入;對于驅(qū)動發(fā)送給系統(tǒng)的事件,由驅(qū)動提供回調(diào)函數(shù)接口,主機系統(tǒng)向驅(qū)動注冊事件回調(diào)函數(shù),然后通過驅(qū)動調(diào)用事件回調(diào)函數(shù)的方式向主機系統(tǒng)發(fā)送事件。
2.根據(jù)權(quán)利要求1所述的一種不依賴特定操作系統(tǒng)的WLAN驅(qū)動實現(xiàn)方法,其特征在于,WLAN驅(qū)動不包含任何的調(diào)度、掛起等操作,所有接口函數(shù)全部直接返回,對于函數(shù)執(zhí)行完成時不能返回執(zhí)行結(jié)果的操作,在操作完成后通過向主機系統(tǒng)發(fā)送事件的方式返回操作結(jié)果。
3.根據(jù)權(quán)利要求1所述的一種不依賴特定操作系統(tǒng)的WLAN驅(qū)動實現(xiàn)方法,其特征在于,WLAN驅(qū)動的實現(xiàn)不依賴任何的調(diào)度機制,所有操作均靠外部事件觸發(fā)并實時處理完成。
4.根據(jù)權(quán)利要求1所述的一種不依賴特定操作系統(tǒng)的WLAN驅(qū)動實現(xiàn)方法,其特征在于,WLAN驅(qū)動不實現(xiàn)數(shù)據(jù)硬件收發(fā)功能,WLAN驅(qū)動內(nèi)部的硬件適配層僅作為與主機系統(tǒng)的硬件驅(qū)動接口的模塊,用于驅(qū)動與主機硬件接口之間的數(shù)據(jù)傳遞。
5.根據(jù)權(quán)利要求1所述的一種不依賴特定操作系統(tǒng)的WLAN驅(qū)動實現(xiàn)方法,其特征在于,WLAN驅(qū)動不具有線程同步等機制,WLAN驅(qū)動提供進(jìn)出臨界代碼段的回調(diào)函數(shù)接口,主機系統(tǒng)根據(jù)實現(xiàn)具體的回調(diào)函數(shù),對臨界代碼段的保護由所在的主機系統(tǒng)來實現(xiàn)。
全文摘要
本發(fā)明提供一種不依賴特定操作系統(tǒng)的WLAN驅(qū)動實現(xiàn)方法,主要目的是使得在任何的操作系統(tǒng)甚至是不使用操作系統(tǒng)的環(huán)境下,都可以輕松的移植并運行按照本方法所實現(xiàn)的WLAN驅(qū)動程序,從而使用WLAN無線網(wǎng)絡(luò)功能。本方法將WLAN驅(qū)動抽象為靜態(tài)函數(shù)庫,所有功能、操作均以接口函數(shù)的形式來體現(xiàn),驅(qū)動實現(xiàn)不依賴任何的調(diào)度機制,所有操作均靠外部事件觸發(fā)并實時處理完成。整個WLAN驅(qū)動抽象成至少三層,包括用來封裝WLAN模塊的硬件接口操作的硬件適配層、用來實現(xiàn)802.11協(xié)議的協(xié)議處理層和用來封裝用戶控制與數(shù)據(jù)傳輸?shù)膽?yīng)用接口層,并規(guī)定了系統(tǒng)控制與數(shù)據(jù)傳輸流程。
文檔編號H04W80/00GK102467381SQ20101054682
公開日2012年5月23日 申請日期2010年11月16日 優(yōu)先權(quán)日2010年11月16日
發(fā)明者余俊, 李慶, 王義鋒 申請人:北京中電華大電子設(shè)計有限責(zé)任公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
新蔡县| 永川市| 华宁县| 洮南市| 旌德县| 那坡县| 青海省| 保靖县| 同仁县| 布尔津县| 化州市| 双城市| 九龙县| 康定县| 珲春市| 钟祥市| 武宁县| 磴口县| 霸州市| 沅江市| 广水市| 射洪县| 镇赉县| 收藏| 门源| 北海市| 子洲县| 广平县| 商洛市| 丰城市| 香港| 同心县| 兴海县| 修武县| 同仁县| 香港 | 巫溪县| 永嘉县| 黄石市| 黄山市| 瑞金市|