CAN總線位定時和同步的研究與設計
這里需要注意的是,相位緩沖段只在當前的位時間內被延長或縮短,在接下來的位時間內,只要沒有重同步,各時間段將恢復編程預設值。
3 控制器中位定時參數設置的一般方法
在典型的獨立CAN控制器(SJA1000或PCA82C200)中,負責位定時的寄存器為總線定時寄存器0(BTR0)和總線定時寄存器1(BTR1),其結構如圖5所示。
寄存器中有關參數的計算公式如下:
這些參數的范圍在CAN中有較嚴格的規定,具體如表1所示。
在有些情況中.為了優化網絡性能,這些參數的設置往往需要考慮傳輸延遲、時鐘偏頻等因素。然而,對于一般的開發或工程實際,完全可以根據經驗對其進行計算和設置。這里以一個時鐘頻率為20 MHz、通信波特率為250 Kb/s(位時間為4μs)的系統為例,介紹與位定位有關的各參數的計算方法和步驟。
(1)確定時間份額。
由表1可知,在1個位周期中時間份額的數量必須是8~25之間的
(3)確定同步跳轉寬度和采樣次數。
為完成位定時參數的設置,最后還要確定同步跳轉寬度和采樣次數。同步跳轉寬度的一般設置原則是在允許的范圍內應盡可能的大一些,這樣更有利于在重同步時對沿相位誤差的補償,在這里可將該參數設置為3。采樣次數的設置比較容易和直接,對于高速總線,建議將SAM置為“0”,此時總線被采樣1次;而對于低/中速總線,建議將SAM置為“1”,此時總線被采樣3次。250 Kb/s屬于高速總線,所以在這里SAM應置為0。通過以上方法和步驟所確定的各參數值,再結合式(2)、式(3)、式(5)、式(6)可直接得出寄存器BTR0和BTR1的設置值。
4 結 語
(1)結合圖解的方式對CAN總線位定時、硬同步和重同步等關鍵技術的深入探討和分析,反映了CAN總線位定時和同步機制的本質、清晰地表明了它們在CAN技術規范中的地位與作用。
(2)在CAN總線中,通信波特率(位時間)、每個位時間的采樣位置及個數、同步跳轉寬度等都可以自行設定。然而,位定時參數如果設置不當就會檢測到錯誤并進行錯誤處理,導致總線性能下降甚至無法工作。因此要分析、解決這樣的問題就需要對CAN總線位定時和同步機制有較深入的理解,從而保證正確地設置位定時參數。
(3)這里所研究的內容,是深入理解和學習CAN總線技術的前提和保證,也是進行后續開發和研究的基礎和關鍵。
評論