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