關 閉

        新聞中心

        EEPW首頁 > 工控自動化 > 設計應用 > WDM定時器在冗余技術中的應用

        WDM定時器在冗余技術中的應用

        作者: 時間:2011-01-06 來源:網絡 收藏

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

          3. 2 驅動冗余設計

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

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

          具體的切換工作放在DPC 中完成。DPC 為推遲過程調用, 一些操作不適合在ISR 中處理需放入限制較少的DPC 中, 如通知事件置標記等等。DPC 是一個通用機制, 但通常都用在中斷處理中。在最普通的情況下, ISR 決定當前請求的完成并請求一個DPC。之后,內核在DISPATCH_LEVEL 級上調用這個DPC 例程。

          因此DPC 中的代碼要比ISR 中的代碼有更少的限制。

          特別是, DPC 例程可以調用像IoCompleteRequest 或Io StartNextPacket 這樣的例程, 在一個I/ O 操作的結尾處調用這些例程在邏輯上是必要的。圖3 描述了具體DPC 調用處理過程。

          

          圖3 DPC 處理過程。

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

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

          3. 3 冗余測試

          測試時采用一個有兩個通道CAN 分析儀分別連接本CAN 板的A, B 通道上, 在從A 通道連續發送數據至分析儀的過程中, 手動斷開此鏈接, 則備用通道B開始工作, 切換成功。對冗余切換時間的測試可以通過比較發送端和接收端間數據量的差值來判斷。具體方法是在發送端以10 ms 為周期不停發送數據包, 正常情況下發送端的數據包數量與接收端的數據包數量是相等的。在切換動作時, 會有一些數據包被丟棄, 這時通過計算發送端與接收端數據包的差值乘以10 ms, 即為此次切換的切換時間。在本例中, 通過多次這樣的測試, 得出平均切換時間在30 ms 左右, 完全能滿足對計算機系統高可靠性的要求。

          4 結 論

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


        上一頁 1 2 下一頁

        關鍵詞: 應用 技術 定時器 WDM

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 和平区| 鸡泽县| 阳信县| 元谋县| 江门市| 都安| 三原县| 河池市| 汉川市| 化州市| 胶南市| 茌平县| 大港区| 义马市| 延吉市| 会宁县| 桐柏县| 印江| 昌乐县| 札达县| 玉环县| 平乐县| 丰原市| 穆棱市| 开阳县| 唐海县| 江津市| 定兴县| 辉南县| 太仆寺旗| 克山县| 临沭县| 宁远县| 孝感市| 云和县| 江都市| 富蕴县| 开江县| 句容市| 玉龙| 天等县|