基于DP83640硬件辅助的IEEE1588研究及实现

2011-06-28 06:22王康胡永辉何在民
时间频率学报 2011年1期
关键词:纳秒物理层以太网

王康,胡永辉,何在民



基于DP83640硬件辅助的IEEE1588研究及实现

王康1,2,3,胡永辉1,2,何在民1,2,3

(1. 中国科学院国家授时中心,西安 710600;2. 中国科学院精密导航定位与定时技术重点实验室,西安 710600;3. 中国科学院研究生院,北京 100039)

随着高精度时间同步的广泛应用,采用硬件辅助的IEEE1588协议已成为减少同步误差提高同步精度的理想途径。分析了DP83640物理层芯片的功能结构与IEEE1588时间同步基本原理,构建了以DP83640为主要组成部分的时钟同步功能模块,验证了同步过程。实验及分析表明,在局域网内采用DP83640硬件辅助的IEEE1588协议同步精度可达到纳秒量级。

IEEE1588;DP83640物理层芯片;时间同步;时间戳

随着计算机网络技术的不断发展,应用系统规模的不断扩大,通过网络联系的空间分散的各控制节点之间的高精度时间同步变得愈益重要。网络时间协议(NTP,network time protocol)与简单网络时间协议(SNTP,simple network time protocol)同步精度只能达到百毫秒量级[1],已不能满足测量仪器和工业控制网络的应用需求。IEEE1588标准是IEEE(institute of electrical and electronics engineers)制定的对网络测量和控制系统而言的精密时钟同步协议标准,简称为精确时间协议(PTP,precision time protocol),最初由安捷伦实验室的J. Eidson以及来自其他公司和组织的12名成员开发,后来得到IEEE的赞助,并于2002年11月得到IEEE批准。PTP的主要原理是通过一个同步信号对网络中各控制节点的时钟进行校正同步,可以使基于以太网的各控制节点达到精确同步。

IEEE1588在纯软件条件下,PTP同步精度在百微秒范围内,采用硬件辅助的方法可获得纳秒级的同步精度。

本文以DP83640物理层(PHY,physical layer)芯片为硬件辅助,在以太网中进行IEEE1588高精度时间同步的研究及实现。

1 DP83640功能结构

美国国家半导体公司推出的DP83640物理层芯片支持IEEE1588标准,其内置高精度IEEE1588时钟,并集成了能够对收发数据包加盖时间戳的硬件,可以在最靠近网线的位置记录时间戳,避免了执行软件协议过程中的延时[2]。其基本功能结构如图1所示。

图1 DP83640基本功能结构图

DP83640通过串行控制接口与上层介质访问控制层(MAC)进行通信。串行控制接口由管理数据时钟(MDC,management data clock)与管理数据输入输出(MDIO)组成。通过简化媒体独立接口(RMII)得到的输出数据TX RMII经DP83640的物理层发送模块输出为TD+/-,而输入数据RD+/-经DP83640的物理层接收模块后发送到RMII接口上成为RX RMII数据。

DP83640通过硬件支持IEEE1588同步时钟产生与生成时钟同步报文时间戳,即支持两项关键的时间基础的产生和生成。

1.1 IEEE1588同步时钟

1.1.1 IEEE1588时钟的输入与输出

DP83640接收外部25 MHz频率信号,依靠内部相位产生模块(PGM)产生125 MHz时钟信号,因此其可控周期的时间间隔为8 ns。DP83640也可通过管理寄存器选择使用频率控制振荡器(FCO)时钟的分频,或者直接使用一个不超过125 MHz的外部参考时钟。DP83640提供一个同步时钟信号给外部设备使用。IEEE1588时钟输出信号可以是250 MHz除以(2≤≤255)之后的任意频率。提供频率范围125 MHz~980.4 kHz[2]。

1.1.2 DP83640时间更新机制

