分布式数据采集系统中的时钟同步

发布者:温雅如风最新更新时间:2011-11-02 关键字:分布式数据采集系统  时钟同步  IEEE1588  FPGA 手机看文章 扫描二维码
随时随地手机看文章

引言

  随着网络技术的发展,各种分布式的网络和局域网都得到了广泛的应用[1]。分布式数据采集系统广泛应用于船舶、飞机等采集数据多、实时性要求较高的地方。同步采集是这类分布式数据采集系统的一个重要要求,数据采集的实时性、准确性和系统的高效性都要求系统能进行实时数据通信。因此,分布式数据采集系统中的一个关键技术就是实现数据的同步传输。

  由于产生时钟的晶振具有频率漂移的特性,故对于具有多个采集终端的分布式系统,如果仅仅在系统启动时进行一次同步,数据的同步传输将会随着系统运行时间的增长而失步。因此时钟的同步就是保证数据同步传输的关键所在。2002年提出的IEEE1588标准旨在解决网络的时钟同步问题。它制定了将分散在测量和控制系统内的分离节点上独立运行的时钟,同步到一个高精度和高准确度时钟上的协议。

  由于分布式数据采集系统工作于局域网的环境中,于是借鉴IEEE1588标准中的思想,设计出一种针对基于局域网的分布式系统的时钟同步的机制,成功地在分布式数据采集系统中实现了μs级的同步。

1  时钟同步原理及实现

  时钟同步原理借鉴了IEEE1588协议中的同步原理。IEEE1588 定义了一个在工业自动化系统中的精确同步时钟协议(PTP 协议),该协议与网络交流、本地计算和分配对象有关。IEEE1588 时钟协议规定,在进行时钟同步时,先由主设备通过多播形式发出时钟同步报文,所有与主设备在同一个域中的设备都将收到该同步报文。从设备收到同步报文后,根据同步报文中的时间戳和主时钟到从时钟的线路延时计算出与主时钟的偏差,对本地的时钟进行调整[2]。

  系统由各个单元的系统控制板(简称“系统板”)来完成同步的工作。同步模型与IEEE1588时钟协议一致,采用主从结构。主从单元采用相同频率的晶振,此时时钟同步的关键就是解决时钟相位对准问题和时钟漂移的问题。

  系统中采用的时间同步算法,是借鉴IEEE1588的同步原理,主要是采用约定固定周期同步的算法。和IEEE1588同步算法一样,同步过程分为两个阶段: 延迟测量阶段和偏移测量阶段。下面以一主一从模式为例介绍其原理。

1.1  延迟测量

  延迟测量阶段用来测量网络传输造成的延迟时间[3]。定义一个延迟请求信息包(Delay Request Packet) ,简称“Delay_Req”。延迟测量示意图如图1所示。

按此在新窗口浏览图片
图1  延迟测量示意图

  为了简化程序,采用固定的周期测量网络延迟,一般系统每工作一个小时进行一次测量。从属时钟TSd 时刻发出延迟请求信息包Delay_Req ,主时钟收到Delay_ Req 后再立刻返回一个延时响应包delay_back发送给从属时钟,因此从属时钟就可以非常准确地计算出网络延时:

  TM2 →TS2∶Delay1 = TS2-Offset-TM2 TS3 →TM3∶Delay2 = TM3-(TS3 - Offset)

  其中的Offset为从时钟与主时钟之间的时间偏差。

  因为网络延迟时间是对称相等的,所以:

  Delay =(Delay1 + Delay2)/2=((TS2-TM2)+(TM3-TS3))/2

  需要说明的是,在这个测量过程中,假设传输介质是对称均匀的,且线路是对称的[4]。

1.2  时钟修正

  时钟修正用来修正主时钟和从属时钟的时间差。在这个时间修正过程中,IEEE1588中主时钟周期性地发出一个确定的同步信息包(Sync) (一般为每2秒1次) ,它包含一个时间印章(time stamp) ,精确地描述了数据包的发出时刻[3]。本案采用的简单同步模式,主要就是约定了同步修正包的发出时刻,整秒时刻,系统会在整秒时刻不做其他工作,这样就可以省掉IEEE1588中用于发送同步包预计发包时间的同步跟随包。

  假设同步前主时钟的时间为发出时钟Tm1=2 000 s,而从属时钟的接收时间为Ts1=2 001 s。如果主从时钟是同步的,则同步的接收时钟是:Tm1+Delay=2 000+0.5=2 000.5。只需将时钟调整为2 000.5,即Ts′=Tm1+Delay。

  简易时钟同步的关键就在此。同步包内可包含主端发出的时刻。从端收到后,即可与测得的Delay相加为自己的该时刻时钟。

  这里要说明的是:

  ①  上式中的Delay 就是主时钟与从属时钟之间的传输延迟时间,从上面的延迟测量阶段得到。
  ②  如果收到的同步包信息出错,从单元可以根据自己的时刻,依据临近取整原则推知主端发出的整秒时刻时间,与接收包进行对比。因为时间偏移一般都在μs级,如果误差太大,则舍弃该包。

