1588时钟同步算法软件实现2011

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
设备发送测试请求报文:TEST—REQMSG,报文采用
广播形式。系统中其他设备,包括时钟主设备和从设 备接收测试请求报文之后,记录接收测试请求报文的 当前时间,并在同一周期本设备预定的时段发送测试 响应报文:TEST—RESP—MSG,报文发送给上位机 (HOST),上位机通过比较主从时钟设备的接收时间 戳,可以比较出系统时钟同步的效果。
UDP/IP通信模块:PTP协议运行UDP/IP协议 之上,其中Sync和Delay-Req报文采用组播方式发送, UDP端口号319,FollowUp和Delay-Resp报文采用广 播方式发送,UDP端口号为320。
实时调度模块:PTP协议基于确定的实时调度通 信机制进行通信,后者采用划分时隙和基于优先级的 非周期调度通信方法,从而保证了以太网通信的确定 性,并从根本上消除了冲突的可能。
主从时钟的确定由最佳主站时钟(BMC)算法来 完成,它比较通信节点时钟的精准度(Accuracy)、层次 (Layer)、偏移值(Drift)、偏差(Variance)等特性,选出 最佳主时钟。
IEEEl588协议主要包括两种报文:管理报文和同 步报文;前者主要负责时钟节点参数的配置和管理;后 者则包括4类消息:同步报文(Syne Messages)、同步紧 随报文(Follow—Up Messages)、延迟请求报文(Delay- Req Messagse)以及延迟响应报文(Delay—Resp Messages),主要用于计算时钟偏移(Offset)和网络延 迟(Delay),同步网络各个节点的时钟。 2.2同步机制
时间戳:主要用来刻画时钟同步报文发送和接收 时间,时间戳的准确直接影响时钟同步的精准程度,一 般来讲越接近硬件,时间戳就越较不受系统运行时间 抖动的影响。
图4 IEEE 1588测试调度模型
整个测试进行了24h,测试周期为5ms,测试结果 表明时钟同步的精准程度可以达到正负3/Ls以下,如 表1所示。
IEEE 1588协议主时钟和从时钟节点的同步过程 主要包括两个阶段:计算时钟偏移阶段和计算网络延 迟阶段。时钟偏移表示主从时钟节点的时钟偏差,由 于受到网络延迟(主要是数据报文的递送延迟)的影 响,一次传送同步报文计算的时钟偏移并不准确,还需 计算网络延迟加以修正。
Master T
T2


图1 IEEE 1588同步机制
Implementation of clock synchronization algorithm by software method base on IEEE 1588 protocol
Liu Mingzhe Xu Aidong Zhao Wei
(Shenyang Institute of Automation,Chinese Academy of Sciences,Shenyang 1 1 0016,China)
主时钟节点周期发送Sync和FollowUp报文(一 般是2s),并在FollowUp报文中记录Syne报文的发送 时间T1,从时钟接收Sync报文记录接收时间T2,并 计算时钟偏移Offset:
Offset—T1一T2+Delay 从时钟节点定期发送延迟请求报文(一般4~60s 发送一次),并记录延迟请求报文的发送时间T4,主时 钟接收到延迟请求后,记录接收时间T3,并给相应的 从节点发送延迟响应,从节点根据T1~T4 4个时间点 的值,计算网络延迟Delay: Delay=(T2+T3~T1一T4)/2
裹1时钟同步测试结果
测试项
测试结果
测试次数

测试周期
;窒
平均偏差(弘s)
最大正偏差Qts) 最大负偏差(肛s)
裟㈣。¨
3.3测试分析 时钟同步算法软实现,主要受IEEEl588协议报
文发送和接收时间戳的精准程度的影响,而后者则受 系统硬件、同步算法等方方面面的影响:
硬件特性:处理器主频、内存访问速度、缓存、晶振 稳定程度、以太网芯片效能等,都可能对时钟同步的精 度产生影响。考虑嵌入式系统设计大都受体积、功耗 的影响,本算法基于Atmel40008处理器,64MHz主 频,内部RAM 256Kb。
以太网确定性调度:时钟同步算法主要基于以太 网确定性调度机制,通过划分时隙和调度表,预先规划 好设备发送数据的时间,保证任何两个设备不同时发 送数据,这就消除了以太网冲突的可能,从而保证了通 信延迟和数据发送的确定性。同步算法:采用软件方 法进行时钟同步易受系统复杂程度的影响,特别是系 统硬件中断的影响。当前接收到数据包,如果系统正 处于中断屏蔽状态,可能不能及时响应报文,从而影响 接收时间戳的读取。因此同步算法应尽可能消除中断 的影响,如改变中断优先级,补偿中断时间、去除不合 理数据等。

PTP Protocol Module


UDP/IP

Time Stamp Interface
Real—time Schedule Layer



Hardware Driver Interface
图2 IEEE 1588软件模型
PTP协议模块:精准时间协议运行模块,针对主 从节点的运行状态不同,执行不同的任务。其中,主时 钟节点定期发送Sync和FollowUp报文,并且响应来 自从时钟节点的延迟请求。从时钟节点则定期发送延 迟请求报文,并根据主时钟节点的响应报文计算时钟 偏移,更新本地时钟。
通过这种方法就消除了主从节点传送数据的网络 延迟,从而达到同步时钟的目的。
3 IEEE 1588协议软件实现与测试分析
3.1 软件模型 运行IEEE 1588协议的节点并不事先规定主从节
点的运行状态,而是根据最佳主站时钟(BMC)算法竞
争产生主时钟节点,主时钟产生后,根据主从节点的运
行状态不同,执行不同的模块任务。
构建在整个系统共有的时钟同步基础之上,因此就需
要一种精准的同步时钟的方法,用以控制整个系统运
一直以来,由于以太网具有良好的开放特性和通
行。基于确定性调度的以太网通信机制,本文给出了
信性能逐步成为工业通信领域的研究热点,ProfiNet、
一种基于软件实现的符合IEEE 1588标准的精准时间
Powerlink、Ethernet/IP以及我国自行研究制订的工业
4结