DP83640提供了在从时钟模式下的4种机制更新从时钟的时间,分别是直接读写、加减调整、频率调整和临时频率控制。IEEE1588时钟包括32位的秒值与30位的整数纳秒值(纳秒数最大值为109<230)以及以2-32s为单位的亚纳秒值[3]。直接读写是指时间值的直接设置,可以通过设定一个新的时间值完成。加减调整指以纳秒为单位的调整值(可正可负),可以加到当前值。频率调整是指通过调整频率变化的速率使时钟以调整过的频率运作。临时频率控制是通过包括一个速率调整持续时间,还可以通过编程使时钟执行临时亚纳秒量级调整频率值。速率调整允许在每参考时钟周期以2-32s的亚纳秒量级进行校正。频率调整允许时钟修正时间累计偏差,避免由时间值加减调整引起的任何潜在副作用[4]。

用于更新时间值的方法根据处理时钟值的不同情况而异。比如,在刚开始进行同步时,时钟可能与同步目标相差很远,因此需要采用加减调整或直接设置时间值的方法,以后当时间值非常接近时,临时速率调整方法可能是最佳选择。

1.2 时钟同步报文时间戳

IEEE1588标准将信息报文分为事件(Event)与普通(General)两类报文模式。发送或接收事件报文可以产生时间戳。而普通报文可以传递由事件报文产生的时间戳。DP83640的时钟同步报文时间戳主要在发送报文信息分解模块与接收报文信息分解模块中实现。

1.2.1 发送报文信息分解模块

DP83640的发送报文信息分解模块监视由上层硬件经图1中的TX RMII接口发送而来的事件报文包。发送报文信息分解模块能够检测直接在以太网Layer2层传输的以太网数据包以及UDP/IPv4(用户数据报协议/互联网协议第4版)数据包中的IEEE1588事件报文。当检测到IEEE1588事件报文时,DP83640的PTP发送时间戳寄存器将捕获发送时间戳并且提供给软件。事件报文从物理层发送模块转换成差分信号发送到以太网络。因为软件知道信息包发送的顺序,所以只记录时间戳。DP83640可以缓存4个时间戳[2]。

1.2.2 接收报文信息分解模块

DP83640的接收报文信息分解模块监视由物理层接收模块得到的接收包数据以检测IEEE1588事件报文。接收报文信息分解模块能够检测直接在以太网Layer2层传输的以太网数据包以及UDP/IPv4数据包的IEEE1588事件报文。当检测到IEEE1588事件报文时,DP83640的PTP接收时间戳寄存器将捕获接收时间戳并且提供给软件。除时间戳以外,该寄存器还将记录16位的序列号,4位的消息类型,而且为IEEE1588事件报文的20~29字节生成一个12位的复述值。DP83640可以缓存4个时间戳,并且当一个接收时间戳准备好以后可以产生一个中断[2]。

2 时间同步原理

IEEE1588标准把网络系统内部的时钟按照树形管理模式使系统内的时钟形成主从关系。以以太网为例,一个给定子网中包括多个节点,每一个节点都有一个时钟,时钟之间经网线连接。在一个子网中只有一个主时钟,从时钟由主时钟得到准确时间。

2.1 信息报文

IEEE1588标准定义了4种多点传送的报文类型:同步信息报文,简称Sync;Sync之后的信息报文,简称Follow_up;延时要求信息报文,简称Delay_Req;还有一种是Delay_Req的回应信息报文,简称Delay_Resp。Sync与Delay_Req属于事件报文,而Follow_up与Delay_Resp属于普通报文[5]。

同步原理如图2所示。协议通过连续性的交换信息报文来计算主、从时钟之间的时间偏移量(offset)与网络时延(delay)。

offset=s1–m1(1)

图2 DP83640硬件辅助IEEE1588同步原理

2.2 校正时间偏移量

主时钟向从时钟发送Sync信息报文。经主时钟的DP83640物理层时打上时间戳标记m1,从时钟接收到Sync报文,在从时钟的DP83640物理层上打上时间戳标记s1,并将s1时间戳传送到PTP应用协议中。主时钟将m1时间从DP83640的相关寄存器读取出来,然后把它写入到Follow_up报文里,发送给从时钟,从时钟接收到该报文并读取时间戳m1。这里假定主、从时钟之间的网络时延为零,那么通过下面的表达式(1)就可以得到从时钟相对于主时钟的时间偏移量,并通过加减调整更新机制对从时钟的PTP时间进行纠正[6]。

