时间同步时钟小课堂——常用的对时方式有哪些?

目前常用的对时信号有NTP 网口、B码、串口、脉冲等授时方式,分别介绍如下

   1、NTP授时:

   是基于NTP 协议实现网络授时的。NTP网络时钟同步协议是目前国际互联网通用的时间服务协议。NTP 协议采用 client/Server架构,基于 UDP/IP,使用层次式时间分布模型,灵活性高,适应性强,网络开销小,并可容忍一定程度上的网络故障。常用的网络设备电脑、服务器、摄像机等都支持 ntp 授时,这种授时方式也是目前最常用的。

   2、B码校时:

   它是IRIG-B码的通俗叫法,B 码对时携带信息量大、对时分辨率高、接口国际标准化,在电力系统对时中得到了广泛的应用。B码有两种,一种是调制后的B码常常称为IRIG-B(AC)码,没有幅度调制的通常称IRIG-B(DC)码。IRIG-B(DC)码的同步精度可达几十纳秒量级,接口通常采用TTL接口和RS422(V.11)接口。 IRIG-B(AC)码的同步精度一般在10ms~20ms之间,接 口采用平衡接口。B码(DC)大量应用在电力系统每一个环节中,是校频、对时的标准时间码编码格式。

   3、串口对时:

   串行口对时方式又称软对时方式,主时钟将时钟信息以数据帧的形式向各个时间从装置发送,报文包括年、月、年、分、秒、毫秒。串行口有分为RS-232接口和RS-485接口方式。

  4、脉冲对时:

   方式主要有秒脉冲(PPS)、分脉冲(PPM)和时脉冲(PPH)三种对时方式。脉冲对时方式的优点是可以获得较高精度的同步精度(μs级),对时接收电路比较简单。不足之处是从设备必须预先设置正确的时间基准。

  5、串口报文校时:

串行口对时方式又称软对时方式,主时钟将时钟信息通过串口以数据帧的形式向各个时间从装置发送,报文包括年、月、年、分、秒、毫秒。也可包括用户指定的其他特殊内容,如接受GPS卫星数,告警信号等。从装置接收到的报文后通过解帧获取当前主时钟信息,来校正自己的时间,一保持与主时钟的同步。

spacer.gif

串行口有分为RS-232接口和RS-485接口方式。

1.png

串口报文格式如下:

2.png

  6、脉冲+串口报文校时:

脉冲对时方式主要有秒脉冲(PPS)、分脉冲(PPM)和时脉冲(PPH)三种对时方式。脉冲对时方式的优点是可以获得较高精度的同步精度(μs级),对时接收电路比较简单。不足之处是从设备必须预先设置正确的时间基准。

在实际的工程应用中,秒脉冲+串口报文的形式是最多的,秒脉冲校正毫秒及以下时钟,报文修订时、分、秒。

3.png

 7、IRIG-B时间码

IRIG-B(简称B码)是专为时钟串行传输同步而制定的国际标准,采用脉宽编码调制。同步时钟源每秒发出一帧含有秒、分、时、当前日期及年份的时钟信息。IRIG-B对时方式融合了脉冲对时和串口对时的优点,具有较高的对时精度(μs级)。

目前B 码授时已经成为电力系统采用的主流对时信号类型。

 

4.png

 NTP对时方式:

655464ab71b00.jpg

网络时间协议NTP(Network Time Protocol)是TCP/IP协议族里面的一个应用层协议,用来使客户端和服务器之间进行时钟同步,提供高精准度的时间校正。NTP服务器从权威时钟源(例如原子钟、GPS)接收精确的协调世界时UTC,客户端再从服务器请求和接收时间。

常用的网络设备电脑、服务器、摄像机等都支持 ntp 授时,这种授时方式也是目前最常用的。

NTP对时原理

客户端首先向服务端发送一个NTP请求报文,其中包含了该报文离开客户端的时间戳t1;

NTP请求报文到达NTP服务器,此时NTP服务器的时刻为t2。当服务端接收到该报文时,NTP服务器处理之后,于t3时刻发出NTP应答报文。该应答报文中携带报文离开NTP客户端时的时间戳t1、到达NTP服务器时的时间戳t2、离开NTP服务器时的时间戳t3;

客户端在接收到响应报文时,记录报文返回的时间戳t4。

spacer.gif

对时精度在毫秒级别;

5.png

  • 22
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
线程的同步是指多个线程之间按照一定的顺序执行,以避免对共享资源的并发访问导致的数据不一致或者死锁等问题。下面是线程的同步方式及其作用: 1. 互斥锁(Mutex):互斥锁是最常用同步方式之一,它保证了同一时间只有一个线程可以访问共享资源。当一个线程获得互斥锁后,其它线程的访问请求会被阻塞,直到该线程释放锁。互斥锁的作用是避免多个线程同访问同一个共享资源,从而保证数据的一致性。 2. 信号量(Semaphore):信号量是一种计数器,它用来控制多个线程对共享资源的访问。当多个线程同访问共享资源,每个线程会首先尝试获取信号量,如果信号量的计数器大于0,则表示可以访问共享资源,同将计数器减1;如果计数器为0,则表示共享资源已经被其它线程占用,当前线程需要等待其它线程释放资源后才能获取信号量。信号量的作用是控制多个线程对共享资源的访问顺序,以避免数据不一致或者死锁等问题。 3. 条件变量(Condition Variable):条件变量是一种高级同步机制,它允许线程在满足特定条件之前等待。当一个线程发现某个条件不满足,它可以等待条件变量,而不是忙等待或者轮询等待。当其它线程修改了共享资源并满足了条件,它可以通过条件变量唤醒等待的线程。条件变量的作用是避免线程的忙等待,提高程序的效率。 4. 屏障(Barrier):屏障是一种同步机制,它允许多个线程在某个点上等待,直到所有线程都到达该点后再继续执行。屏障的作用是协调多个线程的执行顺序,以避免数据不一致或者死锁等问题。 以上几种同步方式都是为了避免多个线程之间访问共享资源出现问题,从而保证程序的正确性和可靠性。每种同步方式都有自己的适用场景和优缺点,需要根据具体情况选择合适的同步方式

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值