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īng)用于工業(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)換成對應(yīng)時間量的數(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 標稱位時間