CAN的全稱是Controller Area Network,譯為控制器區域網絡,是一種用于車輛、電力系統、工業設備等嵌入式系統的半雙工異步串行通信協議和物理接口。CAN是一種事件驅動的通信協議,采用非主從結構,所有節點都可以發送和接收數據,而不需要主控節點。它支持多主機通信,具有優先級和沖突解決機制,能夠實現高效的數據傳輸。CAN只需要兩根信號線,這兩根信號線通常采用的是雙絞線,且傳輸的是差分信號,以差分信號傳輸信息具有抗干擾能力強,有效抑制外部電磁干擾的優點。
工作原理
CAN通信的工作原理依賴于CAN接口的核心組件,包括CAN控制器、CAN收發器和CAN總線。CAN收發器的作用是將普通信號轉化為差分信號,以提高抗干擾能力和輸出可靠性。CAN 總線的工作電壓通常為5V或3.3V,但通信的關鍵在于CAN_High和CAN_Low兩根總線間的電壓差。
CAN協議經過ISO標準化后有兩個標準:ISO11898標準和ISO11519-2標準;其中標準ISO11519-2-1994已經被ISO11898-3-2006 代替,即符合標準ISO11898-3的產品也是符合ISO11519-2標準的產品;ISO11898-2-2016更新并替代了ISO11898-2:2003,ISO11898-5:2007和ISO11898-6:2013。ISO11898標準和ISO11519-2標準對于數據鏈路層的定義相同,但物理層不同,兩個標準間的差異如下:

當CAN收到一個低電平信號,CAN_High輸出3.5V,CAN_Low輸出1.5V,兩者的電壓差是2V,此時表示邏輯0,也稱顯性電平。
當CAN收到一個高電平信號,CAN_High和CAN_Low輸出均為2.5V,電壓差是0V,此時表示邏輯1,也稱隱性電平。

為滿足不同通信需求,CAN協議定義了多種幀類型,包括數據幀、遠程幀、錯誤幀、過載幀、幀間隔等。數據幀用于傳輸數據,包含實際的有效數據內容;遠程幀用于請求數據,沒有數據部分,只發送標識符和長度信息;錯誤幀用于指示總線上的錯誤,幫助進行錯誤處理;過載幀用于指示總線過載,幫助管理數據流;幀間隔是兩幀之間的時間間隔,用于確保幀的正確傳輸,避免幀沖突。其中最常見的幀類型是數據幀,分為標準數據幀和擴展數據幀。
標準數據幀格式及字段組成如下:


擴展數據幀格式及字段組成如下:


在正常工作時CAN總線上可能會掛載很多設備,如果兩個設備同時發送信息,就會發生沖突,為了避免總線沖突,需由總線仲裁機構合理地控制和管理系統中需要占用總線的申請者,在多個申請者同時提出總線請求時,以一定的優先算法仲裁哪個應獲得對總線的使用權。只有獲得了總線控制權的設備,才能開始傳送數據。
報文的優先級,是通過對 ID(識別碼) 的仲裁來確定的。CAN總線上有兩種電平狀態,如果總線上同時出現顯性電平和隱性電平,總線的狀態會被置為顯性電平,CAN正是利用這個特性進行仲裁。
類型分類
以上介紹的都是關于標準CAN的內容,此外還有一種CAN FD,它的全稱是Flexible Data Rate,譯為可變速率的CAN。CAN和CAN FD是兩種不同的總線標準,它們都是基于CAN技術實現的,但它們之間有明顯的區別。CAN是一種多點總線,它可以用于連接許多設備,而CAN FD是一種更高級的多點總線,它可以提供更高的傳輸速率和更高的傳輸容量。
CAN和CAN FD之間最大的區別在于傳輸容量。CAN的最大傳輸容量為8字節,而CAN FD的最大傳輸容量可以達到64字節。這意味著CAN FD可以提供更多的數據,因此可以傳輸更大的數據包,從而更好地滿足應用需求。
另一個不同點是傳輸速率。CAN的最大傳輸速率為1 Mbps,而CAN FD的最大傳輸速率可以達到8 Mbps。
以上就是關于CAN接口的核心內容解析。希望本文分享能夠為嵌入式開發技術愛好者及相關專業的高校學生提供切實可行的項目實踐參考。若您在應用場景中遇到CAN接口開發或調試問題,歡迎隨時私信與我們技術團隊深入交流,我們將結合多年嵌入式開發經驗,為您提供針對性解決方案建議。
-
單片機
+關注
關注
6063文章
44915瀏覽量
646872 -
嵌入式
+關注
關注
5141文章
19528瀏覽量
314901 -
CAN
+關注
關注
57文章
2885瀏覽量
466727 -
開發板
+關注
關注
25文章
5506瀏覽量
102230 -
嵌入式開發板
+關注
關注
5文章
89瀏覽量
19085
發布評論請先 登錄
第61屆高博會圓滿閉幕,飛凌嵌入式教育品牌ElfBoard精彩回顧

嵌入式教育科普|I2C接口全面解析

嵌入式Ethernet/CAN網關接口設計與驅動
嵌入式Linux下CAN接口調試
嵌入式系統的全面解析
嵌入式Linux CAN

第61屆高博會圓滿閉幕,飛凌嵌入式教育品牌ElfBoard精彩回顧

飛凌嵌入式旗下教育品牌ElfBoard亮相全國大學生嵌入式競賽總決賽現場

ElfBoard嵌入式教育科普|UART接口全面解析

飛凌嵌入式旗下教育品牌ElfBoard即將亮相「第63屆高等教育博覽會」

評論