APP下载

时间触发控制器局域网时钟同步算法

2014-10-21天津航海仪器研究所天津300131

中国惯性技术学报 2014年6期
关键词:时钟滤波器偏差

(天津航海仪器研究所,天津 300131)

(天津航海仪器研究所,天津 300131)

TTCAN是时间触发机制的,各节点间的精确时钟同步是TTCAN系统正常工作的基础和前提。针对TTCAN对时钟同步的精确性要求,分析了TTCAN level 2级别时钟抖动和突发错误对时钟同步的影响,提出了时间滤波算法。该算法通过引入去噪滤波器完成对时钟信号的提纯,从理论上抑制了高频时钟抖动和突发错误对时钟同步信号的影响。仿真结果表明,该算法在系统正常工作时能够滤除84%的由于时钟抖动导致的噪声;在工作稳定后发生突发错误发生时,能够滤除突发错误引发的94%的噪声干扰,可见提出的算法可以有效提高TTCAN时钟同步的精度。

时间滤波;时钟同步;TTCAN;突发错误

在导航系统中,为了解决传统的CAN(Controller Area Network)总线时延不可控的问题,提出了TTCAN(Time-triggered CAN)。在TTCAN网络中,所有节点的触发时间和持续时间都是确定的,依据系统矩阵进行调度,所有节点的活动按照既定时间依次触发。由此可见,TTCAN中严格的时钟同步是TTCAN网络正常工作的基本条件。

目前对TTCAN的研究主要集中于时延和调度算法上。文献[1]给出了TTCAN仲裁窗的时延模型,对比分析了其与CAN时延特性。文献[2]采用字母编码方式的遗传算法优化系统矩阵改善了TTCAN仲裁窗中非周期信号的实时性。文献[3-7]分别研究不同应用环境下,TTCAN系统矩阵的设计:文献[3-4]研究了静态系统矩阵设计;文献[5-6]研究了动态系统矩阵设计;文献[7]研究了适用于不同场景的系统矩阵设计。当前文献对于TTCAN时钟同步精度的控制和算法机制尚疏于研究。这里将研究点定位于同步时钟的精度控制上,通过在时钟信号模型中引入去噪滤波器,实现时钟信号提纯。由于TTCAN中设备的时钟主频不同,并且各个设备时钟的机械特性和温度敏感性也不一致,造成TTCAN中的各节点的时钟是不同步的。TTCAN提供了两种时钟同步机制,Level 2级别时钟同步具有更高的时钟同步精度。本文基于Level 2级别时钟同步信号模型展开。

1 TTCAN网络 Level 2级别时钟同步信号模型

1.1 理想情况下时钟速率偏差模型

图1给出了TTCAN中传统的Level 2级别时钟同步的原理图,假设主从时钟不含时钟抖动。

时钟主节点将自己的本地时间作为全局时间,并将其参考标志放在参考报文的数据字节中传输。每个TTCAN基本循环都包含有时钟主节点发送的参考报文。从节点读取相邻两个参考报文的参考标志获得先前与当前基于时钟主节点本地时间的实际触发时刻tmp与 tm,二者的差值即为基于时钟主节点本地时间计算的系统周期时间。对于某从节点来说,它同时也在基于自己的本地时间计算 TTCAN网络的周期时间。从节点通过同步时间标志记录其先前与当前触发时刻的本地时间 tsubp和 tsub,二者的差值即为基于从节点本地时间计算的系统周期时间。

图1 传统时钟同步方式Fig.1 Traditional clock synchronization

理论上,时钟主节点计算的系统周期时间与从节点计算的周期时间应该一致,然而在网络开始运行时,主从节点的时钟是不同步的,他们之间存在一定的偏差。通过二者计算的系统周期时间的商即可以求出二者的时钟速率偏差 df:

用该时钟速率偏差乘以从节点先前的单位时间比率(TUR:Time Unit Ratio)即获得修正后的当前TUR:

式中:TUR表示从节点当前TUR值,TURp表示从节点先前TUR值。

从节点的TUR与本地振荡时钟tsys相乘得到从节点的网络时间单元(NTU:Network Time Unit):

式中:NTU表示网络时间单元的值。在Level 2中,本地时间计数器由一个16位整数值和扩展的N位小数值(最少3位)组成,每经过一个NTU计数器增加2N,也就是说计数器每隔2-N个网络时间单元进行加1操作。本地时间为NTU的累加值。可见通过对从节点 TUR的不断校正能够完成从节点与时钟主节点的时钟同步。

1.2 实际时钟速率偏差模型

在实际中,主从节点的时钟由于其机械特性,以及其受到温度等的影响,不可避免存在一定的抖动,用 tm′p和 tm′表示存在时钟抖动时时钟主节点先前与当前实际触发时刻,则:

