WDM定時器在冗余技術中的應用
0 引 言
本文引用地址:http://www.ex-cimer.com/article/162515.htm本文將WDM 的定時器功能應用在冗余技術中,為系統(tǒng)的故障檢測和切換技術提供了一種解決方案, 并以雙冗余CAN 總線接口板為例測試本設計的可行性。
1 冗余技術
冗余技術有兩種方式: 工作冗余和后備冗余。工作冗余是對關鍵設備以雙重或三重的原則來重復配置, 這些設備同時處于工作運行狀態(tài), 工作過程中若某一臺設備出現(xiàn)故障, 它會自動脫離系統(tǒng), 但并不影響系統(tǒng)的正常工作。后備冗余方式是使一臺設備投入運行, 另一臺冗余設備處于熱備用狀態(tài), 但不投入運行, 在線運行設備一旦出現(xiàn)故障, 后備設備立即投入運行。常用的冗余系統(tǒng)按其結構可分為并聯(lián)系統(tǒng)、備用系統(tǒng)和表決系統(tǒng)三種。最簡單的冗余設計是并聯(lián)裝置, 其他方法還有串并聯(lián)或并串聯(lián)混合裝置和多數(shù)表決裝置等。當某部分可靠性要求很高, 但目前的技術水平和方法很難滿足時, 冗余技術可能成為惟一較好的設計方法。但是冗余設計往往使系統(tǒng)的體積、重量、費用和復雜度均相應增加。因此, 除了重要的關鍵設備, 對于一般產品不宜采用冗余技術。
冗余配置雖然增加系統(tǒng)的投資, 但它提高了整個用戶系統(tǒng)的平均無故障時間( MTBF) , 縮短了平均故障修復時間( MT TR) 。因此, 在重要場合的控制系統(tǒng)中, 冗余技術的采用可有效提高系統(tǒng)的可靠性。
一個冗余系統(tǒng)要工作通常是硬件與軟件的配合完成的。在硬件上需要有幾個相同的, 可獨立工作的設備。在軟件上來說, 就是在實現(xiàn)系統(tǒng)功能的同時, 要有錯誤檢測功能和動態(tài)切換功能, 并且要在盡可能短的時間內完成切換動作。下面以雙CAN 總線接口卡為例,主要從軟件方面詳述本后備冗余設計的實現(xiàn)細節(jié)。
2 硬件設計
CAN 控制器采用Philips 的SJA1000, 工作于BasicCAN 模式或PeliCAN 模式下, PeliCAN 模式支持CAN 2. 0B 協(xié)議, 采用8 位地址/ 數(shù)據(jù)復用總線接口。
如圖1 所示, PCI 總線雙CAN 接口卡由2 片SJA1000 提供兩路獨立的CAN 接口, 每片芯片的8 位地址/ 數(shù)據(jù)總線和讀寫控制信號、鎖存信號直接與PCI9052 相連。SJA1000 輸出信號經過光耦到CAN 收發(fā)器PCA82C250, PCA82C250 供電電源為隔離電源,由隔離電源轉換模塊提供。CAN 總線的復位信號由FPGA 提供, CAN 控制器SJA1000 的中斷信號輸出到FPGA。
圖1 CAN 冗余模塊系統(tǒng)結構圖。
3 軟件設計
3. 1 WDM 模式驅動程序
在Window s XP 操作系統(tǒng)中, 運行于用戶模式的應用程序訪問硬件資源是通過Win32 API 調用內核模式的驅動程序實現(xiàn)的。這種內核模式的驅動程序就是WDM(Window s Driver Model) 驅動程序, 它是微軟在Window s XP 操作系統(tǒng)中提出的新的驅動程序模式, 支持即插即用、電源管理和I/ O 管理等功能。圖2 是Window s XP 的系統(tǒng)結構。
如圖2 所示設備驅動程序是操作系統(tǒng)的一個組成部分, 它由I/ O 管理器( I/ O Manager ) 管理和調動。
I/ O管理器每收到一個來自用戶應用程序的請求就創(chuàng)建一個I/ O 請求包( IRP) 的數(shù)據(jù)結構, 并將其作為參數(shù)傳遞給驅動程序。驅動程序通過識別IRP 中的物理設備對象( PDO) 來區(qū)別是發(fā)送給哪一個設備。IRP 結構中存放請求的類型、用戶緩沖區(qū)的首地址、用戶請求數(shù)據(jù)的長度等信息。驅動程序處理完這個請求后, 在該結構中填入處理結果的有關信息, 調用IoCompleteRequest 將其返回給I/ O 管理器, 用戶應用程序的請求隨即返回。訪問硬件時, 驅動程序通過調用硬件抽象層的函數(shù)實現(xiàn)。
圖2 Windows XP 系統(tǒng)結構。
評論