- 相關(guān)推薦
CAN總線位定時參數(shù)的確定
摘要:CAN通信中,波特率、位周期內(nèi)取樣點(diǎn)數(shù)和位置可以編程設(shè)置,這些設(shè)置為用戶根據(jù)其應(yīng)用優(yōu)化網(wǎng)絡(luò)通信性能提供了方便。優(yōu)化位定時參數(shù),能夠保證信息同步,保證傳輸延遲和時鐘誤差在極端條件下進(jìn)行恰當(dāng)?shù)腻e誤檢測。本文說明位定時參數(shù)的確定方法。引言
CAN總線是一種有效支持分布式控制和實(shí)時控制的、多主的異步串行通信網(wǎng)絡(luò)。由于CAN總線具有較強(qiáng)的糾錯能力,支持差分收發(fā),適合高噪聲環(huán)境,具有較遠(yuǎn)的傳輸距離,并且Philips和Intel等半導(dǎo)體公司都有支持CAN通信協(xié)議的集成器件。CAN總線已經(jīng)在各個領(lǐng)域中得到了廣泛應(yīng)用。
在CAN通信協(xié)議中規(guī)定,通信波特率、每個位周期的取樣位置和個數(shù),都可以自行設(shè)定。這樣的設(shè)計理念,為用戶在自己的應(yīng)用中,優(yōu)化網(wǎng)絡(luò)通訊性能提供了空間。為了通過設(shè)定位定時參數(shù)來優(yōu)化網(wǎng)絡(luò)通信性能,必須清楚位定時參數(shù)與參考時鐘誤差和系統(tǒng)內(nèi)信號延遲的關(guān)系。如果位周期內(nèi)的取樣位置偏后,將能夠容忍較大的信號傳輸延遲,相應(yīng)的,總線傳輸距離可以延長;而如果周期內(nèi)的取樣位置接近中間,則可以容忍系統(tǒng)的節(jié)點(diǎn)間的參考時鐘誤差。但這顯然是矛盾的,為了協(xié)調(diào)這種矛盾,必須對位定時參數(shù)進(jìn)行優(yōu)化位置。
圖1 位周期結(jié)構(gòu)圖
通過對CAN總線位定時參數(shù)進(jìn)行研究,找到矛盾的關(guān)鍵所在,就能夠?qū)ζ溥M(jìn)行優(yōu)化,從而提高通信系統(tǒng)的整體性能。下面以Philips公司的獨(dú)立通信控制器SJA1000為例,進(jìn)行研究。
1 相關(guān)定義
1.1 位周期的組成
波特率(fbit)是指單位時間內(nèi)所傳輸?shù)臄?shù)據(jù)位的數(shù)量,一般取單位時間為1s。波特率由通信線上傳輸?shù)囊粋數(shù)據(jù)位周期的長度(Tbit)決定,如下式所示。
Fbit=1/Tbit (1)
根據(jù)Philips公司的獨(dú)立通信控制器,一個位周期由3個部分組成:同步段(tSYNC_SEG)、相位緩沖段1(tTSEG1)和相位緩沖段2(tTSEG2)。
Tbit=tSYNC_SEG tTSEG1 tTSEG2 (2)
所有這些時間段,都有一個共同的時間單元——系統(tǒng)時鐘周期(TSCL)。具體到SJA1000,TSCL由總線時序寄存器的值來確定。SJA1000有2個總線時序寄存器,即總線時序寄存器0(BTR0)和總線時序寄存器1(BTR1)。這2個寄存器有自己不同的功能定義,共同作用決定總線的通信波特率。
總線時序寄存器0 定義波特率預(yù)設(shè)值BRP(共6位,取值區(qū)間[1,64]和同步跳轉(zhuǎn)寬度SJW(共2位,取值區(qū)間[1,4])的值。位功能說明如表1所列。
表1
CAN的系統(tǒng)時鐘周期TSCL,可以由BRP的數(shù)值為決定,計算公式如下:
TSCL=2TCLK×BRP=2TCLK×(32BRP.5 16BRP.4
8BRP.3 4BRP.2 2BRP.1 1BRP.0 1) (3)
其中TCLK為參考時間的周期。
TCLK=1/fCLK (4)
為了補(bǔ)償不同總線控制器的時鐘振蕩器之間的相位偏移,任何總線控制器必須在當(dāng)前傳送的相關(guān)信號邊沿重新同步。同步跳轉(zhuǎn)寬度定義了每一位周期可以被重新同步縮短或延長的時鐘周期的最大數(shù)目。
tSJW=TSCL×(2×SJW.1 1×SJW.0 1) (5)
總線時序寄存器1 定義每個位周期長度采樣點(diǎn)的位置和在每個采樣點(diǎn)的采樣數(shù)目。位功能說明如表2所列,其中SAM意義見表3。
表2
表3
位值功 能SAM0三倍:總線采樣三次:建議在中/低速總線(A和B級)使用,有處于過濾總線上毛刺1單倍:總線采樣一次;建議使用在高速總線上(SAEC級)TSEG1(共4位,取值區(qū)間[1,16])和TSEG2(共3位,取值區(qū)間[1,8])決定了每一位時鐘數(shù)目和采樣點(diǎn)的位置。這里
tSYNC_SEG=1×TSCL(此時間段固定) (6)
tTSEG1=TSCL×(8×TSEG1.3 4×TSEG1.2 2×TSEG1.1 1×TESG1.0 1) (7)
tTSEG2=TSCL×(4×TSEG2.2 2×TSEG2.1 1×TESG2.0 1) (8)
位周期的標(biāo)量值(NBT)定義為,SYNC_SEG(同步段系統(tǒng)時鐘周期數(shù))、TSEG1(相位緩沖段1系統(tǒng)時鐘周期數(shù))、TSEG2(相位緩沖段2系統(tǒng)時鐘周期數(shù))之和。這決定了它的取值區(qū)間為[3,25],在1個取樣點(diǎn)時,最小值一般取4;在3個取樣點(diǎn)時,最小值一般取5。
NBT=Tbit/TSCL=SYNC_SEG TSEG1 TSEG2 (9)
位周期的一般結(jié)構(gòu)如圖1所示。
1.2 參考時鐘誤差
在系統(tǒng)中,每一個節(jié)點(diǎn)都有自己獨(dú)立的參考時鐘。由于制造工藝、運(yùn)行時間及環(huán)境溫度的變化,這些時鐘的實(shí)際頻率往往偏離預(yù)期的頻率值。我們稱這種偏差為參考時鐘誤差(Δf)。FCLK,max/min表示參考時鐘頻率的最大值或最小值,fCLK,rat表示參考時鐘頻率的額定值。
相應(yīng)的系統(tǒng)時鐘周期也會有誤差。TSCL,min表示系統(tǒng)時鐘周期最小值,TSCL,max表示系統(tǒng)時鐘周期最大值,TSCL,rat表示系統(tǒng)時鐘周期額定值。由于Δf
【CAN總線位定時參數(shù)的確定】相關(guān)文章:
CAN總線中位定時的設(shè)定方法03-18
CAN總線控制器與DSP的接口03-07
光纖CAN總線自愈環(huán)網(wǎng)的研究01-09
CAN總線在樓宇監(jiān)控系統(tǒng)中的應(yīng)用03-07
基于PCI總線的CAN卡的設(shè)計與實(shí)現(xiàn)03-18
基于CAN總線的對等式火災(zāi)報警系統(tǒng)03-18