时钟同步底层意义及实现

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1、时钟的硬件意义

计算机都有个计时电路,尽管一般使用“时钟”这个词来表示这些设备,但它们实际上并不是通常意义的时钟,把它们称为计时器(timer)可能更恰当一点。

时钟究竟是怎样驱动计算机工作的呢?

计算机核心部件在于CPU和存储器,其本质在于不停的从存储器中取指令并执行,也即是不停的读写存储器地址,要想让计算机自动操作,也就是让这种读写地址操作自动运行,而时钟正提供了这种功能,每个计算机系统里都有晶振,他结合单片机内部的电路,产生单片机所必须的时钟频率,使与其相连的寄存器内容等周期的执行加1运算(计数器),反映为存储器的地址的顺序递增,即指令的自动顺序执行,当有中断时,相当于直接写该计数器,即指令跳转,所以说计算机的一切指令的执行都是建立在这个时钟频率基础上的,晶振的提供的时钟频率越高,那单片机的运行速度也就越快。

晶振的作用是为系统提供基本的时钟信号。通常一个系统共用一个晶振,便于各部分保持同步。有些通讯系统的基频和射频使用不同的晶振,而通过电子调整频率的方法保持同步。

晶振通常与锁相环电路配合使用,以提供系统所需的时钟频率。如果不同子系统需要不同频率的时钟信号,可以用与同一个晶振相连的不同锁相环来提供。

究竟什么是时钟呢?

前面所说的计数器只是时钟的表现结果,晶振结合计算机内部电路提供时钟频率才是,也即是计数器内容的变更频率,我们把这个定义为时钟。

2、时钟同步的硬件实现

同步是时标或信号在频率和相位上保持某种严格的特定关系。时钟是由产生基准频率的信号发生器中的某种频率源以及相配套的输入、输出接口和控制电路等所组成的一整套具有特定同步时钟功能的综合体,在通信系统中控制定时的时间基准设备,并不是指日常生活中使用的钟表。

要想实现时钟同步,首先要实现不同系统晶振结合内部电路提供的时钟频率一致,

那么,晶振的直接输出频率是不易准确调节的,于是内部电路的调节成了直接手段,我们设定一个同步寄存器,通过改写同步寄存器的值,对输出的时钟频率进行直接调节,以达到频率同步的目的。DP83640采用软件辅助的速率纠正来限制本地时钟和主参考时钟之间的频率失调。注意:时钟调整电路仅是调整的时钟走时,并不对晶振本身频率调整,如此频率同步可以保证每个系统的指令执行速度相同。

但是,要实现采样同步,还需要相差恒定,采样过程是一段时间,但采样点只是这段时间中的一点,因此,相差恒定,便能够处理到采样的同步,DP83640也是通过对晶

如此达到了时钟频率同步,相位一致,但是还不能真正达到时间同步,有可能造成两地系统之间有一个固定的时间差,因此还必须对时钟计数器进行初始调整。

3、PowerLink与IEEE1588的结合

在分布式系统控制中,采样和执行速度是我们关注的两个关键因素,针对一块本地伺服控制卡,当所有控制芯片共用同一晶振时,通过DP83640达到时钟同步后,整个系统也就有了统一的时间标尺,即使主处理器利用这一同步时钟频率构建多个工作定时器用于任务调度,依然具有时钟同步的意义。

针对M5234BCCKIT,DP83640和MCF5234分用两个晶振,因此具有两套时间标尺,MCF5234利用自己的时钟实现时隙同步,并完成任务调度。DP83640利用完整的时钟同步,实现网络传输的同步(采样同步),但是数据的执行处理速度会有差别。

结合方式1:PowerLink和PTP分别以两个进程在RTOS下运行时,即时间同步和实时调度以两个模块独立进行,可以完成实时以太网运动控制的全部软件内容,但要实现最佳同步控制性能,还必须改变硬件。

结合方式2:

//IEEE1588conformant net time structure

typedef struct

{

DWORD m_dwSec;

DWORD m_dwNanoSec;

}tEplNetTime;

Powerlink的时间戳也是使用的IEEE1588格式,可以在Powerlink的工作周期内实现PTP,此时PTP可以作为Powerlink的子线程,即时钟同步作为实时调度的内部模块,较方式1复杂,同样要实现最佳同步控制性能,还必须改变硬件。

相关文档
最新文档