CAN匯流排技術及工具介紹

2021-10-08 18:53:23 字數 1460 閱讀 4943

can匯流排技術是汽車電子開發中繞不開的一條,絕大部分相關崗位的招聘要求中都有「good knowledge of can technology」 or "tool experience on canoe/cananalyzer/canstress… is preferred"這種加分項。那什麼是can匯流排技術呢?招聘方又希望我們用它能幹些啥呢?

can全稱為controller area network,即控制器域網路。由博世和intel開發,為了解決車輛內部電子裝置數量日益增長而帶來的通訊線束長度和複雜程度大幅增長問題。

can匯流排從通訊角度有以下特徵:串列埠,同步,半雙工,crc校驗。通訊速率一般不超過1mbps,速率與通訊距離成反比,我所在的動力域控制器常用的速率為250kbps/500kbps。

can匯流排標準只定義了物理層和資料鏈路層。

在物理層,can使用遮蔽雙絞線傳輸及差分訊號判定顯性(0)和隱性(1),可有效較低干擾。can收發器(常見有tja1050)用於物理訊號和差分訊號之間轉換,由於匯流排上的電路特性(單個節點可理解為用接地的開關控制訊號輸出電壓的高低),當多個節點同時進行傳輸時,只要有乙個節點輸出為低電平(接地),則匯流排為低電平,此為各節點報文進行仲裁的原理。

can匯流排的同步設定在每個電平跳變沿,為了消除同電平較長導致的累計誤差,在每5個相同電平後插入乙個相反的填充位,強行跳變進行同步。

在資料鏈路層,can發展到2.0後識別符號有11位標準幀和29位擴充套件幀之分,最常用的資料幀報文結構組成如下:

控制段(6位)

資料段(64位),最大傳輸8位元組(byte0-byte7),msb(最高有效位元組/位)先傳輸,即先傳byte7。屬於短幀,實時性高。

crc段(16位)

ack段(2位):應答段,分ack槽和ack界定符,各1位;對於傳送節點,2位均為隱性高電平,接收節點接收到本幀資料後在該幀ack槽對應時間傳送顯性低電平到匯流排上,如果傳送節點此時接收到匯流排上的ack槽位為顯性低電平(自己的高電平被與掉了),說明此時有節點接收到了資料,否則報ack錯誤。

eof:幀結束,7個連續隱性位,連續高電平表示傳輸結束。

除了資料幀,can報文裡還有遠端幀,錯誤幀,過載幀,均無資料段。其中遠端幀用於請求傳送資料,組成結構與資料幀類似。錯誤幀在判斷出故障後傳送,分主動錯誤和被動錯誤標識,此時故障節點仍可正常通訊,rec(接收錯誤計時器)和tec(傳送錯誤計時器)累加到127後從主動錯誤轉至被動錯誤,tec累加到255以上觸發busoff,停止收發。過載幀是接收節點在未準備好接收下幀資料時用於通知傳送節點,讓其延後傳送。

ps:正常面試應該不需要回答這些背景知識,了解即可,所以這裡也不寫太多,網上多的是。

高速can的物理層和資料鏈路層通訊標準,低速can的為iso11519。

CAN匯流排簡單介紹

keywords 區域網,現場匯流排,序列通訊 一句話描述,can匯流排因其高效能和可靠性強,廣泛應用於汽車產業,醫療裝置,船舶 一 can匯流排是什麼?can是控制器區域網路 controller area network,can 的簡稱,是由以研發和生產汽車電子產品著稱的德國bosch公司開發的...

CAN匯流排位仲裁技術

can匯流排位仲裁技術 只要匯流排空閒,任何單元都可以開始傳送報文。要對資料進行實時處理,就必須將資料快速傳送,這就要求資料的物理傳輸通路有較高的速度。在幾個站同時需要傳送資料時,要求快速地進行匯流排分配。如果2 個或2 個以上的單元同時開始傳送報文,那麼就會有匯流排訪問衝突。通過使用識別符的位形式...

CAN匯流排擴充套件資料幀介紹

在擴充套件can 資料幀中,緊隨sof 位的是32 位的仲裁字段。仲裁欄位的前11 位為29 位識別符號的最高有效位 most significant bit,msb 基本ld 緊隨這11 位的是替代遠端請求 substitute remote request,srr 位,定義為隱性狀態。srr位之...