1.3  同步实现

  如图2所示,从端发出延迟统计包,主端反馈后,从端求得Delay。在每个整秒左右时刻收到同步包后,进行时钟修正,即从属时钟与主时钟实现了精确同步[5]。

2  分布式数据采集系统简介

  分布式数据采集系统属于局域网构架,单元间通过网络进行数据交互,由集线器和微采集系统组成,每个微采集器成为一个独立“单元”。可以支持一主多从的分布式模型:设置其中一个微采集系统作为主单元,其他的作为从单元。分布数据采集系统结构框图如图3所示。

  各个单元的设计完全相同,均由一个系统控制板和多个功能板构成。系统控制板是采集器的核心,它控制着单元内的各个功能卡的配置和单元内的数据传输,同时保持与外部通信。功能板用以实现A/D、FIFO处理等功能,用于数据采集和传送。各个单元中的所有板卡皆采用独立时钟。

  此分布式采集系统中各个单元构成一个星形网。系统控制板成为星形网络中的节点,节点间用网线相连。系统符合协议IEEE802.3、CSMA/CD标准,可以与标准的以太网完美兼容。

3  基于FPGA的实现

3.1  分布式系统中各个单元的体系结构

  由于FPGA开发灵活,精度上能达到系统要求,开发周期短,且成本低。系统中各个系统控制板采用FPGA技术,即采用微控制器及其对应的外设接口和相应的软件来实现[6]。利用Nios II处理体系,将系统划分为各个功能模块,并考虑到系统所需的资源和生成代码的大小。设计的系统由以下几部分组成:Altera的Cyclone系列芯片,包括嵌入Nios II软核、系统定时器、同步时钟定时器、DM9000A以及Avalon总线等设计。

  网络接口芯片DM9000A实现以太网媒体介质访问层(MAC)和物理层(PHY)的功能。系统采用无链接的UDP通信,且采用多个定时器,用于时钟同步和工作周期的制定。

按此在新窗口浏览图片
图2  同步过程

按此在新窗口浏览图片
图3  分布数据采集系统结构框图

3.2  具体软件设计流程

  同步定时器每秒钟产生一次中断。作为同步时钟,另一个定时器将一个同步周期划分为几个等时段,为工作周期。主从单元通过网络互相交换数据,在每一个系统周期内将各自的数据发送到网络中。为了预防发送时刻点的冲突,在配置信息中注明每个周期该单元的发送时刻。

  系统有以下几种状态:初始状态、预同步状态、实时工作状态。

  ①  初始状态:分布式系统上电后,主从单元进入初始状态对各项参数进行初始化,注册timer中断和网络中断等。初始化后进入预同步状态。
  ②  预同步状态:主要是每小时进行一次网络延时的测量,然后从端会将自己与主端的一次传输时延保存起来。
  ③  实时工作状态:预同步完毕后各单元进入实时工作状态。一小时后又再次进入预同步状态。实时工作状态将处理多个线程。

(1)  同步线程

  ①  主单元,将同步timer的周期置为1 s的同步约定周期,即每1 s产生1次中断。主单元会在每秒到来时刻(中断),发出同步包(syns)。
  ②  从端在接收到同步包后,调整定时器时钟为同步包内时刻与时延之和。

(2)  数据传输

  线程系统在避开同步阶段的时刻进行实时数据的传输,主要是根据系统对各个工作周期的划定。

(3)  数据采集和处理线程

  由系统中各单元的各自任务来决定,不占用网络。对传感器采集数据进行处理,同时也处理网络传送来的数据。

4  同步测试

  在系统的实时工作状态下,验证其同步效果。由于同步定时器产生的脉冲为一个系统时钟宽度(32 MHz),不便于观察。为了便于演示,主从端都在定时器产生的同步时钟上升沿到达时将同步信号置1,主单元在发送完同步包后将同步信号置0;从单元则在收到同步包后将同步信号置0。这样得到的信号与定时器产生的同步时钟是同频的,只是放宽了脉冲宽度。同步效果如图4所示。

