新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 分布式嵌入系統中的交互一致性

        分布式嵌入系統中的交互一致性

        作者: 時間:2011-03-14 來源:網絡 收藏

          3 CAN在這類應用中的可能性

          3.1 帶寬

          對4個輪子節點和1個指令節點(由踏板或其他轉發剎車命令,轉發由輪子來的輪速信號)構成的互為冗余,要容許1個錯時,采用SM算法需要2輪通信,對5個節點需要交換輸入數據1次,共25種幀,4個節點交換輸出數據1次,共16種幀。如果要求每5 ms進行一次協調,傳送41幀,對CAN而言將非常吃緊,這就是經常提到的CAN的帶寬局限。這里假設了冗余后的只容許5 ms內有1個錯。如果從互為冗余剎車系統的性價比考慮,為了此帶寬問題,設立專用的CAN總線也是值得的。

          SM算法實際上對數據的傳送有很大的重復,在本例中對一個從節點而言它收到了5次。如果從節點只是瞬時有故障,它一定會收到正確值。按照SM算法,為了對付m個錯,需要m+1個從節點,因此雖然互為冗余系統有5個節點,并不需要每個從節點都進行轉發。例如取3個從節點轉發輸入,那么每5 ms就傳送36幀,可以緩解帶寬瓶頸。如取2個從節點轉發,帶寬變為每5 ms傳送27幀。

          3.2 確定性

          有一種觀點認為只有時間觸發的通信協議才能滿足高可信賴性要求。但這是片面的。在本例中,如果把所有互為冗余系統需要傳送的消息都設為較高優先級,那么在總線上它們將像一個長幀不受阻擋延遲,只要帶寬容許,就能送達。至于這些消息內部的到達先后,在SM算法中并無影響。更廣義地講,只要把CAN的觸發事件與時間一一對應,它也可實現時間觸發的功能。利用CAN的竟爭發送,有錯未發節點的帶寬可被其他節點盡早利用,SM算法所需的時限計時器只要一個就夠了。

          3.3 錯幀漏檢

          由于CAN中位填充規則對CRC的影響,根據筆者的研究,它的錯幀漏檢率較大,遠大于Bosch CAN2.0規范的數據。但是由于SM算法中簽名的存在,這一問題已免除或緩解。當簽名也用本文建議的CRC方法,那么簽名錯而漏檢的情況可以用CAN錯幀漏檢率同樣的方法分析與改進。

          3.4 容錯

          SM算法假設發送的消息總能正確送達,通信中可檢出錯要排除在外。這就需要某種糾錯或冗余。CAN的出錯自動重發是很好的糾錯措施,但它只能應對瞬時干擾,對物理通道上的故障如斷線、短路等,需要用容錯CAN協議ISO118983的收發器。此種收發器的帶寬更小,標準為125 kbps,較好的MAX3054可達250 kbps。如果互為冗余剎車系統的控制周期定為20 ms(即容許20 ms內有一個錯)(參考文獻[5]中引述的線控轉向的容許失控時間為50 ms),那么CAN在滿足容許物理故障時還能滿足SM算法的帶寬要求的。從概率上講,由于重發而占用的帶寬增量并不大。

          4 小結

          互為冗余系統的特點是用重新分配的原理實現故障-安全。并不是所有系統都能采用這種方法。但是在系統中保證數據的是很重要的,例如同一數據可能應用于不同目的的控制系統中,這些系統在分開設計時就默認了數據一定是一致的。如果發生了不一致,這些系統的影響就難以預測。因此SM算法有其現實意義。

          SM算法可以發現節點MCU與通信控制器的傳遞過程中的錯,以及通信中的拜占庭錯,這是一個非常重要的特性。由于本文發現了SM算法的簽名轉述同時具備的二個功能─重復發送和接收認可,使主節點也能與其他節點達到一致,這大大提高了容錯實現的簡易性。一般地說,拜占庭錯難以發現,當雙互備份架構輸入有拜占庭錯時,無法確定誰錯而無法實現故障-靜默,甚至可能出現互相沖突的輸出。采用SM算法,可實現雙互備份架構輸入的,再借用其他系統的節點的部分計算能力,可用使雙互備份架構實現等效的三重備份輸出的。這在經濟上有巨大意義。

          本文根據總線通信分析了SM算法的實施方法以及CAN在用于SM算法時的一些問題。CAN是成熟的技術,成本較低,盡量擴展其應用是理所當然的事。就互為冗余剎車系統而言,CAN仍然是可以應用的。參考文獻[3]提到了一種在2002年還是研制中的時間觸發協議,現在看來,可能是FlexRay協議。毫無疑問,FlexRay的帶寬優勢很大,但是對其的研究還有待深入,例如它的時鐘同步依賴于傳送電纜上的模擬電平跳變,毛刺可能改變跳變位置,從而破壞整個協議的基礎時鐘。

          SM算法需要的消息簽名轉發,均需要MCU的參與,對FlexRay或CAN而言,要高層協議或軟件中間件實現,耗費時間,增加中間環節,增加了時間抖動與受干擾可能性,總之效率不高,并不理想,最好是用專門的硬件實現,這是值得探討的事。


        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 砀山县| 增城市| 珲春市| 饶河县| 醴陵市| 玛多县| 阿拉尔市| 克东县| 扬州市| 江西省| 西乌珠穆沁旗| 绥宁县| 金坛市| 台南市| 策勒县| 荔浦县| 集贤县| 攀枝花市| 宣城市| 合阳县| 饶河县| 肇庆市| 冀州市| 永州市| 马边| 鲜城| 滨海县| 天门市| 西安市| 张北县| 桐庐县| 东莞市| 廉江市| 南川市| 贡觉县| 陆丰市| 青田县| 金华市| 乐都县| 南川市| 万荣县|