Re: 關於dsPIC33EV256GM106 with CAN baud

作者 Ryang 於 2019年06月11日 15:01:40
如果是選 1+3+3+3 總共 10 TQ 的話,若 TQ = 1uS , 則 CAN 的速率為 100Kbps。

以此推算應該是你的 Fcan 的頻率不夠高,或是 BRP 的預除器的設定數值過高。所以請依公式去做 Fcan 及 BRP 的設定。


參考一下 CAN202B 的 CAN Baud Rate 的設定 (dsPIC33EP 系列):

#define FCAN 60000000L
#define BITRATE 125000   // 125Kbps 的速度
#define NTQ 20 // Bit Time 使用 20TQ (1+5+8+6=20)
#define BRP_VAL ( (FCAN / (2 * NTQ * BITRATE)) - 1 )
/* FCAN is selected to be FCY , FCAN = FCY = 60MHz

Bit Time = (Sync Segment + Propagation Delay + Phase Segment 1 + Phase Segment 2)=20*TQ = N
Phase Segment 1 = 8TQ
Phase Segment 2 = 6Tq
Propagation Delay = 5Tq
Sync Segment = 1TQ


BRP_VAL = ( (FCAN / (2 * NTQ * BITRATE)) - 1 )

*/

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