免費論壇 繁體 | 簡體
Sclub交友聊天~加入聊天室當版主
分享
返回列表 回復 發帖

CAN BUS筆記

CAN總線的採樣位和同步跳轉寬度

採樣位:對採樣動作進行設置的標誌位,採樣位可以設置爲多次或一次。串列傳輸速率較低時建議將採樣位設置爲一次,串列傳輸速率高時設置爲多次,串列傳輸速率高低以100kbps作爲分界。

同步跳轉寬度:用於相容不同串列傳輸速率的總線,除了本身設定的 串列傳輸速率,還能接收一個上下容差範圍內的串列傳輸速率。其設置爲SJW[1:0],計算公式爲tsjw = 系統時鐘 × (2×sjw1+sjw2+1)

例題:假設我SJA1000 CAN控制器所擁有的晶體頻率爲16MHz,系統時鐘Tscl爲6.25微妙,SJW.1同SJW.0都被置一,請求出同步跳轉寬度位域的時間是?

Tsjw = Tscl * ( 2*SJW.1 + SJW.0 + 1 )
= 6.25微妙 * (2+1+1)
= 6.25微妙 * 4
= 25微妙
同步跳轉寬度位域時間與總線串列傳輸速率上下限容差值關係爲:
總線下屆容差  <    總線串列傳輸速率      <      總線上限容差
1(Tbit +  Tsjw )   <   1/(Tbit)     <    1/(Tbit - Tsjw)
---------------------
採樣點:採樣點不能太靠前也不能太靠後,否則如果剛好處於一個位的上升沿或者下降沿區間,會造成識別錯誤,所以根據CIA105的規範,採樣點在87.5%左右比較合適。但是一般我們可根據實際情況選取75%~85%之間;
----------------------
CAN 2.0A-只規定了標準消息格式(擴展消息會被認為是錯誤)
CAN 2.0B active-能處理標準和擴展消息格式
CAN 2.0B passive-處理標準消息,忽略擴展消息

------------------------
返回列表