基于FPGA PLL锁相环实现及示波器波形失真分析

在看前,建议先看【Cyclone_IV_器件中的时钟网络与 PLL.pdf
PLL具有时钟倍频和分频、相位偏移、可编程占空比、外部时钟输出,进行系统级的时钟管理和偏移控制功能。
PLL常用于同步内部器件时钟和外部时钟,使内部工作的时钟频率比外部时钟频率更高,时钟延迟和时钟偏移最小,减小或调整时钟到输出和建立时间。

时钟控制模块输入

输入说明
专用时钟输入专用时钟输入管脚能够驱动时钟或者全局信号,例如:同步与异步清零、预置,或者给定 GCLK 上的时钟使能。
两用时钟(DPCLK与CDPCLK)I/O输入DPCLK 与 CDPCLK I/O 管脚都是双向双重功能管脚,通过 GCLK 用于高扇出控制信号,例如:协议信号、用于 PCI 的 TRDY IRDY 信号。如果时钟控制模块具有由两用时钟 I/O 管脚驱动的输入端,则该时钟控制模块将不能够驱动 PLL 输入端。
PLL 输出PLL 计数器输出能够驱动 GCLK。
内部逻辑通过逻辑阵列布线驱动 GCLK,以使能内部逻辑单元 (LE) 来驱动高扇出,低偏移的信号路径。如果时钟控制模块具有由内部逻辑驱动的输入端,则该时钟控制模块将不能够驱动 PLL 输入端。

在 Cyclone IV 器件中,专用时钟输入管脚、PLL 计数器输出、两用时钟 I/O 输入和内部逻辑都可用于驱动每个 GCLK 的时钟控制模块。反过来,时钟控制模块上的输出也能够驱动相应的 GCLK。如果时钟控制模块输入是另一个 PLL 或者专用时钟输入管脚的输出,那么 GCLK 能够驱动 PLL 输入。

操作过程,直接看黑金教学教程就行,已经很详细了,我只想贴一下我的实验结果。
补充一下实验过程:
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
因为我用的cyclone IV E的时钟是50MHz的,PLL有四种工作模式,在这里选择in normal mode.
因为我用的cyclone IV E的时钟是50MHz的,PLL有四种工作模式,在这里选择in normal mode.
输入输出信号选择,默认就行。
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
同理设置clk c1 c2 c3,分别是50M,75M,100M,不懂可以留言。设置完c3点击finish,然后出现下图,就是PLL创建成功了。
这里写图片描述
在file里可以看到
这里写图片描述

示波器测量到的波形为 25Mhz 的方波(因为示波器原因,已经开始失真了,往下的波形均有失真):
【确定带宽抑制是关闭状态的】
这里写图片描述
示波器测量到的波形为 50Mhz 的方波:
这里写图片描述
示波器测量到的波形为 75Mhz 的方波:
这里写图片描述
示波器测量到的波形为 100Mhz 的方波:
这里写图片描述

分析波形的失真问题: 首先要了解方波的合成,由信号与系统的学习中,我们可以知道,方波其实不是真是存在的,其是有多次谐波叠加而成的,谐波次数越多,那么就越接近方波。所以,在示波器的捕捉频率为100MHz的情况下,25MHz的方波只能捕捉到4个点,50MHz,75MHz,100MHz,分别为2,1,1个点,那么仅由4,2,1,1个点绘出的波形,肯定是严重失真的啦。

这里写图片描述
这是一个傅里叶的传输门

补充一个利用signalTap II logic analyzer检测输出的方波。同时因为采样频率时钟选择CLK4_100M,所以在这里也对相应的输出时钟做了改动。如下图所示:
这里写图片描述

因为刚学PLL,尚且还有很多不懂的地方,有错的,望指正,这只是初步的学习报告,还会又后续补充。

  • 5
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值