日本女仆装系列:IEEE1588 – 网络化机载数据采集系统的同步之道?

来源:百度文库 编辑:偶看新闻 时间:2024/05/07 16:46:32

IEEE1588 – 网络化机载数据采集系统的同步之道?

Diarmuid Corry, M. Eng

ACRA CONTROL INC

 

摘要

机载数据采集器的生产厂商一直面临着一个重要问题:确保机上各安装位置的数据采集器同步工作。早前的做法是用专门的同步信号电缆连接各台采集器。其缺陷是测试设备总重量增加、系统变得比较复杂,并且机箱之间的相互协同能力降低。对于使用以太网互联互通的网络化机载采集系统,同步问题尤为重要。

IEEE1588 标准提出了一种通过以太网精确传输时钟的方法。本文将重点讨论此标准及其机理,并探索将此标准引入机载采集系统的可能之方法。在第三章将详细介绍通过四线以太网实现同步的分布式数据采集系统。

附件详细介绍了KAM-500是如何采用IEEE1588标准的

关键字

时间同步,数据采集,PTP,以太网,同步采样

              1 介绍

 

同步的数据采集系统能确切知道任意一次采样所发生的时刻,该采样时刻与某个绝对时间或是某个外部/内部事件的时间间隔相对固定(现代的数据采集系统更进一步,实现了同步采样:所有通道被同时采样,且与绝对时间或某个外部/内部事件的相对时间间隔保持一致)。同步采集的数据更便于分析。若要对比分析来自不同采集器、不同被测飞机上的数据,则必须把它们对齐绝对时间。

为实现同步采样,采集器必须实现以下两点:

            1.要有一个相同的时间基准。

            2.要有一种方法能确保机箱及通道同步工作,或是相对于某个时间基准同步工作。

 

此前,人们尝试过许多方法来解决此问题。在飞行试验机载数据采集系统中,最常用的是接收并保持IRIG 时间,把它作为系统的时间基准(有时会使用多个独立的IRIG 时码源给不同采集器授时)。除此之外,也有很多人使用自有同步协议,增加若干条同步电缆(机箱之间最多要连接10根导线),以实现不同系统的同步工作。 

飞行试验测试设备领域两个日益明显的发展趋势,给那些采用自有同步协议的厂家带来了巨大压力:

            1. 减少布线以简化系统、减轻重量的趋势日益明显。对大飞机或大型机上测试系统而言,这种需求已司空见惯。

            2. 向商业标准靠拢的趋势:例如通过以太网、1394火线和光纤通道等传输数据。

 

是否能找到一种方法,通过商业网络的技术,在不增加额外电缆、不使用自有协议的基础上,实现分布式采集系统的精确时钟同步(优于1微秒)?

2002年底,IEEE(美国电气电子工程师学会)标准委员会批准了IEEE1588标准,它被指定为局域网内部精确发布时钟的国际标准。IEEE1588定位于以太网领域的应用,它是一种高等级协议,与物理层的具体实现方式无关。它为多台同步工作的数据采集器提供了另外一种管理并分发时钟的可能之方法。本文将重点讨论此标准,并介绍它如何应用在飞行试验测试设备中。

              2 IEEE1588之简介

                   2.1 何为1588

 

IEEE1588 也被称作 “网络化测量及控制系统的精确时钟同步协议”。它是一种高端协议(也称为精密时钟协议PTP—见图一),描述了如何使网络中的一个节点成为系统的主时钟,该节点如何把它的时间/时钟传播给网络上其它节点。该协议还说明了如何处理网络传输延迟,如何通过网络交换机传播时间等。

 

 图一:IEEE1588的协议堆栈

                   2.2 它如何工作?

                        2.2.1 综述

 

基本概念是:网络上的每个节点都有自己的时钟(本地时钟),这些时钟将被同步到系统的主时钟上。此过程需要三种操作:

            1. 所有节点识别并认可系统的主时钟。

            2. 主时钟将其时间传播给所有网络节点。

            3. 节点计算它们与主时钟之间的传输延迟,并进行对应的修正。

这些操作不断被重复执行,两次之间的时间间隔即为系统的同步间隔。同步间隔通常是1281664秒,太长则不能保证足够的同步精度,太短则会增加网络传输负担。

                        2.2.2 管理

 

协议的管理部分主要指如何设置时钟参数(如同步间隔等)、如何指定系统主时钟。从本质上讲,主时钟并非某个特殊的设备,而是通过时钟优化算法所确定的网络上时间最精确的节点。

同步消息中有特定的字段能确定哪个时钟最精确。系统按照给定频率反复执行管理协议,在设备发生变化时能自动修正拓扑结构和时钟状态:例如时钟源GPS 失锁并进入自主运行状态,此时其时钟精度降低,系统需要指定其他设备作为主时钟,并接管网络的时钟控制功能。

                        2.2.3 时统及同步

 

协议的核心是解决时间的传播和同步。同步过程分为两个阶段:偏移测量阶段和延迟测量阶段。

ü  偏移量测量阶段

主时钟向网络上所有节点广播两个消息:

            1. 同步消息(sync message):这是预计发送此消息的时间

            2. 跟随消息(Follow-up message):这是实际发送此消息的时间

 

同步消息按照给定的时间间隔自动发送---同步间隔。

跟随消息用于计算发送消息时本地协议所造成的传输延迟。该消息的发送需经主时钟节点的允许。

 

 

图二:同步消息工作流程

图二说明了同步消息和跟随消息的工作流程: 

主时钟定期发出一个确定的同步信息(一般为每两秒一次),它包含了一个时间标记(time stamp),精确描述数据包发出的预计时间。如图二所示,假设同步之前主时钟的时间为Tm=128s,而从属时钟的时间为Ts=111s。主时钟测量出发送的准确时间Tm1,而从属时钟测量出接收的准确时间Ts1。由于同步消息包含的是预计的发出时间而不是真实的发出时间,所以主时钟随后发出一个跟随消息,该信息加了一个时间标记,准确记载了同步消息的真实发出时间Tm1。这样一来,从属时钟使用跟随消息中的真实发出时间和接收方的真实接收时间,可以计算出从属时钟与主时钟之间的偏移(offset):

Offset = Ts1Tm1Delay =111.75 – 128.5 – 0 = 16.75s

这里要说明的是,上式中的Delay指的是主时钟与从属时钟之间的传输延迟时间,它将在下面的测量阶段测出,所以在这里是未知的,暂定为0

偏移测量阶段能获得一个修正时间(Adjust Time),将从属时钟修正为:

Adjust TimeTsOffset

ü  延迟测量阶段

延迟测量(delay measurement)阶段用来测量网络传输造成的延迟时间。它是通过主、从时钟交换以下消息实现的:

            1. 从属时钟:发送延迟请求消息(DELAY_REQUEST message),向主时钟说明“我在此时此刻发送延迟请求信息”

            2. 主时钟:发送延迟响应消息(DELAY_RESPONSE message),告诉从属时钟“我在此时此刻收到你的延迟请求信息”。

 

图三:延迟测量


如图三所示,从属时钟在收到同步消息后在Ts3时刻130.75s 发出延迟请求消息Delay_Req,主时钟收到Delay_Req后再发送延迟响应消息(Delay_Resp),标记出准确的接收时间Tm3---131.25s,并发送给从属时钟。因此从属时钟就可以非常准确地计算出网络延时: 

Delay(Tm3-Ts3) / 2 = (131.25 – 130.75) / 2 = 0.25

 

延迟测量阶段的延迟请求消息是随机发出的,至少每64秒发送一次,以确保能连续调整时延。

                   2.3 几点假设

 

针对使用的网络,IEEE1588标准有几点假设(如假定网络支持多点传输),但对同步精度影响最大的是以下两个假设:

            1. 传输延迟是定值:不会随着工作时间的延长而发生变化(或至少是缓慢变化的)

            2. 传输延迟是对称的:主时钟到从属时钟的传输时延,等同于从属时钟到主时钟的时延

 

在通用网络中这些假设都不可能成立。但是,必须牢记IEEE1588是针对局域网,并作用于命令/响应式数据采集系统。在这些网络中,能够采用必要的手段,将传输延迟的相关参数控制在可接受的范围之内。

IEEE1588 协议能修正网络传输所造成的固定延迟,需要关注的是由于网络抖动(jitter)所造成的同步误差。网络抖动是指因协议堆栈变化、交换机缓冲等因素所引起的传输时间的变化,它会随着网络负荷的增加而增加(传输时延绝对值增加,以及变化速率加大)。

下一张将讨论在IEEE1588 网络中处理这些误差一些方法。

                   2.4 IEEE 1588网络

                        2.4.1 最小化网络延迟

 

IEEE1588网络是指各个核心设备(尤其是网络交换机)均能支持IEEE1588 标准的网络。标准的网络交换机具有足够的缓冲区,并有一定智能,可执行优先级操作等。即便是最普通的网络传输,如果某个PTP消息到达网络交换机的时候,恰好赶上后者在发布另一个消息,则前者必须等候直至交换机发送完前一个消息(理论上,最长等候时间为122us,此为传输一个MAC包的时间)。在网络负载较大的情况下,因交换机缓冲数据所造成的延迟可能会达到几十毫秒。

