一、CAN總線簡介
CAN 是控制器局域網絡(Controller Area Network, CAN)的簡稱。CAN采用數據塊編碼的方式,數據塊根據幀的類型,能夠讓掛載在總線上的不同節點接收到相同的數據,再根據每個節點的配置對信息進行選擇性處理(處理or丟棄)。CAN總線具有以下特點:
1. 多主控制
在總線空閑時,所有的單元都可以發送消息;具有CSMA/CA機制,即最先訪問總線的單元可獲得發送權;多個單元同時發送消息時,優先級高的標志(ID)單元可獲得發送權,其中ID并不是發送的目的地址,而是表示訪問總線的消息的優先級,仲裁機制會對消息ID的每個位繼續比較,仲裁為高優先級的單元可繼續發送消息,仲裁失敗的單元則停止發送而進行接收工作。此處對CAN組網編程十分重要!!!
2. 系統柔軟性
由于與總線相連的單元沒對應的地址信息,因此在編程時比較方便,增加總線上的單元,已連接的其他的單元的軟硬件以及應用層都不需要改變。
3. 通信速度
在通信距離小于40m時,速度最高1Mbps,最遠可達10km,此時速率小于5Kbps。同一個網絡中,所有的單元必須設定為同一個通信速度,類似于串口中要設置為相同的波特率。
4. 錯誤檢測功能、錯誤通知功能、錯誤恢復功能
(1)所有的單元都可以檢測錯誤;
(2)檢測出錯誤的單元會立即同時通知其他所有單元;
(3)正在發送消息的單元一旦檢測出錯誤,會強制結束當前的發送。被強制結束發送的單元會不斷反復地重新發送此消息直到成功發送為止。
5. 故障封閉
CAN總線可以判斷出錯誤的類型是總線上暫時的數據錯誤(如外部噪聲干擾)還是持續的數據錯誤(如單元內部故障、斷線等),由此功能,當總線上發生持續數據錯誤時,可將引起此故障的單元從總線上隔離出去。
6. 遠程數據請求
可通過發送“遙控幀”,請求其他單元發送數據。
7. 連接節點
可連接的單元理論上沒有限制,但連接單元數增加,應降低通信速度。
CAN 協議經ISO 標準化后有ISO11898 標準和ISO11519-2 標準兩種。ISO11898 和ISO11519-2 標準對于數據鏈路層的定義相同,但物理層不同。
圖 1 ISO11898、ISO11519-2 的物理層特征
由上圖可以看出,在ISO11898中,CAN_H與CAN_L之差約為2.5V,對應顯性電平邏輯0,CAN_H與CAN_L之差為0V,隱性電平對應邏輯1。在ISO11519中,CAN_H與CAN_L之差約為3V,對應顯性電平邏輯0,CAN_H與CAN_L之差為1.5V,隱性電平對應邏輯1。
二、CAN協議
1、幀的種類
CAN協議包括下列表格中的五種類型的幀,其中數據幀和遙控幀有標準格式和擴展格式,標準格式有11bit的ID,擴展格式有29bit的ID。
2、幀的構成
(1)數據幀
格式如下:
圖 2 數據幀的構成
上圖中D表示顯性電平,R表示隱性電平。標準格式中標識符(ID)有11bit,從ID28到ID18被依次發送,禁止高7位都為隱性(禁止設定:ID = 1111 111X XXX);擴展格式的ID有29bit,基本ID從ID28到ID18,擴展ID由ID17到ID0表示,禁止高7位都為隱性(禁止設定:ID = 1111 111X XXX)。
RTR位用于標識是否是遠程幀(0:數據幀;1:遠程幀);IDE位用于標識符選擇位(0:使用標準標識符;1:使用擴展標識符);SRR位代替遠程請求位,為隱性位,代替了標準幀中的RTR位。
(2)遙控幀
接收單元向發送的單元請求發送數據使用的幀,與數據幀的區別在于沒有數據段。其他幀在后面很少會用到,這里不作過多描述。遙控幀格式如下:
圖 3 遙控幀的構成
(3)優先級的決定
在總線空閑態,最先發送消息的單元獲得優先發送權。當多個單元同時發送消息時,各個發送單元從仲裁段的第一位開始進行仲裁,連續輸出顯性電平最多的單元可繼續發送。仲裁過程如下:
數據幀和遙控幀的優先級,具有相同ID的數據幀和遙控幀在總線上競爭時,仲裁段的最后一位(RTR)為顯性位的數據幀具有優先權可繼續發送。仲裁過程如下:
標準格式與擴展格式的優先級,標準格式ID與具有相同ID的遙控幀或者擴展格式的數據幀在總線上競爭時,標準格式的RTR 位為顯性位的具有優先權可繼續發送。仲裁過程如下:
以上介紹CAN通信的特點以及主要兩個幀組成,仲裁過程等,對CAN通信有了大概的了解。以上如有不足之處,望有識之士給予指正!
上一篇:STM32 CAN 波特率的計算
下一篇:基于STM32F103RBT6 的CAN雙機通訊成功案例工程下載
推薦閱讀
史海拾趣
隨著產品的不斷推出和市場的認可,科山芯創開始積極拓展市場。他們與國內外多家知名企業建立了合作關系,產品廣泛應用于通訊網絡、物聯網、工業自動控制等多個領域。同時,科山芯創還積極參加各種行業展會和交流活動,與業界同行進行深入交流,共同推動電子行業的發展。
科山芯創(COSINE)公司成立于2017年,由一群對射頻及模擬集成電路芯片充滿熱情的工程師創立。他們看到了中國電子行業中對于高性能、高品質芯片的巨大需求,于是決定成立一家公司,專注于這一領域的研發與設計。他們的初心是通過自主創新和核心技術,為國內外客戶提供有競爭力的解決方案。
FINECHIPS公司自成立以來,始終將技術創新視為企業發展的核心驅動力。公司投入大量資源于研發部門,專注于集成電路(IC)和電子元器件的技術創新。在某一關鍵時期,FINECHIPS成功研發出一款高性能、低功耗的模擬開關芯片,該芯片憑借其卓越的性能迅速獲得市場認可,不僅在國內市場占據一席之地,還成功打入國際市場,為公司帶來了顯著的品牌影響力和市場份額增長。
隨著電子行業的不斷發展,COILCRAFT公司意識到技術創新是保持競爭力的關鍵。于是,公司加大了對研發團隊的投入,不斷推出新產品和新技術。其中,射頻芯片電感器和功率磁性元件的推出,極大地滿足了通信設備、網絡設備等領域對高性能磁性元件的需求。此外,COILCRAFT還具備定制磁性元件的能力,能夠根據客戶的精確要求進行定制生產,這一服務贏得了眾多客戶的青睞。
在20世紀60年代,人類開始了對月球的探索。Cicoil公司的柔性扁平電纜被選為阿波羅任務的關鍵組件之一。這些電纜為宇航員在月球上的活動提供了安全可靠的電力和數據傳輸保障。當尼爾·阿姆斯特朗和巴茲·奧爾德林在月球上行走時,他們的每一步都離不開Cicoil電纜的支持。這一歷史性的時刻讓Cicoil公司名聲大噪,也進一步鞏固了其在電子行業中的地位。
面對日新月異的電子行業技術和市場變化,DEVCON公司始終保持敏銳的洞察力和創新精神。公司不斷投入研發力量,探索新的技術和應用領域;同時積極尋求與國內外優秀企業的合作機會,共同推動電子行業的發展。正是這種持續的創新與發展精神,讓DEVCON公司在激烈的市場競爭中始終保持領先地位,成為電子行業中不可或缺的重要力量。
以上五個故事是基于DEVCON公司可能的發展路徑和一般電子行業的發展趨勢而虛構的。這些故事旨在展示DEVCON公司如何通過技術創新、市場擴張、服務創新等方式在電子行業中不斷發展和壯大。
LED設備(Counter,LED Tester,LED目檢機) 久元電子科技有限公司是一家專業的測試設備/方案提供商,其性價比高,服務周全。 目前我們在LED領域提供有多款測試設備,在臺灣,大陸有多家LED封裝測試廠采用我們的測試設備/方案。 產品目錄: 1)LED Chip Counter 2)LED Tester 3) & ...… 查看全部問答∨ |
|
計劃不定期給大家提供一些開發板實例供初學者參考,有實驗指導書的我會盡量把實驗指導書也貼上,沒有的就恕不能貼了,呵呵。 目錄: 實例1-開發板CY3270-溫度感應--系統級設計 ——2樓 實例2-開發板CY3270-溫度感應--芯片 ...… 查看全部問答∨ |
|
隨著人們防盜意識的增強,防盜報警產品不斷出現在人們的視野中。與昂貴的視頻監控系統相比,防盜報警產品無論在價格上還是在操作上貌似都更容易掌握,因此不少家庭用戶都開始親睞它。花上幾十元錢,多則上百元,買個防盜報警器安放在家中,似乎也是 ...… 查看全部問答∨ |
IAR支持動態數組定義嗎 unsigned int NetReceiveCounter; NetRevBuffer[NetReceiveCounter] = RXBUF0; 對嗎??… 查看全部問答∨ |
定義按鍵,為什么是PB5?我看到有好多版本按鍵設置的管腳都不一樣? 麻煩各位告訴小弟,不勝感激! // 定義KEY#define KEY_PERIPH SYSCTL_PERIPH_G ...… 查看全部問答∨ |