新闻中心

EEPW首页>手机与无线通信>设计应用> 基于IEEE 1588的时钟同步技术在分布式系统中的应用

基于IEEE 1588的时钟同步技术在分布式系统中的应用

作者: 时间:2010-08-11 来源:网络 收藏


3影响精度的因素

(1)网络对称性从图1看出,为计算其网络延迟和偏移所进行的4次测量都是建立在报文的传输延迟(Delay)在传输方向上是相同的基础上。但这只是理想的情况,在大网络负载的情况下,Delay在传输方向上的差异会越来越大。造成精度的下降。但由于工业上的多为相对本地化、局域网的,子网或内部组件相对稳定的环境,因此可忽略Delay在传输方向上的差异。

(2)网络拓扑结构系统测量时,点对点的传输能提供最高的精度,网络的拓扑结构也会对精度造成影响,当采用Hub连接时,网络延迟抖动为300~400 ns,当采用交换机时,由于存储-转发机制的影响,网络延迟会随着网络负载的变化而变化,因此具有较大的抖动值,使得上述网络传输延迟测量方法精度大大降低。为此,PTP采用边界(Bounday Clock)的方法解决这一问题,如图2所示。在交换机内部与主连接的端口可以看成从时钟端口,在接收主时钟发送的同步报文后调整自己的本地时钟,然后用调整后的时钟去同步所有与交换机主时钟连接的从时钟设备,这样带有拓扑结构的连接就变成简单的点对点连接,从而有效去除交换机所造成的延迟抖动。



(3)晶振的频率由于产生时钟的不同晶体本身的速度是不同的,而且晶体容易受温度等影响,产生晶振漂移,引起误差增大,因此需时从时钟的晶振频率进行补偿。使从时钟的晶振频率与主时钟保持一致。

4 时间戳的生成

以上方法,可有效消除主、从时钟偏差和报文在网络中的传输延迟,从而实现系统的时钟同步。同步信息检测和时间戳生成方法不同,时钟同步精度也不一样,802.3中规定以太网帧的基本结构:前导码、帧起始定界符、目的MAC、源MAC、长度、数据和帧校验序列。其中,前导码由7个‘1 0’交替的8位字节组成,用于信号同步;而帧起始定界符包含6位交替的‘1 0’及末位的2个1,末位的2个1通知接收端,跟在后面的是帧的实际字段,表示一帧开始。在以太网中,1588所定义的各种时钟报文(Sync报文等)均以UDP/IP多播包形式发送的,报文的时标生成点位于帧起始定界符最后一位,如图3所示。


1588的同步原理决定了时钟同步的精度主要取决于时间戳的精度。时间戳的加盖有3种方法:

(1)硬件加盖方式 时间戳主要加盖在MAC层和PHY层之间的MII(media independent interface)层,这也是最精确的加盖方式,需用硬件电路实现。

(2)软件加盖方式 时间戳加盖在网络的驱动层,在网络接口的驱动程序中实现,精度略低。

(3)加盖在层 因为这种方式无需修改其他系统软件,所以协议栈的操作延迟和负载都能对同步精度造成影响,因此同步精度最低。无论在网络驱动层还是在MII产生的时间戳都必须返回到PTP层并经由系统内核处理,然后才发送到PTP终端,由此可以看出时间戳的生成决定了PTP协议的运行。只有获得精确的时间戳才能发挥IEEE 1588所能达到的时钟同步精度。

以太网自身的CSMMCD机制、上一层通信(如TCP及UDP)上进行的误差检测及翻译障碍等,都占用以太网的时间。因此,用软件方式产生时间戳,必须优化加盖时间戳的驱动程序以提高系统内核处理带有时间戳报文的运算效率,同时优化报文发送前在网卡内部的排序,减小程序运行和网络负载对收发报文的影响,从而降低报文发送过程中的软件延迟和抖动。

在以太网中,也可以在物理层放置硬件电路加盖时间戳,这样可以避免协议栈上部较大的时间抖动,消除报文传输中的网络延迟。由于主从时钟不同步的原因除了网络延迟外还有时钟偏差,可以采用频率可调时钟来校正从时钟相对主时钟的时钟偏差,根据从时钟处得出的自身与主时钟的偏差计算出相应的频率补偿值,从而控制时钟计数器的数值达到与主时钟的同步。硬件电路从物理层获得每个发送和接收报文的比特流,并记录时间戳信息,判断其是否为IEEE 1588相关协议报文,如果是相关报文,则把时间戳信息传送给上层软件,否则丢弃该报文的时间戳信息。对于100 M以太网,由于采用4B/SB编码和Scrambler,只能在物理层与数据链路层之间的MII层加盖时间戳信息。IEEE 1588时钟同步实现过程如图4所示。


评论


相关推荐

技术专区

关闭