蓝牙授时CTS (Current Time Service)、PTP、NTP

1. 蓝牙有自带的授时服务,这是应用层级别的授时服务,不过精度和分辨率都是秒级。

reference:《Current Time Service (CTS)》CTS.ICS.p5

2. NTP授时协议。

NTP是TCP/IP协议族里面的一个应用层协议,用来使客户端和服务器之间进行时钟同步,属于计算机网络技术。通过协议+算法,分辨率可以达到1ms,精度达到0.1S(100ms)完成没问题,甚至可以达到0.01s(10ms)级精度。

虽然NTP本不是应用于蓝牙,但是这个做法有一定参考性,具体应用时,尽量缩小连接间隔和latency。

reference:什么是NTP?NTP如何实现时钟同步? - 华为

结合参考文献,以下进一步详解,可以更轻松理解。

① T_Transfer_delay = (T4-T1)-(T3-T2) :这很好理解,T3-T2时服务器收发处理信息消耗的时间,T4-T1是整个RTT(Round-Trip Time)信息往返消耗的时间;(T4-T1)-(T3-T2),因为T4和T1都是客户端的时间戳,那相减只省下来回的传输延迟;如果T_Transfer_delay/2,那就是单向传输的延迟时间。

T_Offset =((T2-T1)+(T3-T4))/2,华为的方程组理解很到位,当然也有一种理解过程如下。

T2-T1:服务端接收请求报文的时间戳 - 客户01230端发送请求报文的时间戳,结果当然就是传输延迟(T_Transfer_delay)和时钟差(T_Clock_offset)。

T2-T1 = T_Clock_offset + T_Transfer_delay/2

T3-T4:服务端发送响应报文的时间戳 - 客户端接收响应报文的时间戳,结果也是传输延迟和时钟差,这时候需要从数学意义上理解,offset值其实并不会因为传输方向变化而改变,而传输方向改变后延迟则是反向的,所以符号上会体现为负方向

T3-T4 = T_Clock_offset +(- T_Transfer_delay/2)

综上

(T2-T1)+(T3-T4)

= T_Clock_offset + T_Transfer_delay/2+ T_Clock_offset +(- T_Transfer_delay/2)

= 2*T_Clock_offset

3. 广播授时

如Mesh、PAwR(ESL)、传统广播等,注意这是基于BLE的三种完全不同的技术方案。

4.有线网络

有线网络有延时的优势,包含EtherNet(<100m)、Can(40~500m)、RS-485(500~1500m)、PLC(电力载波100~5000m)、Optical Fiber(100Km+)、SDH/SONT(100Km+)、DWDM(100Km+)

4.1. PTP

PTP是硬件PHY或MAC层的协议,在OSI中的底层,因此,信息处理时延基本可以忽略不计(消耗时约0.1ms、0.01ms),通过频率同步和时间同步(相位同步),整体实现0.1us级别的精度。

蓝牙暂时没有办法集成实现。

什么是1588v2(PTPv2 )?1588v2(PTPv2)是如何实现同步的? - 华为

相关推荐
文言一心29 分钟前
LINUX离线升级 Python 至 3.11.9 操作手册
linux·运维·python
Dreamboat¿34 分钟前
解析PHP安全漏洞:Phar反序列化、Filter链与文件包含的高级利用与防御
android·网络·php
laplace01231 小时前
第七章 构建自己的agent智能体框架
网络·人工智能·microsoft·agent
北邮刘老师1 小时前
A3C Network:智能体互联网的层次化视图
运维·服务器·网络
天天睡大觉1 小时前
Python学习11
网络·python·学习
XRJ040618xrj1 小时前
如何在Linux中根据物理网卡建立虚拟网卡
linux·服务器·网络
空中楼阁,梦幻泡影2 小时前
LoRA 详细解析,使用LoRA 方式对模型进行微调详细操作指南
运维·服务器·人工智能·机器学习·语言模型
晚风吹长发2 小时前
初步了解Linux中的动静态库及其制作和使用
linux·运维·服务器·数据结构·c++·后端·算法
Le_ee2 小时前
dc4打靶报告
运维·服务器·网络
yeflx3 小时前
解决Ubuntu22.04宿主机docker容器中nvidia-smi偶发失效问题
运维·docker·容器