VxWorks環(huán)境下雙冗余以太網(wǎng)卡技術(shù)在底層驅(qū)動(dòng)中的實(shí)現(xiàn)_第1頁(yè)
VxWorks環(huán)境下雙冗余以太網(wǎng)卡技術(shù)在底層驅(qū)動(dòng)中的實(shí)現(xiàn)_第2頁(yè)
VxWorks環(huán)境下雙冗余以太網(wǎng)卡技術(shù)在底層驅(qū)動(dòng)中的實(shí)現(xiàn)_第3頁(yè)
VxWorks環(huán)境下雙冗余以太網(wǎng)卡技術(shù)在底層驅(qū)動(dòng)中的實(shí)現(xiàn)_第4頁(yè)
VxWorks環(huán)境下雙冗余以太網(wǎng)卡技術(shù)在底層驅(qū)動(dòng)中的實(shí)現(xiàn)_第5頁(yè)
已閱讀5頁(yè),還剩4頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、文章編號(hào) :1009-671X (2005 08-0043-03VxWorks 環(huán)境下雙冗余以太網(wǎng)卡技術(shù)在底層驅(qū)動(dòng)中的實(shí)現(xiàn)胡國(guó)鵬 , 劉利強(qiáng)(哈爾濱工程大學(xué) 自動(dòng)化學(xué)院 , 黑龍江 哈爾濱 150001摘 要 :詳細(xì)分析了嵌入式實(shí)時(shí)操作系統(tǒng) VxWorks 中數(shù)據(jù)鏈路層和網(wǎng)絡(luò)層結(jié)構(gòu)模型 , 講述了如何在系統(tǒng)最底層網(wǎng)卡 的驅(qū)動(dòng)程序中實(shí)現(xiàn)以太網(wǎng)卡的雙冗余設(shè)計(jì) , 最后將在驅(qū)動(dòng)程序中實(shí)現(xiàn)與在應(yīng)用層實(shí)現(xiàn) 2種方法進(jìn)行了對(duì)比 , 證明在 驅(qū)動(dòng)程序中實(shí)現(xiàn)此技術(shù)能得到更好的效果 . 關(guān)鍵詞 :冗余設(shè)計(jì) ; 網(wǎng)絡(luò)接口 ;VxWorks 中圖分類號(hào) :TP31 文獻(xiàn)標(biāo)識(shí)碼 :A收稿日期 :2004-09-03.

2、作者簡(jiǎn)介 :胡國(guó)鵬 (1980- , 男 , 碩士研究生 , 主要研究方向 :計(jì)算機(jī)控制、 嵌入式系統(tǒng) .R ealization of double redundant ethernet net w ork cardsin bottom -layer driver on VxWorksHU Guo-peng ,L IU Li-qiang(School of Automation , Harbin Engineering University , Harbin 150001,China Abstract :This paper analyses the structure of data li

3、nk layer and network layer in embedded real-time OS Vx 2Works , and expatiates how to realize the redundancy of N IC in the driver at the bottom of OS. Finally , the ef 2fects of the technology used in the driver layer and in the application layer respectively , are compared. It is proved that bette

4、r effect can be obtained if the method is used in the driver. K eyw ords :redundancy design ;N IC ;VxWorks 隨著以太網(wǎng)的穩(wěn)定性 、 抗干擾性和帶寬問題的 逐步改善 , 以太網(wǎng)正在大規(guī)模進(jìn)入工業(yè)控制領(lǐng)域 . 用 于工業(yè)過程控制 、 通信 、 航天器和導(dǎo)航系統(tǒng)中的網(wǎng)絡(luò) 對(duì)可靠性及其響應(yīng)故障的快速性要求極高 . 當(dāng)前 , 冗 余設(shè)計(jì)作為一種提高設(shè)備可靠性的有效方法 , 已經(jīng) 得到了廣泛的應(yīng)用 . 對(duì)于網(wǎng)絡(luò)系統(tǒng)中的單個(gè)節(jié)點(diǎn) , 常 常需要對(duì)網(wǎng)卡進(jìn)行雙冗余備份 , 即每個(gè)節(jié)點(diǎn)都采用 2塊網(wǎng)卡 (或

5、2個(gè)網(wǎng)口 , 中間用集線器或交換機(jī)互連 , 當(dāng)正常通信的網(wǎng)卡或線路出現(xiàn)故障時(shí) , 該節(jié)點(diǎn)能 自動(dòng)地切換到備份網(wǎng)卡進(jìn)行通信 . 圖 1為冗余網(wǎng)絡(luò) 的一種典型聯(lián)接形式 1.具有雙冗余網(wǎng)卡的節(jié)點(diǎn)雖然有 2塊網(wǎng)卡 ,2條 通道 , 但對(duì)于高層應(yīng)用系統(tǒng)來(lái)說(shuō) , 仍呈現(xiàn)單網(wǎng)卡的特 征 . 具體來(lái)講 ,2塊網(wǎng)卡共有 1個(gè)物理地址 ,1個(gè) IP 地址 .根據(jù) TCP/IP 參考模型 , TCP/IP 協(xié)議族可以圖 1 冗余網(wǎng)絡(luò)互聯(lián)示意圖分為應(yīng)用層 、 傳輸層 、 網(wǎng)絡(luò)層和鏈路層 4層 , 冗余網(wǎng) 卡技術(shù)可以在其中各個(gè)層面中實(shí)現(xiàn) .1 VxWorks 、 MU X 與網(wǎng)卡驅(qū)動(dòng)程序嵌入式實(shí)時(shí)操作系統(tǒng) VxWork

6、s 的網(wǎng)絡(luò)協(xié)議棧 與網(wǎng)絡(luò) 設(shè) 備 驅(qū) 動(dòng) 的 接 口 有 2種 :一 種 是 標(biāo) 準(zhǔn) 的第 32卷第 8期 應(yīng) 用 科 技 Vol. 32, . 82005年 8月 Applied Science and Technology Aug. 2005BSD4. 4Driver , 它將 Driver 和協(xié)議緊密關(guān)聯(lián)在一起 , 不利于多協(xié)議的支持 ; 另一種標(biāo)準(zhǔn)是 VxWorks 特有的 , 它將 Driver 和協(xié)議棧隔離開 , 使二者通過 一個(gè)稱為 MU X 的薄層相連 , 使得網(wǎng)絡(luò)服務(wù)免受特 定的網(wǎng)絡(luò)接口驅(qū)動(dòng)程序的影響 , 達(dá)到 Driver 獨(dú)立于 具體協(xié)議的目的 , 從而實(shí)現(xiàn)多協(xié)議的支持

7、, 三者間的 關(guān)系如圖 2所示. 圖 2 MUX 是協(xié)議層和數(shù)據(jù)鏈路層之間的接口目前版本的 MU X 支持 2種網(wǎng)絡(luò)驅(qū)動(dòng)程序接口 模式 :增強(qiáng)型網(wǎng)絡(luò)驅(qū)動(dòng)程序接口 (END 和網(wǎng)絡(luò)協(xié)議 工具包 (N PT 驅(qū)動(dòng)程序接口 . 現(xiàn)以 END 型網(wǎng)卡驅(qū) 動(dòng)為例介紹如何在 VxWorks 5. 4下的 N E2000兼容 網(wǎng)卡驅(qū)動(dòng)程序中實(shí)現(xiàn)雙網(wǎng)卡冗余設(shè)計(jì) .正常情況下 , 協(xié)議驅(qū)動(dòng)程序通過 MU X 層提供 的 N IC 的句柄來(lái)提交請(qǐng)求 , 這個(gè)句柄是調(diào)用 End 2Load (獲得的 ; 然后 MU X 層調(diào)用網(wǎng)卡驅(qū)動(dòng)程序中的接口函數(shù) , 實(shí)現(xiàn)高層協(xié)議驅(qū)動(dòng)程序的請(qǐng)求 .2 在應(yīng)用層實(shí)現(xiàn)雙冗余網(wǎng)卡技術(shù)

8、的分析在系統(tǒng)中對(duì)網(wǎng)卡進(jìn)行雙冗余備份 , 即 1塊網(wǎng)卡 在正常工作時(shí)使用 , 另 1塊網(wǎng)卡作為備份 . 備份用的 網(wǎng)卡處于激活狀態(tài) . 在正常通信的網(wǎng)卡出現(xiàn)故障或 系統(tǒng)需要時(shí) , 備份用的網(wǎng)卡能實(shí)時(shí)地 、 自動(dòng)地切換到 繼續(xù)工作 . 顯然 , 這就要求 2塊網(wǎng)卡只能使用同 1個(gè) 物理地址和同 1個(gè) IP 地址 . 從應(yīng)用程序的角度看 , 只會(huì)看見 1塊網(wǎng)卡在工作 , 不關(guān)心是哪塊網(wǎng)卡在工 作及如何切換 .理論上講 , 冗余網(wǎng)卡技術(shù)可以在 OSI 各層中實(shí) 現(xiàn) , 而且越在底層實(shí)現(xiàn) , 檢測(cè)和切換的速度越快 , 效 果應(yīng)該越好 . 其他利用應(yīng)用層實(shí)現(xiàn)雙冗余網(wǎng)卡的主 要方法是在程序中發(fā)起任務(wù) , 以

9、查詢的方式不斷對(duì) 當(dāng)前工作網(wǎng)卡的工作狀態(tài)進(jìn)行判斷 , 當(dāng)判斷出當(dāng)前 使用的網(wǎng)卡處于非正常狀態(tài)的時(shí)候 , 將刪除當(dāng)前網(wǎng) 卡的路由 , 在主機(jī)列表中刪除當(dāng)前主機(jī)名 , 并解除網(wǎng)卡與協(xié)議的綁定 ; 然后進(jìn)行備份網(wǎng)卡的配置 :為備份 網(wǎng)卡綁定協(xié)議 , 設(shè)置子網(wǎng)掩碼和 IP 地址 2-3.用此種方法實(shí)際測(cè)試 , 測(cè)試中使裝有雙網(wǎng)卡的 主機(jī)不斷向外發(fā)送廣播報(bào)文 , 同時(shí)用網(wǎng)絡(luò)分析軟件 接收 . 測(cè)得 2個(gè)網(wǎng)口的切換時(shí)間平均為 120ms , 在切 換期間有很多廣播報(bào)文丟失 . 可見在應(yīng)用層實(shí)現(xiàn)雙 網(wǎng)卡冗余備份技術(shù) , 網(wǎng)卡切換速度慢 , 不利于網(wǎng)絡(luò)的 可靠性和實(shí)時(shí)性 .3 在驅(qū)動(dòng)程序中的實(shí)現(xiàn)在 VxWor

10、ks 系統(tǒng)中 , 相同類型的網(wǎng)卡使用同一 個(gè)驅(qū)動(dòng)程序 , 網(wǎng)卡之間由驅(qū)動(dòng)程序提供的句柄來(lái)區(qū) 別 . MU X 調(diào)用 N IC 驅(qū)動(dòng)程序的接口函數(shù)時(shí) , 都會(huì)把 網(wǎng)卡的句柄傳入函數(shù)中 . 這就為在驅(qū)動(dòng)程序中實(shí)現(xiàn) 雙網(wǎng)卡冗余備份提供了基礎(chǔ) . 因此要實(shí)現(xiàn)網(wǎng)卡的雙冗余備份 , 最理想的辦法是在 N IC 驅(qū)動(dòng)程序中實(shí) 現(xiàn) .3. 1 數(shù)據(jù)結(jié)構(gòu)網(wǎng)卡驅(qū)動(dòng)程序中最關(guān)鍵的數(shù)據(jù)結(jié)構(gòu)是有關(guān)網(wǎng)卡 特性的數(shù)據(jù)結(jié)構(gòu) . 每種網(wǎng)卡都有它自己的特性 , 包括 它的單元號(hào) 、 中斷向量 、 I/O 基址 、 物理地址等 .系 統(tǒng) 啟 動(dòng) 時(shí) , 在 網(wǎng) 卡 驅(qū) 動(dòng) 的 裝 載 函 數(shù) 中 ne2000EndLoad ( 中

11、 , 會(huì)為設(shè)備初始化 1個(gè)數(shù)據(jù)結(jié)構(gòu) , 并分配一個(gè)指針指向這個(gè)結(jié)構(gòu) . 這時(shí)定義 2個(gè)全 局指針 :N E2000END-DEV ICE 3pDrvCtrl-0; N E2000END-DEV ICE 3pDrvCtrl-1;在網(wǎng)卡初始化時(shí)把這 2個(gè)指針分別指向 2塊網(wǎng) 卡的數(shù)據(jù)結(jié)構(gòu) , 通過這 2個(gè)指針的定義 , 在 MU X 調(diào) 用 N IC 驅(qū)動(dòng)程序的接口函數(shù)時(shí) , 可以根據(jù)網(wǎng)卡的好 壞或系統(tǒng)的需要來(lái)選擇 pDrvCtrl-0或 pDrvCtrl-1, 以調(diào)整工作網(wǎng)卡 . 3. 2 發(fā)送和接收處理在上層驅(qū)動(dòng)程序通過 MU X 調(diào)用 N IC 驅(qū)動(dòng)程 序的發(fā)送函數(shù)時(shí) , 會(huì)傳入網(wǎng)卡的句柄

12、, 指定要使用的 網(wǎng)卡 . 通常情況下 , 驅(qū)動(dòng)程序會(huì)根據(jù)該句柄向相應(yīng)網(wǎng) 卡發(fā)出指令 , 把報(bào)文發(fā)出去 . 在雙網(wǎng)卡冗余備份驅(qū)動(dòng) 程序中 , 根據(jù)需要來(lái)指定發(fā)送數(shù)據(jù)要使用的網(wǎng)卡 , 而 不一定使用 MU X 指定的網(wǎng)卡 . 如先讀 2塊網(wǎng)卡的 Link 信號(hào)寄存器 , 判斷網(wǎng)絡(luò)連線的通斷 , 再?zèng)Q定使用哪一塊網(wǎng)卡來(lái)發(fā)送數(shù)據(jù) .在接收?qǐng)?bào)文的時(shí)候 , 通常是在中斷中進(jìn)行處理 . 因?yàn)橐蕴W(wǎng)在物理層上的特點(diǎn) ,2塊網(wǎng)卡都能收到報(bào)文 , 不同的是只有與高層協(xié)議綁定的網(wǎng)卡收到的 數(shù)據(jù)才能向上傳遞 . 在雙網(wǎng)卡冗余備份驅(qū)動(dòng)程序中 , 不是由 MU X 指定的網(wǎng)卡句柄來(lái)向上傳送數(shù)據(jù) , 而 是根據(jù)當(dāng)前網(wǎng)卡的

13、工作狀態(tài)向上層傳送數(shù)據(jù) , 即使 數(shù)據(jù)是從另一塊網(wǎng)卡上接收來(lái)的或另一塊網(wǎng)卡沒有 和高層協(xié)議綁定 .3. 3 單物理地址的處理通常每塊網(wǎng)卡有 1個(gè)全世界范圍內(nèi)唯一的物理 地址 , 它保存在網(wǎng)卡的 PROM 中 . 網(wǎng)卡初始化時(shí) , 要 從 PROM 中讀出物理地址 , 把它存放在適當(dāng)?shù)募拇?器和數(shù)據(jù)結(jié)構(gòu)中 .要使 2塊網(wǎng)卡能相互備份 , 它們必須有相同的物 理地址和 IP 地址 . 在雙網(wǎng)卡冗余備份驅(qū)動(dòng)程序中 , 可 以用其中 1塊網(wǎng)卡的物理地址 . 方法有 2種 :在驅(qū)動(dòng)程 序初始化時(shí)只讀 1塊網(wǎng)卡的 PROM 中的物理地址 ; 或 者在網(wǎng)卡驅(qū)動(dòng)程序中的 ne2000EnetAddrG et

14、( 函數(shù) 中作修改 , 完全可以給網(wǎng)卡設(shè)定任意的物理地址 (只要 避免了同一網(wǎng)絡(luò)中的沖突 .3. 4 單 IP 地址處理至于 2塊網(wǎng)卡采用相同的 IP 地址 , 可以這樣實(shí) 現(xiàn) :在安裝 2塊網(wǎng)卡時(shí) , 只讓 1塊網(wǎng)卡有 IP 地址 , 另 1塊網(wǎng)卡沒有 IP 地址 . 因?yàn)榻o網(wǎng)卡綁定 IP 地址是 在 IP 協(xié)議所在的網(wǎng)絡(luò)層實(shí)現(xiàn)的 , 所以在網(wǎng)絡(luò)層以下 切換網(wǎng)卡對(duì)上層來(lái)說(shuō)是完全透明的 . 應(yīng)用程序自始 自終只看見 1塊網(wǎng)卡在工作 . 圖 3是從應(yīng)用程序的 角度看雙網(wǎng)卡備份的示意圖 .315 效果分析通過對(duì)比實(shí)驗(yàn) , 在應(yīng)用層實(shí)現(xiàn)雙網(wǎng)卡冗余備份的 平均網(wǎng)卡切換時(shí)間是 120ms , 在驅(qū)動(dòng)層實(shí)現(xiàn)雙網(wǎng)卡冗 余備份的平均網(wǎng)卡切換時(shí)間是 5ms , 相對(duì)于在應(yīng)用層 或其他高層中實(shí)現(xiàn) , 效率較高 , 大大縮短雙網(wǎng)卡的切換 時(shí)間 , 從而降低切換時(shí)網(wǎng)絡(luò)通信丟包的機(jī)率 .圖 3 雙網(wǎng)卡備份4 結(jié)束語(yǔ)分析了 VxWorks 系統(tǒng)的網(wǎng)絡(luò)結(jié)構(gòu)模型 , 提出了 在系統(tǒng)底層驅(qū)動(dòng)中實(shí)現(xiàn)雙網(wǎng)卡冗余備份功能的設(shè) 想 , 并進(jìn)行了設(shè)計(jì)實(shí)現(xiàn) , 同時(shí)對(duì)在驅(qū)動(dòng)程序中實(shí)現(xiàn)與 在應(yīng)用層中實(shí)現(xiàn) 2種方法進(jìn)行了對(duì)比 , 證明了在驅(qū) 動(dòng)程序中不但能夠很好地實(shí)現(xiàn)雙網(wǎng)卡冗

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論