最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

can部分 6 stm32的can波特率配置

2023-02-14 07:38 作者:GXTon_阿通  | 我要投稿

?

can的波特率計(jì)算:

stm32的配置參數(shù)

其中

CAN_SJW_1tq是同步段,習(xí)慣上默認(rèn)配置成1.? 可以調(diào)節(jié)的節(jié)拍數(shù). (范圍1-4)

CAN_BS2_6tq是相位緩沖段2. (范圍1-8)

CAN_BS1_7tq是傳播段+相位緩沖段1. (范圍1-16)

3,這里是預(yù)分頻值. (范圍1-1024)

函數(shù)原型:




先按照波特率定義中的各個(gè)參數(shù),進(jìn)行計(jì)算:

計(jì)算出各個(gè)變量.

然后再選出最優(yōu)的變量組合.

然后再用選好的變量,推算出stm32的寄存器賦值.

第一個(gè)參數(shù):

Q,一個(gè)位切分成的份數(shù).(范圍 3-25?越大越好)

BRP是用于將APB的時(shí)鐘分頻到CAN時(shí)鐘.

BRP=APB/(Q*Baudrate) ,

根據(jù)上面公式

APB,已知=42M

Baudrate,已知=1000000Kbps=1M

那么,Q和BRP就可以計(jì)算出來(lái).

(這里會(huì)有很多組滿足條件的,然后Q范圍限制在3-25,且越大越好,所以選出最優(yōu)的一組)

(最終定下 Q=14 )

(最終定下?BRP=3)

舉例:?42M/(14*3)=1000Kbps=1M的波特率


Q的參數(shù)就是越大越好.

Q就是一個(gè)bit,一個(gè)位所被分成的節(jié)拍數(shù).

Q是總的節(jié)拍數(shù),要分給各個(gè)段.

Q=Tss+Tps+Tpbs1+Tpbs2=14

那么1M波特率就是1us傳輸1位數(shù)據(jù).

Q等于14,就是把1us分成了14份,每份約0.07142us? (次值就是時(shí)間節(jié)拍Tq).

然后,下面計(jì)算Tss,Tps,Tpbs1,Tpbs2各占多少份


第二個(gè)參數(shù):

Tss

按照習(xí)慣,通常占一拍.

即Tss=1


第三個(gè)參數(shù):

Tps

其物理意義是傳播段時(shí)間長(zhǎng)度.

信號(hào)在總線上來(lái)回傳輸所消耗的時(shí)間.

設(shè)一次單向傳輸?shù)难訒r(shí)為包括:

1.發(fā)送節(jié)點(diǎn)從生產(chǎn)信號(hào)到把信號(hào)發(fā)送到總線上,T1.

2.信號(hào)在總線上傳輸?shù)臅r(shí)間T2.

3.接收節(jié)點(diǎn)從總線獲取信號(hào)的時(shí)間T3.

因?yàn)槭莵?lái)回傳輸,所以要乘以2.

Tps>=2*(T1+T2+T3)


舉例:

Tps是由設(shè)備性能和總線長(zhǎng)度決定的.通常總線延時(shí)可按5.5ns/米計(jì).單個(gè)節(jié)點(diǎn)收

發(fā)延遲可按75ns計(jì).假如有線長(zhǎng)12m,則Tps=2*(12*5.5+75)=141ns.根據(jù)上一步的Q值

(想要的波特率和時(shí)鐘分頻得到),計(jì)算出節(jié)拍時(shí)間Tq?這個(gè)已知約0.07142us=71.42ns 在上面計(jì)算過(guò).

Tps=141/71.42=1.974約為2

即Tps=2


第四個(gè)參數(shù),第五個(gè)參數(shù)

Tpbs1,Tpbs2

根據(jù)Q值-1-Tps(Tss一般默認(rèn)為1),就得到Tpbs1和Tpbs2兩數(shù)之和,

Q-Tss-Tps=Tpbs1+Tpbs2

由于上面計(jì)算

Q已知=14

Tss已知=1

Tps已知=2

那么Tpbs1和Tpbs2就能計(jì)算出來(lái).

Tpbs1+Tpbs2=11

然后除以2,就得到了分別的值.如果是奇數(shù)則Tpbs2比Tpbs1多1個(gè).

Tpbs2=6

Tpbs1=5


至此,上面的所有參數(shù)都得到了.

然后,開(kāi)始根據(jù)上面的參數(shù),計(jì)算stm32的參數(shù).

根據(jù)表格:


1,stm32單片機(jī)中的第一個(gè)參數(shù):即:CAN_SJW_1tq

CAN_SJW_1tq 就是1


2,stm32單片機(jī)中的第二個(gè)參數(shù):即:CAN_BS2_6tq=6

Tpbs2是stm32單片機(jī)中的Ts2;

stm32_Ts2=Tpbs2=6


3,stm32單片機(jī)中的第三個(gè)參數(shù):即:CAN_BS1_7tq=7

Tps和Tpbs1相加構(gòu)成stm32單片機(jī)中的Ts1;

stm32_Ts1=Tps+Tpbs1=2+5=7


4,stm32單片機(jī)中的第四個(gè)參數(shù):3

BRP=3


總結(jié):

其實(shí),CAN的波特率實(shí)際是多個(gè)參數(shù)決定的.

這樣更加確定了采樣點(diǎn)的位置.

還可以通過(guò)一些軟件進(jìn)行配置波特率


can部分 6 stm32的can波特率配置的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
武汉市| 湄潭县| 菏泽市| 维西| 彭阳县| 宝鸡市| 黔江区| 济南市| 拜泉县| 西乌珠穆沁旗| 山丹县| 湖南省| 龙海市| 武邑县| 丁青县| 广德县| 民乐县| 沂南县| 行唐县| 修文县| 阿拉善右旗| 岚皋县| 林口县| 新津县| 通化市| 大邑县| 墨江| 桐庐县| 越西县| 宝坻区| 屏南县| 台北县| 安图县| 郑州市| 陇川县| 黔南| 齐河县| 白城市| 武冈市| 若尔盖县| 新密市|