当前位置: 首页 > news >正文

时钟同步

时钟同步的两个方案的个人理解

NTP

原理图:

image

  1. M给S发一组数据并记录自己的时间T1。
  2. S收到数据后立即打一个时间戳T2。
  3. 然后发送一组数据给M并打上时间戳T3。
  4. M收到数据立即打上时间戳T4。
  5. 这样就得到了四个时间戳,然后M把T1,T4时间戳和打包发送给S。
  6. 这样S就得到了M到S的延时,已及M的时间,这样S就知道了和M的时间差值,修正这个差值就可以完成和M时间的同步,理论上的误差来自于两次数据发送的网络波动。

PPS+GPMC

时序图:

image

 

 

 

 

 

  1. PPS是一个周期为1s的外部时钟引脚,每隔1s输出一个方波电平,表示整秒到了。
  2. GPMC是一个包含年月日时分秒的时间戳,一般是串口接收这个数据,一般是在两个PPS信号之间月500ms的位置发送。
  3. PPS引脚的上升沿触发MCU的中断,表示到整秒了,这个时候,MCU系统的时间复制一下上一个GPMC的时间戳并+1s复制完后,这个GPMC时间戳立即失效,待下一次更新。
  4. PPS引发的中断里面还要将定时器的累加值清零,和定时器自己的cnt值清零。(假设开了一个1ms累加一次的定时器)
  5. 在两个PPS之间的时间在系统时间的基础上加上定时器跑的时间。
  6. 如果定时器已经跑的超过了1s但是PPS信号还没来,那就系统时间自加一秒继续往下走。直到PPS信号来了全部更新一下系统时间和定时器时累加值,如上。
  7. 如果定时器还没到1s但是PPS信号来了,也全部更新一下系统时间和定时间累加值。
  8. 这样就可以得到一个较为精确的时钟同步信号,理论上的误差就是触发中断的时间。

进阶:连续几秒比较“理论 1 s 计数”与“实际计数器差”,得到 ppm 级的频偏估计 ε,动态微调计数器的重装值/刻度或用数字 PLL(小步调频),让秒内插值也更准,这样即便 PPS 短暂丢失,漂移也更小。

需要硬件:PPS → 定时器输入捕获通道;另开一个高频自由运行定时器(例如 1 MHz)。

PPS 到来:读取捕获值,与上一捕获值差得到“本地 1 s 计数”,更新频偏 ε;把“当前 UTC 整秒”(来自最近一次已验证的 NMEA 语句)绑定到这个边沿;清零或对齐“秒内计数”。

 

http://www.hskmm.com/?act=detail&tid=38310

相关文章:

  • 深入解析:【Java系列课程Java学前须知】第3课 JDK,JVM,JRE的区别和优缺
  • 10.24 CSP-S 模拟37 改题记录
  • 数字人企业:数字人公司重点推荐与选择指南
  • C++实验二
  • 据说每邀请一位朋友加入Comet,您可以获得10刀乐奖励:D
  • 2025.10.24NOIP
  • 小程序 访问第三方网页
  • 王炸!OpenAI 发布 Atlas 浏览器!!
  • 国产开源数据库调研项目的LaTeX专业排版实践
  • Asterix cat-062 ,航班号字段的编码解码
  • AI优化企业:GEO公司技术先驱
  • 题3
  • 课后作业4
  • 吴恩达深度学习课程一:神经网络和深度学习 第四周:深度神经网络的关键概念
  • CompletableFuture串联多个异步任务实践
  • 城市基础设施安全运行监管平台
  • 第171-172天:代理通讯篇无外网或不可达SockS全协议规则配置C2正反向上线解决方案
  • SpringBoot整合缓存1-Ehcache
  • 【开题答辩全过程】以 M11289生鲜商城为例,具备答辩的问题和答案
  • ZR 2025 NOIP 二十连测 Day 7
  • CSP-S 37
  • Offsec Nibbles CTF 实战解析:PostgreSQL漏洞利用与权限提升
  • 如何在一台 Linux 机器上管理不同版本的 CMake
  • 90 天打造可持续交付:12 条 DevOps 实践要点与避坑
  • CSharp: word,excel,powerpoint convert to pdf,hrml etc using Aspose.Office
  • 2025年新疆喀纳斯旅游服务权威推荐榜单:新疆/阿勒泰/禾木深度游旅行社综合评测
  • 一天一款实用的AI工具,第9期,AI转黏土风格
  • 2025 10 24日报
  • 题解:P8930 「TERRA-OI R1」神,不惧死亡
  • 2025 OSCAR丨与创新者同频!Apache RocketMQ 邀您共赴开源之约