999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于WDM的精確定時器及其在冗余技術中的應用

2010-04-12 00:00:00王維興,
現代電子技術 2010年21期

摘 要:現代軍用電子設備和某些控制系統對設備的可靠性要求越來越高。針對此情況利用設備冗余原理,提出一種基于WDM的精確定時器實現設備冗余的方法。利用此方法設計了雙冗余CAN總線板卡及其在Windows XP系統下的驅動程序,給出了部分驅動實現細節和相關流程。結果表明該方法可成功實現雙CAN接口卡在總線故障情況下的冗余切換,提高了設備可靠性。

關鍵詞:設備冗余; 精確定時; WDM; CAN

中圖分類號:TN919-34文獻標識碼:A

文章編號:1004-373X(2010)21-0054-03

Application of Precise Timing Based on Windows Driver Model in Redundancy Technology

WANG Wei-xing, XIANG Hui

(Jiangsu Automation Research Institute,CSIC, Lianyungang 222006,China)

Abstract: The requirement of high reliability in the electronic equipments of modern military affairs and some control systems play a very important role. In order to improve the reliability, a way for redundancy technology based on precise timing program of WDM is proposed. The technology was used for designing double CAN interface card and its driver based on WDM mode in windows XP. It emphasizes on the discussion of software design, including the detail of the WDM design and software flow. Result proves that the design can successfully achieve redundancy switch of double CAN interface card in case of bus error, and improve work reliability of device.

Keywords: device redundancy; precise timing; WDM; CAN

0 引 言

高可靠性是現代軍用電子設備和某些控制系統的首要需求。冗余技術是計算機系統可靠性設計中常采用的一種技術,是提高計算機系統可靠性的最有效方法之一。合理的冗余設計將大大提高系統的可靠性,但同時也增加了系統的復雜度和設計的難度,應用冗余配置的系統還增加了用戶投資。因此,如何對冗余設計進行合理有效的設計,是值得深入研究的課題。

1∶1熱冗余也就是所謂的雙重化,是其中一種有效的冗余方式,但它并不是兩個部件簡單的并聯運行,而是需要硬件、軟件、通信等協同工作來實現。將互為冗余的兩個部件構成一個有機的整體,通常包括以下多個技術要點:信息同步技術、故障檢測技術、故障仲裁技術和切換技術、熱插拔技術和故障隔離技術等。

本文將WDM的定時器功能應用在冗余技術中,為系統的故障檢測和切換技術提供了一種解決方案,并以雙冗余CAN總線接口板為例測試本設計的可行性。

1 冗余技術

冗余技術有兩種方式:工作冗余和后備冗余。工作冗余是對關鍵設備以雙重或三重的原則來重復配置,這些設備同時處于工作運行狀態,工作過程中若某一臺設備出現故障,它會自動脫離系統,但并不影響系統的正常工作。后備冗余方式是使一臺設備投入運行,另一臺冗余設備處于熱備用狀態,但不投入運行,在線運行設備一旦出現故障,后備設備立即投入運行。常用的冗余系統按其結構可分為并聯系統、備用系統和表決系統三種。最簡單的冗余設計是并聯裝置,其他方法還有串并聯或并串聯混合裝置和多數表決裝置等。當某部分可靠性要求很高,但目前的技術水平和方法很難滿足時,冗余技術可能成為惟一較好的設計方法。但是冗余設計往往使系統的體積、重量、費用和復雜度均相應增加。因此,除了重要的關鍵設備,對于一般產品不宜采用冗余技術[1]。

冗余配置雖然增加系統的投資,但它提高了整個用戶系統的平均無故障時間(MTBF),縮短了平均故障修復時間(MTTR)。因此,在重要場合的控制系統中,冗余技術的采用可有效提高系統的可靠性。

一個冗余系統要工作通常是硬件與軟件的配合完成的。在硬件上需要有幾個相同的,可獨立工作的設備。在軟件上來說,就是在實現系統功能的同時,要有錯誤檢測功能和動態切換功能,并且要在盡可能短的時間內完成切換動作。下面以雙CAN總線接口卡為例,主要從軟件方面詳述本后備冗余設計的實現細節。

2 硬件設計

CAN控制器采用Philips的SJA1000,工作于BasicCAN模式或PeliCAN模式下,PeliCAN模式支持CAN 2.0B 協議,采用8位地址/數據復用總線接口[2]。

如圖1所示,PCI總線雙CAN接口卡由2片SJA1000提供兩路獨立的CAN接口,每片芯片的8位地址/數據總線和讀寫控制信號、鎖存信號直接與PCI9052相連。SJA1000輸出信號經過光耦到CAN收發器PCA82C250,PCA82C250供電電源為隔離電源,由隔離電源轉換模塊提供。CAN總線的復位信號由FPGA提供,CAN控制器SJA1000的中斷信號輸出到FPGA[3]。

圖1 CAN冗余模塊系統結構圖

3 軟件設計

3.1 WDM模式驅動程序

在Windows XP操作系統中,運行于用戶模式的應用程序訪問硬件資源是通過Win32 API調用內核模式的驅動程序實現的。這種內核模式的驅動程序就是WDM(Windows Driver Model)驅動程序,它是微軟在Windows XP操作系統中提出的新的驅動程序模式,支持即插即用、電源管理和I/O管理等功能[4]。圖2是Windows XP的系統結構。

如圖2所示設備驅動程序是操作系統的一個組成部分,它由I/O管理器(I/O Manager)管理和調動。I/O管理器每收到一個來自用戶應用程序的請求就創建一個I/O請求包(IRP)的數據結構,并將其作為參數傳遞給驅動程序。驅動程序通過識別IRP中的物理設備對象(PDO)來區別是發送給哪一個設備。IRP結構中存放請求的類型、用戶緩沖區的首地址、用戶請求數據的長度等信息。驅動程序處理完這個請求后,在該結構中填入處理結果的有關信息,調用IoCompleteRequest將其返回給 I/O管理器,用戶應用程序的請求隨即返回。訪問硬件時,驅動程序通過調用硬件抽象層的函數實現[5]。

圖2 Windows XP系統結構

WDM 的開發可采用DDK,DriverWorks等開發工具。以下重點描述在此WDM驅動實例中采用定時查詢實現CAN總線冗余功能。

3.2 驅動冗余設計

本設計中,CAN通路采用2路冗余,使得當一個CAN總線接口出現故障時,可以很方便地切換到另一個CAN總線接口。

故障檢測在定時器中實現。在DriverWorks中有兩種定時器對象,即附屬于設備對象的1 Hz定時器和KTimedCallback類定義的定時器,WDM 定時方法是通過它們實現的。KTimedCallback是KTimer的派生類,KTimer封裝了系統定時器,構成分發對象定時器類,可用于同步目的。KTimedCallback類包含了系統延時過程調用(DPC)對象,當定時器超時后系統就調用DPC。KTimedCallback的成員函數主要是Set和SetPeriodic,Set用于設置一次有效定時器參數,SetPeriodie設置周期性定時器參數,Set和SetPeriodic在設置定時參數時同時啟動定時器并建立與回調函數的關聯,定時器超時后調用回調函數[6]。

具體的切換工作放在DPC中完成。DPC為推遲過程調用,一些操作不適合在ISR中處理需放入限制較少的DPC中,如通知事件置標記等等。DPC是一個通用機制,但通常都用在中斷處理中。在最普通的情況下,ISR決定當前請求的完成并請求一個DPC。之后,內核在DISPATCH_LEVEL級上調用這個DPC例程。因此DPC中的代碼要比ISR中的代碼有更少的限制。特別是,DPC例程可以調用像IoCompleteRequest或IoStartNextPacket這樣的例程,在一個I/O操作的結尾處調用這些例程在邏輯上是必要的。圖3描述了具體DPC調用處理過程。

圖3 DPC處理過程

冗余切換查詢時間可以在設備屬性中添加切換時間周期項,通過修改設備屬性的方式在線修改,修改后設備管理器自動更新驅動。

在雙CAN冗余系統中,較之硬件結構而言,軟件設計相對復雜得多,其關鍵之處在于CAN系統故障檢測及CAN系統自動切換。由于采用兩套完全獨立的傳輸介質、總線驅動器和總線控制器,因此它們能分別獨立檢測到自己通道的故障,比如CANH與CANL短路,CANH或CANL斷開、CANH與地短路、CANL與電源短路、總線驅動器損壞等。實際調試中發現,如果CANH、CANL斷開或只有一個發送器在總線上,均會造成發送/接收錯誤計數器不斷增加到128,使節點處于忽略錯誤態;而CANH與CANL短路、CANH與地短路或CANL與電源短路均會造成發送/接收錯誤計數器不斷增加到256,使節點處于總線脫離態。所以,通過節點狀態改變中斷子程序中調用CAN冗余模塊,可以達到實現上述故障自動檢測及CAN系統自動切換的目的。

3.3 冗余測試

測試時采用一個有兩個通道CAN分析儀分別連接本CAN板的A,B通道上,在從A通道連續發送數據至分析儀的過程中,手動斷開此鏈接,則備用通道B開始工作,切換成功。

