<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

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

          分布式嵌入系統(tǒng)中的交互一致性

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

            參考文獻[3]建議了一個簽名的方法例子,即用密鑰ki對數(shù)據(jù)d求出簽名a: a=(ki·d)mod p,其中p是2的冪,ki是小于p的一個奇數(shù),接收節(jié)點用另一個密鑰ki-1驗證:d=(ki-1·a)mod p。ki和ki-1有如下關(guān)系:(ki·ki-1)mod p=1。這樣,有錯節(jié)點能作偽的概率為1/p。這種方案作偽者要不知道加密的辦法才行。參考文獻[3]認(rèn)為要求更嚴(yán)的場合要采用密碼學(xué)的方法。

            從工業(yè)應(yīng)用來看,有錯節(jié)點的作偽的可能性來源乃是電磁干擾,對人為的黑客攻擊應(yīng)另外采用對抗措施,所以可以采用較為簡單常用的CRC校驗和作為簽名。注意,這個CRC校驗和是應(yīng)用數(shù)據(jù)的校驗和,不要混同于通信幀的校驗和。在冗余里關(guān)心的是應(yīng)用數(shù)據(jù)的,而應(yīng)用數(shù)據(jù)在MCU與通信控制器的傳遞過程中可能出錯,通信幀的CRC校驗不能覆蓋這一錯。例如,應(yīng)用通過FlexRay的二個通道傳送同一數(shù)據(jù)時,由于寫入輸出緩沖器的過程是分時的,如果其中一次受到干擾,應(yīng)用數(shù)據(jù)與應(yīng)用CRC(簽名)不再匹配,那么接收方將能發(fā)現(xiàn)應(yīng)用數(shù)據(jù)的傳送錯而加以丟棄。

            在總線廣播通信中,由于各節(jié)點受干擾請況的不同,它們可能接收到不同的幀,一旦又發(fā)生了錯幀漏檢,那么就會發(fā)生一個節(jié)點給其他節(jié)點送不同值的情況,這與點到點通信的情況一樣,是一種拜占庭錯。同時,轉(zhuǎn)發(fā)過程又涉及MCU與通信控制器的傳遞過程,其中也會發(fā)生錯,所以轉(zhuǎn)發(fā)過程也用數(shù)據(jù)加簽名的方式。例如節(jié)點p在第3輪收到幀(((d:a0):aj):ai)時,檢驗ai的簽名是否正確,如果錯,那么在節(jié)點j到i的轉(zhuǎn)發(fā)通信中有錯。如無錯,繼續(xù)對((d:a0):aj)作aj簽名的檢驗,如果錯,那么在節(jié)點0到j(luò)的轉(zhuǎn)發(fā)通信中有錯。如無錯,再對(d:a0)作a0簽名的檢驗,如果錯,那么在節(jié)點0的MCU與節(jié)點0的通信控制器通信中發(fā)生了錯,或者它在計算簽名時發(fā)生了錯。

            未通過簽名檢驗的數(shù)據(jù)將不提交到choice,如果主節(jié)點無錯,從節(jié)點有m+1個,那么在第一輪中至少有一個從節(jié)點正確收到,在以后各輪中其他有錯節(jié)點的轉(zhuǎn)發(fā)將不會影響這個節(jié)點的choice?,F(xiàn)在可以發(fā)現(xiàn)SM算法的一個有趣的特性:如果某些從節(jié)點只是發(fā)生了瞬時故障,由于無錯節(jié)點的轉(zhuǎn)發(fā),它仍然有機會得到相同的choice。

            由于采用總線廣播,主節(jié)點可以收到被轉(zhuǎn)發(fā)的自己的幀,因此可以進行自檢。若全部轉(zhuǎn)發(fā)結(jié)束后自檢不通過,就可以采取進一步的措施,例如本節(jié)點重算簽名并寫通信控制器,或者立即進入故障-靜默模式。

            SM算法假設(shè)幀的丟失可以檢測出來,這要靠另加的超時報警單元。一旦時間窗口關(guān)閉,各節(jié)點就根據(jù)已收到的各幀進行choice的更新工作。

            一次SM算法結(jié)束后就可認(rèn)為將開始新的一次SM算法,也就可以初始化choice。如果將每一個節(jié)點開始發(fā)本節(jié)點數(shù)據(jù)的次序固定下來,并將以前節(jié)點開始發(fā)轉(zhuǎn)發(fā)的時刻來預(yù)置本地定時器,那么在預(yù)定的時間窗口內(nèi)上一節(jié)點因故障而未轉(zhuǎn)發(fā)的錯誤可以被發(fā)現(xiàn)。上一節(jié)點轉(zhuǎn)發(fā)結(jié)束的信號或時限到可用來觸發(fā)本節(jié)點開始轉(zhuǎn)發(fā)。

            2 互為冗余

            經(jīng)過執(zhí)行SM算法,所有無錯節(jié)點和有瞬時故障的節(jié)點都可得到其他節(jié)點發(fā)送的一致的輸入值。有錯節(jié)點發(fā)出的輸入值被所有節(jié)點(包括有錯節(jié)點本身)識別,不被用來進一步作計算,此時有錯節(jié)點進入故障-靜默模式,其余正確節(jié)點直接開始重新分配剎車力矩的算法。輸入值交換無錯時每一個節(jié)點用相近的控制算法計算每個輪子的控制輸出(剎車力矩)。然后再用SM算法交換各自計算結(jié)果,每個節(jié)點將有一致的各節(jié)點的輸出值。

            在每個節(jié)點計算時,會因干擾(如EMI或熱沖擊等)而出現(xiàn)錯誤輸出值?;蛞蚱渌郊訔l件(例如剎車力矩傳感器的失效,MCU自檢錯)等因素,人為使該節(jié)點計算得的輸出值為非正常值。由于SM算法,這個錯誤的輸出值一致地傳送到每個節(jié)點。

            這樣各輪子的剎車力矩就有4個來自各節(jié)點的冗余計算結(jié)果,這是一個二維的矩陣。在矩陣中找出有錯的剎車力矩是哪一個,以及有可能發(fā)生永久故障的節(jié)點是誰。由于計算結(jié)果是模擬量,冗余又為了避免共同錯(common mode faults)強調(diào)各備份間的多樣性。同樣算法也可能會使結(jié)果有微小差別,所以與其他計算結(jié)果偏離大于預(yù)定限值時視為有錯。

            有嚴(yán)重故障的節(jié)點的輸出值可能全是錯的,有瞬時故障的節(jié)點可能只有一個計算結(jié)果是錯的。由于所有正確的節(jié)點均采用同樣的判別原則,一致的輸入數(shù)據(jù),它們作出同樣的判別結(jié)論。

            如果有一個節(jié)點的一個剎車力矩計算是錯的,那么可認(rèn)為這個節(jié)點遇到了瞬時干擾。此時仍可按多數(shù)或平均方法確定各輪子的剎車力矩,各節(jié)點按該輪子對應(yīng)的剎車力矩加以執(zhí)行。

            如果有一個節(jié)點的剎車力矩計算都是錯的,那么確定這個節(jié)點發(fā)生了一個嚴(yán)重的也許是永久性的故障,此時所有正確的節(jié)點將按補償算法重新計算剎車力矩輸出,以使車子減少偏航,減少顛簸。

            嚴(yán)重的錯誤是發(fā)生通信鏈路斷開,正確節(jié)點按SM算法用超時可以發(fā)現(xiàn)有錯節(jié)點。斷開鏈路的節(jié)點按SM算法發(fā)現(xiàn)所有其他節(jié)點都錯了,這時它應(yīng)該判為自己錯了,對本輪子的剎車力矩應(yīng)取一個缺省值,這個缺省值也是在其他正確節(jié)點補償算法中采用的對該輪子的缺省值。

            由上可見,由于出故障后節(jié)點只須保證故障-靜默模式,剎車力矩的再分配保證了整車的故障-安全特性??刂破饔布⒋鬄楹喕?,雖然初期軟件成本增加,其后可以分?jǐn)?,總體成本是下降的。



          評論


          相關(guān)推薦

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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();