如何解決FlexRay時(shí)鐘同步的同向漂移
幀的gdActionPointOffset是全局參數(shù),但是由于TSS截短的影響,同步幀接收節(jié)點(diǎn)見到的TSS的1/0跳變沿的時(shí)間與接收節(jié)點(diǎn)ActionPointOffset時(shí)間之差并不是節(jié)點(diǎn)的時(shí)鐘差,所以它用第一個(gè)BSS中的1/0跳變沿來(lái)倒推發(fā)送節(jié)點(diǎn)ActionPointOffset,如圖1所示。倒推是該時(shí)刻減去常數(shù)pDecodingCorrection和pDelayCompensation得到發(fā)送節(jié)點(diǎn)TSS的開始時(shí)刻。PDecodingCorrection內(nèi)含有TSS、FSS、BSS、總線濾波延遲和位采樣延遲各項(xiàng)。pDelayCompensation內(nèi)含有收發(fā)器延遲、星型耦合器延遲和電纜長(zhǎng)度的傳輸延遲。pDelayCompensation的數(shù)值取簇中的最小者。由此倒推出的發(fā)送節(jié)點(diǎn)的動(dòng)作點(diǎn)稱為primaryTRP,發(fā)送和接收的節(jié)的動(dòng)作點(diǎn)的時(shí)間偏差就被記錄下來(lái)。
接收節(jié)點(diǎn)對(duì)每一個(gè)同步幀都加記錄,該同步幀接收是否正確也記錄在案。只有接收正確的偏差才能用于校正計(jì)算之中。
FlexRay有相位與頻率的校正,為了頻率校正,需要連續(xù)2個(gè)cycle的同一同步節(jié)點(diǎn)所發(fā)的幀的偏差,所以校正是以2個(gè)cycle為周期進(jìn)行的。頻率校正的計(jì)算結(jié)果在每個(gè)奇數(shù)cycle內(nèi)完成,下一個(gè)cycle開始生效,在MT形成過程中實(shí)行,因此是均勻分布的。相位校正在奇數(shù)cycle的末尾完成,在該cycle的網(wǎng)絡(luò)空閑段實(shí)行。
4 FlexRay算法的問題
圖2 同步節(jié)點(diǎn)位置分布舉例
時(shí)鐘偏差推算是造成飄移的原因。圖2中有4個(gè)同步幀發(fā)送節(jié)點(diǎn)1~4,各相距8 m,節(jié)點(diǎn)5是普通非同步幀發(fā)送節(jié)點(diǎn)。按規(guī)定,pDelayCompensation是一個(gè)預(yù)定的常數(shù),該按最小值選取,對(duì)圖2的情況,就是節(jié)點(diǎn)5和節(jié)點(diǎn)2間的延遲,即接近為0。這樣,對(duì)實(shí)際發(fā)生的延遲是補(bǔ)償不足的。不足部分可寫為:
節(jié)點(diǎn)間的延遲,按每米10 ns計(jì),最大距離為24 m,那么此補(bǔ)償不足量有0.24 μs。
在圖1中,假定同步幀在cycle的第一個(gè)static slot,對(duì)static slot的開始時(shí)間有一個(gè)標(biāo)準(zhǔn)的參考點(diǎn),發(fā)送節(jié)點(diǎn)和接收節(jié)點(diǎn)各有相位差TT(0)和TR(0),此時(shí)接收節(jié)點(diǎn)得到的偏差將含有延遲補(bǔ)償不足的部分:
由于距離不同,接收節(jié)點(diǎn)得到的URT也是不同的。
評(píng)論