没有合适的资源?快使用搜索试试~ 我知道了~
首页altera pll重配置
altera pll重配置
需积分: 24 24 下载量 61 浏览量
更新于2023-06-07
收藏 1.73MB DOC 举报
altera pll重配置模块可解决频率切换应用场合,只用一个锁相环能代替多个,并不存在布线报警。
资源详情
资源推荐
1 应用需求
在实际应用中,FPGA 的工作时钟频率可能在几个时间段内变动,对于与之相关的锁
相环(PLL),若 PLL 的输入时钟在初始设定的时钟频率的基础上变化不太大时,PLL 一
般可以自己调整过来,并重新锁定时钟,获得正确的时钟输出;但是,若 PLL 的输入时钟
频率较之原来设定的时钟频率变化较大时(比如, PLL 输入时钟频率由 50MHz 变为
200MHz), PLL 将无法重新锁定时钟,其输出时钟频率将变为不确定的值。
对于后面这种情况,一般的可有两种处理方法:
方法一,是针对不同的输入时钟使用不同的 PLL 分别进行配置,当输入时钟变化时,
内部逻辑根据不同 PLL 的锁定情况,选择合适的时钟作为工作时钟;
方 法 二 , 是 利 用 FPGA 开 发 厂 商 提 供 的 PLL 可 重 新 配 置 宏 ( 比 如 Altera 的
ALTPLL_RECONFIG 宏模块),通过对其参数进行重新设定,然后,实时地重新配置
PLL,使其在新的输入时钟下可以正常锁定和工作。
方法一的实现较为直观,但需要更多的 PLL 资源;方法二则通过对原来的 PLL 资源进
行参数的重新配置,使其适应新的工作时钟,其实现较为复杂,但不需要额外的 PLL 资源。
FPGA 内的 PLL 能否实时地实现重新配置,与该 FPGA 是否提供相关的可重新配置机
制有关,具体请参考相应厂商的 FPGA 的使用手册。
本文档主要是以 Altera 公司的 Stratix II 系列的 FPGA 器件为例,介绍了其内嵌的增强
型可重配置 PLL 在不同的输入时钟频率之间的动态适应,其目的是通过提供 PLL 的重配置
功能,使得不需要对 FPGA 进行重新编程就可以通过软件手段完成 PLL 的重新配置,以重
新锁定和正常工作。
Altera 可重配置 PLL 使用手册 XX 电子有限公司
2 PLL 原理与可重配置 PLL
2.1 PLL 结构与原理
锁相环(PLL,Phase Lock Loop)主要作用就是把内部/外部时钟的相位和频率同步
于输入参考时钟。PLL 一般由模拟电路所实现,其结构如图 2-1 所示。
图 2-锁相环(PLL)结构
PLL 工作的原理:PLL 采用一个相位频率检测器(PFD)把参考输入时钟的上升沿和
反馈时钟对齐。当 PFD 检测到输入时钟和反馈时钟边沿对其时,锁相环就锁定了。压控振
荡 器 ( VCO ) 通 过 自 振 输 出 一 个 时 钟 , 同 时 反 馈 给 输 入 端 的 频 率 相 位 检 测 器
(PFD), PFD 根据比较输入时钟和反馈时钟的相位来判断 VCO 输出的快慢,同时输出
上升(Pump-up)或下降(Pump-down)信号,决定 VCO 是否需要以更高或更低的频率
工作。PFD 的输出施加在电荷泵(CP)和环路滤波器(LF),产生控制电压设置 VCO
的频率。如果 PFD 产生上升信号,然后 VCO 就会增加。反之,下降信号会降低 VCO 的频
率。
PFD 输出这些上升和下降信号给电荷泵(CP)。如果电荷泵收到上升信号,电流注
入环路滤波器(I
CP
增大)。反之,如果收到下降信号,电流就会流出环路滤波器( I
CP
减
小)。
环路滤波器把这些上升和下降信号转换为电压,作为 VCO 的偏置电压。环路滤波器
还消除了电荷泵的干扰,防止电压过冲,这样就会最小化 VCO 的抖动。环滤波器的电压
决定了 VCO 操作的速度。
2.2 可重配置 PLL
Altera 公司的 Stratix II 等系列的 FPGA 提供了可重配置的 PLL,从而可以实时地对
PLL 进行重新配置,使其适应新的工作要求。通过 Altera 的 Quartus II 软件可以生成一个可
重配置的 PLL,如图 2-2 右边 altpll 模块所示;另外,生成一个重配置模块,如图 2-2 左边
所示的 altpll_reconfig 模块,来对此 PLL 的具体参数进行实时配置。这两个用 Quartus II 工
具生成的模块按照图 2-2 所示的方式进行连接,然后,图 2-2 左边所列的输入端口就可以提
供给软件编程人员,由软件来实时地对进行重配置。比如,这组端口中时钟采用 PCI 接口
的时钟,其他端口可以让 FPGA 以寄存器的方式通过 PCI 接口提供给上层软件编程,从而
可以
第 2 页 共 51 页
Altera 可重配置 PLL 使用手册 XX 电子有限公司
图 2- Error: Reference source not foundStratix II 可重配置的 PLL
让软件能实时地对 PLL 进行重配置,以适应不同的 PLL 应用环境。具体地,被设置成可写
寄 存 器 的 端 口 有
reconfig、read_param、write_param、data_in[8:0]、counter_type[3:0]、counter_param[2:0]和
reset;设置成只读寄存器的端口有:busy 和 data_out[8:0]。
PLL 的可配置信息被组织在一个称为扫描链(scan chain)的结构中,按特定顺序排列。
2.2.1 PLL 的扫描链(Scanchain)
Stratix II 系列 FPGA 内的 增强 型锁 相环 ( EPLL ,Enhanced PLLs )和快速锁相 环
(FPLL,Fast PLLs)提供了若干可用于锁相环实时配置的计数器,包括:
预缩放计数器(n)( Pre-scale counter(n))
反馈计数器(m)( Feedback counter(m))和相应的 VCO 相位间隙选择(VCO
phase tap select(Ф
m
))
后缩放计数器(C0-C5)( Post-scale counter(C0-C5))和相应的 VCO 相位间隙选
择(VCO phase tap select, Ф
c0-c5
)
快速地可动态调整电荷泵电流(I
cp
)和环路滤波器组件(包括环路滤波器电阻 R
和电容 C),以满足 PLL 频带宽度(通带宽度,bandwidth)的要求。
这些可用于配置的计数器按照特定顺序组织在 PLL 的扫描链中。增强型锁相环
(EPLL,Enhanced PLL)和快速锁相环(FPLL,Fast PLL)的扫描链长度是不同的。对于
EPLL,其可配置的计数器总计有 174 位(bit0-bit173), 其扫描链与具体的可配置计数
器的关系如表 2-1 所示。FPLL 的扫描链只有 75 位,因为 FPLL 的使用与 EPLL 类似,本文
着重针对 EPLL 的使用进行介绍,有关 FPLL 的使用请参照附录。
表 2- EPLL 配置扫描链位图
EPLL 扫描链位图 PLL 组件 长度
第 3 页 共 51 页
Altera 可重配置 PLL 使用手册 XX 电子有限公司
(bits)LSB MSB
0 1 2 3 电荷泵设置[3:0] 4
4 5 6 7 8 9 10 11 环路滤波器设置[11:4] 8
12 13 M 相位移位设置 2
14 15 C0 计数器相位移位设置 2
16 17 C1 计数器相位移位设置 2
18 19 C2 计数器相位移位设置 2
20 21 C3 计数器相位移位设置 2
22 23 C4 计数器相位移位设置 2
24 25 C5 计数器相位移位设置 2
26 27 28 29 30 31 32 33 C5 计数器高脉冲计数 8
34 C5 计数器旁路位 1
35 36 37 38 39 40 41 42 C5 计数器低脉冲计数 8
43 C5 计数器奇数划分位 1
44 45 46 47 48 49 50 51 C4 计数器高脉冲计数 8
52 C4 计数器旁路位 1
53 54 55 56 57 58 59 60 C4 计数器低脉冲计数 8
61 C4 计数器奇数划分位 1
62 63 64 65 66 67 68 69 C3 计数器高脉冲计数 8
70 C3 计数器旁路位 1
71 72 73 74 75 76 77 78 C3 计数器低脉冲计数 8
79 C3 计数器奇数划分位 1
80 81 82 83 84 85 86 87 C2 计数器高脉冲计数 8
88 C2 计数器旁路位 1
89 90 91 92 93 94 95 96 C2 计数器低脉冲计数 8
97 C2 计数器奇数划分位 1
98 99 100 101 102 103 104 105 C1 计数器高脉冲计数 8
106 C1 计数器旁路位 1
107 108 109 110 111 112 113 114 C1 计数器低脉冲计数 8
115 C1 计数器奇数划分位 1
116 117 118 119 120 121 122 123 C0 计数器高脉冲计数 8
124 C0 计数器旁路位 1
125 126 127 128 129 130 131 132 C0 计数器低脉冲计数 8
133 C0 计数器奇数划分位 1
134 135 136 137 138 139 140 141 142 M 计数器 nominal count 9
143 M 计数器旁路位 1
144 145 146 147 148 149 150 151 152 M 计数器 spread count 9
153 M spread counter 旁路位 1
154 155 156 157 158 159 160 161 162 N 计数器 nominal count 9
163 N 计数器旁路位 1
164 165 166 167 168 169 170 171 172 N 计数器 spread count 9
173 N spread counter 旁路位 1
扫描链长度 174
一开始所提到的若干可用于锁相环实时配置的计数器与扫描链中的计数器的具体对应
关系如下(用于增强型 PLL 的):
预缩放计数器(n)( Pre-scale counter(n))具体包括表 2-1 中提到的:n 计数器
第 4 页 共 51 页
Altera 可重配置 PLL 使用手册 XX 电子有限公司
nominal count、n 计数器旁路位(n counter odd bit)、 n 计数器 spread count 和 n
spread counter 旁路位。
反馈计数器(m)( Feedback counter(m))包括表 2-1 中提到的:m 相位移位设
置、m 计数器 nominal count、m 计数器旁路位、m 计数器 spread count 和 m spread
counter 旁路位。
后缩放计数器(C0-C5)( Post-scale counter(C0-C5))包括表 2-1 中提到的:C0-
C5 计数器相位移位设置、C0-C5 计数器高脉冲计数、C0-C5 计数器旁路位、C0-
C5 计数器低脉冲计数和 C0-C5 计数器奇数划分位。即对应每个 PLL 的时钟输出
端(C0-C5)都有一组可用于调整的计数器。
电荷泵和环路滤波器的用于调整的计数器包括表 2-1 中提到的:电荷泵设置[3:0]
和环路滤波器设置[11:4]。环路滤波器中有 6 位([9:4])是用于环路滤波器的电阻
(Rlf)设置,剩下的 2 位([11:10])用于环路滤波器的电容(Clf)设置。
通常所说的 M、N 计数器指的是 M 计数器 nominal count 和 N 计数器 nominal count,或
直接指整个反馈计数器(m)和预缩放计数器(n)。 .
各个计数器的具体用处,将在下文中结合具体的例子进行详细的说明。
在用 Quartus II 工具的 Tools 选项下的“MegaWizard Plug-In Manager”生成可重配置的
PLL 时,会自动生成一个后缀为.mif 文件(或.hex 文件)(如图 2-3 所示的 pll54.mif),此
文件是一个扫描链的位图文件,包含了当前 PLL 配置的扫描链信息。可以根据这些信息,
调整 PLL 的扫描链中相应的计数器,来达到调整 PLL 的目的。
图 2- 在用 MegaWizard 生成 PLL 时选择生成.mif 文件
第 5 页 共 51 页
剩余50页未读,继续阅读
laolin333
- 粉丝: 0
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- zigbee-cluster-library-specification
- JSBSim Reference Manual
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功