IEEE1588 交换机采用边界时钟(boundary clock)的概念来消除内部延迟。交换机上和系统主时钟相连的端口,按照从属时钟模式工作;其余和网络其他设备相连的端口都工作在主时钟模式。如此,即可避免交换机给后续设备所造成的时延和网络抖动。

 

图四:IEEE1588 网络中的边界时钟

 

另一种可供选择且更简单的方案是采用IEEE 1588“透明”交换机(IEEE1588 “transparent” switch [2]),它能修改时间消息中的时间标记,加入因交换机所造成的时延修正量。此时,交换机不需要过多介入PTP 协议,无需增加边界时钟的功能。

总而言之,PTP 协议能在任意网络中实施,若网络上的所有基础设备均支持IEEE1588,则整个系统能实现非常好的同步精度。

                   2.5 可达到的精度

 

归根结底,两个时钟之间所能达到的同步精度取决于许多因素:

-        本地时钟的固有稳定性

-        同步间隔时间

-        网络架构是否支持IEEE1588

-        网络架构的复杂程度

-        网络负载

-        温度变化

-        硬件(时间标记在物理接口层面由硬件添加)和软件(通过中断方式,由软件添加时间标记)

 

鉴于影响因素众多,很难有统一的同步精度数据,下表列出了一些从公共刊物上搜集到的典型测试结果:

 

拓扑结构

时间标记

网络流量

误差

标准差

来源

点对点 

硬件打时间标记

-4.248ns 

23.95ns

[3]

单交换机

硬件打时间标记

-174ns 

500ns

[4]

单交换机

硬件打时间标记

-49ns. 

99ns

[5]

单集线器

(HUB)

软件打时间标记

-630ns. 

2μs

[4]

 

 

 

其它资料显示,使用边界时钟或“透明交换机”能将时间同步的标准偏差减小到50ns 以下。[6]  

从以上结果看,无法精确得出同步精度究竟有多高,但是能确定的是:使用硬件打时间标记的方法后,能实现优于1微秒的同步精度。

                   2.6 提高性能

 

在特定环境下,可采用一些方法提高系统的性能。

为补偿数据传输过程中的网络抖动,可将一定时间段内所测得的传输延迟进行平均。这样做能改善精度但降低了系统的反应时间,一旦网络拓扑结构发生变化,系统需要一段时间去适应此变化。

不均匀的网络负载会造成不容忽视的同步误差。在飞行试验机载测试网络中这种现象非常普遍,数据总是从一个节点固定流向另一个节点(如从采集器到记录器),这造成 PTP消息传输中形成不对称的时延,从而导致一个固定的时间偏差[4]。解决方案是:事先测试出时间误差,并进行相应的修正。

 

              3 支持IEEE1588 的数据采集单元

                   3.1 控制器

 

 

图五:支持IEEE1588 的数字化数据采集系统的原理框图

 

图五描绘出了ACRA CONTROL公司的KAM-500数据采集系统如何成为支持IEEE1588的测试设备。系统的核心是具有全数字底板的机箱。根据测试需求选择各种功能模块(采集传感器、总线等信号)插入机箱。通常机箱中至少会有一个内部时钟,1μs 分辨率。数据的采集、记录、向外发送,甚至对异步总线的采集,均由系统控制器通过底板控制,在时序上与内部参比时钟(1微秒分辨率)对齐,所有数据打时间标记。因此,如果两个机箱中的控制器时钟同步,则能确保机箱中所有通道的采样同步进行。

作为兼容IEEE1588的数据采集器,在控制器内部必须增加管理此协议的功能模块。KAM-500 的BCU/105控制器已经具有可用于编程加载和数据输出的以太网端口,PTP协议管理模块被添加到FPGA内部,打时间标记的功能则由PHY协议接口芯片直接完成。如此设计,会最大限度减小协议堆栈所造成的时钟抖动,改善系统的同步精度。

KAM-500机箱、交换机、系统控制器(BCU/105)和一根四芯电缆,即可实现分布式数据采集系统的时间同步。此时,IEEE1588 被当作同步多台机箱的一种工具。

 

                   3.2 GPS 时钟模块

 

实际工作中,需用某种方式将机箱内部时钟与外部绝对时间对齐。通常会用某个外部IRIG 时间码发生器给机箱授时。IEEE 1588网络中,可将某个与IRIG GPS 时钟对齐的设备指定为系统的主时钟节点。

最实用、最简便的方法是在机箱里安装一块GPS时码卡(如图六所示)。该卡接收GPS信号,并将控制器的时钟与GPS时间锁定,此时插有该时码卡的机箱即可作为整个数据采集系统的主时钟。GPS 失锁时,时码卡自动运行,时间漂移不超过3ppm。另外,该卡能输出IRIG-B时间码,以兼容早期的数据采集系统。

 

