(天津航海儀器研究所,天津 300131)
(天津航海儀器研究所,天津 300131)
TTCAN是時間觸發(fā)機制的,各節(jié)點間的精確時鐘同步是TTCAN系統(tǒng)正常工作的基礎和前提。針對TTCAN對時鐘同步的精確性要求,分析了TTCAN level 2級別時鐘抖動和突發(fā)錯誤對時鐘同步的影響,提出了時間濾波算法。該算法通過引入去噪濾波器完成對時鐘信號的提純,從理論上抑制了高頻時鐘抖動和突發(fā)錯誤對時鐘同步信號的影響。仿真結果表明,該算法在系統(tǒng)正常工作時能夠濾除84%的由于時鐘抖動導致的噪聲;在工作穩(wěn)定后發(fā)生突發(fā)錯誤發(fā)生時,能夠濾除突發(fā)錯誤引發(fā)的94%的噪聲干擾,可見提出的算法可以有效提高TTCAN時鐘同步的精度。
時間濾波;時鐘同步;TTCAN;突發(fā)錯誤
在導航系統(tǒng)中,為了解決傳統(tǒng)的CAN(Controller Area Network)總線時延不可控的問題,提出了TTCAN(Time-triggered CAN)。在TTCAN網絡中,所有節(jié)點的觸發(fā)時間和持續(xù)時間都是確定的,依據系統(tǒng)矩陣進行調度,所有節(jié)點的活動按照既定時間依次觸發(fā)。由此可見,TTCAN中嚴格的時鐘同步是TTCAN網絡正常工作的基本條件。
目前對TTCAN的研究主要集中于時延和調度算法上。文獻[1]給出了TTCAN仲裁窗的時延模型,對比分析了其與CAN時延特性。文獻[2]采用字母編碼方式的遺傳算法優(yōu)化系統(tǒng)矩陣改善了TTCAN仲裁窗中非周期信號的實時性。文獻[3-7]分別研究不同應用環(huán)境下,TTCAN系統(tǒng)矩陣的設計:文獻[3-4]研究了靜態(tài)系統(tǒng)矩陣設計;文獻[5-6]研究了動態(tài)系統(tǒng)矩陣設計;文獻[7]研究了適用于不同場景的系統(tǒng)矩陣設計。當前文獻對于TTCAN時鐘同步精度的控制和算法機制尚疏于研究。這里將研究點定位于同步時鐘的精度控制上,通過在時鐘信號模型中引入去噪濾波器,實現時鐘信號提純。由于TTCAN中設備的時鐘主頻不同,并且各個設備時鐘的機械特性和溫度敏感性也不一致,造成TTCAN中的各節(jié)點的時鐘是不同步的。TTCAN提供了兩種時鐘同步機制,Level 2級別時鐘同步具有更高的時鐘同步精度。本文基于Level 2級別時鐘同步信號模型展開。
1.1 理想情況下時鐘速率偏差模型
圖1給出了TTCAN中傳統(tǒng)的Level 2級別時鐘同步的原理圖,假設主從時鐘不含時鐘抖動。
時鐘主節(jié)點將自己的本地時間作為全局時間,并將其參考標志放在參考報文的數據字節(jié)中傳輸。每個TTCAN基本循環(huán)都包含有時鐘主節(jié)點發(fā)送的參考報文。從節(jié)點讀取相鄰兩個參考報文的參考標志獲得先前與當前基于時鐘主節(jié)點本地時間的實際觸發(fā)時刻tmp與 tm,二者的差值即為基于時鐘主節(jié)點本地時間計算的系統(tǒng)周期時間。對于某從節(jié)點來說,它同時也在基于自己的本地時間計算 TTCAN網絡的周期時間。從節(jié)點通過同步時間標志記錄其先前與當前觸發(fā)時刻的本地時間 tsubp和 tsub,二者的差值即為基于從節(jié)點本地時間計算的系統(tǒng)周期時間。
圖1 傳統(tǒng)時鐘同步方式Fig.1 Traditional clock synchronization
理論上,時鐘主節(jié)點計算的系統(tǒng)周期時間與從節(jié)點計算的周期時間應該一致,然而在網絡開始運行時,主從節(jié)點的時鐘是不同步的,他們之間存在一定的偏差。通過二者計算的系統(tǒng)周期時間的商即可以求出二者的時鐘速率偏差 df:
用該時鐘速率偏差乘以從節(jié)點先前的單位時間比率(TUR:Time Unit Ratio)即獲得修正后的當前TUR:
式中:TUR表示從節(jié)點當前TUR值,TURp表示從節(jié)點先前TUR值。
從節(jié)點的TUR與本地振蕩時鐘tsys相乘得到從節(jié)點的網絡時間單元(NTU:Network Time Unit):
式中:NTU表示網絡時間單元的值。在Level 2中,本地時間計數器由一個16位整數值和擴展的N位小數值(最少3位)組成,每經過一個NTU計數器增加2N,也就是說計數器每隔2-N個網絡時間單元進行加1操作。本地時間為NTU的累加值??梢娡ㄟ^對從節(jié)點 TUR的不斷校正能夠完成從節(jié)點與時鐘主節(jié)點的時鐘同步。
1.2 實際時鐘速率偏差模型
在實際中,主從節(jié)點的時鐘由于其機械特性,以及其受到溫度等的影響,不可避免存在一定的抖動,用 tm′p和 tm′表示存在時鐘抖動時時鐘主節(jié)點先前與當前實際觸發(fā)時刻,則:
式中:ηm為主節(jié)點的時鐘抖動引起的本地時間的抖動,它滿足均值為0,方差為 σm的正態(tài)分布。基于時鐘主節(jié)點本地時間計算的先前與當前觸發(fā)時刻的差值▽tm可以表示為:
式中,▽ ηm滿足均值為0,方差為 2σm的正態(tài)分布。▽ tm即為存在時鐘抖動時以時鐘主節(jié)點的本地時間為基準計算的TTCAN網絡一個周期時間。假設從節(jié)點存在時鐘抖動情況下先前與當前觸發(fā)時刻為與,則有:
式中: ηs為從節(jié)點的時鐘抖動引起的本地時間的抖動,它滿足均值為0,方差為 σs的正態(tài)分布?;趶墓?jié)點本地時間計算的先前與當前觸發(fā)時刻的差值 ▽ts可以表示為:
式中:▽ ηs滿足均值為0,方差為 2σs的正態(tài)分布。▽ ts即為存在時鐘抖動時以從節(jié)點的本地時間為基準計算的TTCAN網絡一個周期時間。從而得到存在時鐘抖動時實際的時鐘速率偏差:
對比式(1)和式(10)可知,實際的時鐘速率偏差受到主從節(jié)點抖動的影響。
從上面的分析可知,對TTCAN網絡的某個從節(jié)點來說,其全局時間受到主節(jié)點時鐘、主節(jié)點參考標志的傳輸以及從節(jié)點時鐘等多方因素的影響,時鐘抖動以及參考標志傳輸或解算的錯誤都會影響系統(tǒng)的時鐘同步。在傳統(tǒng)TTCAN網絡的時鐘同步中,沒有對這些因素進行優(yōu)化處理。
對于TTCAN系統(tǒng)來說,在無時鐘抖動情況下,主從節(jié)點的時鐘速率偏差應該是一個固定的值,也就是說其可以看作頻率為0的一個直流信號。存在時鐘抖動時的時鐘速率偏差應為這個固定值加上一個高頻的抖動分量。將式(10)重寫為:
式中:d表示時鐘速率偏差的直流部分,η表示時鐘速率偏差的交流部分。
假設主節(jié)點參考標志在傳輸中或從節(jié)點出解算錯誤,則式(11)可重寫為:
式中:δ表示反映在時鐘速率偏差上的突發(fā)錯誤。
圖2 時間濾波同步算法框圖Fig.2 Time filter synchronization algorithm
低通濾波器能夠通直流阻交流,具有抑制高頻信號的系統(tǒng)函數。高頻信號正是時鐘抖動和突發(fā)錯誤的主要成份。因此本文引入數字低通濾波器對時鐘速率偏差進行濾波,從而去除時鐘抖動分量,提純時鐘速率偏差,其原理如圖2所示。
對比圖1和圖2可知,它是在時鐘速率偏差的后面放置了一個低通濾波器。由于TTCAN是有線傳輸系統(tǒng),噪聲干擾相對較小,因此可以采用低階濾波器進行濾波。
本文采用一階差分濾波器,其濾波計算公式為:
從而對應的傳輸函數:
圖3給出了不同α時,濾波器的幅頻特性曲線。頻率為10 Hz的信號通過該濾波器能衰減60%。從圖3中還可以看出,濾波系數越小,濾波器的選擇性越好。
圖3 不同濾波系數時濾波器的幅度特性Fig.3 Amplitude performance of filters with different filter coefficients
用 h(n)表示濾波器的時域傳輸函數,則過濾波器后的時鐘速率偏差可以表示為:
由于η ( n)是高頻分量,因此η ( n) · h( n)近似為0,式(16)可以寫為:
從式(17)可以看出,經過濾波器,高頻的時鐘抖動部分被濾除了。對突發(fā)錯誤的濾波效果與突發(fā)錯誤出現的時刻有關。
從圖3可知,如果突發(fā)錯誤在時鐘同步穩(wěn)定前出現,會出現一定影響,它將導致初值變大,從而達到穩(wěn)定的時間較長;如果在系統(tǒng)穩(wěn)定后出現,則能被基本濾除。
圖4和圖5給出了不同濾波系數α時,輸入x(無突發(fā)錯誤)時的濾波器輸出結果。從圖 4~5中可以看出,跟蹤一段時間后,都能實現穩(wěn)定的跟蹤,濾波系數越大實現穩(wěn)定跟蹤所需的時間越短。此外還可以看出濾波系數越大,跟蹤結果與實際輸入值越接近,即跟蹤結果越靈敏;濾波系數越小,濾波結果的平穩(wěn)度越好。由于該系統(tǒng)中總是用上一次時鐘速率偏差估計之后的時鐘速率偏差,因此我們希望系統(tǒng)能夠盡快穩(wěn)定并且跟蹤結果相對平穩(wěn),所以這里我們選擇濾波系數為0.07。
圖4 不同濾波系數時輸出結果Fig.4 Output results with different filter coefficients
圖5 圖4放大結果Fig.5 Zooming out result of Fig.4
3.1 無突發(fā)錯誤時性能比對分析
假設主節(jié)點時鐘參考標志在傳輸過程中沒有出錯,那么從節(jié)點與主節(jié)點間的時鐘速率偏差主要是由主節(jié)點系統(tǒng)時鐘的抖動與從節(jié)點系統(tǒng)時鐘的抖動造成的。假設時鐘同步前,從節(jié)點默認的時鐘速率偏差為1。圖6給出了某從節(jié)點傳統(tǒng)時鐘同步方式與時間濾波同步方式的時鐘速率偏差跟蹤結果。
從圖6中可以看出,由于主從節(jié)點時鐘的抖動,使得時鐘速率偏差存在抖動。在TTCAN網絡中,當前的TUR是根據上一次時鐘速率偏差進行的預測,主從節(jié)點晶振抖動的方向是隨機的,很可能預測時鐘速率偏差的補償方向與當前時鐘抖動方向一致,即時鐘速率偏差的補償結果是加大了主從節(jié)點的時鐘速率差異。這就表明對時鐘速率偏差的估計精度與時鐘速率偏差的抖動直接相關。時鐘速率偏差的抖動越小,對時鐘速率偏差的估計越精確。時間濾波算法在經過大約40次的跟蹤后進入穩(wěn)定狀態(tài)。處于穩(wěn)定狀態(tài)時,濾波器輸出的時鐘速率偏差波動很小,幾乎可以看作一個穩(wěn)態(tài)輸出,也就說時間濾波算法的引入有效削弱了抖動誤差,提高了時鐘同步精度。
圖6 不同同步方式跟蹤的時鐘速率偏差Fig.6 Clock rate offset tracked by different synchronization methods
圖7給出了傳統(tǒng)時鐘同步方式與時間濾波時鐘同步方式的抖動誤差與本地時間抖動誤差的百分比,這里假設主從節(jié)點的時鐘抖動誤差相同,仿真結果為104個隨機仿真結果的平均。從圖7中可以看出,時鐘速率偏差的抖動誤差要小于本地時間的抖動誤差。傳統(tǒng)的時鐘同步方式的抖動誤差約為本地時間抖動誤差的44%,而采用時間濾波算法時鐘同步的抖動誤差約為本地時間抖動誤差的 7%。由此可知,采用時間濾波算法后,時鐘速率偏差的抖動誤差降為原來的16%,即去噪濾波器濾除了約84%的噪聲。由于TTCAN網絡的時鐘同步與時鐘速率偏差緊密相關,可知其時鐘同步的精度也得到了大大改善。
圖7 兩種時鐘同步的抖動誤差比較Fig.7 Comparison on jitters of two clock synchronization methods
3.2 有突發(fā)錯誤時性能比對分析
圖8給出了某從節(jié)點對時鐘參考標志突然變大時傳統(tǒng)時鐘同步方式與時間濾波算法對時鐘速率偏差的跟蹤結果。從圖8中可以看出,當有突發(fā)錯誤發(fā)生時,傳統(tǒng)時鐘同步方式時鐘速率偏差會隨著突然變大,這將導致 TUR的突變,最終影響從節(jié)點計算的全局時間。由于各個節(jié)點按照系統(tǒng)矩陣依據全局時間觸發(fā)發(fā)送和接收,因此將導致此節(jié)點在別的節(jié)點發(fā)送的時候觸發(fā)發(fā)送操作,造成發(fā)送碰撞,導致信息無法發(fā)送。在采用時間濾波算法后,經過濾波處理,突變的時鐘速率偏差被平滑,與實際的時鐘速率偏差相差很小。
圖8 時鐘速率偏差變大時兩種時鐘同步方式結果Fig.8 Results of two clock synchronization methods when clock rate offset suddenly becomes larger
圖9給出了兩種同步方式下,基于突變數據得到的時鐘速率偏差相對正確時鐘速率偏差的百分比,該數據是104個隨機過程的平均值。從圖9中可以看出,傳統(tǒng)時鐘同步方式中基于突變數據得到的時鐘速率偏差是真實時鐘速率偏差的1.84倍,這相當于真實的本地時間比基于突變數據得到的本地時間快近1倍,也就是說真實本地時間是基于突變數據得到的本地時間的兩倍,這將導致發(fā)生變化的各節(jié)點的本地時間落后于正常的本地時間,從而導致TTCAN網絡運行紊亂。而基于時間濾波算法得到的時鐘速率偏差大約是實際值的1.05倍,誤差是之前誤差的0.06倍,即濾除了約94%的噪聲,這個差異就比較小了。由于每個時間窗都有一定的保護時隙,只要大于這個保護時隙,TTCAN網絡依然能夠正常工作。
圖9 時鐘速率偏差變大時時鐘速率偏差變化Fig.9 Change of clock rate offset when lock rate offset suddenly becomes larger
圖 10給出了某從節(jié)點對時鐘參考標志突然變小時傳統(tǒng)時鐘同步方式與時間濾波算法對時鐘速率偏差的跟蹤結果。從圖10中可以看出,傳統(tǒng)時鐘同步方式的時鐘速率偏差隨之發(fā)生變小,而采用時間濾波算法的時鐘同步的跟蹤結果只是比正常值稍微小一點。這表明時間濾波算法對時鐘速率偏差突然變小也能進行平滑。
圖10 時鐘速率偏差變小時兩種時鐘同步方式結果Fig.10 Results of two clock synchronization methods when clock rate suddenly becomes smaller
從圖11可以看出,當時鐘速率偏差突然變小時,傳統(tǒng)的時鐘同步方式下計算的時鐘速率偏差為實際值的 9%,這個差異將導致時鐘的嚴重不同步。而采用時間濾波算法的時鐘同步方式計算的時鐘速率偏差為實際時鐘速率偏差的94%左右,這個差異也差不多是之前誤差的0.06倍,說明時間濾波算法對時鐘速率偏差偏小時也有很好的平滑效果。
圖11 時鐘速率偏差變小時時鐘速率偏差變化Fig.11 Change of clock rate offset when lock rate offset suddenly becomes smaller
本文從信號處理的角度,將TTCAN時鐘信號模型中的抖動和突發(fā)錯誤抽象等效為高頻噪聲模型,在TTCAN時鐘信號模型中引入低通去噪濾波器,從統(tǒng)計上削弱了時鐘噪聲的功率,提高了時鐘信號的精度,降低了突發(fā)噪聲對TTCAN整體性能的影響。
(References):
[1] 李佳,朱元,田光宇. CAN與TTCAN通信延遲時間的分析[J]. 清華大學學報(自然科學版),2006,46(2):261-265.
LI Jia, ZHU Yuan, TIAN Guang-yu, Response time analysis for CAN and TTCAN communications[J]. Journal of Tsinghua University (Science and Technology), 2006, 46(2): 261-265.
[2] 李運生,竇金生. TTCAN系統(tǒng)矩陣的優(yōu)化算法[J]. 自動化儀表,2012,33(6):8-11.
LI Yun-sheng, DOU Jin-sheng. Optimization algorithm of systemmatrix for TTCAN[J]. Process Automation Instrumentation, 2012, 33(6): 8-11.
[3] WANG Shu-ju, ZHANG Tian-xia, ZHANG Guo-sheng, YAO Li-quan. Scheduling design of automotive TTCAN control system based on average loading[C]//Proceeding of the 8th World Congress on Intelligent Control and Automation. 2010: 6772-6775.
[4] 孟祥,曹萬科,林程,周逢君. 獨立驅動電動汽車TTCAN調度策略與特性研究[J]. 北京理工大學學報,2011,31(6):662-665.
MENG Xiang, CAO Wan-ke, LIN Cheng, ZHOU Fengjun. Research on performance and scheduling strategy of TTCAN system for independent driving electric vehicle [J]. Transactions of Beijing Institute of Technology, 2011, 31(6): 662-665.
[5] XIAO Ti-liang, LI Xiao-bing, TAN Xiao-peng, ZHOU Xian. Real-time dynamic scheduling algorithm for TTCAN and it’s realization[C]//2010 3rdInternational Conference on Advanced Computer Theory and Engineering. 2010, Vol.2: 567-570.
[6] HU Meng-lan, LUO Jun, WANG Yang, et al. Holistic scheduling of real-time applications in time- triggered in-vehicle networks[J]. IEEE Transactions on Industrial Informatics, 2014, 10(3): 1817-1828.
[7] Schmidt K, Schmidt E. Systematic message schedule construction for time-triggered CAN[J]. IEEE Transactions on Vehicular Technology, 2009, 56(6): 3431-3441.
時間觸發(fā)控制器局域網時鐘同步算法
傅金琳,陳 偉,邵春水
Clock synchronization algorithm in time-triggered controller area network
FU Jin-lin, CHEN Wei, SHAO Chun-shui
(Tianjin Navigation Instruments Research Institute, Tianjin 300131, China)
Time-triggered controller area network(TTCAN) system can work normally only if all nodes are precise in clock synchronization. Based on the accuracy requirement of the clock synchronization in TTCAN, the influence of clock jitter and burst errors on TTCAN level-2 clock synchronization were analyzed, and a time filter algorithm was put forward. The clock signal is purified after passing through noise filter in the proposed algorithm. The influence of high-frequency clock jitter and burst errors on clock synchronization signal are eliminated theoretically. The simulation results demonstrate that the proposed algorithm can filter 84% noises caused by clock jitter when it works normally, and can filter 94% noises caused by burst errors when unexpected error occurs after it works steadily, showing that the proposed algorithm can effectively improve the accuracy of TTCAN clock synchronization.
time filter; clock synchronization; TTCAN; burst errors
1005-6734(2014)06-0805-05
10.13695/j.cnki.12-1222/o3.2014.06.019
U665
A
2014-07-25;
2014-10-08
船舶預研支撐技術基金項目(12J1.1.3)
傅金琳 (1984—),女,博士,高級工程師,研究方向為綜合導航技術。Email:linkimf@163.com