按此在新窗口浏览图片
图4  同步效果

  图4(a)中,每个栅格为500 ms;图4(b)将其放大1 000倍,每栅格为500 μs。每幅图中,上面的1通道为主单元同步信号,下面的2通道为从单元同步信号。由图4(a)可见,同步时钟周期为1 024 ms。

  由于从单元是在收到同步包后,将信号置0,必定滞后于主单元发送同步包时刻(主端将同步信号置0时刻),从图4(b)中可见,从单元脉冲宽度比主单元宽,因此只需比对同步信号的上升沿。图4(b)是将图像保持时间置为无限,信号上升沿处阴影表示运行时间以来的偏移情况。测试时间为24 h(小时),测量阴影的长度Δx=20 μs(上升沿偏移),即为同步效果最大的同步偏差可以控制在20 μs以内。

5  结论

  由于系统工作于局域网,借鉴IEEE1588协议思想,提出并实现了简易时钟同步的设想;占用资源少,精度高,可行性高。验证是在实时工作状态下测试的,并将同步偏差控制在20 μs,满足时钟同步的要求;同时,以FPGA技术为载体,软件开发平台为Nios II,易于系统移植和功能扩展。鉴于方案的高效和高可行性,可以进一步推广到其他分布式局域网的应用系统中。

关键字:分布式数据采集系统  时钟同步  IEEE1588  FPGA 引用地址:分布式数据采集系统中的时钟同步

上一篇:单片机的图形化编程方法分析
下一篇:基于U盘和单片机的FPGA配置

推荐阅读最新更新时间:2024-03-16 12:45

一种基于FPGA的振动信号采集处理系统
  振动现象是机械设备运行的伴随过程,结构部件处于工作状态就有振动信号产生,常见故障通过振动和由振动辐射出来的噪声反映。在飞行器的健康监控和诊断过程中,作为提取故障信息的主要手段,振动信号的采集和处理具有特殊重要的意义。   飞行器振动过程的捕捉由于采样点数密集, 传感器 数量多, 传感器 之间同步要求高,对于振动采集系统采样速率、采样精度和数据处理能力提出了更高的要求,单纯依靠CPU完成数据采样和处理越来越力不从心。   以FPGA为代表的可编程逻辑器件以其工作稳定、速度快、灵活的可编程能力等特点,获得了越来越广泛应用。本文提出了一种基于FPGA的振动信号采集处理系统;该系统具有实时性高,纠错能力强等特点,采用数据流控制的方法实
[嵌入式]
一种基于<font color='red'>FPGA</font>的振动信号采集处理系统
基于FPGA的雷达中/视频数据采集与回放系统设计
0 引言 随着科学技术的飞速发展,在军事、航空航天和测试及测量等领域,人们对数据采集系统的采样精度、采样率和存储量等指标提出了更高的要求。传统的采集器件使用起来很不方便,其局限性非常明显,显然已经不能适应现代技术发展的需要。目前,随着集成电路技术的进步,大规模和超大规模的可编程逻辑器件在实际系统设计中得到广泛的应用。由于其集成度高、功耗低、设计灵活、效率高等优势,同时器件具有用户可编程特性,可大大缩短系统设计周期,减少设计费用,降低风险投入,而且部分器件还具有在线可编程的能力。 在此介绍一种雷达中/视频数据采集记录系统,它的核心技术是利用高速可编程逻辑门阵列FPGA对雷达目标回波进行高速实时采集,并将持续采集来的信号数据记
[嵌入式]
基于<font color='red'>FPGA</font>的雷达中/视频数据采集与回放系统设计
基于FPGA的微波辐射计数控系统设计与实现
  微波辐射计是一种被动式的微波遥感器,用于全天时、全天候地观测全球大气温度和湿度、降雨量等空间气象资料,在全球性水文循环探测、地质与资源调查、海洋环境与海况检测、灾害性天气预报与检测等研究中发挥了重要作用。由于微波辐射计是一种被动式的遥感器,其灵敏度要求很高,同时,由于当今遥感仪器的设计越来越趋于高功能密度及小型化,因此,要求多通道微波辐射计的数据处理与控制系统具有高可靠性、高分辨率、实时性好、体积小、重量轻、功耗低以及可移植性强等特点。以往多数微波辐射计数控系统中采用的以80C31为核心的设计,由于受微处理器芯片和外围电路的限制,扩展性差,所占体积较大,且需要多块电路板协调工作,功耗较大。鉴于FPGA功能强大、逻辑速度快、功耗