2.3 测量网络时延

完成了上述时间偏移量的纠正后,应该分析和计算主、从时钟间网络时延对时间同步精度的影响。从时钟向主时钟发送Delay_Req报文,经从时钟的DP83640物理层时打上时间戳标记s2,并被读取到从时钟的PTP应用协议中。主时钟接收到Delay_Req报文,在DP83640物理层上打上时间戳标记m2,并将m2时间传送到主时钟的PTP应用协议中,主时钟然后将m2写入到Delay_Resp报文中发送给从时钟。从时钟接收到Delay_Resp报文并读取得到m2。这里假定主时钟到从时钟的网络时延与从时钟到主时钟的网络时延是相等的。根据下面的表达式(2)计算得到网络时延并将其作为更正信息通过加减调整更新机制纠正从时钟的IEEE1588时间,以达到最终与主时钟时间同步的目的。

delay= (s2–m2)/2 (2)

上述分析表明,同步的精确度与时间戳和时间报文信息紧密相关。DP83640硬件辅助的作用是直接在物理层上获取IEEE1588协议所需的时间戳标记,减少了软件协议处理中带来的内部延时,从而获得更高的同步精度。

3 时间同步实现

为了实现时间同步的功能,构建了IEEE1588时间同步模块软、硬件功能结构,如图3所示,硬件平台结合了DP83640物理层芯片与出自NXP公司的ARM Cortex-M3系列的LPC1758微处理器芯片,该芯片集成了以太网MAC功能。上述两芯片之间采用简化媒体独立接口RMII主模式进行连接,减少了连接的管脚数目,易于布线及扩展[7]。软件协议实现了IEEE1588-2002PTP协议[5]的同步功能与UDP/IPv4网络协议栈[8]以及控制MAC与DP83640的驱动程序。

图3 IEEE 1588主、从时钟同步模块软、硬件结构

4 时间同步验证

4.1 报文信息验证

通过时钟模块与计算机之间信息报文的发送,使用Ethereal软件,捕获发送接收的报文信息,验证了同步信息报文的传输。同步信息报文验证结果如图4所示。主时钟的IP地址设置为192.168.0.100,从时钟的IP地址设置为192.168.0.3。

图4 同步信息报文验证结果

4.2 同步过程验证

通过LPC1758主、从系统的串口分别读出同步信息,图5所示为主时钟发送同步报文信息的同步过程,图6所示为从时钟接收主时钟同步报文信息计算时间偏移量与路径时延的同步过程。

图5 主时钟发送同步报文信息的同步过程

图6 从时钟接收主时钟同步报文信息并计算时间偏移量与路径时延的同步过程

4.3 同步精度测试

为了测量主、从时钟的时间同步精度,建立如图7所示的IEEE1588主、从时钟的实验平台。主时钟模块由LPC1758主系统与DP83640主设备通过RMII接口构成,从时钟模块由LPC1758从系统与DP83640从设备通过RMII接口构成。DP83640主设备的PTP时钟采用由中国科学院国家授时中心(NTSC)的钟房标准10 MHz频率信号经可移相分频钟产生的25MHz外部时钟信号。DP83640从设备的PTP时钟采用由PO200B-GPS控制铷原子频标产生的10 MHz频率信号经可移相分频钟产生的25 MHz外部时钟信号。主、从系统通过1 m长的标准五类双绞线连接组成对等网模型。

DP83640主、从设备分别产生秒脉冲(1PPS)信号输入到SR620时间间隔计数器里,SR620也接入了NTSC的钟房标准10 MHz外部频率信号。

