本文介紹
SWM系列關于UART/CAN/PLL等時鐘相關模塊,計算波特率的方法。
01
UART波特率的計算
SWM181系列
SWM260系列
SWM320系列
計算公式:
目標波特率= 系統主時鐘 ÷ (16 * (BAUD + 1))
UART通訊波特率初始化:
BAUD的取值為整數為佳。如小數位大于5,串口數據包越大引起的累積誤差會隨之增大。
SWM190系列
SWM341系列
SWM201系列
計算公式:
目標波特率=
系統主時鐘 ÷ (BAUD.BAUD x16 +BAUD.FRAC + 1)
UART通訊波特率初始化:
可通過 BAUD 寄存器 FRAC 位進行波特率微調,使波特率的誤差在 5%以內,提高波特率精度。
02
CAN波特率的計算
SWM181系列
SWM320系列
SWM341系列
具有CAN通訊模塊
計算公式:
BRP =
系統時鐘÷2÷目標波特率÷(1+(BS1+1)+(BS2+1)) -1
CAN通訊波特率初始化:
注意
BRP的值要為整數。BS1、BS2的配置值要使得BRP值為整數。
1
確定目標波特率
2
確定系統時鐘
3
TEMP為中間值,TEMP = 系統時鐘÷2÷目標波特率。
4
SWM181系列、SWM320系列輸入BRP的值,取值范圍為0 ~ 31。
SWM341系列輸入BRP,取值范圍在0~1023。
5
輸入BS1的值,取值范圍為0 ~ 15。
6
B2的值會根據TEMP、BRP、BS1的值進行計算。取值范圍為 0 ~ 7。
7
BS1、BS2的值不宜過小。就是采樣點設置最好在后半段,即(1+bs1)/(1+bs1+bs2)推薦70%~90%。
8
CAN 初始化配置中SJW的取值建議,SJW小于PBS1和PBS2的最小值,最大值不超過4。
03
PLL時鐘的計算
SWM181系列
SWM320系列
SWM341系列
具有CAN通訊模塊
PLL輸出頻率 =
PLL輸入時鐘 ÷ INDIV x 4 x FBDIV ÷ OUTDIV =
VCO輸出頻率 ÷ OUTDIV
注意
SWM320 -- VCO輸出頻率需要在 [600MHz, 1200MHz] 之間。
SWM320的系統時鐘不能超過120Mhz。
SWM341 -- VCO輸出頻率需要在 [600MHz, 1400MHz] 之間。
SWM341的系統時鐘不能超過150Mhz。
SWM190系列、SWM260系列,VCO輸出頻率需要在 [300MHz, 600MHz] 之間。
SWM190、SWM260的系統時鐘不能超過60Mhz
1
確定PLL輸入時鐘。可以是內部RC振蕩,也可以是外部晶振
2
確定目標系統時鐘
3
確定PLL_IN_DIV,一般設置為6,或是可以被PLL輸入時鐘源整除的數,取值范圍1 ~ 31
4
確定PLL_IN_DIV,需手動輸入,一般取值為5或10的倍數,取值范圍1 ~ 511
5
自動計算VCO的頻率,根據公式自動計算,確定必須在要求范圍內。
6
PLL_OUT_DIV值會自動計算,取值必須是2,或4,或8,一般取值為8
7
系統時鐘計算值,是用于與目標系統時鐘進行比較,便于調整PLL_IN_DIV、PLL_FB_DIV、PLL_OUT_DIV。
SYNWIT MCU UART波特率、CAN波特、PLL系統時鐘計算應用工具,有助于應用過程中提高對波特率、系統時鐘的理解,和取值設置。工具文件可以通過百度網盤進行下載應用參考。如下:
鏈接:
https://pan.baidu.com/s/1atLWlk1_SUR8WjISr-Bfpw
提取碼:byv2
文件名:
CAN_UART_波特率&PLL時鐘計算_20220314.xlsx。(存放位置在“其它公用資料”)
原文標題:SYNWIT MCU 時鐘計算應用工具
文章出處:【微信公眾號:華芯微特32位MCU】歡迎添加關注!文章轉載請注明出處。
-
CAN
+關注
關注
57文章
2663瀏覽量
462450 -
計算
+關注
關注
2文章
437瀏覽量
38605 -
uart
+關注
關注
22文章
1199瀏覽量
100829 -
波特率
+關注
關注
2文章
290瀏覽量
33926
原文標題:SYNWIT MCU 時鐘計算應用工具
文章出處:【微信號:gh_ed4f95bde4df,微信公眾號:華芯微特32位MCU】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論