關(guān) 閉

        新聞中心

        EEPW首頁 > 工控自動化 > 設計應用 > 基于STM32F105微控制器的雙CAN冗余設計方案

        基于STM32F105微控制器的雙CAN冗余設計方案

        作者: 時間:2011-06-08 來源:網(wǎng)絡 收藏

        本文引用地址:http://www.104case.com/article/161991.htm

          2 軟件

           協(xié)議規(guī)范定義的數(shù)據(jù)鏈路層和部分物理層并不完整, 雙 冗余應用需要實現(xiàn)總線狀態(tài)監(jiān)控、網(wǎng)絡故障的診斷和標識, 這就要通過添加軟件冗余模塊來實現(xiàn)。冗余模塊在程序主循環(huán)中調(diào)用, 根據(jù)不同總線錯誤狀態(tài)執(zhí)行收發(fā)通道切換。 總線錯誤狀態(tài)分為3類: 錯誤激活、錯誤認可、總線關(guān)閉。總線正常工作時處于錯誤激活狀態(tài),檢測到錯誤后將發(fā)送/接收錯誤計數(shù)器的值遞增, 當值大于127時進入錯誤認可, 大于255時總線關(guān)閉狀態(tài), CAN 總線錯誤檢測模塊通過讀取錯誤狀態(tài)寄存器作為總線故障的測試條件, 在錯誤狀態(tài)發(fā)生改變時調(diào)用冗余算法, 執(zhí)行總線切換操作。

          通過實際調(diào)試發(fā)現(xiàn), 總線連接斷開且只有1個節(jié)點不斷發(fā)送報文時產(chǎn)生發(fā)送錯誤, 進入錯誤認可狀態(tài), 但不進入總線關(guān)閉狀態(tài); 其它錯誤均使錯誤計數(shù)器增加, 依次進入錯誤認可狀態(tài)、總線關(guān)閉狀態(tài), 后兩種狀態(tài)表明總線被嚴重干擾, 需要采取相應措施。為簡化控制邏輯將錯誤認可和總線關(guān)閉合并為總線故障。

          冗余算法使用狀態(tài)機實現(xiàn)發(fā)送模式的切換, 根據(jù)不同總線故障選擇發(fā)送使用的總線。狀態(tài)切換流程圖如圖2所示, 程序首先讀取錯誤狀態(tài)寄存器獲得總線錯誤狀態(tài), 判斷當前總線是否處于錯誤激活模式, 若檢測到總線故障程序置相應標志位向其他程序模塊指示錯誤。為提高報文發(fā)送效率, 發(fā)送程序一次將多個報文寫入發(fā)送郵箱由硬件控制自動發(fā)送, 在切換總線時, 需先把故障總線發(fā)送郵箱中的報文中回讀, 通過備份總線優(yōu)先發(fā)送, 這一機制保證報文不會因總線切換而丟失。向故障總線發(fā)送數(shù)據(jù)域為空的測試報文, 每成功發(fā)送1報文, 總線發(fā)送錯誤計數(shù)器的值遞減, 直至其值小于128總線恢復到錯誤被動狀態(tài); 每隔一定時間冗余程序讀取錯誤狀態(tài)寄存器, 檢測故障總線是否恢復正常。

          在2總線同時傳輸模式, 發(fā)送程序優(yōu)先寫入總線1郵箱, 當總線1郵箱滿時寫入總線2的郵箱, 由于報文按優(yōu)先級仲裁發(fā)送, 若某一路發(fā)送郵箱經(jīng)常為空, 說明該路總線通信流量較小, 發(fā)送程序?qū)⑤^多報文轉(zhuǎn)由空閑總線發(fā)送, 實現(xiàn)報文的負載均衡。

        總線狀態(tài)切換流程圖

        圖2 總線狀態(tài)切換流程圖。

          3 雙總線冗余的可靠性分析與測試

          對雙CAN 冗余系統(tǒng)的可靠性進行定量分析, 引入平均無故障運行時間(M ean T ime To Fa ilure, MTTF)的概念。MTTF描述一個系統(tǒng)從開始工作到發(fā)生故障的時間間隔, 也即平均壽命。為簡化分析作如下假設: 每路CAN總線的故障率相同; CAN 總線的損壞屬于物理損壞, 即不可修復的損壞。指數(shù)分布可以很好地用來描述電子元器件的壽命, 假設CAN總線的壽命分布服從指數(shù)分布, CAN 總線的可靠性模型如圖3所示。

        CAN 總線可靠性模型圖

        圖3 CAN 總線可靠性模型圖

          模型1為單總線的可靠性模型, 因為總線壽命服從指數(shù)分布, 根據(jù)單一CAN總線無故障運行時間MTTF1 = 1 /λ。模型2為雙CAN總線冗余可靠性模型, 系統(tǒng)由兩條獨立的總線并聯(lián)而成, 即只有當這2條總線都失效時系統(tǒng)通信才會失敗, 于是系統(tǒng)的平均壽命MTTF2 = 3 /2。采用雙線冗余使CAN 通信的平均無故障時間增加了50%。

        pid控制器相關(guān)文章:pid控制器原理




        關(guān)鍵詞: 設計 方案 CAN 控制器 STM32F105 基于

        評論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 韶关市| 怀集县| 无极县| 内乡县| 龙海市| 区。| 桐城市| 阳江市| 仲巴县| 蕉岭县| 肇庆市| 郴州市| 胶南市| 南陵县| 普兰店市| 柳州市| 娄底市| 濮阳市| 梅河口市| 林口县| 新营市| 湖南省| 射阳县| 嘉黎县| 连江县| 张掖市| 茌平县| 斗六市| 九江市| 玛纳斯县| 揭阳市| 达拉特旗| 英吉沙县| 虹口区| 内乡县| 宣汉县| 镇巴县| 兴隆县| 闵行区| 六安市| 睢宁县|