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

  作者:重庆大学 王骥 张玲 时间:2008-07-14来源:单片机与嵌入式系统应用

  1.3 同步实现

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

图2 同步过程

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

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

图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通信,且采用多个定时器,用于时钟同步和工作周期的制定。

  3.2 具体软件设计流程

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

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

  ① 初始状态:分布式系统上电后,主从单元进入初始状态对各项参数进行初始化,注册timer中断和网络中断等。初始化后进入预同步状态。

  ② 预同步状态:主要是每小时进行一次网络延时的测量,然后从端会将自己与主端的一次传输时延保存起来。

  ③ 实时工作状态:预同步完毕后各单元进入实时工作状态。一小时后又再次进入预同步状态。实时工作状态将处理多个线程。

  (1) 同步线程

  ① 主单元,将同步timer的周期置为1 s的同步约定周期,即每1s产生1次中断。主单元会在每秒到来时刻(中断),发出同步包(syns)。

  ② 从端在接收到同步包后,调整定时器时钟为同步包内时刻与时延之和。

  (2) 数据传输

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

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

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

  4 同步测试

  在系统的实时工作状态下,验证其同步效果。由于同步定时器产生的脉冲为一个系统时钟宽度(32MHz),不便于观察。为了便于演示,主从端都在定时器产生的同步时钟上升沿到达时将同步信号置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)是将图像保持时间置为无限,信号上升沿处阴影表示运行时间以来的偏移情况。测试时间为24h(小时),测量阴影的长度Δx=20 μs(上升沿偏移),即为同步效果最大的同步偏差可以控制在20 μs以内。

  5 结论

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

  参考文献

  [1] 王娜, 慕德俊. 分布式试验系统管理中的时钟同步技术研究[J]. 电子技术应用,2006(12): 25-27.

  [2] 桂本烜,冯冬芹,褚健,等. IEEE1588的高精度时间同步算法的分析与实现[J]. 工业仪表与自动化装置,2006(4):20-23.

  [3] IEEE1588, Standard for a Precision Clock Synchronization Protocol forNetworkedMeasurementandControl Systems[S],IEEE15882002 Standard, November 2002.

  [4] Ferrari P,Flammini A, Marioli D,et al. IEEE 1588based Synchronization System for a Displacement Sensor Network[C]. Instrumentation and Measurement Technology Conference, 2006.

  [5] Depari A, Ferrari P, Flammini A,et al. Evaluation of Timing Characteristics of Industrial Ethernet Networks Synchronized by means of IEEE 1588[C]. Instrumentation and Measurement Technology Conference,2007.

  [6] 彭澄廉,周博,等. 挑战SOC——基于NIOS的SOPC设计与实践[M]. 北京: 清华大学出版社,2004: 12-15,148-152.</P>

1 2

关键词: 数据采集 分布式 时钟同步 FPGA

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版