APP下载

基于stm 32f407的精确时钟同步协议的实现

2018-04-16张端阳付忠敏

计算机与数字工程 2018年3期

张端阳 肖 力 付忠敏

(华中科技大学自动化学院 武汉 430074)

1 引言

工业现场的数据采集变得越来越模块化,但当需要测量多个外部的数据时,可能需要多个模块。将这些由传感器采集的数据通过网络上传的时候,由于没有时间信息,远程上位机不能很好将采集数据融合处理,一般只能独立的对采集上来的数据处理。为了实现对采集数据的时钟同步,需要对数据采集模块间进行时钟同步。

当前几种比较流行的时间同步协议有NTP(Network Time Protocol)[1]和 PTP(Precision Time Protocol)[2],两者的原理类似,都是实现主时钟节点和从时钟节点间的时间同步,其中PTP协议是网络测量和控制系统时钟同步协议(IEEE1588协议)的简称,具体的差异如图1所示。从图中可以看出,NTP和PTP时间戳的截取的位置不同。NTP获取的时间戳的位置是应用层,而PTP时间戳的截取的位置是在物理层。正是由于获取时间戳的位置不同,这样PTP可以有效地去除运行操作系统和TCP/IP协议栈时间抖动对时钟同步的影响。但是由于PTP获取时间戳位置的在物理层,所以需要特殊的硬件支持,即在具体的应用中硬件需要支持PTP,这个实际的硬件设计带来了一定的成本,但是NTP不需要硬件支持。获取时间戳的位置的差异促使PTP的同步时钟精度是NTP同步时钟精度的10000倍。PTP的同步时钟精度是亚微秒级(100ns)。在该精度下可以满足大多数时间同步的精度要求,比如PTP可用于高速铁路地震预警系统采集设备[3]。

图1 时间戳截取的位置

由于上述的对硬件特殊要求[4~9],这使 PTP 的实用性远没有NTP简单。……

登录APP查看全文