式中:ηm为主节点的时钟抖动引起的本地时间的抖动,它满足均值为0,方差为 σm的正态分布。基于时钟主节点本地时间计算的先前与当前触发时刻的差值▽tm可以表示为:

式中,▽ ηm满足均值为0,方差为 2σm的正态分布。▽ tm即为存在时钟抖动时以时钟主节点的本地时间为基准计算的TTCAN网络一个周期时间。假设从节点存在时钟抖动情况下先前与当前触发时刻为与,则有:

式中: ηs为从节点的时钟抖动引起的本地时间的抖动,它满足均值为0,方差为 σs的正态分布。基于从节点本地时间计算的先前与当前触发时刻的差值 ▽ts可以表示为:

式中:▽ ηs满足均值为0,方差为 2σs的正态分布。▽ ts即为存在时钟抖动时以从节点的本地时间为基准计算的TTCAN网络一个周期时间。从而得到存在时钟抖动时实际的时钟速率偏差:

对比式(1)和式(10)可知,实际的时钟速率偏差受到主从节点抖动的影响。

2 时间滤波同步算法原理

从上面的分析可知,对TTCAN网络的某个从节点来说,其全局时间受到主节点时钟、主节点参考标志的传输以及从节点时钟等多方因素的影响,时钟抖动以及参考标志传输或解算的错误都会影响系统的时钟同步。在传统TTCAN网络的时钟同步中,没有对这些因素进行优化处理。

对于TTCAN系统来说,在无时钟抖动情况下,主从节点的时钟速率偏差应该是一个固定的值,也就是说其可以看作频率为0的一个直流信号。存在时钟抖动时的时钟速率偏差应为这个固定值加上一个高频的抖动分量。将式(10)重写为:

式中:d表示时钟速率偏差的直流部分,η表示时钟速率偏差的交流部分。

假设主节点参考标志在传输中或从节点出解算错误,则式(11)可重写为:

式中:δ表示反映在时钟速率偏差上的突发错误。

图2 时间滤波同步算法框图Fig.2 Time filter synchronization algorithm

低通滤波器能够通直流阻交流,具有抑制高频信号的系统函数。高频信号正是时钟抖动和突发错误的主要成份。因此本文引入数字低通滤波器对时钟速率偏差进行滤波,从而去除时钟抖动分量,提纯时钟速率偏差,其原理如图2所示。

对比图1和图2可知,它是在时钟速率偏差的后面放置了一个低通滤波器。由于TTCAN是有线传输系统,噪声干扰相对较小,因此可以采用低阶滤波器进行滤波。

本文采用一阶差分滤波器,其滤波计算公式为:

从而对应的传输函数:

图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)可以看出,经过滤波器,高频的时钟抖动部分被滤除了。对突发错误的滤波效果与突发错误出现的时刻有关。

从图3可知,如果突发错误在时钟同步稳定前出现,会出现一定影响,它将导致初值变大,从而达到稳定的时间较长;如果在系统稳定后出现,则能被基本滤除。

图4和图5给出了不同滤波系数α时,输入x(无突发错误)时的滤波器输出结果。从图 4~5中可以看出,跟踪一段时间后,都能实现稳定的跟踪,滤波系数越大实现稳定跟踪所需的时间越短。此外还可以看出滤波系数越大,跟踪结果与实际输入值越接近,即跟踪结果越灵敏;滤波系数越小,滤波结果的平稳度越好。由于该系统中总是用上一次时钟速率偏差估计之后的时钟速率偏差,因此我们希望系统能够尽快稳定并且跟踪结果相对平稳,所以这里我们选择滤波系数为0.07。

图4 不同滤波系数时输出结果Fig.4 Output results with different filter coefficients

图5 图4放大结果Fig.5 Zooming out result of Fig.4

3 算法效果验证与性能对比

3.1 无突发错误时性能比对分析

假设主节点时钟参考标志在传输过程中没有出错,那么从节点与主节点间的时钟速率偏差主要是由主节点系统时钟的抖动与从节点系统时钟的抖动造成的。假设时钟同步前,从节点默认的时钟速率偏差为1。图6给出了某从节点传统时钟同步方式与时间滤波同步方式的时钟速率偏差跟踪结果。

从图6中可以看出,由于主从节点时钟的抖动,使得时钟速率偏差存在抖动。在TTCAN网络中,当前的TUR是根据上一次时钟速率偏差进行的预测,主从节点晶振抖动的方向是随机的,很可能预测时钟速率偏差的补偿方向与当前时钟抖动方向一致,即时钟速率偏差的补偿结果是加大了主从节点的时钟速率差异。这就表明对时钟速率偏差的估计精度与时钟速率偏差的抖动直接相关。时钟速率偏差的抖动越小,对时钟速率偏差的估计越精确。时间滤波算法在经过大约40次的跟踪后进入稳定状态。处于稳定状态时,滤波器输出的时钟速率偏差波动很小,几乎可以看作一个稳态输出,也就说时间滤波算法的引入有效削弱了抖动误差,提高了时钟同步精度。

