一、CAN總線原理--簡介
CAN(ControllerAreaNetwork),中文名稱為控制器局域網絡,通常稱為CANbus,即CAN總線。是由德國BOSCH(博世)公司研究開發的,現已成為ISO國際標準化的串行通信協議,是目前在國際上應用最廣泛的開放式現場總線之一。
二、CAN總線原理--報文
CAN總線以報文的形式發送數據,每組報文的前十一位字符為標識符(在同一個系統中,標識符是唯一的),不包含具體發送數據,是對報文優先級的定義,我們將報文的這種格式稱為面向內容的編址方案
三、CAN總線原理--幀結構
幀可以分為數據幀、遠程幀、錯誤幀和過載幀四種類型。CAN總線上傳輸的大部分都是數據幀,數據幀負責攜帶數據從發送器到接收器;遠程幀是由總線單元發出的,負責請求發送相同的數據幀;錯誤幀可由任何單元在檢測到總線錯誤時發出;過載幀用于在兩數據幀或遠程幀中提供延時。
四、CAN總線原理
CAN總線以廣播的方式從一個節點向另一個節點發送數據,當一個節點發送數據時,該節點的CPU把將要發送的數據和標識符發送給本節點的CAN芯片,并使其進入準備狀態;一旦該CAN芯片收到總線分配,就變為發送報文狀態,該CAN芯片將要發送的數據組成規定的報文格式發出。此時,網絡中其他的節點都處于接收狀態,所有節點都要先對其進行接收,通過檢測來判斷該報文是否是發給自己的。
由于CAN總線是面向內容的編址方案,因此容易構建控制系統對其靈活地進行配置,使其可以在不修改軟硬件的情況下向CAN總線中加入新節點。