拥有40年晶振定制经验的公司为您提供【晶体振荡器】的定制解决方案

行业动态

当前位置:首页 > 新闻资讯 > 行业资讯-什么是逻辑时钟?

什么是逻辑时钟?

作者:OCXO 时间:2019-03-20 17:12:26来源:恒温晶振厂家 阅读数:
摘要:从系统实现的角度,如果用简单的一个计数器来实现“逻辑时钟”的话,每次对“时钟”的增长只不过是对一个变量的加法运算和读写操作...

  在现实世界里,想要知道此时是几分几秒好像并不是什么难事儿。可是对电脑来说,事情却并没有那么简单。

  现代计算机系统中,对于时间流逝的感知和量度,大部分来自石英晶体振荡器。这是利用石英晶片的压电效应制造的电子元件。当晶片在交变电压的作用下产生谐振时,振荡器可以输出稳定度较高的振荡频率。之所以说稳定度较高,是因为它并不是以绝对恒定的频率在振动。在各方面的影响下,总会出现振荡频率比元件声称的频率稍高或者稍低的状况。这种偏差反映到系统时钟上,就是系统时钟比标准时间稍快或者稍慢。

  单机系统

  如果所有的任务和作业都是在单个计算机上完成的,似乎系统时钟稍快稍慢并不是很严重的事情。我们可以设想这个稍快或者稍慢的计算机就像是一个独立的世界。在这个世界中,因为时钟速率不同,带来的影响也只不过是各种事件发生得更快或者更慢。该发生的终究都会发生,事件的因果先后顺序也都还在。只要不需要和外部世界的时间作协调同步,那这里就像一个平行宇宙一样,冷暖自知。

  分布式系统

  但如果是分布式系统的话,情况就不一样了。所谓分布式系统,简单来看就是由多台计算机组成的系统,这些计算机通过网络相互通信,共同协作完成任务。现如今的互联网,各式的云服务,搜索引擎,以及微信微博等的社交软件,在它们的背后都是一个分布式系统。

  理想情况下,我们当然是希望系统内的所有计算机对此时此刻是什么时间以及时间过得有多快都有一个共同的概念。如果拿“老狼老狼几点了”这个游戏来类比的话,就好像大家都觉得现在是12点了,该跑的跑该抓的抓,可是有个小朋友他偏偏觉得现在是11:58,每次都是他被抓;而且他当老狼的时候,每次他觉得12点的时候,其他所有小朋友都觉得已经12:02了,并且都跑出去二里地了,这游戏可还怎么玩儿?!

  要同步系统内所有计算机的时钟,首先,自然的想法是让系统内的计算机都跟同一个更可靠的时钟源做校准。这种方法可行,但并不足够好。来自谷歌的一篇文章[1]提到说,他们自己数据中心的所有服务器会有200百万分率(ppm, parts per million)的时钟偏差。即,如果所有机器每30秒做一次校准的话,机器还是会有6毫秒的偏差;如果每天做一次的话,偏差则会有17秒之多。这个校准后的差值,部分来自于晶振本身的频率波动,其实还有一部分来自时钟校准的过程。时钟校准的过程包含了网络通信,待校准的计算机和拥有更可靠时间的计算机通过网络通信交换信息以实现校准。然而网络通讯是包含了通信延迟的,更可怕的是,我们对这个延迟并不能有一个很准确的测量(这个延迟取决于机器本身在收发信息时的繁忙程度,以及信息传递过程中通信信道的繁忙程度)。网络时间协议(NTP)是计算机之间进行时间校准的标准协议,它的工作原理大致如下:

  可靠时钟源会记录本地的时间T₁和T₂, 并通过回复信息返回给请求者,请求校准的计算机自己记录下T₀和T₃, 最终较可靠的时钟源跟本地时钟的偏差为:

  ((T₁﹣T₀)﹢(T₂-T₃))/ 2

  这个计算是带有一个假设的,就是请求的发送和回复的回传在网络通信上的延迟是相等的,这个计算希望通过分子中的两项相加来把这个通信延迟项给抵消掉。在不事先预知相关计算机和通信信道的繁忙程度以及通信延迟不可测的情况下,这种假设和计算似乎是对真实偏差的一个可以做到的最佳的近似了。

  所以,在系统设计阶段,我们就不得不假定计算机之间的时钟会有至少10毫秒左右的偏差?就只有这样了么?

  或许,需要换一个角度来思考这个问题。比如,我们真的需要知道准确的时刻么?

  现实生活中,我们需要确认时间,大部分时候只是为了确认相关事件的顺序。在赛跑的终点线,我们记录各个运动员撞线的时刻,按照不同的时刻,来给他们排列次序。上班打卡,是为了确认你到公司这个事件,和公司规定的所有员工开始上班这个事件,谁先谁后。飞机航班预先告知起飞时刻,是为了让旅客考虑到赶往机场,值机/托运行李,安检,登机这些事件本身的时间长短,合理安排计划,确保它们可以有序地不重叠地依次发生。所以,如果在系统中我们不借助准确的时刻信息,就能确定在不同的计算机上所要发生的所有事件的顺序呢?是不是就可以不依赖这些个一点儿都不准的时间而照常运转了呢?

  逻辑时钟

  莱斯利·兰波特(Leslie Lamport)在他1978的一篇论文[3]中阐述了这一观点并提出了逻辑时钟这个概念。他的想法是,我们可以把时钟看作一个函数,函数的输入是系统中的事件,输出是一个数,是这个“逻辑时钟”赋予这个事件的“逻辑时刻”。这个“逻辑时刻”不必须和物理世界里的时间有任何关系,它可以只是一个计数器的值。像在现实世界中一样,我们通过比较这些“时刻”的大小来判断事件发生的次序。只是在实现这个特殊的“时钟函数”的时候,需要遵守两条规则:(一)在任意一台计算机(原文中使用的是“进程”)中,发生任意事件的同时,增加本地“逻辑时钟”的值,并把它的值作为“时刻”赋予这个事件;(二)当一个计算机发送信息(也被视为一个事件,对“时钟”的操作遵循前一条规则)进行通信的同时,要在信息中附加此时发送方本地“逻辑时钟”的“时刻”信息,在任何计算机收到信息(也被视为一个事件,对“时钟”的操作遵循前一条规则)的同时,比较信息中的“时刻”和本地“逻辑时钟”的值,取其中较大的一个作为本地新的“时刻”。

  西安晶盛科技,是有着30余年历史的老牌晶振厂家,接受各类恒温晶体振荡器定制(OCXO),接受各类高规格恒温晶振定制服务!晶盛晶体震荡器具有高精密,高品质,高稳定性等优点。填补了国内空白,解决了国外对我国军用频率源的禁售问题。产品广泛应用于程控交换机、军民用通讯电台、无线电通讯设备、光纤通信、军民用雷达、军民导航、直放站、频率计、计量测试仪器等领域,并可根据客户要求的技术指标量身定制。

