【国产FPGA高云GW1N-4系列开发板测评】——10、OSC抖动与rPLL抖动和偏差的疑惑?
[复制链接]
本帖最后由 gs001588 于 2022-1-10 21:20 编辑
【国产FPGA高云GW1N-4系列开发板测评】——10、OSC抖动与rPLL抖动和偏差的疑惑
上一贴中提到,用两种方法——使用外部CLK_50M时钟和rPLL生成的CLK_50M2分别来测试内部OSC时钟,得到的结果有差别。那么其中必有一种测量是不准的,为什么会出现这种结果呢,上示波器对各个时钟分别测试。
(上一贴地址:【国产FPGA高云GW1N-4系列开发板测评】——9、内部OSC和rPLL的IP核测试 https://bbs.eeworld.com.cn/thread-1191437-1-1.html )
为了测试时钟,将外部晶振时钟CLK_50M经FPGA内部回环后输出到Pin75管脚,rPLL产生的50MHz时钟CLK_50M2输出到Pin76管脚,将OSC时钟CLK_OSC1输出到Pin78管脚。
用示波器测量Pin75管脚波形,时钟抖动很小,频率非常稳定,49.9996MHz。
用示波器测量Pin76管脚波形,时钟抖动稍大,频率为49.6817MHz,频率有跳动,从49.6813到49.36843之间变化。
再次测量Pin76管脚波形,频率为49.6834MHz。
用示波器测量Pin78管脚波形,时钟抖动较大,频率大约为102.968MHz。
从以上对三种时钟的测量,得出结论,上一贴中对OSC时钟测量,使用外部晶振时钟CLK_50M的方法是正确的(即内部OSC时钟为206MHz)。
可以看出,经rPLL产生的50MHz时钟CLK_50M2实际频率与理论值存在偏差,1 - 49.68/50.00 = 0.64%。1 / 0.64% = 156.25s,大约每156秒CLK_50M2的LED灯LED3秒闪次数就会比CLK_50M的LED1少一拍,实际用秒表计时与计算时间一致。
不清楚rPLL原理,产生的时钟为什么会有抖动,为什么会产生时钟频率偏差?
内部的OSC时钟又是什么情况,为什么也会有抖动?
自动模式运行逻辑分析仪,按一次RESET复位键(已通过双功能IO设置,将默认的Reconfig_n功能,改为了通过IO,用作复位功能),开始抓取逻辑分析仪波形。
COUNTER为CLK_50M的秒时钟计数,COUNTER1为CLK_50M2的时钟计数,COUNTER2为CLK_OSC1时钟计数。
抓取波形1,可以看到COUNTER与COUNTER2值稳定,COUNTER1的值稍往后偏。
抓取波形2,COUNTER与COUNTER2值依然稳定,COUNTER1的值两次往后偏。
抓取波形3,COUNTER与COUNTER2值依然稳定,COUNTER1的值两次往后偏。
大约150S后,抓取波形4,可看到COUNTER1的值已经快要落后COUNTER一个秒计数周期。
抓取波形5。
抓取波形6,最终COUNTER1的值已经落后COUNTER一个秒计数周期。
(最初怀疑内部rPLL的输入时钟可能会有问题,修改工程,将Pin75输出的时钟通过Pin106的PLL时钟专用管脚输入,测试结果与之前相同,排除了输入时钟不稳的因素。)
本实验工程文件附件:
prj_osc_1.rar
(576.35 KB, 下载次数: 4)
|