图8给出了主、从时钟通过4 s的同步间隔进行1 PPS比对的结果。均值为4.98 ns,均方值为3.77 ns,峰-峰值为16.8 ns。由此可见,基于DP83640硬件辅助的局域网内时间同步精度能达到纳秒量级。

图7 主、从时钟同步精度测量平台框图

图8 PTP主、从时钟1 PPS比对结果(均值4.98 ns;标准方差3.77 ns)

5 结语

IEEE1588标准解决了通用以太网延迟时间长和同步能力差的瓶颈,适合于以太网内各控制节点的时间同步。采用物理层硬件辅助的时间同步已成为进一步减少同步误差提高同步精度的理想途径。面对电力、国防等领域对于时间同步高精度的需求,基于DP83640硬件辅助的IEEE1588标准定将有日益广阔的应用空间和市场前景。

[1] National Semiconductor Corporation. Application note 1728: IEEE 1588 precision time protocol time synchronization performance[K]. USA: 2007.

[2] National Semiconductor Corporation. DP83640 precision PHYTER-IEEE 1588 precision time protocol transceiver[K]. USA: 2008.

[3] National Semiconductor Corporation. National semiconductor Ethernet PHYTER-software development guide[K]. USA: 2007.

[4] National Semiconductor Corporation. Application note 1729: DP83640 IEEE 1588 PTP synchronized clock output[K]. USA: 2008.

[5] 1588-2002 International Standard. IEEE standard for a precision clock synchronization protocol for networked measurement and control systems IEEE Std [S]. USA: [s.n.], 2002.

[6] 刘迪忻. 无线传感器网络中基于时钟漂移补偿的时间同步技术[J]. 时间频率学报, 2009, 32(2): 120.

[7] National Semiconductor Corporation. Application note 1794: using RMII master mode[K]. USA: 2008.

[8] SCAGLIA S. 嵌入式Internet TCP/IP基础、实现及应用[M]. 潘琢金, 徐蕾, 拱长青, 等, 译. 北京: 航空航天大学出版社, 2008.

Study and implementation of hardware-assistedIEEE1588 based on DP83640

WANG Kang1,2,3, HU Yong-hui1,2, HE Zai-min1,2,3

(1. National Time Service Centre, Chinese Academy of Sciences, Xi’an 710600, China;2. Key Laboratory for Precision Navigation and Timing Technology, National Time Service Centre,Chinese Academy of Sciences, Xi’an 710600, China;3. Graduate University of Chinese Academy of Sciences, Beijing 100039, China)

Along with extensive application of precise time synchronization, it has become an ideal way to adopt hardware-assisted IEEE1588 protocol for reducing synchronous error and improving synchronous precision. The functional structure of physical layer chip DP83640 and the basic synchronous principle for IEEE1588 protocol are analyzed in this paper. A time synchronous module with DP83640 as a major component has been constructed, and the synchronous process has been tested and verified. The experiments and analyses show that the synchronous precision for the IEEE1588 protocol assisted with DP83640 achieves the level ofnanosecond.

IEEE1588; DP83640; time synchronous; timestamp

P127.1+2

A

1674-0637(2011)01-0001-08

2010-03-09

中国科学院“西部之光”人才培养计划资助项目(2008YB02);中国科学院“西部之光”人才培养计划“西部博士”资助项目(Y001YR5601)

王康,男,硕士,工程师,主要从事网络化时统研究。

猜你喜欢
纳秒物理层以太网
基于K-ML-MPWFRFT的物理层安全传输技术
基于1500以太网养猪场的智能饲喂控制系统的设计与实现
公路联网电子不停车收费系统路侧单元物理层自动测试软件研发
谈实时以太网EtherCAT技术在变电站自动化中的应用
基于纳秒脉冲技术的超/特高压设备绕组变形带电检测研究
基于高速数字电路的PD UHF信号纳秒级陡脉冲源研制
多天线物理层安全传输系统性能分析
空气中纳秒脉冲均匀DBD增加聚合物的表面亲水性
一种90W高功率以太网供电系统的设计
浅谈EPON与工业以太网在贵遵高速公路中的应用