CAN波特率計算公式


/* ~~~~~~~~~~~~~~波特率計算公式~~~~~~~~~~~~~~~~

fbus = 32M 總線時鍾

#時間段:

時間段1:CAN_BS1
時間段2:CAN_BS2


#Tq時鍾周期(時間段):

時間段1:CAN_BS1 = CAN0BTR1_TSEG[10:13]的十進制數值 + 1 注釋 CAN0BTR1_TSEG[10:13] = ( 0 ~ 15 ) , CAN_BS1 = ( 1 ~ 16 )

時間段2:CAN_BS2 = CAN0BTR1_TSEG[20:22]的十進制數值 + 1 注釋 CAN0BTR1_TSEG[20:22] = ( 0 ~ 7 ) , CAN_BS1 = ( 1 ~ 8 )

#注釋 : CAN0BTR1_TSEG[10:13]表示對應幾個位轉換的十進制數值,再加上1才表示時間段

#注釋 : CAN0BTR1_TSEG[20:22]表示對應幾個位轉換的十進制數值,再加上1才表示時間段


#波特率分頻器值計算(BRP):

BRP = CAN0BTR0_BRP[5:0] + 1 注釋 CAN0BTR0_BRP[5:0]= ( 0 ~ 63 ) BRP = ( 1 ~ 64 )

#注釋 : CAN0BTR0_BRP[5:0]表示對應幾個位轉換的十進制數值,再加上1才表示波特率分頻器值

#波特率計算公式:

波特率 = 時鍾(總線時鍾/外設時鍾) / (波特率分頻器值)*(時間段1 + 時間段2 + 1)

CANbps = fbus / ( (CAN0BTR0_BRP[5:0]的十進制數值 + 1) * (CAN0BTR1_TSEG[10:13]的十進制數值 + 1 + CAN0BTR1_TSEG[20:22]的十進制數值 + 1) )

CANbps = fbus / ( (BRP) * (CAN_BS1 + CAN_BS2 + 1) )

*/

 

 


免責聲明!

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



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