官方淘宝店 易迪拓培训 旧站入口
首页 > 无线通信 > 通信技术学习讨论 > 高精度时钟同步问题,高手帮帮忙!

高精度时钟同步问题,高手帮帮忙!

12-16
现在在构建一个分布式实时网络时碰到一个问题,客户要求各节点间时钟同步达到微秒级。我们用的是vxworks系统,用一个时钟服务器以100ms为周期向各节点授时,通过使用RDTSC读取CPU的time stamp来保证读取的时钟精度能达到纳秒级。我想知道有没有可以直接设置cpu time stamp的指令啊?有的话就可以收到主机的time stamp后直接设置节点的time stamp。没有这样的指令的话,各位大大有没有什么让各节点时钟同步能达到纳秒级的好建议啊。
PS:水木没有vxworks版,只有来通信版碰碰运气了:)

1. 这个时钟是怎么定义的?(系统时钟?)
2. 时钟服务器通过什么方式向节点授时?
3. 为什么不使用PLL?

1.多大个的分布? 一个机柜里头还是好几十公里?传输时延问题
2.cpu 晶振jitter累加产生的绝对时间误差能忍受吗?
3.用软件搞同步太麻烦了,每个节点加个gps授时模块吧 ^_^

现在流行1588啊

碰上router或者高级点的switch就歇菜了。

恩,第三个解决方案才是王道

我觉得在LZ没有描述清楚设计背景之前,无法确定最佳的解决方案 :p

GPS目前也达不到1ns啊
最好采用铷钟

......
造价

分布式也不一定非得都借用别人的网络

cpu time stamp没法设,只能读取。

高级通信设备上的洳钟是有见的
价格也不见得多贵,现在比先前便宜了

ns的同步精度是很高的要求了。
时钟同步应该包含两个含义:时间同步和频率同步。尤其是后者,非常重要。可以粗略算一下,如果只是时间同步,100ms同步一次,这期间各节点的频率误差带来的时钟差异就会超过你的同步精度要求。如果要做频率同步,未必是同步时间越短越好。
另外,主从节点间的延时必须要考虑,这个延时包括物理传输延时,更包括各级缓存带来的延时。物理传输延时一般是对称且固定的,容易补偿,像1588那样(必须补偿,否则很短的距离就会带来1ns的误差)。而缓存延时是随机的,基本无法补偿的。不知道你系统里的同步机制位于哪一层,如果不能像1588那样在物理端/接口那儿就监控到同步包的收发时间,恐怕也不太可能达到你的同步精度。
最后,不知道你的节点是串联的还是星型连接的。如果是串联,串联后的同步误差很可能会增加很快。像1588是通过透明传输时钟同步包来实现串联后的高精度同步的。
总之,通过协议达到高精度的时钟同步是相当难的。不知的你的具体背景,只能先给这些建议了。

有的高精度频率计上面也有铷钟,这种设备可以去搞一个二手的,然后再单加个分配器就可以了。
比买钟还要便宜。

谢谢,谢谢各位,因为这个东西现在是一个人在弄,有点走入误区。还是上来听听各位前辈的分析好啊:)我再整理整理,下次好说清楚点。嘿嘿。
ps:先大致的说一下之前漏掉的,需求是在一个5台机的环形网内,满足从节点与主机之间的时钟漂移保持在ns级,因为需要任务同步,而任务同步的精度是在us级。并不需要和外部的时间一致,只要相对物理内时钟能满足就可以了。我现在觉得单纯软件来实现的话好像精度要求提得太高了。

你的本地时钟频率是多少?目前通过什么方式被同步到主机时钟?
不同的网络/互联技术有相应的时钟同步机制,但是高精度的基本上都是基于硬件技术。

Top