CAN通訊方式 秉火STM32學習筆記

2021-10-13 18:19:21 字數 1305 閱讀 7007

首先非常感謝秉火團隊為我們提供學習stm32的豐富資料及詳細教程。本筆記僅用作個人學習記錄,以此加深記憶,如感覺有幫助,可感謝支援秉火團隊。

can 協議簡介

can 是控制器區域網路(controller area network)的簡稱,它是由研發和生產汽車電子產品著稱的德國bosch 公司開發的,並最終成為國際標準(iso11519),是國際上應用

最廣泛的現場匯流排之一。

can 匯流排協議已經成為汽車計算機控制系統和嵌入式工業控制區域網的標準匯流排,並且擁有以can 為底層協議專為大型貨車和重工機械車輛設計的j1939 協議。近年來,它具有的高可靠性和良好的錯誤檢測能力受到重視,被廣泛應用於汽車計算機控制系統和環境溫度惡劣、電磁輻射強及振動大的工業環境。

can 特點

通訊方式

資料通訊方向

資料通訊時序

通訊速率

通訊距離

序列通訊

半雙工非同步通訊

高速1m/低速125kbps

高速40m/低速1km

can 物理層

與i2c、spi 等具有時鐘訊號的同步通訊方式不同,can 通訊並不是以時鐘訊號來進行同步的,它是一種非同步通訊,只具有can_high 和can_low 兩條訊號線,共同構成一組差分訊號線,以差分訊號的形式進行通訊。

1. 閉環匯流排網路

can 物理層的形式主要有兩種,圖 42-1 中的can 通訊網路是一種遵循iso11898 標準的高速、短距離「閉環網路」,它的匯流排最大長度為40m,通訊速度最高為1mbps,匯流排的兩端各要求有乙個「120 歐」的電阻。

2. 開環匯流排網路

差分訊號又稱差模訊號,與傳統使用單根訊號線電壓表示邏輯的方式有區別,使用差分訊號傳輸時,需要兩根訊號線,這兩個訊號線的振幅相等,相位相反,通過兩根訊號線的電壓差值來表示邏輯0 和邏輯1。見圖 42-3,它使用了v+與v-訊號的差值表達出了圖下方的訊號。

相對於單訊號線傳輸的方式,使用差分訊號傳輸具有如下優點:

由於差分訊號線具有這些優點,所以在usb 協議、485 協議、乙太網協議及can 協議的物理層中,都使用了差分訊號傳輸。

5. can 協議中的差分訊號

CAN通訊協議層 秉火STM32學習筆記

首先非常感謝秉火團隊為我們提供學習stm32的豐富資料及詳細教程,此筆記僅用作個人學習記錄,以此加深記憶,如果讀者也喜歡,請一同感謝並支援秉火團隊。1.can 的波特率及位同步ss 段 sync seg ss 譯為同步段,若通訊節點檢測到匯流排上訊號的跳變沿被包含在ss 段的範圍之內,則表示節點與匯...

重學STM32 (十)之CAN通訊 二

目錄 can協議是非常難的,但是在stm32中卻是簡單的,只需要我們配置暫存器即可,即使這樣,我在學習的時候也遇到了許多困難 1 開時鐘,不用說 2 設定gpio口,can tx復用推挽輸出,can rx上拉或浮空輸入 3 can初始化了,分三步 對can初始化 can1 mcr 1 15 軟復位 ...

重學STM32 (九)之CAN通訊(一)

目錄can 是 controller area network的縮寫 以下稱為 can 是 iso 國際標準化的序列通訊協議。1 主動錯誤狀態 主動錯誤狀態是可以正常參加匯流排通訊的狀態。處於主動錯誤狀態的單元檢測出錯誤時,輸出主動錯誤標誌。2 被動錯誤狀態 被動錯誤狀態是易引起錯誤的狀態。處於被動...