CAN 采樣點計算


 

結構圖:

 

 

SS (synchronization segment):
SS是通過監視幀間空間中從隱性位到顯性位的邊沿來執行同步的段。 幀間空間包括間歇,掛起傳輸和總線空閑。 總線空閑期間,所有節點均可開始傳輸。

 

TSEG1 (Time segment 1):
TSEG1是吸收CAN網絡上物理延遲的網段。 CAN網絡上的物理延遲是CAN總線上的延遲,輸入比較器中的延遲和輸出驅動器中的延遲的兩倍。

 

TSEG2 (Time segment 2):

TSEG2是補償由於頻率誤差引起的相位誤差的部分

 

SJW (Resynchronization jump width)
SJW是延長或減少時間段的長度,以補償由於相位誤差引起的相位誤差。

 

1.采樣點 = (SS + TSEG1)/(SS + TSEG1+TSEG2)

 

2.Can bit time = 1/ Can speed 

3.Can Tq = Fn(分頻數)/Fcan)     Fcan 輸入時鍾     Tq: Time quantum

4.CAN bit time = CAN Tq * TqCount  ;CAN bit time 也簡寫為NBT (Nominal Bit Time )

5.Tq Count = SS + TSEG1 + TSEG2    

 

舉例

Fcan輸入時鍾為60Mhz,分頻數為6,Can Tq =  6/60M = 0.1us

設置總線波特率為500kbit/s  則CAN bit time = 1/500k = 2us ,TqCount   = CAN bit time/CAN Tq   = 2/0.1 = 20 

那么SS + TSEG1 + TSEG2  = 20

SS固定占用一個Tq,分配TSEG1和TESG2,可以調整采樣點位置

設置TESG1 = 14 ,則TESG1 = 5,(在瑞薩手冊看到要求TSEG1 > TSEG2 > SJW)

則 采用點位置 =  (SS + TSEG1)/(SS + TSEG1+TSEG2) =  (1+14)/ 20 = 75%

一般采樣點位置要求在75-80% 但很難調整到中間值。

SJW是另外一個參數與采樣點計算無關。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM