淺談CAN總線的位定時(shí)參數(shù)
1.概述
本文引用地址:http://m.butianyuan.cn/article/201609/303537.htmCAN總線通信中,波特率、位周期內(nèi)采樣次數(shù)和采樣位置都可以通過編程設(shè)置,這些設(shè)置為用戶根據(jù)其應(yīng)用優(yōu)化網(wǎng)絡(luò)通信性能提供了方便。優(yōu)化位定時(shí)參數(shù),能夠保證信息同步、通信性能、傳輸延遲和晶振誤差在極端條件下進(jìn)行恰當(dāng)?shù)腻e(cuò)誤檢測(cè)。
然而系統(tǒng)的有些性能是相互沖突的,例如,在位周期末端部分選擇采樣點(diǎn)可以使傳播延遲有更大的容差,這時(shí)總線長(zhǎng)度可以更長(zhǎng);如果在位周期的中點(diǎn)附近選擇采樣點(diǎn),則系統(tǒng)的每個(gè)節(jié)點(diǎn)可以有更大的振蕩器容差??梢悦黠@地看出振蕩器容差和總線長(zhǎng)度是互相沖突的,它們只有通過優(yōu)化位定時(shí)參數(shù)才能兼?zhèn)洹?/p>
本文將通過一個(gè)CAN總線控制網(wǎng)絡(luò)介紹CAN總線位定時(shí)參數(shù)的基本概念和計(jì)算設(shè)置方法。該網(wǎng)絡(luò)采用AT89S52單片機(jī)、SJA1000 CAN控制器和PCA82C250總線收發(fā)器設(shè)計(jì),并應(yīng)用于樓宇自動(dòng)化控制系統(tǒng)中,獲得了良好的應(yīng)用效果。
2.CAN總線的位定時(shí)關(guān)系及相關(guān)概念
下面介紹的幾個(gè)概念中有些與具體的器件有關(guān),本網(wǎng)絡(luò)中使用的CAN總線控制器件是SJA1000,因此,有關(guān)概念也都是針對(duì)SJA1000而言的。
振蕩器時(shí)鐘周期tclk tclk是CAN總線控制器外掛晶振頻率的倒數(shù),它是CAN總線系統(tǒng)中的最小時(shí)間單位。
系統(tǒng)時(shí)鐘周期tSCL tSCL是系統(tǒng)將tSCL分頻后得到的一個(gè)時(shí)間值,它在時(shí)間上就是一個(gè)時(shí)間份額TQ,分頻數(shù)由SJA1000的波特率預(yù)設(shè)值(BRP)決定。tSCL可由下式來計(jì)算:tSCL=2×tclk×BRP (1)
位周期tBit位周期是一位數(shù)據(jù)在總線上的持續(xù)時(shí)間。使用Philips公司的獨(dú)立CAN控制器,一個(gè)位周期由3個(gè)部分組成:同步段( tSYNC_SEG)、相位緩沖段1(tTSEG1)和相位緩沖段2( tTseg2)。如下式所示:tBit=tSYNC_SEG+tTSEG1+tTSEG2 (2)
CAN位定時(shí)控制寄存器BTR0和BTR1 SJA1000的地址6(BTR0)和地址7(BTR1)是位定時(shí)控制寄存器。
BTR0的高兩位決定了同步跳轉(zhuǎn)寬度的大小,低六位決定波特率預(yù)設(shè)值; BTR1的最高位決定了總線采樣模式,低七位決定了TSEG1和TSEG2的大小。
評(píng)論