Re: 關於dsPIC33EV256GM106 with CAN baud

作者 Ryang 於 2019年06月10日 12:25:06
就如圖一的說明,CAN 速度的決定是由最基本的時間計算單元 TQ (Time Quanta) 來決定的。TQ 是第一個要設定的條件,可以用公式計算出來 2 * (BRP+1) * Tosc 。(參考 Data Sheet 裡的說明)

基本上算出TQ 後再依據所需要一個 Bit 的時間組合來計算出 Baud 的。
一個 Bit 是由 Sync + Prop. Seg + Phase Seg1 + Prog Seg2 所組成的。如圖一的說明三個 Seg 所需的 TQ 可以設定 1TQ ~ 8TQ 不等。

所以 CAN Baud 就看你在一個 Bit 的傳輸設定裡總共使用了多少TQ。一般速率上的改變是不會去動 Bit 的 Segment 的,主要還是直接修改 TQ 的 BRP 暫存器數值作變更的。

CAN 有一些教材可以下載來看看。
1. 在教育訓練光碟下的 特殊領域技術相關課程 --> CAN202A CAN202B CAN202C Ver.B CAN Bus Workshop

http://www.microchip.com.tw/Data_CD/

2. 在教育訓練光碟二: 有 CAN 的 MP4 講解影片可以參考看看。

http://www.microchip.com.tw/Data_CD/eLearning/index.htm

圖二是使用 MCC 時當選用 CAN MCU 時可以子動計算所需的 Bps.

附加檔案:



jpg  擷取.JPG (68.67 KB)
16_5cfddb8dd13fe.jpg 745X517 px

jpg  擷取1.jpg (20.27 KB)
16_5cfddb9ed9681.jpg 539X151 px

來自: http://www.microchip.com.tw/newbb/viewtopic.php?forum=2&topic_id=22669&post_id=79711