[嵌入式]
基于<font color='red'>FPGA</font>的微波辐射计数控系统设计与实现
基于CPLD的多DSP及FPGA远程加载设计
随着硬件技术的大力发展和加工丁艺技术的不断提升,芯片技术日益成熟,软件无线电技术得到广泛应用和迅猛发展。无线电系统在整体体系结构上发生了重大变化,正沿着综合化、模块化、通用化和智能化的方向快速推进。无线电系统将模块化、标准化的硬件构成基本平台,通过软件加载技术来实现尽可能多的功能,为多种信号的功能综合和互联互通提供了技术保障。随着模块应用灵活性要求的不断增加,软件维护及升级需求的日益迫切,给软件加载技术提出了更高要求。本文提出了一种基于CPLD的多处理器远程加载管理设计应用方案,系统实现了从远端下发命令字和更新数据即可完成模块的程序更新升级和重新加载,实现软件维护和模块功能切换,满足日益复杂的系统使用要求。 1 数字处理模块
[单片机]
基于CPLD的多DSP及<font color='red'>FPGA</font>远程加载设计
DSP+FPGA的机载总线接口板研究
ARINC429总线接口板的研制,实现多通道 ARINC429总线 数据的接收和发送,成为目前对飞机机载总线接口研究的重点。   1 ARINC429总线简介   在现代民用飞机上,系统与系统之间、系统与部件之间需要传输大量信息。ARINC规范就是为了在航空电子设备之间传输数字数据信息而制定的一个航空运输的工业标准。   ARINC429(以下简称429)总线协议是美国航空电子工程委员会(Airlines Engineering Committee)于1977年7月提出的,并于同年发表并获得批准使用。它的全称是数字式信息传输系统DITS。协议标准规定了航空电子设备及有关系统间的数字信息传输要求。ARINC429广泛应用在先进
[模拟电子]
DSP+<font color='red'>FPGA</font>的机载总线接口板研究
基于AD9959的多体制雷达信号源的设计
  1引言   随着雷达技术的发展,出现了多种体制的雷达,比如脉冲多普勒雷达、SAR、相控阵雷达先进,虽然这些雷达的功能不同,但是为了提作用距离和距离向上的分辨率,都彩了大时宽积信号。在雷达信号源设计领域,DDS技术和器件已经得到了很大的发展,相应的出现了很多性能优异的DDS器件,本文旨在介绍一种基于ADI公司的AD9959设计的新型多体制的雷达信号源设计方法,该器件具有稳定度高,相位、频率和幅度调整灵活,能够同时产生4路相关信号,信号形式可以任意设定的特点,这些优异的性能在雷达信号源的研制方面都表现出了良好的应用前景。   2 系统硬件设计   本文设计的多体制雷达信号源是以ADI公司的AD9959为核心,结合FPGA控制
[模拟电子]
基于FPGA的生物芯片扫描仪的位置检测
摘 要: 基于FPGA实现了生物芯片扫描仪中X-Y二维扫描台的位置检测电路,解决原有电路存在的计数误差和误清零问题,提高系统的可靠性。详细阐述了FPGA中辨向细分、可逆计数器,接口电路的设计实现,并给出了仿真波形。 关键词: FPGA;位置检测;辨向;细分;可逆计数 引言 生物芯片是20世纪末随“人类基因组计划”的研究和发展而产生的一项高新技术,是人们高效地大规模获取生物信息的有效手段。目前大部分生物芯片采用荧光染料标记待测样品分子。生物芯片扫描仪用激光激发荧光染料,通过对激发点的成像,检测一个点;结合生物芯片X-Y二维精密扫描台上移动,实现对整片的扫描。 X-Y二维扫描台的位置检测精度直接影响着扫描分辨率——
[半导体设计/制造]
2024年FPGA将如何影响AI?
随着新一年的到来,科技界有一个话题似乎难以避开: 人工智能。事实上,各家公司对于人工智能谈论得如此之多,没有热度才不正常! 在半导体领域,大部分对于AI的关注都集中在GPU或专用AI加速器芯片(如NPU和TPU)上。但事实证明,有相当多的组件可以直接影响甚至运行AI工作负载。FPGA就是其中之一。 对于那些了解FPGA灵活性和可编程性的人来说,这并不令人惊讶,但对许多其他人来说,这两者之间的联系可能并不明显。问题的关键在于通过软件让一些经典的AI开发工具(如卷积神经网络(CNN))针对FPGA支持的可定制电路设计进行优化。 FPGA还可以创建多个并行计算流水线(在概念上类似于GPU提供的功能),这对于作为众多AI算法核心的
[嵌入式]
2024年<font color='red'>FPGA</font>将如何影响AI?
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved