(一)什么是1588?1588的前世今生?1588的时间同步原理
五年之前,曾经做过1588,近日在回顾的时候,发现针对于1588的成体系的资料仍是比较少,虽说协议的介绍确实是够全面,但是针对于初次接触协议的人而言,学习的陡峭的程度还是有的,门槛还是有的。对于初学者而言,应该用最普通的话,讲出技术的核心,知其然知其所以然。
1588体系也是很大的,如果只是做一个简单的时间同步的话(只是完成一个授时的功能),是不需要完整的了解的所有的1588的。于是,我想开一个专栏,目的是帮助1588的初学者工程师循序渐进的了解1588,降低学习的门槛。
希望本专栏可以对你的工作与学习有一定的帮助,这样就达到了本专栏的目的。可能每周更新一篇(随缘更新,目前的工作很忙,要是真的有需求的伙伴,可以站内信私聊,可以解答问题),以下是想要更新的标题
初级篇:
- 什么是1588?1588的前世今生?1588的时间同步原理(很简单的介绍一下)(也就是这篇
- 1588时钟的误差的来源,如何最直观的理解1588?
- 1588的事件(event interface)和通用接口(general interface),1588的报文格式?
- E2E模型,P2P模型?
- 1588的代码迁移重点与1588的调试?ptpd?ptp4l?
高级篇:
- 1588状态机
- 协议栈/操作系统对L4(UDP)层的1588的影响,与L2(MAC)层的1588
- 最佳主时钟BMC算法,本地时钟同步LCS算法
- zynq/stm32/rk上的解决方案的实例
- PI控制器的调参
其他的需要补充的
下面会用最简单的,最好理解的QA的方式来介绍1588
Q:什么是1588?
A:1588是一个时间同步协议
这里面有两个关键字,一个是时钟同步,一个是协议
这里面的是时钟同步就不多解释了
至于协议,这是一个基于以太网的,你甚至可以使用wireshark抓到1588的报文
一句话:1588是一个基于网络通信协议来解决时间同步的完整解决方案
Q:为什么要用1588?
A:因为很多的地方需要用到时钟同步,他比NTP的精度更好,比GPS便宜
下面稍微解释一下:比如有些地方对时钟同步要求的精度很高,就比如一个大厦中的所有的5G的通信的模组的时间的问题,全部的模块,你若是都使用GPS,确实是可以的,但是造价太高了,若是一些老旧工程的项目,就根本不存在施工的条件若是使用NTP,则,精度达不到,这个有兴趣的同学可以自行去找NTP的资料
可以理解为,1588是一个“折中”的方案,更简单,更经济,更高效。
Q:1588有几个版本?
A:上文,我们把1588定义为了一个解决方案,一般都是指,IEEE-1588-V2版本,与2008年发布,一直沿用至今
Q:1588是如何进行时钟同步的?
A:看这个图,最简单的一个图就能说清楚了
既然做时钟同步,那自然就有主机与从机了,主机负责授时,从机负责校准自己的时间,
这个过程一共分为四步,目前,我们假定这个是一个理想的网络情况
主机发送sync报文,此时,主机记录发送sync报文的时间,这个被称之为T1,并且,在sync报文中,包含了主机的时间(真实时间),注意,此时从机不知道T1的时间,从机现在只是知道了真实时间(是从报文中解析出来的),从机收到了主机发送的sync报文,记录一下时间,这个是T2,从机现在有两个时间了,一个是T2
另一个是真实时间主机发送follow_up报文,这个报文内容中有时间T1,所以,现在从机有三个时间了
从机回复delay_deq,从机记录一下发送的时间,也就是T3主机在收到之后,收到这个报文的时候,记录一下时间,
通过delay_resp把T4这个时间发送给从机
既然是理想的情况,也就是网络是对称的,网络是直连的,没有交换机和路由器等等
T2-T1 = Delay + Offset
T4-T3 = Delay - Offset
故
Delay = [ T2-T1 + T4-T3 ] /2
Offset = [ T2-T1-T4+T3 ] /2
不知道写到这里,是否写清楚?
(一)什么是1588?1588的前世今生?1588的时间同步原理相关推荐
- 自动驾驶时间同步分析概述--PPS/GPRMC/PTP/全域架构时间同步方案
时间同步的重要性在生活中已经充分体现.试想你因一个姑娘在酒吧和别人大打出手,并约定下周六早上九点在后海小树林里进行群体活动.为此你微信召集了在南非.印度.泰国干建筑的好兄弟.可在你如期赴约的时候,发现 ...
- android 电视遥控 编程,Android编程调用红外线遥控功能示例
本文实例讲述了Android编程调用红外线遥控功能.分享给大家供大家参考,具体如下: Android API Demos中有红外线遥控的小例子,在网上找了很久相关的资料,发现比较少,或许找的方法不对. ...
- android遥控器用什么测试,Android编程调用红外线遥控功能示例
本文实例讲述了Android编程调用红外线遥控功能.分享给大家供大家参考,具体如下: Android API Demos中有红外线遥控的小例子,在网上找了很久相关的资料,发现比较少,或许找的方法不对. ...
- 手机对红外探头发送数据和接受
手机对红外探头发送数据和接受.注:此程序只能用于内置红外的安卓手机,通过耳机插口外接的红外程序则会显示"找不到红外设备" 布局文件: <?xml version=" ...
- 依托北斗的同步终极解决方案
术语 1.1北斗卫星导航系统BeiDou navigation satellite system,BDS 中国正在实施的自主发展.独立运行的卫星导航系统(简称北斗),由空间段.地面段和用户段组成,具有 ...
- SiT5711:±5~±8ppb超高精度Stratum 3E恒温振荡器OCXO,1-60MHz
1.SiT5711简介 在 5G 之前,OCXO 部署在良好受控的环境中.现在5G应用通常被部署到诸如塔楼.屋顶或灯柱等非受控环境中.在这样的环境中,传统石英OCXO容易受到诸如振动.温度变化和冲击等 ...
- ORAN专题系列-30:5G基站如何升级到O-RAN基站 - FHGW(FrontHaul Gateway)的时钟同步系统
作者主页(文火冰糖的硅基工坊):文火冰糖(王文兵)的博客_文火冰糖的硅基工坊_CSDN博客 本文网址:https://blog.csdn.net/HiWangWenBing/article/detai ...
- Linux(CentOS)下,各种协议,端口号
Linux(CentOS)下,各种配置文件如下: DNS:cat /etc/resolv.conf 主机名:cat etc/sysconfig/network 私有主机名:cat /etc/hosts ...
- 常用的协议端口号(TCP and UDP)
这是在网上搜集到的一些资料,共享出来! 端口号 协议 解释 0 TCP Reserved 0 UDP Reserved 1 TCP tcpmux TCP Po ...
最新文章
- python 画出决策边界_决策边界可视化,让你的分类合理有序
- 99%的用户都选择用它来恢复丢失的照片
- c 反编译工具_App安全检测实践基础——工具篇
- window查看端口号使用_踩坑搭建vue说端口号被占用?
- 计算机常用图像文件格式,常用的图像文件格式
- 图像文字识别(三):Tesseract4.0训练字库,提高正确识别率
- SQL2005的配置
- 链接聚合是将一组物理接口_如何增加带宽,提升网络可靠性?
- windows下命令
- openpyxl 列 插入_openpyxl 基本使用
- GridView中BoundField重复绑定数据
- atitit.提升2--3倍开发效率--cbb体系的建设..
- 24小时C语言从入门到精通「建议收藏」
- python 修改文件名有特殊符号_Linux删除包含特殊符号文件名的文件
- 互联网骨干网及国际通用结算介绍
- 谷歌云服务器账号,免费使用谷歌云服务器一年
- 石墨烯海水淡化lammps模拟建模方法
- [CVPR2022]3D Photo Stylization: Learning to Generate Stylized Novel Views from a Single Image
- python accessiblechildren用法_python类继承用法实例分析
- 7-1 最长公共前后缀
热门文章
- Wiring in Spring: @Autowired, @Resource and @Inject 三种注解实现依赖注入
- 基于SSM的网上商城(中)
- 让人很容易误解的TCP拥塞控制算法
- Jeecg-Boot 2.1.3 大屏版本发布,基于SpringBoot的低代码开发平台
- 一个男人关心的东西决定了他的层次
- ## 标题 使用eclipse遇到的错误JavaWeb【404,The origin server did not find a current representation for the targ
- matlab案例分析总结,MATLAB统计分析与应用:40个案例分析
- iphone12怎样快速录屏(苹果12录屏方法)
- 超全的回文题汇总-Palindrome
- BSV斯洛文尼亚商业区块链活动精彩回顾