- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
FPGA的时钟频率同步设计
FPGA 的时钟频率同步设计
2011-01-11 12:52:09 作者: 来源:我爱电子技术网 浏览次数:0 文字大小:【大】【中】【小】
关键字:FPGA
引 言
网络化运动控制是未来运动控制的发展趋势,随着高速加工技术的发展,对网络节点间的时
间同步精度提出了更高的要求。如造纸机械,运行速度为1 500~1 800m/min ,同步
运行的电机之间 1μs 的时间同步误差将造成30 μm 的运动误差。高速加工中心中加工速
度为 120 m/min 时,伺服电机之间1μs 的时间同步误差,将造成2 μm 的加工误差,
影响了加工精度的提高。
分布式网络中节点的时钟通常是采用晶振+计数器的方式来实现,由于晶振本身的精度以及
稳定性问题,造成了时间运行的误差。时钟同步通常是选定一个节点时钟作为主时钟,其他
节点时钟作为从时钟。主节点周期性地通过报文将主时钟时间发送给从节点,从节点接收到
报文后,以主时钟为基准进行延迟补偿,然后将计算出的新时钟值赋给从时钟。这种同步方
法造成了从时钟计数值的不连续,即会出现重复(从时钟晶振频率快于主时钟)或跳跃(从时
钟晶振频率慢于主时钟) ,而且这种方法并没有从根本上解决时钟频率的不同步问题,因此
要进一步提高同步精度很困难。本文研究了一种可对频率进行动态调整的时钟,通过对时钟
频率的动态修正,实现主从时钟频率的同步,进而实现时间同步。
1 时钟同步原理
要实现两个时钟的同步,一是时钟的计数值要相同,二是计数增长速率要相同。如图 1 所
示,设主时钟的频率为f ,从时钟频率在N 到Nn 时间段为f ,在N 到N 为f ,S
n-1 n-1 n n+1 n
yncDelay 为同步报文从主站到从站的延迟时间,可以通过延时测量帧采用往返法测量得
到,从时钟要在Nn+1 时刻达到与主时钟相等,那么有:
因为主时钟是周期性发出同步报文,所以有M -M =M -M =T ,由式(2)和(3)可得:
n+1 n n n-1
k 就是时钟频率调整系数。在每个同步周期可以计算出频率调整系数,然后通过相应的硬
n
件电路来实现频率调节。
2 可调频率的时钟设计
可调频率时钟是一种完全由数字电路组成的时钟计数器,构造简单,可以很方便地在FPGA
中实现,原理如图2 所示。该频率可调时钟由一个p 位时钟计数器,q 位累加器和r 位频
率补偿值寄存器组成。每个晶振周期,累加器与频率补偿寄存器中的FreqCompValue 相
加,并将结果保存到累加器。如果累加器发生溢出,时钟计数器的值就增加 1 ;反之,时钟
计数器保持不变。由此可以看出,晶振频率和频率补偿值FreqCompValue 的大小决定了
累加器的溢出速率,也决定了时钟计数器的计数频率。所以可以通过调整FreqCompValu
e 来调节时钟频率。为了实现高精度时钟,晶振频率要比时钟频率高。设晶振频率为Freq
Osc ,时钟计数频率为FreqClk ,分频比为DivRatio ,同步周期为SyncInterval ,补偿精
度为Precision ,p 、q 、r 可由下列公式得出:
在本系统中,取FreqClk 为50 MHz ,FreqOsc 为60MHz ,则DivRatio 为 1.2 。当同步
周期为 1 s 时,补偿精度Precision 可选 10-9 ,由公式可选择r=q=32 ,p=64 。频率补
偿初值由下式求出:
FreqCompValue=2q/DivRatio=232/1.2=32’d3579139413
在时钟输出算法中,该值由频率调整系数动态调整:
3 频率补偿算法在FPGA 中的实现
由式(4)和式(10)可得:
频率补偿就是在每个同步周期计算FreqCompValuen ,FPGA 提供了参数化的乘法器兆函
数(1pm_mult)和除法器兆函数(1pm_divide) ,可以快速实现上述算法。原理如图3 所
示,在每个同步周期同步信号的驱使下,锁存器B 和C 分别锁存当前时钟读数和上个同步
周期时钟读数,同时将主时钟读数输入到加法器A 中,经过减法器E 、F 和乘法器G ,以及
除法器H 后计算出新的FreqCompValuen ,并在同步信号的驱动下,
原创力文档


文档评论(0)