基于STM32F105微控制器的雙CAN冗余設(shè)計(jì)方案
雙線CAN 冗余系統(tǒng)的另一關(guān)鍵指標(biāo)是總線切換時(shí)間, 它等于檢測(cè)錯(cuò)誤所需時(shí)間與處理故障總線未發(fā)送報(bào)文所需時(shí)間之和, 切換時(shí)間越短, 總線故障對(duì)報(bào)文傳輸造成的延遲就越小。檢測(cè)錯(cuò)誤所需時(shí)間,即從總線錯(cuò)誤出現(xiàn)到被冗余程序檢測(cè)到所需的時(shí)間。以總線斷開故障為例, 發(fā)送器每發(fā)送一個(gè)報(bào)文產(chǎn)生一次應(yīng)答錯(cuò)誤, 錯(cuò)誤計(jì)數(shù)器每次加8, 需連續(xù)進(jìn)行16次發(fā)送, 使錯(cuò)誤計(jì)數(shù)器值達(dá)到128引起總線切換。在位速率125kbps情況下, 發(fā)送最長(zhǎng)為128位的報(bào)文, 若忽略控制器重發(fā)間隔時(shí)間, 從故障發(fā)生到被檢測(cè)到的響應(yīng)時(shí)間為:
為避免在總線切換時(shí)丟失報(bào)文, 冗余算法需回讀故障控制器中未發(fā)送報(bào)文, 由此產(chǎn)生額外的故障處理時(shí)間, 因?yàn)槊總€(gè)發(fā)送郵箱最多存儲(chǔ)3個(gè)報(bào)文, 假定位速率125kbps不變, 備份總線發(fā)送時(shí)即取得仲裁,最長(zhǎng)故障處理時(shí)間為:
因此總線切換時(shí)間為16. 38+ 3. 07= 19. 45m s。
通過實(shí)驗(yàn)測(cè)得在125kbps位速率下連續(xù)發(fā)送不同報(bào)文長(zhǎng)度的總線切換時(shí)間如表1所示:
表1 總線切換時(shí)間
在125kbps位速率下切換時(shí)間為22. 80ms, 比理論計(jì)算值稍長(zhǎng), 這是由總線切換時(shí)運(yùn)行冗余算法及讀取控制器錯(cuò)誤寄存器( ESR)所額外消耗的, 但在實(shí)際應(yīng)用中, 發(fā)送報(bào)文獲取仲裁所需的等待時(shí)間遠(yuǎn)大于切換時(shí)間, 總線故障并不頻繁發(fā)生, 冗余切換算法對(duì)系統(tǒng)的運(yùn)行并無顯著影響。
4 結(jié)束語
與傳統(tǒng)單片機(jī)總線外擴(kuò)兩片CAN 控制器的冗余方案相比, 本設(shè)計(jì)充分利用STM32F105微控制器內(nèi)置的兩路CAN 控制器, 簡(jiǎn)化電路設(shè)計(jì), 相對(duì)降低了成本, 同時(shí)雙CAN 冗余通信系統(tǒng)的采用提高了系統(tǒng)整體可靠性。所使用雙總線負(fù)載均衡技術(shù), 可以提高總線帶寬, 平衡通信負(fù)荷。系統(tǒng)船舶機(jī)艙監(jiān)控系統(tǒng)的圖像和數(shù)據(jù)信號(hào)的傳輸中取得很好的效果。
pid控制器相關(guān)文章:pid控制器原理
評(píng)論