【STM32】bxCAN總線配置信息

1,波特率計算

1)CAN_TTCM :本成員用於配置CAN 的時間觸發通信模式(time triggeredcommunication mode)。在此模式下,CAN 使用它內部定時器產生時間戳,被保存在CAN_RDTxR、CAN_TDTxR 寄存器中。內部定時器在每個CAN 位時間累加,在接收和發送的幀起始位被採樣,並生成時間戳。本實驗不使用時間觸發模式。

2)CAN_ABOM :當CAN 檢測到發送錯誤(TEC)或接收錯誤(REC)超過一定值時,會自動進入離線狀態。在離線狀態中,CAN 不能接收或發送報文。其中的發送錯誤或接收錯誤的計算原則由CAN 協議規定,是CAN 硬件自動檢測的,不需要軟件干預。軟件可干預的是通過此CAN_ABOM 參數選擇是否使用自動離線管理(automatic bus-off management),決定CAN 硬件在什麼條件下可以退出離線狀態。若我們把此成員賦值爲ENABLE,則使用硬件自動離線管理。一旦硬件檢測到128 次
11 位連續的隱性位,則自動退出離線狀態。若我們把此成員賦值爲DISABLE,離線狀態由軟件管理。首先由軟件對CAN_MCR寄存器的INRQ 位進行置“1”隨後清“0”,再等到硬件檢測到128 次11 位連續的隱性位,才退出離線狀態。本實驗使用硬件自動離線管理。
3 ) CAN_AWUM : 本成員選擇是否開啓自動喚醒功能( automatic wakeup mode)。若使能了自動喚醒功能,並且CAN 處於睡眠模式,檢測到CAN 總線活動時會自動進入正常模式,以便收發數據。若禁止此功能,則只能由軟件配置纔可以使

CAN 退出睡眠模式。本實驗使用自動喚醒模式。

4 ) CAN_NART : 本成員用於選擇是否禁止報文自動重傳( no automatic retransmission)。按照CAN 的標準,CAN 發送失敗時會自動重傳至成功爲止。向本參數賦值ENABLE,即禁止自動重傳,若賦值爲DISABLE,則允許自動重傳功能。本實驗允許CAN 的自動重傳。

5 ) CAN_RFLM : 本成員用於配置接收FIFO 是否鎖定( receive FIFO locked mode)。若選擇ENABLE,則當FIFO 溢出時會丟棄下一個接收的報文。若選擇DISABLE,當FIFO 溢出時下一個接收到的報文會覆蓋原報文。本實驗選擇非鎖定模式。
6)CAN_TXFP :本成員用於選擇CAN 報文發送優先級的判定方法。STM32 的CAN 接口可以對它郵箱內的幾個將要發送的報文按照優先級進行處理。對於這個優先級的判定可以設置爲按照報文標識符來決定(DISABLE),或按照報文的請求順序來決定(ENABLE)。本實驗發送報文的優先級按照報文標識符來決定。

7)CAN_Mode :本成員用於選擇CAN 是處於工作模式狀態還是測試模式狀態。它有四個可賦值參數,分別是一個正常工作模式(CAN_Mode_Normal),以及靜默模式( CAN_Mode_Silent ) 、迴環模式( CAN_Mode_LoopBack ) 和靜默迴環模式
(CAN_Mode_Silent_LoopBack)三個測試模式。本實驗使用的是正常的兩個CAN 節點間的通信,所以向本成員賦值爲正常工作模式。

8)CAN_SJW、CAN_BS1、CAN_BS2 及CAN_Prescaler :這幾個成員是用來配置CAN 通信的位時序的。它們分別代表CAN 協議中的SJW 段(重新同步跳躍寬度)、PBS1 段(相位緩衝段1)、PBS2 段(相位緩衝段2)及時鐘分頻。在STM32 的CAN 接口配置中,SS 段(同步段)被固定爲1 Tq,PTS(物理緩衝段)被省略。所以一個正常的位時間只由SS 段(固定爲1 Tq)、PBS1 段(CAN_BS1成員)及PBS2 段(CAN_BS2 成員)組成,PBS1 和PBS2 的重新同步跳躍寬度由成員CAN_SJW 決定。而時間單元Tq 則由CAN_Prescaler 成員決定,它決定CAN 使用的時鐘是由APB1 的多少分頻得到。

 

PBS1 與PBS2 之間是採樣點,一般配置在位時間段的75% ~ 80% 的位置,保證總線上不同節點數據同步。在本實驗中我們把採樣點設置在70% 處。即SS=1Tq,CAN_BS1 =6 Tq,CAN_BS2=3 Tq。爲提高同步調整的速度,把CAN_SJW 配置爲2 Tq。利用圖16-14 中的公式。時間單位Tq 根據成員CAN_Prescaler 的值(4 分頻)及APB1 的時鐘頻率(36 MHz)計算得出。Tq =1/(36 MHz/4) 秒,即實際上每一個CAN 位的時間爲10 Tq (1+6+3Tq),波特率爲36MHz /4/10 = 0.9Mbit/s。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章