总之,采用基于时隙的确定性调度实时以太网通 信机制实现IEEE 1588时钟同步算法,可以达到理想 的时钟精度,很好的满足工业过程控制系统,甚至一部 分运动控制系统的时钟精度要求。对于实时性要求更 为苛刻的运动控制系统,可以通过FPGA或采用硬件 实现PTP协议的办法对IEEE 1588时间戳进行精确 的确定。
协议(PTP)实现方法,无需专有的硬件支持,即可满足
以太网通信协议EPA(ethernet for plant automation)
大多数工业通信系统的要求。
等都是基于以太网通信技术的通信协议。这些协议大 多采用基于确定性调度的通信机制,用以消除传统以
2 IEEE 1588协议模型
太网带有冲突检测的载波侦听、多路访问(CSMA/CD)
万方数据
第6期增刊
基于IEEEl588的时钟同步算法软件实现
2011
同步精度。
………一卜测试淆求
…一一+测试响应
图3 IEEE 1588测试网络结构
本文通过图3所示的测试方法对上述内容进行验 证,在系统中引入一个测试设备(Test Device),为保证 网络通信的确定性,测试设备也参与调度和时钟同步, 但测试设备时钟同步的好坏对测试结果不产生任何影 响。首先在系统运行周期(MacroCycle)的开始,测试
第27卷第6期增刊 2006年6月
t C 仪岫 辩 器胁 d 艾硝 & 表渤
学沌吼 报~
V01.27 NO.6 Jun.2006
基于IEEEl588的时钟同步算法软件实现*
刘明哲徐皑冬赵伟
(中国科学院沈阳自动化研究所沈阳110016)
摘 要基于工业以太网通信技术,本文给出了一种精准时间协议的软件实现方法。它基于划分时隙的以太网确定性调度 通信机制,有效地消除了以太网冲突的影响,并通过硬件定时、中断补偿等手段,大大提高了时钟同步的精度。经测试的结果 表明,它可以达到亚微秒级的时钟抖动精度,满足大部分工业系统的要求。 关键词 IEEEl588 以太网 时钟同步精准时间协议
从中也可以看出,以太网已经具备了工业通信系 统的诸多要素,运行周期、抖动时间等现场指标可以满 足大部分需求,加之成本低廉、传输速率高等特点,已 经可以大规模应用于工业现场的控制系统当中。
参考文献
[13刘明哲,徐皑冬,毕宇航.确定性实时以太网通信协 议研究[J].仪器仪表学报(增刊),2005(8):505.
and it satisfies requirement of industrial system.
Key words IEEEl 588 ethernet clock synchronization precision time protocol
的时间事件进行响应,尤其是后者对时隙的划分更需
1引

主要分为两类:时钟主节点(Master Clock)和时钟从节 点(Slave Clock)。
通信时间的确定性调度。但是丽种机制都需要对特定
时钟主节点:发布基准时钟的节点,其他节点根据
*基金项目:国家863课题专项经费(2003AA412030)资助项目
万方数据
2010
仪器仪表学报
第27卷
其发布的时间信息进行同步。一般来讲同一个子域 (SubDomain)中仅包括一个主时钟。时钟从节点:除 主时钟外的其他节点,接收主时钟发送的时钟报文,计 算同主时钟的时钟偏差。
时钟刻度:时钟刻度为系统可以表示的最小时间 单位,通常系统以时钟中断的次数作为单位(Tick),但 时钟中断越频繁系统的负担越重。通常系统如:Linux 以lOOms作为Tick单位,这远远不能满足控制系统时 钟同步的需求。本实现采用直接读取和设置硬件定时 器的办法,时钟刻度设为0.5#s。一般来讲,处理器主 频越高,可供的时间最小单位就最精准。
[23徐皑冬,王宏,邢志浩.工业以太网实时通信技术 [J].信息与控制,2005,34(1):60—65.
[3] IEEE Std.1588—2002,IEEE Standard for a Precision Clock Synchronization Protocol for Networked Measurement and Control Systems rS],2002.
deterministically communication mechanism. It has improved clock synchronization precision by hardware timing
and interrupt compensation.The result shows that submicrosecond clock synchronization precision can be presented
方法所引起的通信的不确定性。
ห้องสมุดไป่ตู้
2.1 时钟和报文
这些协议主要采用两种方法:基于令牌传递或是
分布式工业控制系统包括许多设备,每一个设备
基于时隙划分;前者通过传递令牌,决定发送节点;后
代表一个或多个时钟节点,根据时钟节点的工作状态,
者则通过划分时间片,采用分时传送的方法。两种方 法都可以消除传统以太网通信机制引起的冲突,保证
时间戳接口:为保证时间记录的准确,尽可能消除 程序引起的抖动(jitter),专门在以太网驱动接口部分 开辟了时间戳记录通道,实时记录网络数据发送和接 收的时间。
硬件驱动接口:网络驱动程序,真正的数据发送、 接收物理接口。 3.2性能测试
时钟同步的精准程度直接影响着系统运行的效 能,大多工业控制系统需要10ps以下的同步精度,对 于要求较高的运动控制系统甚至要求1弘s以下的时钟
Abstract
An accurate time protocol is implemented by software base on industrial ethernet communications
technology.The algorithm can avoid ethernet collision effectively by dividing cycle into timeslice and scheduling
相关文档
最新文档