當前位置: 華文世界 > 科技

CAN協定究竟是什麽?CAN幀類別介紹

2024-10-17科技

CAN協定,是Controller Area Network 的縮寫,最初這個協定是由汽車行業提出的,因為隨著汽車行業智能化的發展,汽車內部越來越多的電子儀器,使得訊號線布線越來越繁雜,迫切地需要一種簡單且可以掛載多個器材的總線協定出現,來解決這一問題。於是在上世紀80年代末提出後,迅速發展並且於幾年後的1993年,正式成為 ISO11898 ISO11519 兩種國際標準協定(這兩種分別是高速套用和低速套用)。

既然前面提到是由汽車行業提出,並且在後來套用中發展到其他行業的標準協定,那他就必須解決汽車行業,內部電子系統通訊的痛點,也就是既需要通訊總線的數據線少,又需要總線能夠掛載多個器材,通訊之間的延遲不能大,還要具有能夠在復雜環境工作的能力(也就是所謂的抗幹擾能力強),那麽到底是如何實作的呢?

CAN總線通訊原理

首先,最重要的就是CAN協定使用的 兩線制(CANH/CANL)差分訊號 ,了解485協定的應該大致明白差分訊號的意義,也就是由兩線的電壓差來表示邏輯0/1,從而傳達數據。差分訊號最大的好處就是抗幹擾,因為幹擾會導致兩線的電平發生類似變換,比如一個幹擾在某一刻導致其中一條數據線電壓上升20mV,那麽雙絞線中的另外一根數據線也會受到相同影響,但是兩線之間的電壓差是並沒有發生改變的,也就是並不會影響數據的正確性。同時兩線制由於數據線少,也就兼備了布線簡潔和低成本的特點。

CAN總線幀類別

CAN的總線通訊是透過5種類別的幀來進行的,分別是:

①數據幀:用於發送單元向接收單元傳送數據的幀。

②遙控幀:用於接收單元向具有相同ID的發送單元請求數據的幀。

③錯誤幀:用於當檢測出錯誤時向其它單元通知錯誤的幀。

④過載幀:用於接收單元通知其尚未做好接收準備的幀。

⑤幀間隔:用於將數據幀及遙控幀與前面的幀分離開來的幀。

CAN總線是由資訊仲裁過程的,當所有的器材都接入到CAN總線上,前文說過,CAN總線是要能夠滿足多器材掛載的,那麽就需要有一個完善的機制處理多個器材的資訊收發。當總線處於空閑時,最先發訊息的單元將得到向總線釋出資訊的發送權,而多個單元同時發送數據時,會從仲裁段的第一位開始仲裁,呈現顯性電平越多,則擁有更高的優先權。

當總線上出現相同ID的數據幀和遙控幀時,仲裁段的最後一位,也就是RTR位為顯性電平的數據幀將享有優先權。

當總線上出現相同ID的遙控幀或者擴充套件格式的數據幀在時,標準格式的 RTR 位為顯性位的將享有優先權。

以上資料整理來源於網絡。

「福利」藍芽+Wi-Fi模組王炸福利!免費送樣