什么是逻辑时钟?相关问答:

问题:晶体振荡器怎么用

回答:一个“晶振”,相当于一个音叉,音叉有一个固有的振荡频率,能产生一个固定的音频,一个“晶振”也具备有一个固定的振荡频率,当振荡电路中选择使用“晶振”时,也可以使电路产生一个稳定的频率;如同两个固有频率相同的音叉之间可以产生“共振”一样,当频率与晶振频率相同的信号通过晶振时,传输的效率最大。

问题:晶振型号大全及选型

回答:晶振一般叫做晶体谐振器,是一种机电器件,是用电损耗很小的石英晶体经精密切割磨削并镀上电极焊上引线做成。一般来说晶振分为有源晶振与无源晶振。型号的话很多。

问题:钟表需要什么石英晶体振荡器

回答:由于石英晶体在压力下产出的电场强度很小,这样仅需很弱的外加电场即可产生形变,这一特性使压电石英晶体很容易在外加交变电场激励下产生谐振。其振荡能量损耗小,振荡频率极稳定,这些再加上石英优良的机械、电气和化学稳定性,使它自40年代以来就成为石英钟、电子表、电话、电视、计算机等与数字电路有关的频率基准元件。

问题:压控振荡器的晶体压控

回答:在微波频段,用反射极电压控制频率的反射速调管振荡器和用阳极电压控制频率的磁控管振荡器等也都属于压控振荡器的性质。压控振荡器的应用范围很广。集成化是重要的发展方向。

问题:晶体振荡器的分类有哪些?

回答:晶体振荡器又被称为有源晶振,主要分为以下几种类型:1.KHZ范围(音叉型Tuning fork)2.SPXO(基本型)3.TCXO(温补晶振)4.SAW-OSC(SAW振荡器)5.VCXO(压控晶振)6.Rb OSC,OCXO(原子钟、恒温炉晶振)

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表
0
  • 石晶体振荡器的应用设备以及市场发展前景
  • 石晶体振荡器的应用设备以及市场发展前景
  • 联系我们
    联系我们
    西安晶盛

    联系电话:15084726493

    手机号码:15717497315

    客服QQ:2691093917

    Email:2691093917@qq.com

    地址:陕西省西安晶盛电子科技有限公司

    links

    [向上]
    在线客服

    在线咨询

    在线咨询

    在线咨询

    咨询电话:
    15084726493
    二维码

    关注微信