图6 不同同步方式跟踪的时钟速率偏差Fig.6 Clock rate offset tracked by different synchronization methods

图7给出了传统时钟同步方式与时间滤波时钟同步方式的抖动误差与本地时间抖动误差的百分比,这里假设主从节点的时钟抖动误差相同,仿真结果为104个随机仿真结果的平均。从图7中可以看出,时钟速率偏差的抖动误差要小于本地时间的抖动误差。传统的时钟同步方式的抖动误差约为本地时间抖动误差的44%,而采用时间滤波算法时钟同步的抖动误差约为本地时间抖动误差的 7%。由此可知,采用时间滤波算法后,时钟速率偏差的抖动误差降为原来的16%,即去噪滤波器滤除了约84%的噪声。由于TTCAN网络的时钟同步与时钟速率偏差紧密相关,可知其时钟同步的精度也得到了大大改善。

图7 两种时钟同步的抖动误差比较Fig.7 Comparison on jitters of two clock synchronization methods

3.2 有突发错误时性能比对分析

图8给出了某从节点对时钟参考标志突然变大时传统时钟同步方式与时间滤波算法对时钟速率偏差的跟踪结果。从图8中可以看出,当有突发错误发生时,传统时钟同步方式时钟速率偏差会随着突然变大,这将导致 TUR的突变,最终影响从节点计算的全局时间。由于各个节点按照系统矩阵依据全局时间触发发送和接收,因此将导致此节点在别的节点发送的时候触发发送操作,造成发送碰撞,导致信息无法发送。在采用时间滤波算法后,经过滤波处理,突变的时钟速率偏差被平滑,与实际的时钟速率偏差相差很小。

图8 时钟速率偏差变大时两种时钟同步方式结果Fig.8 Results of two clock synchronization methods when clock rate offset suddenly becomes larger

图9给出了两种同步方式下,基于突变数据得到的时钟速率偏差相对正确时钟速率偏差的百分比,该数据是104个随机过程的平均值。从图9中可以看出,传统时钟同步方式中基于突变数据得到的时钟速率偏差是真实时钟速率偏差的1.84倍,这相当于真实的本地时间比基于突变数据得到的本地时间快近1倍,也就是说真实本地时间是基于突变数据得到的本地时间的两倍,这将导致发生变化的各节点的本地时间落后于正常的本地时间,从而导致TTCAN网络运行紊乱。而基于时间滤波算法得到的时钟速率偏差大约是实际值的1.05倍,误差是之前误差的0.06倍,即滤除了约94%的噪声,这个差异就比较小了。由于每个时间窗都有一定的保护时隙,只要大于这个保护时隙,TTCAN网络依然能够正常工作。

图9 时钟速率偏差变大时时钟速率偏差变化Fig.9 Change of clock rate offset when lock rate offset suddenly becomes larger

图 10给出了某从节点对时钟参考标志突然变小时传统时钟同步方式与时间滤波算法对时钟速率偏差的跟踪结果。从图10中可以看出,传统时钟同步方式的时钟速率偏差随之发生变小,而采用时间滤波算法的时钟同步的跟踪结果只是比正常值稍微小一点。这表明时间滤波算法对时钟速率偏差突然变小也能进行平滑。

图10 时钟速率偏差变小时两种时钟同步方式结果Fig.10 Results of two clock synchronization methods when clock rate suddenly becomes smaller

从图11可以看出,当时钟速率偏差突然变小时,传统的时钟同步方式下计算的时钟速率偏差为实际值的 9%,这个差异将导致时钟的严重不同步。而采用时间滤波算法的时钟同步方式计算的时钟速率偏差为实际时钟速率偏差的94%左右,这个差异也差不多是之前误差的0.06倍,说明时间滤波算法对时钟速率偏差偏小时也有很好的平滑效果。

图11 时钟速率偏差变小时时钟速率偏差变化Fig.11 Change of clock rate offset when lock rate offset suddenly becomes smaller

4 结 论

本文从信号处理的角度,将TTCAN时钟信号模型中的抖动和突发错误抽象等效为高频噪声模型,在TTCAN时钟信号模型中引入低通去噪滤波器,从统计上削弱了时钟噪声的功率,提高了时钟信号的精度,降低了突发噪声对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系统矩阵的优化算法[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.

时间触发控制器局域网时钟同步算法

傅金琳,陈 伟,邵春水

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

猜你喜欢

时钟滤波器偏差
50种认知性偏差
别样的“时钟”
古代的时钟
如何走出文章立意偏差的误区
从滤波器理解卷积
开关电源EMI滤波器的应用方法探讨
一种微带交指滤波器的仿真
有趣的时钟
时钟会开“花”
基于TMS320C6678的SAR方位向预滤波器的并行实现