图六:带有GPS 模块的IEEE1588 数采单元

 

使用GPS时码卡之后,机箱内部、机箱与机箱之间实现了时间同步,而且它们的时间均和绝对时间保持一致。如此,则多架均装有GPS 时码卡的试验飞机,它们的测试数据也能实现某种程度的时间同步。[7]

 

3.3 网络拓扑图

3.3.1 机载数据采集网络 

机载数据采集网络是一种比较特殊的测量网络,它的某些特性支持IEEE588,而另一些特性又排斥这种网络时钟同步的标准。尽管实际的机载数据采集系统千差万别,但它们总体上都具有以下特点:

            - 拓扑结构稳定不变:拓扑图已知且不会改变。某些场合会使用基于双裕度机载ARINC-664 总线的架构,消息在网络上的传输时间是固定值,有利于实施PTP

            - 网络负载已知:通常会预先知道网络最大负载。采集模式下,网络的动态变化已知,且呈现周而复始循环的特性。这将减少网络响应消息的传输延迟,有利于实施PTP

            - 数据传输不对称:数据采集机箱向外发送大量数据,很少或几乎不接收数据。网络上的数据流向不对称。这不利于PTP,因该标准首先假定数据传输是对称的。鉴于网络负载已知,有可能采用某种方式补偿传输延迟,来修正数据传输不对称所造成的时间误差。

            - 规模小:从网络标准看,即便是一个大飞机上的测试网络规模依然是很小的。因而有可能采用最少的交换机(一个,最多两个)来连接各个网络节点和主时钟,最大限度地减小网络抖动。

            - 环境:机载数据采集网络的使用环境非常恶劣。会给PTP协议的实施带来两个问题,首先,符合机载条件并支持IEEE1588的网络交换机很少见;其次,网络设备的工作环境温度差异非常大,这意味着需要高品质且温度漂移小的时钟。

               

         3.3.2 简单系统  

最简单的形式,是使用 IEEE1588 协议同步系统的各个采集机箱。在不需要多个交换机的前提下,指定某个机箱作为系统的主时钟(可选配输入IRIG GPS时钟),由它来同步其它机箱控制器的时钟(如图七)。只需四根电缆连接各个机箱,即可实现64Mbps 的数据总吞吐速率。

 

 

 

图七:简单的分布式数采系统

                   

     3.3.3 星型网络 

随着通道数和系统规模的增加,需要接入多种设备,网络变得复杂,但仍能实现同步。此时有必要优化网络的拓扑结构,减少各分系统与主时钟之间的节点数量,或者使用IEEE1588网络交换机,如图八

 

 

图八:包含多种设备的复杂网络


              4 结论

 

IEEE1588 是一种正被重点考察的,解决本地机载数采系统,以及多架飞机上多种数采系统时间同步问题的可能之方法。厂家们正在投入大量的精力研究飞行试验所使用的测试网络系统的时间不确定性问题,测试网络流量不对称所造成的网络时钟误差将会是研究的重中之重。

本文列举出的实施案例说明了PTP 协议是如何引入现有的模块化机载数采系统的。这充分说明过时的数据采集系统完全可以被升级,采用最新技术成果实现网络化采集,从而最大限度地保护前期的投资。

参考书目

[1] IEEE Standards Committee, “Precision clock synchronization protocol for networked measurement and control systems”, IEEE Std. 1588, 2004

[2] Sven Nylund and Øyvind Holmeide, “IEEE1588 Switch Transparency”, Proceedings of NIST Conference on IEEE1588, Gaithersburg, Maryland, 27-29 Sept, 2004

 

[3] Dirk S. Mohl, “IEEE 1588 - Precise Time Synchronization as the Basis for Real Time Applications in Automation”, http://www.industrialnetworking.com/support/general_faqs_info/Precise_Time_Sync.pdf   

 

[4] Hans Weibel and Dominic Béchaz, “IEEE1588 – Implementation and Performance of Time Stamping Techniques”, Proceedings of NIST Conference on IEEE1588, Gaithersburg, Maryland, 27-29 Sept, 2004

 

[5] John Eidson and Kang Lee, “Sharing a common sense of time”, IEEE Instrumentation and Measurement Magazine, March 2003

 

[6] Symmetricom, “IEEE 1588 Precise Time Protocol: The new standard in time synchronization”, White paper, www.symmetricom.com  

 

[7] iNET Program, “iNET Needs Discernment Report”, May 2004, Appendix 8.Scenario 34