FPGA的时钟频率同步设计

上传人:工**** 文档编号:552276029 上传时间:2022-10-25 格式:DOCX 页数:6 大小:205.87KB
返回 下载 相关 举报
FPGA的时钟频率同步设计_第1页
第1页 / 共6页
FPGA的时钟频率同步设计_第2页
第2页 / 共6页
FPGA的时钟频率同步设计_第3页
第3页 / 共6页
FPGA的时钟频率同步设计_第4页
第4页 / 共6页
FPGA的时钟频率同步设计_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《FPGA的时钟频率同步设计》由会员分享,可在线阅读,更多相关《FPGA的时钟频率同步设计(6页珍藏版)》请在金锄头文库上搜索。

1、FPGA的时钟频率同步设计技术分类:可编程器件| 2010-01-04单片机与嵌入式系统李英游有鹏引言网络化运动控制是未来运动控制的发展趋势,随着高速加工技术的发展,对网络节点间 的时间同步精度提岀了更高的要求。如造纸机械,运行速度为1 5001 800m / min,同步 运行的电机之间1p s的时间同步误差将造成30 p m的运动误差。高速加工中心中加工速度 为120 m/min时,伺服电机之间1p s的时间同步误差,将造成2 p m的加工误差,影响了 加工精度的提高。分布式网络中节点的时钟通常是采用晶振+计数器的方式来实现,由于晶振本身的精度 以及稳定性问题,造成了时间运行的误差。时钟同

2、步通常是选定一个节点时钟作为主时钟, 其他节点时钟作为从时钟。主节点周期性地通过报文将主时钟时间发送给从节点,从节点接 收到报文后,以主时钟为基准进行延迟补偿,然后将计算出的新时钟值赋给从时钟。这种同 步方法造成了从时钟计数值的不连续,即会出现重复(从时钟晶振频率快于主时钟)或跳跃 (从时钟晶振频率慢于主时钟),而且这种方法并没有从根本上解决时钟频率的不同步问题, 因此要进一步提高同步精度很困难。本文研究了一种可对频率进行动态调整的时钟,通过对 时钟频率的动态修正,实现主从时钟频率的同步,进而实现时间同步。1时钟同步原理要实现两个时钟的同步,一是时钟的计数值要相同,二是计数增长速率要相同。如图

