当前位置:网站首页>GMT,UTC,CST,DST,RTC,NTP,SNTP,NITZ: 嵌入式的时间
GMT,UTC,CST,DST,RTC,NTP,SNTP,NITZ: 嵌入式的时间
2022-08-10 21:25:00 【子氚】
GMT,UTC,CST,DST,RTC,NTP,SNTP,NITZ: 嵌入式的时间
ref
嵌入式开发中,几个时间概念?
彻底搞懂UTC时间
NTP协议详解
使用NTP协议获取网络时间戳(C/C++实现)
NTP协议详解
时区
- GMT:格林尼治标准时间
- GMT+8 12:00: 东八区北京当地时间12:00
- 地球在椭圆轨道速度不均, 可能与实际太阳时差16min
- UTC: 协调世界时, 世界标准时间 ∼ \sim ∼GMT
- 原子时为基础, 非常准确, ≈GMT
- CST: 中国标准时, G M T + 8 = U T C + 8 = C S T GMT+8=UTC+8=CST GMT+8=UTC+8=CST
- DST: 夏令时, 夏季调快一小时, 中国不用
时钟
- RTC: 硬件时钟
- 高精度晶振作时钟源, 外加电池掉电可工作, (片内RTC, 外部RTC)
- 系统时钟:
linux,RTOS中启动时读取硬件时钟RTC, 之后独立运行 - 网络时钟: 授时服务器
SNTP,NTP- 网络上指定若干时钟源服务器, 提供授时服务, 服务器间也可相互比较校正
时间同步
- NTP: 网络时间协议
- 基于UDP, 用于网络时间同步的协议, 使网络中的计算机时钟同步到UTC
- 可以分发, 授时
- SNTP: 简单网络时间协议
- 以1900年1月1日0点0分0秒为起点, NTP改编, 子集 (linux起点为1970年1月1日0点0分0秒)
- 只有授时无分发, 只能获取时间, 简化了全部流程, 只能同步一个时钟源
- 客户端/服务端工作方式
- 服务端接收GPS信号/自带原子钟为时间基准
- 客户端定期访问SNTP服务器得准确时间信息
- 分辨率到毫秒级, SNTP必须联网
- 一些SNTP服务器(打开cmd,
ping ntp.ntsc.ac.cn试一下)- 国家授时中心 NTP 服务器:ntp.ntsc.ac.cn
- 阿里云公共 NTP 服务器:time.pool.aliyun.com
- 腾讯云公共 NTP 服务器:time1.cloud.tencent.com
- 教育网(高校自建)服务器:ntp.sjtu.edu.cn
- NITZ: 无线网络向移动设备提供本地日期, 时间, 时区, 夏令时偏移
- 质量与执行力若, 分辨率低(数分钟), 不用联网
NTP协议
- NTP: 网络时间协议, 基于UDP, 用于网络时间同步的协议, 使网络中的计算机时钟同步到UTC
NTP报文格式
- LI 闰秒标识器,占用2个bit
- VN 版本号,占用3个bits,表示NTP的版本号,现在为3
- Mode 模式,占用3个bits,表示模式
- stratum(层),占用8个bits
- Poll 测试间隔,占用8个bits,表示连续信息之间的最大间隔
- Precision 精度,占用8个bits,,表示本地时钟精度
- Root Delay根时延,占用8个bits,表示在主参考源之间往返的总共时延
- Root Dispersion根离散,占用8个bits,表示在主参考源有关的名义错误
- Reference Identifier参考时钟标识符,占用8个bits,用来标识特殊的参考源
- 参考时间戳,64bits时间戳,本地时钟被修改的最新时间。
- 原始时间戳,客户端发送的时间,64bits。
- 接受时间戳,服务端接受到的时间,64bits。
- 传送时间戳,服务端送出应答的时间,64bits。
- 认证符(可选项)
交互过程

客户端在 t 0 t0 t0 发送一个NTP协议包到服务端, 经一段网络延时传输后, 服务端在 t 1 t1 t1 接收到数据包, 经过一段时间处理后, 在 t 2 t2 t2 向客户端返回数据包, 再经一段网络延时传输, 客户端在 t 3 t3 t3 收到NTP数据包
- t 0 , t 3 t0, t3 t0,t3相对客户端, t 1 , t 2 t1, t2 t1,t2相对服务端, 有少许区别, 需要修正: t 2 + δ 2 t_2+\frac{\delta}{2} t2+2δ
- 客户端&服务端时间系统偏移 θ = ( t 1 − t 0 ) + ( t 2 − t 3 ) 2 \theta=\frac{(t_1-t_0)+(t_2-t_3)}{2} θ=2(t1−t0)+(t2−t3)
- 网络往返延迟 δ = ( t 3 − t 0 ) − ( t 2 − t 1 ) \delta=(t_3-t_0)-(t_2-t_1) δ=(t3−t0)−(t2−t1)
边栏推荐
- LeetCode-402 - Remove K digits
- shell编程之正则表达式与文本处理器
- Huawei router clock near the drainage experiment (using stream strategy)
- B. Same Parity Summands
- 异常的了解
- xshell (sed command)
- Exploration and practice of the "zero trust" protection and data security governance system of the ransomware virus of Meichuang Technology
- 着力提升制造业核心竞争力,仪器仪表产业迎高质量发展
- 《mysql 从入门到内卷再到入土》——Mysql基础 学习笔记目录
- DELETE:删除操作语法&使用例——《mysql 从入门到内卷再到入土》
猜你喜欢

camera预览流程 --- 从HAL到OEM

How to translate financial annual report, why choose a professional translation company?

力扣221题,最大正方形

LeetCode-498-对角线遍历

Live Classroom System 08-Tencent Cloud Object Storage and Course Classification Management

c语言之 练习题1 大贤者福尔:魔法数,神奇的等式

数字化转型:如何引导创新领导者

LeetCode-36-二叉搜索树与双向链表

ACM解题笔记——HDU 1401 Solitaire(DBFS)

突破次元壁垒,让身边的玩偶手办在屏幕上动起来!
随机推荐
How to translate financial annual report, why choose a professional translation company?
unusual understanding
Shell编程规范与变量
黑猫带你学Makefile第12篇:常见Makefile问题汇总
Object.assign用法 以及 与$.extend的区别
Kubernetes Notes / Getting Started / Production Environment / Installing Kubernetes with Deployment Tools / Starting a Cluster with kubeadm / Creating a Cluster with kubeadm
Self-organization is a two-way journey between managers and members
直播课堂系统08补-腾讯云对象存储和课程分类管理
TCL:事务的特点,语法,测试例——《mysql 从入门到内卷再到入土》
地理探测器Geodetector软件的下载、应用与结果解读
Shell编程之条件语句(二)
Play RT-THREAD of doxygen
找的笔试题的复盘(一)
论文解读(g-U-Nets)《Graph U-Nets》
黑猫带你学Makefile第11篇:当头文件a.h改变时,如何将所有依赖头文件a.h的.c文件都重新编译
3D model reconstruction of UAV images based on motion structure restoration method based on Pix4Dmapper
ENVI自动生成地面控制点实现栅格影像的自动地理配准
LeetCode-36-二叉搜索树与双向链表
查询:复杂查询的语法和使用例——《mysql 从入门到内卷再到入土》
从斐波那契 - 谈及动态规划 - 优化