<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

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

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

作者: 時(shí)間:2011-03-14 來(lái)源:網(wǎng)絡(luò ) 收藏

  3 CAN在這類(lèi)應用中的可能性

  3.1 帶寬

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

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

  3.2 確定性

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

  3.3 錯幀漏檢

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

  3.4 容錯

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

  4 小結

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

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

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

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


上一頁(yè) 1 2 3 下一頁(yè)

關(guān)鍵詞: 一致性 交互 系統 嵌入 分布式

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>