摘要: 数据传输及处理的综合要求使局域网在测试与测量领域尽显技术优势,新一代测试总线lxi应运而生。在现有以太网基础上开展测试与测量,首先需要解决的是实现不同终端设备之间的精密时钟同步,lxi采用ieee1588。本文主要包含3个部分:ieee1588同步元件的软硬件组成、精密时钟同步的实现及其精确度测试。
关键词: lxiieee1588同步
analysis of the precise time synchronization of ieee1588
huang yunshui feng yuguang
abstract: with the improving requirement of data transferring and complex processing in test and measurement, a novel lxi bus standard came into being accordingly. to realize networked test and measurement on current ethernet network, precise time synchronization among different terminals should be achieved. this article mainly includes three parts: hardware and software formation of ieee1588 synchronization devices, implementation of precise synchronization and accurate test.
keywords: lxi,ieee1588,synchronization.
0引言
测试与测量(test and measurement,t&m)的发展以测试总线的发展为标志。测试总线从gpib到vxi再到pxi,测试仪器也由机架式发展到了插卡式。但是t&m对数据传输与处理综合要求的逐步提高使得这种发展已经远远不能满足人们的需求,于是以太网以其优秀的传输性能开始被广泛采用。
人们开始在测试与测量系统中直接接入以太网,然后使用gpib、vxi或者pxi总线连接仪器,达到向远程地点传输数据或者从远程地点接收命令的目的。去年9月,agilent公司和vxi科技公司联合推出了lxi(lanbased extensions for instruments),这是一种适用于测试系统的新一代基于lan的模块化平台标准。lxi总线不受带宽、软件和计算机背板体系结构的限制,而且能利用日益增长的ethernet吞吐能力。
lxi是一种基于网络的仪器接口规范,为实现各种终端设备之间的同步控制,采用了以太网的精密时间协议(precision time protocol,ptp),即ieee1588。ieee1588定义了一个在测量和控制网络中,与网络交流、本地计算和分配对象有关的精确同步时钟的协议(ptp)。下面介绍这种精密时钟协议的体系结构、工作原理以及它的精度分析。
1ieee1588体系结构
1.1关于精密时钟
一个1588精密时钟(ptp)系统包括多个节点,每一个都代表一个时钟,时钟之间经由网络连接。按工作原理,时钟可以分为普通时钟和边界时钟两种。二者的区别是普通时钟只有一个ptp端口,而边界时钟包括多个ptp端口。在网络中,每一个时钟都可能处于下面3种状态:从属时钟(slave)、主时钟(master)和原主时钟(passive)。每个时钟所处的状态是根据最优化的时钟算法决定的,图2ieee1588的三层结构这些状态随着网络构造的改变而改变。
1.2ptp参考体系结构
ptp体系结构的特别之处在于硬件部分与协议的分离,以及软件部分与协议的分离,因此,运行时对处理器的要求很低。事实上,下面可以看到,ptp的体系结构是一种完全脱离操作系统的软件结构。
ptp参考体系结构如图1所示。硬件单元由一个高度精确的实时时钟和一个用来产生时间印章的时间印章单元(tsu)组成。软件部分通过与实时时钟和硬件时间印章单元的联系来实现时钟同步。
screen.width-333)this.width=screen.width-333" border=0>
图1同步元件组成框图
ptp这种体系结构的目的是为了支持一种完全脱离操作系统的软件组成模型,如图2所示。根据抽象程度的不同,ptp可分为3层结构: 协议层、os抽象层和os层。
协议层包含完成网络时钟同步的精密时钟协议,它能运用在不同的通信元件中(如pc、集线器、路由器等)。协议层中使用的仅仅是ansi/iso c中的保角函数(conformal functions),因此无需对不同平台的接口功能函数有很深的了解,就能很容易地移植该协议。协议层与os抽象层之间的通信是通过一个序列和3个精确定义的接口实现的。
os抽象层包含了基于操作系统的功能函数,
screen.width-333)this.width=screen.width-333" border=0>
因此,这一层操作者必须掌握。这一层中包含ptp的3个通信接口:时间印章接口、时钟接口、端口接口。时间印章接口通过对sync和delayreq信号加盖时间印章来提供精密时钟协议,同时根据精度需要决定到底是硬件还是软件产生时间印章。产生“软件时间印章”的最好方法是依赖操作系统的nic网络接口卡驱动,并且要在传输媒介中取得越近越好。通过时钟接口能够对本地时钟进行读和更改的操作,当然,这些操作是建立在熟知各类功能函数的基础上。该接口包含了与时钟同步质量(如精确度、稳定度等)密切相关的控制算法。端口接口用来分配/接收ptp信息。
这种模块化的软件平台在windows与linux中的应用是通过软件中的时间印章实现的。纯粹的软件实现也能达到大约100μs











