CAN通訊中使用的是同步數(shù)據(jù)傳輸,CAN控制器在其通訊過程中會不停出現(xiàn)位同步的操作,,但不同的數(shù)據(jù)通訊系統(tǒng)對位同步的要求是不同,,為了滿足其要求,我們必須更加深入的來探討另一個概念叫位定時段的規(guī)格,。
位定時段的規(guī)格是根據(jù)數(shù)據(jù)通信系統(tǒng)的需求而確定的,。如果要在特定位速率下實現(xiàn)最大的總線長度或者在給定總線長度的情況下實現(xiàn)最短的等待時間(最大位速率),那么用于重新同步的保留時間(相位緩沖段)必須保持最小,。當時間緩沖段設(shè)定為最小值時,,表示在一次重新同步當中只能校正|e|=1的相位誤差。因此對位同步的要求非常高,,要滿足這樣的要求只能使用精確的石英晶振(石英晶振的誤差通常小于0.1%.),。
圖 1 位定時段(位速率和總線長度乘積為最大值)的規(guī)格
圖 1所示為位定時段(位速率和總線長度乘積為最大值)的規(guī)格。這樣的要求主要應用于工業(yè)自動化系統(tǒng),。
如果對位速率和總線長度的要求不高,,那么位速率和總線長度的乘積也因此降低,而用于重新同步的時間緩沖段則可延長,。這樣根據(jù)最大可能的同步跳轉(zhuǎn)寬度,,在一次重新同步中可校正|e|=4的相位誤差。因此可以使用較為經(jīng)濟的陶瓷振蕩器,。圖 2所示為適用于汽車電子中最大振蕩器誤差的位定時規(guī)格,。
圖 2 位定時段的規(guī)格(適用于最大振蕩器誤差)
通常位定時的規(guī)格首先通過所需要的位速率來確定,。位時間必須為系統(tǒng)時鐘周期的整數(shù)倍。位時間tbit=n×tq(n=4..25,,tq為時間量),。確定位定時參數(shù)的一種方法是首先確定傳輸段的長度,因此必須考慮到最大的總線長度和最大內(nèi)部延遲時間,。將往返的延遲時間轉(zhuǎn)換成對應時間量的數(shù)目并取四舍五入為tq的整數(shù)倍,。由于同步段的長度為1個tq。那么剩下兩個相位緩沖段的長度為(tbit-tprog_seg-tq),。如果剩余時間單位的個數(shù)m=(tbit-tprog_seg-tq)/tq為偶數(shù),,則兩個緩沖段的長度相同,如果是奇數(shù),,tphase-seq2=tphase_seq1+tq,。
還必須注意Phase_Seg2的最小標稱長度。由于該段不能短于CAN控制器的數(shù)據(jù)處理時間(該時間取決于實現(xiàn)方式的不同,,介于0到2 tq之間),。同步跳轉(zhuǎn)寬度(SJW)設(shè)置為它的最大值Min{4, tphase_Seg1/tq}。
振蕩器的允許誤差根據(jù)下方兩條公式進行確定,。
公式一:
df ≤ tSJW / (20×tBit)
式中: tBit 標稱位時間
tSJW 重新同步跳轉(zhuǎn)寬度
公式二:
df ≤ min{ t Phase_seg1, t Phase_seg2} / (2×( 13×tBit-t Phase_seg2))
式中: t Phase_seg2 相位緩沖段1的時間
t Phase_seg2 相位緩沖段1的時間
tBit 標稱位時間