對冗余切換時間的測試可以通過比較發送端和接收端間數據量的差值來判斷。具體方法是在發送端以10 ms為周期不停發送數據包,正常情況下發送端的數據包數量與接收端的數據包數量是相等的。在切換動作時,會有一些數據包被丟棄,這時通過計算發送端與接收端數據包的差值乘以10 ms,即為此次切換的切換時間。在本例中,通過多次這樣的測試,得出平均切換時間在30 ms左右,完全能滿足對計算機系統高可靠性的要求。

4 結 論

提出一種設備冗余的系統設計方法,為系統的故障檢測和切換技術提供了一種解決方案。利用此方法設計了雙冗余CAN總線板卡以及在Windows XP系統下的WDM驅動。該模塊工作穩定,數據傳輸可靠,冗余切換切實可行。并可依據實際使用要求在線修改定時查詢時間。這種冗余實現方法在提高設備可靠性方面具有一定的實用價值。

參考文獻

[1]丁健.計算機控制系統的可靠性技術研究[J].計算機工程與設計,2007,28(4):985-987.

[2]饒運濤,鄒繼軍,鄭勇蕓.現場總線CAN原理與應用技術[M].北京:北京航空航天大學出版社,2003.

[3]Philips Semiconductors.P8Xc59l single chip 8-bit controller with CAN controller dataSheet [R]. [2000-07-17]. http:// www.cn.nxp.com.

[4]CANT Chris.Windows WDM設備驅動程序開發指南[M]. 北京:機械工業出版社,2005.

[5]Microsoft Corporation.Windows 2000驅動程序開發大全[M].北京:機械工業出版社,2001.

[6]景春國,白秋果,邢廣忠.基于WDM的精確定時技術及其在核測量中的應用[J].核電子學與探測技術,2007,27(2):289-292.

[7]梁小菊,賀占莊.兩種容錯方案的比較和可靠性分析[J].微機發展,2005(11):77-79.

[8]孫懷義.冗余設計技術與可靠性關系研究[J].儀器儀表學報,2006,28(11):2089-2093.

[9]王壟,李少青.基于CompactPCI技術的雙冗余網卡設計[J].計算機工程與科學,2008,30(6):149-151.

[10]魯菁,夏貴毅,黃國政.基于VxWorks的實時雙冗余系統設計[J].長春大學學報,2009,19(10):52-54.

主站蜘蛛池模板: 男女男免费视频网站国产| 思思热精品在线8| 亚洲成A人V欧美综合| 国产三级精品三级在线观看| 成人午夜福利视频| 91青青草视频| 亚洲精品视频免费| 91视频首页| 精品夜恋影院亚洲欧洲| 国产精品福利在线观看无码卡| 亚洲天堂免费| 亚洲丝袜第一页| a级毛片毛片免费观看久潮| 国产精品分类视频分类一区| 波多野结衣亚洲一区| www亚洲精品| 欧美日韩在线亚洲国产人| 久久精品这里只有国产中文精品| 99精品视频在线观看免费播放| 亚洲水蜜桃久久综合网站| 91av国产在线| 三级国产在线观看| 久久婷婷综合色一区二区| 高清国产va日韩亚洲免费午夜电影| 欧美一级片在线| 亚洲天堂.com| 国产男女免费完整版视频| 久久精品国产精品青草app| 婷婷色丁香综合激情| 国产精品入口麻豆| 无遮挡一级毛片呦女视频| 午夜日b视频| 久草性视频| 免费人成黄页在线观看国产| 日韩国产黄色网站| 黄色网址手机国内免费在线观看| 高清无码手机在线观看| 丁香亚洲综合五月天婷婷| 22sihu国产精品视频影视资讯| 美女毛片在线| 亚洲av无码成人专区| 国产制服丝袜无码视频| 国产第二十一页| 欧美国产日韩在线| 午夜一区二区三区| 亚洲香蕉伊综合在人在线| 久久熟女AV| 国产精品视频第一专区| 激情视频综合网| 性视频久久| 亚洲成A人V欧美综合天堂| 亚洲欧美综合精品久久成人网| 亚洲成人在线免费| 一本大道AV人久久综合| 亚洲天堂视频在线观看| 免费无码又爽又刺激高| 青青草一区| h视频在线观看网站| 久久公开视频| 啊嗯不日本网站| 精品视频第一页| 好吊日免费视频| 欧美亚洲国产精品第一页| 伊人福利视频| 亚洲热线99精品视频| 亚洲最新在线| 亚洲精品波多野结衣| 青青青亚洲精品国产| 天天色天天综合| 午夜精品一区二区蜜桃| 91人人妻人人做人人爽男同| 成人精品亚洲| 国产精品嫩草影院av| 亚洲无码视频喷水| 91精品国产丝袜| 国产精品妖精视频| 亚洲免费黄色网| 91精品专区国产盗摄| 午夜精品国产自在| 在线播放国产一区| 久久国语对白| 国产精品妖精视频|