[發(fā)明專利]一種網(wǎng)卡驅(qū)動(dòng)方法無(wú)效
| 申請(qǐng)?zhí)枺?/td> | 200810059857.5 | 申請(qǐng)日: | 2008-02-22 |
| 公開(kāi)(公告)號(hào): | CN101232522A | 公開(kāi)(公告)日: | 2008-07-30 |
| 發(fā)明(設(shè)計(jì))人: | 廉玉平;韓雁;霍明旭;陳金龍;張艷 | 申請(qǐng)(專利權(quán))人: | 浙江大學(xué) |
| 主分類號(hào): | H04L29/10 | 分類號(hào): | H04L29/10;G06F9/445 |
| 代理公司: | 杭州求是專利事務(wù)所有限公司 | 代理人: | 張法高 |
| 地址: | 310027浙*** | 國(guó)省代碼: | 浙江;33 |
| 權(quán)利要求書(shū): | 查看更多 | 說(shuō)明書(shū): | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 網(wǎng)卡 驅(qū)動(dòng) 方法 | ||
技術(shù)領(lǐng)域
本發(fā)明屬于集成電路技術(shù)領(lǐng)域,具體涉及一種網(wǎng)卡驅(qū)動(dòng)方法。
背景技術(shù)
在網(wǎng)絡(luò)技術(shù)高度發(fā)達(dá)的信息時(shí)代,作為OSI(開(kāi)放系統(tǒng)互聯(lián)基本參考模型)數(shù)據(jù)鏈路層的網(wǎng)卡自然起到了不可忽視的重要作用。然而,不同公司的網(wǎng)卡接口信號(hào)不盡相同,不同工藝、不同型號(hào)的網(wǎng)卡時(shí)序要求也不一樣,這對(duì)基于硬件實(shí)現(xiàn)的網(wǎng)卡驅(qū)動(dòng)的靈活性帶來(lái)很大的負(fù)面影響。
傳統(tǒng)的網(wǎng)卡驅(qū)動(dòng)是基于C或其他語(yǔ)言設(shè)計(jì)的軟件程序,但若想把自主設(shè)計(jì)的芯片和網(wǎng)卡進(jìn)行通信,必須用硬件電路實(shí)現(xiàn)對(duì)網(wǎng)卡的配置和控制。一般的網(wǎng)卡驅(qū)動(dòng)都是針對(duì)具體的應(yīng)用和特定型號(hào)的網(wǎng)卡,基本流程包括:網(wǎng)卡初始化,中斷處理流程控制,發(fā)送流程控制,接收流程控制這幾個(gè)方面,而且接口信號(hào)不易與和芯片中不同的電路模塊進(jìn)行通信,這無(wú)疑增加了接口信號(hào)的復(fù)雜性,導(dǎo)致不同模塊之間通信效率的降低。
發(fā)明內(nèi)容
本發(fā)明的目的是針對(duì)現(xiàn)有技術(shù)的不足,提供一種具有易移植、可配置、具有開(kāi)放式接口等特點(diǎn)的網(wǎng)卡驅(qū)動(dòng)方法。
本發(fā)明的網(wǎng)卡驅(qū)動(dòng)方法包括網(wǎng)卡初始化流程、數(shù)據(jù)發(fā)送流程、中斷處理流程和數(shù)據(jù)接收流程。
網(wǎng)卡初始化流程主要用于對(duì)網(wǎng)卡中的相應(yīng)寄存器進(jìn)行配置,這些寄存器主要包括網(wǎng)卡工作模式寄存器,讀寫指針寄存器,物理地址寄存器,組播地址寄存器,中斷屏蔽寄存器,數(shù)據(jù)格式配置寄存器,發(fā)送配置寄存器,接收配置寄存器。
數(shù)據(jù)發(fā)送流程完成數(shù)據(jù)在上層和網(wǎng)卡之間的傳遞,即從上層讀取數(shù)據(jù)包,然后傳輸給網(wǎng)卡。
數(shù)據(jù)接收流程中數(shù)據(jù)的傳輸方向是自底向上的,即從網(wǎng)卡中讀取數(shù)據(jù)包,然后傳輸給上層。當(dāng)網(wǎng)卡驅(qū)動(dòng)檢測(cè)到網(wǎng)卡中有新的數(shù)據(jù)包時(shí),讀取網(wǎng)卡中的數(shù)據(jù),并向上層寫入開(kāi)始信號(hào)同時(shí)傳輸數(shù)據(jù),若收到上層給出的應(yīng)答信號(hào),則表明上層已經(jīng)成功的接受了該數(shù)據(jù),此時(shí)可以撤銷該數(shù)據(jù)端口的數(shù)據(jù)。重復(fù)該過(guò)程,直到將網(wǎng)卡中新的數(shù)據(jù)包讀取完畢為止。
網(wǎng)卡中斷處理流程主要處理由網(wǎng)卡送來(lái)的中斷信號(hào),并按照信號(hào)類型進(jìn)入相應(yīng)的處理流程。若網(wǎng)卡驅(qū)動(dòng)接收到數(shù)據(jù)接收中斷時(shí),按照上述的數(shù)據(jù)接收流程進(jìn)行處理,其它中斷類型,如發(fā)送完成中斷,發(fā)送錯(cuò)誤中斷,接收錯(cuò)誤中斷等,記錄下該信息供上層查詢以決定相應(yīng)的操作。
本發(fā)明的網(wǎng)卡驅(qū)動(dòng)方法的具體步驟是:
1、按照網(wǎng)卡的時(shí)序要求,利用高電平計(jì)數(shù)寄存器監(jiān)測(cè)讀寫使能信號(hào)的高電平保持時(shí)間,利用低電平計(jì)數(shù)寄存器監(jiān)測(cè)讀寫使能信號(hào)的低電平保持時(shí)間,配置好網(wǎng)卡的寄存器。具體是:網(wǎng)卡要求低電平的保持時(shí)間為T1,則低電平計(jì)數(shù)寄存器的初始值至少設(shè)為Tl/Tp,網(wǎng)卡要求高電平的保持時(shí)間為Th,則高電平計(jì)數(shù)寄存器的初始值至少設(shè)為Th/Tp,其中Tp為系統(tǒng)時(shí)鐘周期;在配置寄存器時(shí),先對(duì)高電平計(jì)數(shù)寄存器進(jìn)行操作,每過(guò)一個(gè)系統(tǒng)時(shí)間,該高電平計(jì)數(shù)寄存器的值減1,當(dāng)該值減為0時(shí),對(duì)低電平計(jì)數(shù)寄存器進(jìn)行操作,每過(guò)一個(gè)系統(tǒng)時(shí)間,該低電平計(jì)數(shù)寄存器的值減1,當(dāng)該值減為0時(shí),完成寄存器的數(shù)據(jù)配置。
2、根據(jù)網(wǎng)卡具體工作需要的參數(shù)對(duì)網(wǎng)卡進(jìn)行初始化。
3、監(jiān)測(cè)是否有網(wǎng)卡給出的中斷信息和上層給出的發(fā)送使能信息,若沒(méi)有,則處在等待狀態(tài)繼續(xù)監(jiān)測(cè)。
4、如果接收到上層給出的發(fā)送使能信息,則進(jìn)入數(shù)據(jù)發(fā)送流程。具體是:首先從上層讀出需要發(fā)送數(shù)據(jù)包的長(zhǎng)度信息,以便驅(qū)動(dòng)檢測(cè)最終讀進(jìn)來(lái)的數(shù)據(jù)長(zhǎng)度是否和開(kāi)始給出的長(zhǎng)度一致,同時(shí)將該長(zhǎng)度信息寫入網(wǎng)卡的長(zhǎng)度寄存器以便網(wǎng)卡進(jìn)行讀操作;然后不斷將上層發(fā)送來(lái)的數(shù)據(jù)信息按照具體的網(wǎng)卡時(shí)序?qū)懭氲骄W(wǎng)卡的數(shù)據(jù)寄存器中;每寫入一個(gè)數(shù)據(jù),給上層一個(gè)應(yīng)答信號(hào),以便上層及時(shí)撤銷已讀數(shù)據(jù)并寫入新數(shù)據(jù),直至收到上層給出的結(jié)束信號(hào)。
5、如果接收到網(wǎng)卡給出的中斷信息,則進(jìn)入中斷處理流程。如果網(wǎng)卡的寫指針沒(méi)有發(fā)生變化,表示該中斷信息不是新的數(shù)據(jù)幀,則將該中斷信息記錄下來(lái)以備上層用戶進(jìn)行中斷查詢,同時(shí)清除網(wǎng)卡中斷。如果寫指針發(fā)生變化,表示該中斷信息是新的數(shù)據(jù)幀,則進(jìn)入步驟6。
6、該中斷信息是新的數(shù)據(jù)幀時(shí),從網(wǎng)卡的數(shù)據(jù)長(zhǎng)度寄存器中讀出該數(shù)據(jù)幀的長(zhǎng)度信息,然后從網(wǎng)卡的數(shù)據(jù)寄存器中讀出數(shù)據(jù),并將該數(shù)據(jù)寫入上層,每寫入一個(gè)數(shù)據(jù)后,進(jìn)入等待狀態(tài);當(dāng)上層給出一個(gè)應(yīng)答信號(hào)時(shí),停止等待狀態(tài),將該數(shù)據(jù)幀的長(zhǎng)度信息減1,不斷重復(fù)該過(guò)程,直到數(shù)據(jù)幀的長(zhǎng)度信息為0,表明整個(gè)數(shù)據(jù)幀讀取完畢,給上層發(fā)送一個(gè)數(shù)據(jù)幀傳輸完畢信號(hào),結(jié)束數(shù)據(jù)接收流程。
本發(fā)明的網(wǎng)卡驅(qū)動(dòng)方法有如下特征:
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于浙江大學(xué),未經(jīng)浙江大學(xué)許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/200810059857.5/2.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專利網(wǎng)。
- 可選擇多網(wǎng)絡(luò)手機(jī)
- 多操作系統(tǒng)中網(wǎng)卡之間的切換方法和系統(tǒng)
- 一種網(wǎng)卡配置的方法及裝置
- 一種多網(wǎng)卡自動(dòng)聚合并監(jiān)控報(bào)警方法及系統(tǒng)
- 一種報(bào)文轉(zhuǎn)發(fā)方法、系統(tǒng)及網(wǎng)卡和存儲(chǔ)介質(zhì)
- 網(wǎng)卡性能統(tǒng)計(jì)方法以及裝置
- 網(wǎng)卡處理方法、裝置、電子設(shè)備及存儲(chǔ)介質(zhì)
- 一種網(wǎng)絡(luò)配置方法、裝置、設(shè)備及可讀存儲(chǔ)介質(zhì)
- 基于Kylin系統(tǒng)的網(wǎng)卡識(shí)別處理方法、系統(tǒng)、終端及存儲(chǔ)介質(zhì)
- 一種網(wǎng)卡冗余系統(tǒng)及服務(wù)器
- 電流驅(qū)動(dòng)裝置的驅(qū)動(dòng)電路,電流驅(qū)動(dòng)設(shè)備及其驅(qū)動(dòng)方法
- 驅(qū)動(dòng)電路、驅(qū)動(dòng)模塊以及電機(jī)驅(qū)動(dòng)裝置
- 驅(qū)動(dòng)電路、驅(qū)動(dòng)模塊和電機(jī)驅(qū)動(dòng)設(shè)備
- 驅(qū)動(dòng)單元、驅(qū)動(dòng)方法、驅(qū)動(dòng)電路及顯示面板
- 驅(qū)動(dòng)電路、驅(qū)動(dòng)芯片及其驅(qū)動(dòng)方法
- 驅(qū)動(dòng)電機(jī)(電驅(qū)動(dòng))
- 驅(qū)動(dòng)電機(jī)(節(jié)能驅(qū)動(dòng))
- 驅(qū)動(dòng)電機(jī)(設(shè)備驅(qū)動(dòng))
- 驅(qū)動(dòng)機(jī)(驅(qū)動(dòng)軸)
- 驅(qū)動(dòng)機(jī)(電驅(qū)動(dòng))
- 一種數(shù)據(jù)庫(kù)讀寫分離的方法和裝置
- 一種手機(jī)動(dòng)漫人物及背景創(chuàng)作方法
- 一種通訊綜合測(cè)試終端的測(cè)試方法
- 一種服裝用人體測(cè)量基準(zhǔn)點(diǎn)的獲取方法
- 系統(tǒng)升級(jí)方法及裝置
- 用于虛擬和接口方法調(diào)用的裝置和方法
- 線程狀態(tài)監(jiān)控方法、裝置、計(jì)算機(jī)設(shè)備和存儲(chǔ)介質(zhì)
- 一種JAVA智能卡及其虛擬機(jī)組件優(yōu)化方法
- 檢測(cè)程序中方法耗時(shí)的方法、裝置及存儲(chǔ)介質(zhì)
- 函數(shù)的執(zhí)行方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)





