CAN通訊學習(一)

2021-10-10 07:06:18 字數 1395 閱讀 5638

can通訊(一)

can通訊是什麼?

can (controller area network)是由以研發和生產汽車電子產品著稱的德國bosch公司開發的,並最終成為國際標準(iso 11898),是國際上應用最廣泛的現場匯流排之一。 在北美和西歐,can匯流排協議已經成為汽車計算機控制系統和嵌入式工業控制區域網的標準匯流排,並且擁有以can為底層協議專為大型貨車和重工機械車輛設計的j1939協議。

can的物理層特徵

can 控制器根據can_h和can_l兩根線上的電位差來判斷匯流排電平。匯流排電平分為顯性電平和隱性電平,二者必居其一。傳送方通過使匯流排電平發生變化,將訊息傳送給接收方。

正常情況下沒有資料傳送時,can_h和can_l的電壓為2.5v,匯流排電平為隱性,對應邏輯電平為:1。

當進行資料傳輸時,can_h為3.5v,can_l為1.5v,匯流排電平為顯性,對應邏輯電平為:0。

通過檢測電壓可以查詢can的傳送狀態。

優先順序:顯性電平具有優先權,只要有乙個單元輸出顯性電平,匯流排上即為顯性電平。而**電平則具有包容的意味,只有所有的單元都輸出隱性電平,匯流排上才為隱性電平(顯性電平比隱性電平更強)。另外,在can匯流排的起止端都有乙個120ω的終端電阻,來做阻抗匹配,以減少回波反射。

圖 1 can連線圖

圖 2 匯流排電平示意圖

幀型別can通訊幀的方式進行,下面為5種型別的幀。

圖 3 五種型別的幀

其中資料幀和遙控資料幀和遙控幀有標準格式和擴充套件格式兩種格式。標準格式有11 個位的識別符號(id),擴充套件格式有29 個位的id。

在實際工業裝置中,較為常用的是資料幀。資料幀由以下7個段構成。

(1) 幀起始

表示資料幀開始的段。

(2) 仲裁段

表示該幀優先順序的段。

(3) 控制段

表示資料的位元組數及保留位的段。

(4) 資料段

資料的內容,可傳送 0~8 個位元組的資料。

(5) crc 段

檢查幀的傳輸錯誤的段。

(6) ack 段

表示確認正常接收的段。

(7) 幀結束

表示資料幀結束的段。

圖中d表示顯性電平,r表示**電平

參考:《can入門教程》

STM32 CAN匯流排通訊學習筆記(一)

can 是控制器區域網路 controller area network,can 的簡稱。can採用資料塊編碼的方式,資料塊根據幀的型別,能夠讓掛載在匯流排上的不同節點接收到相同的資料,再根據每個節點的配置對資訊進行選擇性處理 處理or丟棄 can匯流排具有以下特點 1.多主控制 在匯流排空閒時,所...

can匯流排學習(一) 初識can匯流排

can匯流排最初由德國bosch公司為汽車檢測 控制系統而設計的。1993年can成為國際標準iso11898 高速應用 和iso1119 低速應用 can的規範從can1.2規範 標準格式 發展為相容can1.2規範的can2.0規範 can2.0a為標準格式,can2.0b為擴充套件格式 目前應...

CAN協議學習(一)

1 在匯流排空閒時,所有單元都可以傳送訊息,兩個以上單元同時傳送訊息時,對各訊息的identifier進行逐位仲裁比較,仲裁獲勝的單元 具有較高優先順序 可繼續傳送訊息,仲裁失敗的單元停止傳送。2 訊息中沒有位址,訊息廣播到匯流排上,任何匯流排上的單元都可以接收訊息。在匯流排上增加單元,不會影響到其...