FlexRay时钟同步的同向漂移解决方案

最新更新时间:2011-11-09来源: 互联网关键字:FlexRay  时钟同步  同向漂移 手机看文章 扫描二维码
随时随地手机看文章

FlexRay是基于时间触发的协议,节点间的时间同步是它的关键,参考文献[5]是2.1版规范直接引用的主要原始资料的2009年修订版,其主要内容是有相位与频率校正时误差的静态传递分析,求出可以达到的最坏或最好状态下的簇内时钟差的精度。参考文献[5]指出了5种计算时的误差来源:采样的量化误差、微拍非均匀分布误差、传递延迟误差、整除误差和簇漂阻尼误差。由于时钟校正实际上是一个反馈控制问题,但以前的研究没有采用反馈控制的分析方法,没有考虑同步帧发送节点间的交互影响,以及传递延迟误差作为系统性误差的长期存在,得到的结论并不全面,这是本文要重点讨论的问题:由于系统性误差的持续存在,节点的相位差会单向漂移,与hoST的时钟越离越远,造成新的失误。参考文献[6]用软件仿真FlexRay时钟频率跳变或缓变时校正算法的有效性,它证实算法是收敛的,簇内时钟差校正后的精度与频率漂移率无关,跳变时有一个过渡过程,瞬态差可能超过精度范围。参考文献[7]分析了有拜占庭错时FlexRay容错中值相位校正算法的收敛性,非常有趣的是在推导过程中也得到了校正后cycle开始时间真值Us随延迟补偿不足而推迟的公式,它表明每校正一次存在的差,但是这种漂移并未受到FlexRay重视。参考文献[8]是对容错中值算法正确性的形式化证明,该算法就是FlexRay采用的算法,在分析每轮修正后的虚拟时钟与真实时钟差时,存在±ε的漂移,其中ε是传送延迟。这也证实了本文分析的问题早已存在,而FlexRay未对该问题的后果有所警觉。

  1 FlexRay时钟的概念

  FlexRay的时间单位是从大到小分级的:通信Cycle、通信宏拍(Macrotick,MT)和微拍(Microtick)。每一个节点中的振荡器,经过分频之后,产生一个本地的微拍时钟单位,它与位采样数及位采样时钟周期有关,所以节点中最小的时间单位是位采样时钟周期。各个节点可以有不同的微拍,簇内共同的时间单位是MT,每个节点组态时定义正常时每MT内本地微拍的个数。本地MT的生成有专门的逻辑,在每一本地微拍时执行一次,以实现本地MT的修正,以保证MT尽量全局一致,并且可以保证频率的校正均匀分布在整个cycle中。

  2 FlexRay收发的同步

  在收发过程中还有字节的位同步和帧开始同步来解决可能的抖动与延迟,它们极大地缓解了时钟同步的精度要求。

  在以字节为单位的帧数据传送时,每个字节的开头有由“10”构成的字节开始序列(BSS),这个1/0跳变沿是位时间同步用的:发现跳变沿后位采样计数器就设为2,当位采样计数器=5时,zVotedVal的值就作为当时的位值。位采样计数器为9后溢出复位为1。显然,若因收发有时钟差,而要在下一个BSS的1处采错,需要差4个位采样时钟周期时才会发生。也就是说,时钟差5%才会发生。

  FlexRay的同步帧是在静态段中传送的,一个时隙(slot)内实际上有很多空闲时间。首先,每个帧是在称为actiON point offset处(gDACtionPointOffset)开始发送,这是一个全局参数。帧开始是“0”表示的传送开始序列TSS,经过1位“1”的帧开始序列FSS,再是第一个字节开始序列BSS,它由“10”二位组成。接收节点要正确检测到第一个字节开始序列BSS的1/0跳变沿才作帧接收的同步。帧的最后是“01”构成的帧结束序列FES,然后发送器被禁止了。发送器禁止后30 ns总线处于高阻状态。在帧传送结束后发送节点要有长度为11位的通道空闲分界符(cChannelIdLEDelimiter,实际上总线高阻时,经50~250 ns接收节点会发现总线空闲,然后输出RxD=“1”。然后总线一直在空闲状态。由于FlexRay的物理连接有可能通过有源星型耦合器,在总线空闲到总线上传送0有一个启动过程,再加总线上位置不同的传送延迟差别、收发器的延迟,发送节点的TSS长度会与接收节点的长度不同,接收节点看到的TSS会比发送节点的TSS短,称为TSS截短。只要接收节点看到的TSS在1~(gdTSSTransmitter + 1)之间,TSS就是有效的。所以gdActionPointOffset之前,总线也是空闲的。因此,若节点时钟差不使总线上的传送提前使gdActionPointOffset前的空闲消失,或落后使cChannelIdleDelimiter后的空闲消失,就不会产生2个发送帧的重叠而影响正常收发。

  

 

  图1 求取相位差的时间关系

3 FlexRay时钟校正方法

  帧的gDACtionPointOffset是全局参数,但是由于TSS截短的影响,同步帧接收节点见到的TSS的1/0跳变沿的时间与接收节点ActionPointOffset时间之差并不是节点的时钟差,所以它用第一个BSS中的1/0跳变沿来倒推发送节点ActionPointOffset,如图1所示。倒推是该时刻减去常数pDecodingCorrection和pDelayCompensation得到发送节点TSS的开始时刻。PDecodingCorrection内含有TSS、FSS、BSS、总线滤波延迟和位采样延迟各项。pDelayCompensation内含有收发器延迟、星型耦合器延迟和电缆长度的传输延迟。pDelayCompensation的数值取簇中的最小者。由此倒推出的发送节点的动作点称为primaryTRP,发送和接收的节的动作点的时间偏差就被记录下来。

  接收节点对每一个同步帧都加记录,该同步帧接收是否正确也记录在案。只有接收正确的偏差才能用于校正计算之中。

  FlexRay有相位与频率的校正,为了频率校正,需要连续2个cycle的同一同步节点所发的帧的偏差,所以校正是以2个cycle为周期进行的。频率校正的计算结果在每个奇数cycle内完成,下一个cycle开始生效,在MT形成过程中实行,因此是均匀分布的。相位校正在奇数cycle的末尾完成,在该cycle的网络空闲段实行。

  4 FlexRay算法的问题

  

 

  图2 同步节点位置分布举例

  时钟偏差推算是造成飘移的原因。图2中有4个同步帧发送节点1~4,各相距8 m,节点5是普通非同步帧发送节点。按规定,pDelayCompensation是一个预定的常数,该按最小值选取,对图2的情况,就是节点5和节点2间的延迟,即接近为0。这样,对实际发生的延迟是补偿不足的。不足部分可写为:

  

 

  节点间的延迟,按每米10 ns计,最大距离为24 m,那么此补偿不足量有0.24 μs。

  在图1中,假定同步帧在cycle的第一个static slot,对static slot的开始时间有一个标准的参考点,发送节点和接收节点各有相位差TT(0)和TR(0),此时接收节点得到的偏差将含有延迟补偿不足的部分:

  

 

  由于距离不同,接收节点得到的URT也是不同的。

  FlexRay规定,发同步帧的节点在属于自己的slot上的相位误差登记为0。假定节点间原来已处于接近同步的情况,对节点1而言,e11=0最小,e14最大,按算法它们将被丢弃,于是校正量将按(e12+ e13)/2计算:

  

 

  当节点初始相位比参考节点2、3的平均相位早时,应该推迟本节点下一cycle的开始,实现负反馈。就应有T1(1)= T1(0)-Corr1。为了分析问题的需要,假定只作一部分校正,即:

  

 

  其中系数c≤1,对FlexRay而言c=1。于是有:

  

 

  推而广之,将各节点的相位差写为向量,可以得到状态方程:

  

 

  对T1而言,系数a11=1-c,a12= c/2,a13= c/2,a14=0,B=-c,U1=120 ns。对节点2而言,它丢弃最大的e24和最小的e22,U2=80 ns。类似可确定其他节点的系数。所以矩阵A有:

  

 

  同时有B=-c和U=[120ns 80ns 80ns 120ns]T(6)

  对A求取特征根得到:λ1=1,λ2= 1-c,λ3=λ4=1-1.5c。

  然而在FlexRay中URT是一个系统性偏差,并不因一次校正而消失,因此按(4)式工作时时钟差会不断移动。当U不变时有:

  

 

  令(7)式中的第二项为S,则有:

  

 

  (8)式右边各项均为有限值,而因为A的特征根有λ1=1,(I-A)是不可求逆的,所以S将含有不定值,所以随着n的增加, T(n+1)是不断漂移的。

5 漂移对系统的影响

  漂移使通信时钟离标准时钟越来越远,通信时钟初始相位的负值代表它比标准时间延迟(如图1所示)。在延迟超过1个cycle时就会使上次写入的帧还未发出就被覆盖。以cycle=5 ms、100次校正漂9.3 μs计,53763次校正会漂1个cycle,这就是说,8.96 min会产生一次丢帧。由于节点都是同步的,每个slot都会发生丢帧,如果每个cycle有91个静态slot,那么意味着每8.96 min丢失91个帧--平均每6 s丢一帧。而且,如果host时钟是偏快方向漂移,那么丢帧的频度还要增大。

  补偿过头时URT为负值,通信时钟将比标准时间提前。这种情况一般不会发生,因为规定选延迟的最小值作pDelayCompensation。但是这里又出现了host时钟的漂移问题:所有同步帧的内容是由host写入的,host必须在相应slot的开始前使同步帧的内容就绪。最坏情况是原来host在slot开始前写入,漂移超过了gDACtionPointOffset就会产生同步帧未写入的情况。FlexRay的帧头部有一位标志null frame. indicator,当帧内容未更新时,这一位自动设为0,同步帧还是发出去,所以并不影响同步帧的个数。

  6 频率校正中的问题

  频率校正时采用了连续2个cycle的同一同步节点的相位差,将这两个相位差的差作原始数据,用类似算法计算校正量,然后按死区与限幅的方法实施校正。在同一同步节点的相位差的减法中,系统性偏差URT互相抵消,因此不引起频率的漂移。但是,在接收节点测取BSS的跳变沿时存在误差的可能性(如图1所示),BSS的跳变沿的误差直接影响到倒推ActionPointOffset的位置,从而进入eRT:

  式中Uglitch为毛刺造成的误差,奇数cycle和偶数cycle的Uglitch可能是不同幅值和符号的。BSS的跳变沿是在经滤波后的zVotedVal上采取的,毛刺长度小于3个位采样周期时被滤掉,大于3个位采样周期时就可以见到。毛刺的存在位置有如下几种可能:

  ① “0“毛刺在TSS之前,真正TSS的跳变沿被解读为BSS中的跳变沿。此时读到的相位差较大,但是后续BSS以及其它的帧检查会发现此帧有接收错。

  ② “1“毛刺在TSS之中,毛刺的1/0跳变沿被解读为BSS中的跳变沿。此时读到的相位差比上述情况小,同样可检查出有错。

  ③ “0“毛刺使BSS内的跳变沿提前,或“1“毛刺使BSS内的跳变沿推后,当提前或推后的量较大时,后续BSS以及其它的帧检查会发现此帧有接收错。

  ④ 毛刺使BSS跳变沿变化量小于0.5位时,后续BSS以及其他的帧检查不会发现此帧有接收错,所以此帧会被用于时钟同步。

  一个接收节点在同一cycle里受到毛刺干扰而造成有几个同步帧受影响是可能的。此时尽管有最大最小频率差的丢弃,毛刺造成的误差仍可能要进入校正量的计算。

  易于导出频率校正的状态方程,它与(4)式的形式类似。因此FlexRay的频率校正可使簇内的频率趋于一致,但是仍有频率相对于标准值漂移的可能性,此漂移的方向是不定的,受毛刺出现的情况而变。

  参考文献[6]进行了FlexRay的频率校正的软件仿真试验,对节点频率作阶跃变化、斜坡变化的试验结果是令人满意的。但是它并未考虑过毛刺影响。

  7 时变传递矩阵的漂移

  如(5)式所示的传递矩阵还有非常多的形式,由于FlexRay在选取作校正计算时要用丢弃排序后的最大最小二个误差,实际采用的同步节点的可能性组合很多。例如对4个同步节点的簇,对每个同步节点(矩阵A的一行)将有6种可能的系数,整个簇的传递矩阵A将有64=1296种可能。对矩阵A求特征根时可以发现它们都有λ=1的临界稳定的特征根:实际上每行系数的和都等于1,在用行列式求特征根时就可以将λ-1提出来。而由于FlexRay在每次排序后选中的同步节点可能不同,传递矩阵是时变的,那么是否还有漂移呢?为此按照算法作了含有排序的程序,这是相位校正的算法(不含频率校正的非线性部分)。

  8.结语

  FlexRay采用分布式时钟的本意是强化对抗失效的能力:有F个同步帧发送节点失效时,只要同步帧发送节点为3F+1个,簇内的时钟仍是正确同步的,因此可以保证簇内的正常通信服务。但是根据本文的动态分析,时钟相位会由于延迟补偿误差而漂移,与真实时钟有频差。这种延迟补偿误差是无法消除的,而已有频率校正方法无法发现通信时钟对真实时间的频差,因此通信时钟会与host的时钟越离越远,导致发送帧被新帧覆盖,或者时隙到达时消息尚未就绪。这些漂移引起的出错发生频率是相当高的。

  由于毛刺引起的频率漂移可以用死区算法克制,但是其他各种毛刺的情况会使有效的同步帧数目减少,使容错中值算法的鲁棒性下降。按容许F个错需要3F+1个同步帧计算,同时有2个错对4个同步节点的簇就不能保证同步精度了。

关键字:FlexRay  时钟同步  同向漂移 编辑:神话 引用地址:FlexRay时钟同步的同向漂移解决方案

上一篇:GPRS网络电能表的设计方案
下一篇:支持向量回归机在风电系统桨距角预测中的应用

推荐阅读最新更新时间:2023-10-12 20:32

基于ARM-WinCE平台的时钟同步设计
随着计算机技术、网络通信技术的进步,组建分布式网络化测试系统,提高测试效率、共享信息资源,已成为现代测试系统发展的方向。分布式测试系统通过网络等通信媒介把分布于各测试点、独立完成特定功能的测试设备连接起来,以达到测试资源共享和协同工作等目的。时钟同步是分布式系统的核心技术之一,其目的是维护一个全局一致的物理或逻辑时钟,使得系统内各个节点中与时间有关的信息、事件及行为有一个全局一致的解释。IEEE1588精确时钟协议是当前分布式测试系统中时钟同步研究的热点。采用硬件支持的IEEE1588协议能够在以太网中不同结点之间实现纳秒级的时钟同步,为工厂自动化、测试和测量以及通信等领域需要高精度时钟同步的应用提供了一种有效的解决方案。本文采
[单片机]
基于ARM-WinCE平台的<font color='red'>时钟同步</font>设计
恩智浦交付第20亿台车载收发器
2008 年 4 月 16 日 ,恩智浦半导体( NXP Semiconductors ,由飞利浦创建的独立半导体公司)今日宣布交付第 20 亿台车载收发器。 恩智浦半导体汽车电子产品线总经理 Paul van der Plas 表示:“恩智浦交付的车载网络收发器数量如此之高,印证了高效智能通信在促使汽车元件满足汽车安全、舒适和娱乐等终极需求方面发挥的重要作用。” 20 世纪 80 年代博世( Bosch )开发出的 CAN 协议,已经成为当今汽车中应用最广泛的通信标准。 1994 年以来,恩智浦一直与博
[焦点新闻]
AVR 32位FlexRay评估环境(Atmel)
Atmel(R) Corporation 宣布推出其 AVR(R) 32 位 FlexRay(R) 评估环境。此外,Atmel 在德国斯图加特召开的 FlexRay 会议上,以线控驾驶、驾驶和刹车功能实现先进车内网络的仿制车来展示其新技术。 该评估环境的核心是一个基于 Atmel AVR32 专有架构的32位微控制器,该架构拥有 Robert Bosch GmbH 授权的 FlexRay IP(FlexRay网络协议)——一种硬件 LIN IP。此外,该环境还包括一个双重 CAN IP、一个 Ethernet MAC 和一套通用外设。该环境也包括了 AVR32 开发工具箱、FlexRay 堆栈、FlexRay 配置工具和一个网
[单片机]
示波器的LIN、CAN和FlexRay串行总线调试
  为了改善系统通信效率,降低成本,目前所有的汽车设计都采用了大量的串行总线通信协议。I2C 和SPI协议通常应用在电子控制单元(ECU)的芯片间通信。对于各种汽车子系统(例如舒适性控制系统、防盗锁、传动系统和引擎控制)之间的长距离串行通信和控制,CAN、LIN和FlexRay协议是当今汽车行业中最常见的串行总线应用。   基于主从关系的LIN串行总线主要用于对安全性要求不高的应用,例如座椅和车窗控制。CAN串行总线采用差分事件触发,其噪声抗扰度高于单端LIN总线,二十多年来一直用作汽车的主要控制总线。FlexRay串行总线采用差分时间触发和同步确定性时间表。作为新兴的串行总线技术,FlexRay应用在部分高端汽车中,主要适
[测试测量]
对I2C总线的时钟同步和总线仲裁的深入理解
每一个IIC总线器件内部的SDA、SCL引脚电路结构都是一样的,引脚的输出驱动与输入缓冲连在一起。其中输出为漏极开路的场效应管、输入缓冲为一只高输入阻抗的同相器 。这种电路具有两个特点: ①由于SDA、SCL为漏极开路结构,借助于外部的上拉电阻实现了信号的 线与 逻辑; ②引脚在输出信号的同时还将引脚上的电平进行检测,检测是否与刚才输出一致。为 时钟同步 和 总线仲裁 提供硬件基础。 I2C总线接口内部结构 IIC设备对总线的操作仅有 把线路接地 输出逻辑0。基于IIC总线的设计,线路上不可能出现电平冲突现象。如果一设备发送逻辑0,其他发送逻辑1,那么线路看到的只有逻辑0。也
[单片机]
对I2C总线的<font color='red'>时钟同步</font>和总线仲裁的深入理解
恩智浦FlexRay产品系列概览
FlexRay的发展历史 FlexRay网络产品诞生于20世纪90年代末,当时一些汽车制造商意识到现有网络系统,例如CAN,无法满足未来车载网络(IVN)的需求。这些汽车制造商没有开发自己的解决方案,而是决定组成一个协会,推动FlexRay通信系统成为汽车应用领域高速通信网络的行业标准。基于当时在CAN和LIN收发器领域的主导作用,恩智浦半导体(NXP Semiconductors,原飞利浦半导体)受邀成为FlexRay协会的核心合作伙伴之一,负责引领行业开发网络物理层。 制定新的FlexRay标准花费了数年时间,这导致多种过渡版FlexRay技术标准应运而生。恩智浦担任物理层工作小组的领导工作,并作为协会指
[汽车电子]
恩智浦<font color='red'>FlexRay</font>产品系列概览
LXI总线技术特点及其在分布式测试与诊断系统中的应用研究
1、引言 自从上世纪70 年代初,惠普公司推出GPIB 通用仪器总线以来,测试仪器的发展经历了 GPIB 总线、 VXI 总线和 PXI 总线等多种形式。采用这些总线技术组建的测试系统被广泛地使用。但是,不管采用哪种技术的军用自动测试系统都存在很多不足。如:GPIB仪器体积和重量大,数据传输速度慢,且要用GPIB 卡和电缆来实现程控,成本较高;VXI 系统虽然有较小的体积和重量,通道数也很多,但是VXI 系统必须采用VXI 机箱、零槽控制器以及1394-PCI 接口卡才可实现程控,构建系统的成本比较高;PXI 仪器虽然比VXI 仪器的体积小,重量轻,成本也低,但PXI 总线仪器的功能覆盖面有限, 仪器品种也远比VXI
[测试测量]
LXI总线技术特点及其在分布式测试与诊断系统中的应用研究
恩智浦推出全球第一款FlexRay收发器 主动保障驾驶安全
TJA1080 FlexRay 收发器和故障防护系统基片可实现高速容错通信 中国北京, 2006 年 12 月 4 日 — 恩智浦( NXP ,原飞利浦半导体)日前宣布,全球第一款 FlexRay 收发器 TJA1080 现已实现量产,并已投放市 场。 配备 TJA1080 和恩智浦的故障防护系统基片的 宝马新款 5 系车型 现已上路,该车型是第一款配备 FlexRay 系统并实现系列生产的汽车。 借助于高速的 FlexRay 网络通信系统,汽车制造商可以引入先进的功能,增强汽车的安全性和舒适性。宝马 5 系 是世界上第一款配备了 Adap
[新品]
小广播
最新模拟电子文章
换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved