基于VxWorks的雙端口網(wǎng)卡智能雙冗余驅動_第1頁
基于VxWorks的雙端口網(wǎng)卡智能雙冗余驅動_第2頁
基于VxWorks的雙端口網(wǎng)卡智能雙冗余驅動_第3頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

基于VxWorks的雙端口網(wǎng)卡智能雙冗余驅動隨著網(wǎng)絡技術的成熟,具有價格低廉、連接方便等優(yōu)點的以太網(wǎng)已成為各種控制系統(tǒng)接口互連的主要媒介。它作為一種通用網(wǎng)絡數(shù)據(jù)通信系統(tǒng),在全球計算機網(wǎng)絡領域已經(jīng)得到了廣泛的應用。隨著現(xiàn)代艦船信息化程度的不斷提高,以太網(wǎng)技術也開始應用于現(xiàn)代艦船信息系統(tǒng)中,不但要求信息傳輸速度快,抗干擾能力強,還要求網(wǎng)絡具有高穩(wěn)定性和高可靠性,在網(wǎng)絡局部故障或受損時,全系統(tǒng)不至于癱瘓失效。

冗余設計作為一種提高系統(tǒng)可靠性的有效方法,已經(jīng)得到了廣泛的應用。對于網(wǎng)絡系統(tǒng)中的單個節(jié)點,常常需要對網(wǎng)卡進行雙冗余備份,即每個節(jié)點都采用兩個網(wǎng)絡接口,中間用兩個集線器或交換機互連,當正常通信的網(wǎng)卡或線路出現(xiàn)故障時該節(jié)點能自動地切換到備份網(wǎng)卡進行通信。

目前大多數(shù)操作系統(tǒng)(如Windows、Unix、Linux等)都支持多網(wǎng)卡,但均非冗余設計,每塊網(wǎng)卡都有獨立的物理地址和IP地址,以獨立的形式供應用系統(tǒng)使用。要實現(xiàn)真正的智能雙冗余網(wǎng)絡系統(tǒng),必須自行設計專用的網(wǎng)絡驅動程序,以透明的形式提交高層應用系統(tǒng)使用,使系統(tǒng)感覺不到雙網(wǎng)卡的存在。本文使用盛博公司PC104結構SCM/DETH型10M雙端口以太網(wǎng)卡,設計實現(xiàn)了基于VxWorks的智能雙冗余網(wǎng)絡驅動。

1VxWorks系統(tǒng)網(wǎng)絡驅動原理

1.1VxWorks系統(tǒng)簡介

VxWorks操作系統(tǒng)是美國風河公司(WindRiverSystem)推出的一款運行在目標機上的高性能、可裁減的嵌入式強實時操作系統(tǒng)。操作系統(tǒng)包括了進程管理、存儲管理、設備管理、文件系統(tǒng)管理、網(wǎng)絡協(xié)議及系統(tǒng)應用等幾個部分,只占用了很小的存儲空間,并可高度裁減,保證了系統(tǒng)能以較高的效率運行。它以其良好的可靠性和卓越的實時性被廣泛地應用在通信、軍事、航空、航天等高精尖技術及實時性要求極高的領域中。

VxWorks主要有以下特點:

(1)具有高度可剪裁的操作系統(tǒng)微內核Wind;

(2)具有比較優(yōu)秀的網(wǎng)絡處理能力,適用于多種物理介質的TCP/IP協(xié)議族支持;

(3)具有極其豐富的BSP,支持多處理器系統(tǒng),最多可以支持20個CPU;

(4)具有友好的開發(fā)調試環(huán)境,便于操作、配置和應用程序的開發(fā)調試;

(5)具有較好的兼容性,支持POSIX1003.1b;

(6)支持多種開發(fā)和運行環(huán)境。支持C語言、C++語言以及JAVA虛擬機。

1.2VxWorks系統(tǒng)網(wǎng)絡驅動原理

VxWorks中支持兩種類型的網(wǎng)絡設備驅動程序——BSD4.3網(wǎng)絡驅動程序和可裁減的增強型網(wǎng)絡堆棧SENS(ScalableEnhancedNetworksStack)。BSD4.3標準提供了網(wǎng)絡設備驅動程序與IP協(xié)議的緊密結合,而SENS協(xié)議棧提供了可替換的網(wǎng)絡設備驅動程序,即增強型網(wǎng)絡驅動程序END(EnhancedNetworksDriver)。

SENS模型包含三個部分:協(xié)議驅動程序、多元接口層(MUX)和END型網(wǎng)絡驅動。它獨立于硬件設備接口,將網(wǎng)絡設備驅動程序細化,使開發(fā)者可以專注于驅動程序(END驅動)本身的開發(fā)。本文設計實現(xiàn)的智能雙冗余驅動即是一個符合SENS模型標準的END型網(wǎng)絡驅動。在END型網(wǎng)絡驅動中主要實現(xiàn)網(wǎng)卡設備的裝載,網(wǎng)絡芯片的初始化,網(wǎng)絡報文接收及發(fā)送等功能。在系統(tǒng)啟動后,操作系統(tǒng)通過網(wǎng)卡加載函數(shù)調用到END型網(wǎng)絡驅動,在加載過程中完成網(wǎng)絡芯片的初始化、內存池的分配、網(wǎng)卡設備控制結構的填寫等操作,最后通過指針傳遞的方式將網(wǎng)卡設備控制結構和13個網(wǎng)卡操縱函數(shù)提交給MUX層,供上層系統(tǒng)操作網(wǎng)卡工作時使用。

2智能雙冗余驅動程序實現(xiàn)

2.1智能雙冗余驅動實現(xiàn)原理

智能雙冗余驅動的實現(xiàn)原理如圖1所示,虛線框內為智能雙冗余驅動。在VxWorks系統(tǒng)啟動時,首先要遍歷配置文件confignet.h中的網(wǎng)卡設備表endDevTbl[],設備表中包含雙端口網(wǎng)卡上兩個網(wǎng)卡的地址及中斷等配置參數(shù);然后,系統(tǒng)會調用sysDethEnd.c中的sysDethEndLoad(…)函數(shù),將兩個網(wǎng)卡的配置參數(shù)以函數(shù)入口參數(shù)的形式傳遞給智能雙冗余驅動的裝載函數(shù)dethEndLoad(…);裝載函數(shù)為每個網(wǎng)卡設備創(chuàng)建一個控制結構,對入口配置參數(shù)進行解析,并為每個網(wǎng)卡設備分配一塊內存空間,用系統(tǒng)的配置要求初始化兩個網(wǎng)卡,同時填寫好網(wǎng)卡設備的控制結構;最后,智能雙冗余驅動將主通道網(wǎng)卡設備的控制結構指針提交給MUX層,并發(fā)起網(wǎng)絡故障診斷定時器任務和網(wǎng)絡故障診斷任務。

網(wǎng)絡故障診斷定時器任務配合網(wǎng)絡故障診斷任務執(zhí)行,使用看門狗定時器Watchdogtimer完成1ms定時,每定時1次釋放1次二進制信號量sem_netDiagnose;網(wǎng)絡故障診斷任務循環(huán)等待接收信號量sem_netDiagnose,取到信號量后立即判斷主通道網(wǎng)卡設備的端口狀態(tài)(連接/非連接),

溫馨提示

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

評論

0/150

提交評論