如何解決FlexRay時(shí)鐘同步的同向漂移
FlexRay規(guī)定,發(fā)同步幀的節(jié)點(diǎn)在屬于自己的slot上的相位誤差登記為0。假定節(jié)點(diǎn)間原來(lái)已處于接近同步的情況,對(duì)節(jié)點(diǎn)1而言,e11=0最小,e14最大,按算法它們將被丟棄,于是校正量將按(e12+ e13)/2計(jì)算:
當(dāng)節(jié)點(diǎn)初始相位比參考節(jié)點(diǎn)2、3的平均相位早時(shí),應(yīng)該推遲本節(jié)點(diǎn)下一cycle的開(kāi)始,實(shí)現(xiàn)負(fù)反饋。就應(yīng)有T1(1)= T1(0)-Corr1。為了分析問(wèn)題的需要,假定只作一部分校正,即:
其中系數(shù)c≤1,對(duì)FlexRay而言c=1。于是有:
推而廣之,將各節(jié)點(diǎn)的相位差寫(xiě)為向量,可以得到狀態(tài)方程:
對(duì)T1而言,系數(shù)a11=1-c,a12= c/2,a13= c/2,a14=0,B=-c,U1=120 ns。對(duì)節(jié)點(diǎn)2而言,它丟棄最大的e24和最小的e22,U2=80 ns。類(lèi)似可確定其他節(jié)點(diǎn)的系數(shù)。所以矩陣A有:
同時(shí)有B=-c和U=[120ns 80ns 80ns 120ns]T(6)
對(duì)A求取特征根得到:λ1=1,λ2= 1-c,λ3=λ4=1-1.5c。
然而在FlexRay中URT是一個(gè)系統(tǒng)性偏差,并不因一次校正而消失,因此按(4)式工作時(shí)時(shí)鐘差會(huì)不斷移動(dòng)。當(dāng)U不變時(shí)有:
令(7)式中的第二項(xiàng)為S,則有:
?。?)式右邊各項(xiàng)均為有限值,而因?yàn)锳的特征根有λ1=1,(I-A)是不可求逆的,所以S將含有不定值,所以隨著n的增加, T(n+1)是不斷漂移的。
5 漂移對(duì)系統(tǒng)的影響
漂移使通信時(shí)鐘離標(biāo)準(zhǔn)時(shí)鐘越來(lái)越遠(yuǎn),通信時(shí)鐘初始相位的負(fù)值代表它比標(biāo)準(zhǔn)時(shí)間延遲(如圖1所示)。在延遲超過(guò)1個(gè)cycle時(shí)就會(huì)使上次寫(xiě)入的幀還未發(fā)出就被覆蓋。以cycle=5 ms、100次校正漂9.3 μs計(jì),53763次校正會(huì)漂1個(gè)cycle,這就是說(shuō),8.96 min會(huì)產(chǎn)生一次丟幀。由于節(jié)點(diǎn)都是同步的,每個(gè)slot都會(huì)發(fā)生丟幀,如果每個(gè)cycle有91個(gè)靜態(tài)slot,那么意味著每8.96 min丟失91個(gè)幀--平均每6 s丟一幀。而且,如果host時(shí)鐘是偏快方向漂移,那么丟幀的頻度還要增大。
評(píng)論