3、1 所示,设主时钟的频率为f,从时钟频率在Nn-1到Nn时间段为fn-1,在Nn到Nn+1为fn, SyncDelay为同步报文从主站到从站的延迟时间,可以通过延时测量帧采用往返法测量得 到,从时钟要在Nn+1时刻达到与主时钟相等,那么有:jVi.i = Mg + SyncDelay(2)MH| Mr(A -昭N;射申 + SyncDelay- 厂胚u応因为主时钟是周期性发出同步报文,所以有Mn+1-Mn=Mn-Mn-1=T,由式和可得:化-卜-.胚一汕 + T 4- SyncDday/ -f-1kn就是时钟频率调整系数。在每个同步周期可以计算出频率调整系数,然后通过相应 的硬件电路来实现频率

4、调节。2可调频率的时钟设计可调频率时钟是一种完全由数字电路组成的时钟计数器,构造简单,可以很方便地在FPGA中实现,原理如图2所示。该频率可调时钟由一个户位时钟计数器,q位累加器和r 位频率补偿值寄存器组成。每个晶振周期,累加器与频率补偿寄存器中的FreqCompValue 相加,并将结果保存到累加器。如果累加器发生溢出,时钟计数器的值就增加1;反之,时 钟计数器保持不变。由此可以看出,晶振频率和频率补偿值FreqCompValue的大小决定了累 加器的溢出速率,也决定了时钟计数器的计数频率。所以可以通过调整FreqCompValue来调 节时钟频率。为了实现高精度时钟,晶振频率要比时钟频率高

5、。设晶振频率为FreqOsc,时 钟计数频率为FreqClk,分频比为DivRatio,同步周期为Syncinterval,补偿精度为Precision, p、q、r可由下列公式得出:DivRatio二FreqOsc / FreqClk (5)Precisionl/(Syndnterval FreqClk)(6)2耳2 DivRatio/Precision(7)护 2VDivRatio 2V(9)图2频率可调时钟原理框图在本系统中,取FreqClk为50 MHz, FreqOsc为60MHz,则DivRatio为1. 2。当同步 周期为1 s时,补偿精度Precision可选10-9,由公式可

6、选择r=q=32, p=64。频率补偿初 值由下式求出:FreqCompValue=2q / DivRatio=232 / 1. 2=32d3579139413在时钟输出算法中,该值由频率调整系数动态调整:FreqCompValuen二kn FreqCompValuen-1 (10)3频率补偿算法在FPGA中的实现由式(4)和式(10)可得:FrtqC a m p I u =-吃 + T I SyncDclay) * FreqCarnp Vai,(ID频率补偿就是在每个同步周期计算FreqCompValuen, FPGA提供了参数化的乘法器兆函 数(1pm_mult)和除法器兆函数(1pm_d

7、ivide),可以快速实现上述算法。原理如图3所示,在 每个同步周期同步信号的驱使下,锁存器B和C分别锁存当前时钟读数和上个同步周期时钟 读数,同时将主时钟读数输入到加法器A中,经过减法器E、F和乘法器G,以及除法器H 后计算出新的FreqCompValuen,并在同步信号的驱动下,将其锁存到锁存器D中。由于中 间的计算结果要经过一定的时钟周期,所以锁存器D的锁存信号要延时一定的晶振周期。在 本设计中延时50个FreqOsc,即在1 “ s的情况下就可以得到新的频率补偿值。晶振时钟计数裁芋修正值计数器输出Ml猛二加法器 Syncpelay+r a乘法器G锁存锁存除法器H锁有器D(FreqCom

8、p VafueJ图3 频率调整算法在FPGA中的实现同步报文的传输延迟SyncDelay理论上是不变的,而实际上报文在传输过程中有抖动。 参考文献3 对此进行了分析,并指出同步周期越长,报文传输延迟抖动的影响就越小,因 此可以忽略不计。4实验验证主时钟采用50 MHz的有源晶振来实现,并将其作为固定时钟;从时钟采用30 MHz有源 晶振,通过FPGA的锁相环PLL将其频率倍频到60 MHz,然后1. 2分频,实现可调频率的 50 MHz时钟。让主时钟和从时钟以一定的时间间隔产生中断,并通过逻辑分析仪采样中断信号分析其 偏差。由于系统时钟的分辨率为20 ns,采用广州致远电子有限公司的逻辑分析仪

9、LA1532, 其最大采样频率为100 MHz,所以偏差测量精度可以达到10 ns。图4(a)是未进行同步前两 个时钟的偏差分析,X轴表示主时钟和从时钟的计时长度,Y轴表示主时钟和从时钟的计时 偏差。从图中可以看出两个时钟的偏差大概为5X10-6,即1s内的偏差可以达到5“s。图 4(b)为同步后主时钟和从时钟偏差测量结果,共测量1 000次,其10 ms内同步偏差在20 ns。X轴表示测量时间,Y轴表示主从时钟同步偏差。图4(c)为同步后两个从时钟偏差测量 结果,共测量1 000次,其10 ms内同步偏差在土40 ns。X轴表示测量时间,Y轴表示从时 钟之间同步偏差。(a)252011510508102(b)503020100-2065 6 X/s2 39105Oo40 -图4时钟同步精度测试2750025000225002000017500mZ 15000a 1250010000750050G02500030010002000300040005000X/ms结语基于时钟频率调整的时间同步方法,实现简单,而且没有复杂的软件同步协议,占用较小的网络带宽就可以实现高精度的时钟同步,在硬件上只需要低成本的FPGA支持。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 建筑资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号