CAN的Bus Off 仲裁機制 郵箱

2021-10-08 19:22:48 字數 693 閱讀 1834

一、can off

1、can匯流排具有嚴格的錯誤診斷功能,該功能已經固化在晶元中,一旦錯誤被檢測,正在傳送的資料幀將會立即停止而待匯流排空閒時再次重發直至傳送成功,該過程並不需要cpu的干涉,除非錯誤累計該傳送器進入匯流排關閉(bus off)。

2、can匯流排bus off一般發生於外部干擾,比如汽車逆變器交流引數的干擾。處於匯流排關閉狀態的節點不允許傳送和接收任何形式的幀報文。且只能通過使用者請求進行恢復。方案如下:

(1)  軟體上,復位cpu或can控制器是最簡單的處理方式,但是為了讓系統恢復,一般當發生can匯流排關閉時,可以檢查bus off暫存器的值,對can控制器的驅動及相關暫存器進行初始化操作。初始化完成後,can匯流排關閉故障就會立即解除。為了避免該節點在can網路中頻繁發生匯流排關閉問題,建議在初始化後,不要立即對外傳送can報文。

(2)硬體上

1)由於汽車內部存在強電流產生的空間磁干擾,應該將can線纜雙絞程度加大;

2)can介面設計採用ctm1051隔離收發器、隔離限幅,防止ecu宕機;

3)can介面增加磁環、共模電感等效果好的感性防護器件;

4)外接專用的訊號保護器消除干擾;

5)使用網橋中繼裝置canbridge對部分**擾源進行隔離。

(3) 加can 黑盒子,儲存can報文,便於後期分析。

二、can仲裁機制

can的仲裁使用的是非破壞性逐位仲裁詳見如下文章:

CAN匯流排的仲裁機制

報文的優先順序,是通過對 id 的仲裁來確定的。根據前面對物理層的分析我們知道如果匯流排上同時出現顯性電平和隱性電平,匯流排的狀態會被置為顯性電平,can 正是利用這個特性進行仲裁。對於can來說,0為顯性,1為隱性。所以當對不同的id號來進行仲裁時,id號越小,優先順序越高。對於標準資料幀和擴充套...

iic匯流排從機仲裁 I2C匯流排的仲裁機制

在多主的通訊系統中。匯流排上有多個節點,它們都有自己的定址位址,可以作為從節點被別的節點訪問,同時它們都可以作為主節點向其他的節點傳送控制位元組和傳 送資料。但是如果有兩個或兩個以上的節點都向匯流排上傳送啟動訊號並開始傳送資料,這樣就形成了衝突。要解決這種衝突,就要進行仲裁的判決,這就是i 2c匯流...

I2C匯流排的仲裁機制

在多主的通訊系統中。匯流排上有多個節點,它們都有自己的定址位址,可以作為從節點被別的節點訪問,同時它們都可以作為主節點向其他的節點傳送控制位元組和傳送資料。但是如果有兩個或兩個以上的節點都向匯流排上傳送啟動訊號並開始傳送資料,這樣就形成了衝突。要解決這種衝突,就要進行仲裁的判決,這就是 i 2c 匯...