FPGA PLL锁相环控制LED闪烁程序设计与仿真

开发软件:Quartus 13.0    开发组件:Cyclone IV EP4CE10F17C8   仿真:Modelsim 10.1d

文章目录

  • PLL锁相环
  • 一、程序设计
  • 二、仿真测试
  • 问题总结


PLL锁相环

PLL:Phase Locked Loop(锁相环)是一种反馈控制电路,其特点是利用外部输入的参考信号控制环路内部震荡信号的频率和相位。它可以将FPGA的系统时钟转化所需的倍频及相位时钟,是IC开发中很重要的一个部分。PLL的工作原理图如下图所示:

锁相环通常由鉴相器(FPD,Frequency Phase Detector)、滤波器(LF,Loop Filter)和压控振荡器(VCO,Voltage Controlled Oscillator)3部分组成前向通路,由VCO分频器组成频率相位的反馈通路。PLL的组成结构如下图所示:

 摘自:https://blog.csdn.net/weixin_48956120/article/details/130695162

一、程序设计

任务:利用FPGA的PLL IP核实现LED闪烁控制。

思路:通过FPGA的4个I/O口连接4个LED,设定这些I/O为输出模式。内部计数器完成计数后改变该各I/O口的电平状态,实现LED灯的闪烁效果。

步骤:建立工程、新建顶层文件、调用PLL IP核、编写Testbench仿真文件、仿真。

代码如下:

My_PLL.v (例化PLL IP核的顶层文件)
`timescale 1ps/1ps

module My_PLL (
		input  wire       clk,   //    inclk0.clk
		input  wire       rst,   //     arest.rst
		output wire  outclk_0,   //   outclk0.clk
		output wire  outclk_1,   //   outclk1.clk
		output wire  outclk_2,   //   outclk2.clk
		output wire  outclk_3,   //   outclk3.clk
		output wire  outclk_4,   //   outclk4.clk
		output wire    locked    // locked.export
	);
	
PLL_ip My_PLL_u1 (
		
		.inclk0  (clk),     //   inclk0.clk
		.areset (~rst),     //  areset.rst
		.c0 (outclk_0),     //  outclk0.clk
		.c1 (outclk_1),     //  outclk1.clk
		.c2 (outclk_2),     //  outclk2.clk
		.c3 (outclk_3),     //  outclk3.clk
		.c4 (outclk_4),     //  outclk4.clk
		.locked(locked)     //locked.export
	);
	
endmodule
PLL_ip.v (从Quartus中调用的PLL IP核)
`timescale 1 ps / 1 ps
// synopsys translate_on
module PLL_ip (
	areset,
	inclk0,
	c0,
	c1,
	c2,
	c3,
	c4,
	locked);

	input	  areset;
	input	  inclk0;
	output	  c0;
	output	  c1;
	output	  c2;
	output	  c3;
	output	  c4;
	output	  locked;
`ifndef ALTERA_RESERVED_QIS
// synopsys translate_off
`endif
	tri0	  areset;
`ifndef ALTERA_RESERVED_QIS
// synopsys translate_on
`endif

	wire [4:0] sub_wire0;
	wire  sub_wire6;
	wire [0:0] sub_wire9 = 1'h0;
	wire [3:3] sub_wire5 = sub_wire0[3:3];
	wire [4:4] sub_wire4 = sub_wire0[4:4];
	wire [2:2] sub_wire3 = sub_wire0[2:2];
	wire [0:0] sub_wire2 = sub_wire0[0:0];
	wire [1:1] sub_wire1 = sub_wire0[1:1];
	wire  c1 = sub_wire1;
	wire  c0 = sub_wire2;
	wire  c2 = sub_wire3;
	wire  c4 = sub_wire4;
	wire  c3 = sub_wire5;
	wire  locked = sub_wire6;
	wire  sub_wire7 = inclk0;
	wire [1:0] sub_wire8 = {sub_wire9, sub_wire7};

	altpll	altpll_component (
				.areset (areset),
				.inclk (sub_wire8),
				.clk (sub_wire0),
				.locked (sub_wire6),
				.activeclock (),
				.clkbad (),
				.clkena ({6{1'b1}}),
				.clkloss (),
				.clkswitch (1'b0),
				.configupdate (1'b0),
				.enable0 (),
				.enable1 (),
				.extclk (),
				.extclkena ({4{1'b1}}),
				.fbin (1'b1),
				.fbmimicbidir (),
				.fbout (),
				.fref (),
				.icdrclk (),
				.pfdena (1'b1),
				.phasecounterselect ({4{1'b1}}),
				.phasedone (),
				.phasestep (1'b1),
				.phaseupdown (1'b1),
				.pllena (1'b1),
				.scanaclr (1'b0),
				.scanclk (1'b0),
				.scanclkena (1'b1),
				.scandata (1'b0),
				.scandataout (),
				.scandone (),
				.scanread (1'b0),
				.scanwrite (1'b0),
				.sclkout0 (),
				.sclkout1 (),
				.vcooverrange (),
				.vcounderrange ());
	defparam
		altpll_component.bandwidth_type = "AUTO",
		altpll_component.clk0_divide_by = 1,
		altpll_component.clk0_duty_cycle = 50,
		altpll_component.clk0_multiply_by = 4,
		altpll_component.clk0_phase_shift = "0",
		altpll_component.clk1_divide_by = 1,
		altpll_component.clk1_duty_cycle = 50,
		altpll_component.clk1_multiply_by = 2,
		altpll_component.clk1_phase_shift = "0",
		altpll_component.clk2_divide_by = 1,
		altpll_component.clk2_duty_cycle = 50,
		altpll_component.clk2_multiply_by = 1,
		altpll_component.clk2_phase_shift = "-3333",
		altpll_component.clk3_divide_by = 1,
		altpll_component.clk3_duty_cycle = 50,
		altpll_component.clk3_multiply_by = 1,
		altpll_component.clk3_phase_shift = "3333",
		altpll_component.clk4_divide_by = 2,
		altpll_component.clk4_duty_cycle = 50,
		altpll_component.clk4_multiply_by = 1,
		altpll_component.clk4_phase_shift = "0",
		altpll_component.compensate_clock = "CLK0",
		altpll_component.inclk0_input_frequency = 40000,
		altpll_component.intended_device_family = "Cyclone IV E",
		altpll_component.lpm_hint = "CBX_MODULE_PREFIX=PLL_ip",
		altpll_component.lpm_type = "altpll",
		altpll_component.operation_mode = "NORMAL",
		altpll_component.pll_type = "AUTO",
		altpll_component.port_activeclock = "PORT_UNUSED",
		altpll_component.port_areset = "PORT_USED",
		altpll_component.port_clkbad0 = "PORT_UNUSED",
		altpll_component.port_clkbad1 = "PORT_UNUSED",
		altpll_component.port_clkloss = "PORT_UNUSED",
		altpll_component.port_clkswitch = "PORT_UNUSED",
		altpll_component.port_configupdate = "PORT_UNUSED",
		altpll_component.port_fbin = "PORT_UNUSED",
		altpll_component.port_inclk0 = "PORT_USED",
		altpll_component.port_inclk1 = "PORT_UNUSED",
		altpll_component.port_locked = "PORT_USED",
		altpll_component.port_pfdena = "PORT_UNUSED",
		altpll_component.port_phasecounterselect = "PORT_UNUSED",
		altpll_component.port_phasedone = "PORT_UNUSED",
		altpll_component.port_phasestep = "PORT_UNUSED",
		altpll_component.port_phaseupdown = "PORT_UNUSED",
		altpll_component.port_pllena = "PORT_UNUSED",
		altpll_component.port_scanaclr = "PORT_UNUSED",
		altpll_component.port_scanclk = "PORT_UNUSED",
		altpll_component.port_scanclkena = "PORT_UNUSED",
		altpll_component.port_scandata = "PORT_UNUSED",
		altpll_component.port_scandataout = "PORT_UNUSED",
		altpll_component.port_scandone = "PORT_UNUSED",
		altpll_component.port_scanread = "PORT_UNUSED",
		altpll_component.port_scanwrite = "PORT_UNUSED",
		altpll_component.port_clk0 = "PORT_USED",
		altpll_component.port_clk1 = "PORT_USED",
		altpll_component.port_clk2 = "PORT_USED",
		altpll_component.port_clk3 = "PORT_USED",
		altpll_component.port_clk4 = "PORT_USED",
		altpll_component.port_clk5 = "PORT_UNUSED",
		altpll_component.port_clkena0 = "PORT_UNUSED",
		altpll_component.port_clkena1 = "PORT_UNUSED",
		altpll_component.port_clkena2 = "PORT_UNUSED",
		altpll_component.port_clkena3 = "PORT_UNUSED",
		altpll_component.port_clkena4 = "PORT_UNUSED",
		altpll_component.port_clkena5 = "PORT_UNUSED",
		altpll_component.port_extclk0 = "PORT_UNUSED",
		altpll_component.port_extclk1 = "PORT_UNUSED",
		altpll_component.port_extclk2 = "PORT_UNUSED",
		altpll_component.port_extclk3 = "PORT_UNUSED",
		altpll_component.self_reset_on_loss_lock = "OFF",
		altpll_component.width_clock = 5;


endmodule

二、仿真测试

My_PLL_tb.v (测试程序)
`timescale 1ps/1ps

module My_PLL_tb();

		reg       clk; //         clk.clk
		reg       rst; //      areset.rst
		wire outclk_0; //     outclk0.clk
		wire outclk_1; //     outclk1.clk
		wire outclk_2; //     outclk2.clk
	   wire outclk_3; //     outclk3.clk
		wire outclk_4; //     outclk4.clk
		wire   locked; //   locked.export

		
initial      clk = 0;
always #5 clk = ~clk;

initial begin  
	 rst = 0;
	 #100;
	 rst = 1;
	 #100;
	 $stop;
end

My_PLL  My_PLL_tb_u1(
		.clk          (clk),   //      clk.clk
		.rst          (rst),   //   areset.rst
		.outclk_0(outclk_0),   //  outclk0.clk
		.outclk_1(outclk_1),   //  outclk1.clk
		.outclk_2(outclk_2),   //  outclk2.clk
		.outclk_3(outclk_3),   //  outclk3.clk
		.outclk_4(outclk_4),   //  outclk4.clk
		.locked    (locked)    //locked.export
);

endmodule 
仿真波形

 逻辑电路

如上图所示,PLL模块有两个输入,分别为clk和rst。c为PLL输出,locked为输出时钟使能信号,高电平时表示输出有效。根据波形图可知,程序设计基本符合预期。

三、问题总结

1. 使用Modelsim进行仿真时出现错误:Instantiation of ‘****’ failed. The design unit was not found。参考自:https://blog.csdn.net/qq_52450571/article/details/125765689
原因:Modelsim未导入IP核。

解决方法:设置testbench的时候需要将除被仿真的主体文件之外的其他模块,比如IP核、仿真模型等也添加进去。

2. altpll模块找不到。

原因:未导入altpll.v

解决方法:同上。

3. 使用PLL进行led控制时,仿真波形显示不正常,无期望输出波形。

原因:信号例化错误。

解决方法:PLL中的(areset)rst信号是高电平有效的。在例化时须将rst取反。

.areset(~Rst_n)

4. 语法错误

解决方法:自行校正。

http://www.china-pub.com/204234#ml 锁相环设计、仿真与应用(第5版) 基本信息 * 作者: (美)Roland E.Best * 译者: 李永明[同译者作品] * 丛书名: 国外大学优秀教材--微电子类系列(翻译版) * 出版社:清华大学出版社 * ISBN:9787302128823 * 上架时间:2007-4-19 * 出版日期:2007 年4月 * 开本:16开 * 页码:353 * 版次:5-1 * 所属分类: 工业技术 > 机械/仪表 > 综合 教材 > 研究生/本科/专科教材 > 工学 > 电工电子 教材 > 教材汇编分册 > 高等理工 本版教材征订号:0044092778-8 * 适用专业: 计算机与电子信息 * 适用分级: 本科 快速导航 * 内容简介 * 目录 * 前言 * 评论交流 内容简介回到顶部↑ 第1章是简短的引言,介绍锁相环领域的情况。第2章安排涉及混合信号锁相环的理论,设计和混合信号PLL的应用。讨论了不同类型的鉴相器(线性的和数字的),具有电荷泵输出的鉴频鉴相器、环路滤波器(无源和有源)以及压控振荡器。给出了典型混合信号锁相环的应用,例如重定时和时钟恢复,控制马达速度等。 因为频率综合器是DPLL数字锁相环最重要的应用之一,所以单立第3章深入讨论数字锁相环频率综合器。因为相位抖动和寄生边带是频率综合器最烦人的现象,我们给出了不同的解决这些问题的方法,即抗齿隙式电路和高阶环路滤波器。此外,还分析了整数N和分数N两类综合器并说明后者可以非常快地捕获锁定,其特点是在跳频(扩频)应用中具有很大的好处;最新一代的移动电话中,扩频技术将越来越重要。接着说明了简单的频率综合器可以单环实现,而高性能系统中必须使用多环结构。 因为在许多综合器应用中必须采用高阶系统(滤波器),第4章讨论了这样系统的设计,例如高达五阶的锁相环。在高阶环路的设计中,安排极点和零点的位置会是一项困难的工作,利用作者开发的新方法,基于波特图,可以非常容易地进行高阶环路设计。同时,利用作者开发的程序(在随书附有的CDROM中)可以轻松实现系统。该程序可以自动设计和分析高达五阶的锁相环路。该主题在第5章讨论,其中还包括了许多设计例子。在综合一个锁相环电路时,这个程序可以用于模拟系统的动态性能,即锁定和失锁过程。为了研究锁相环在噪声情况下的性能(这在实际中是一般设定情况),用户可以添加任意水平的窄带或宽带噪声。最终,程序显示综合的锁相环波特图和环路滤波器电路图,包括元件值。   第6章阐述全数字锁相环ADPLL的理论、设计和应用,这类PLL引入时间比前面介绍的要晚一些。这几种锁相环中,LPLL与DPLL是连续时间系统,而ADPLL是离散时间器件,所以,会表现出相对较大的波纹(相位抖动)。因此,ADPLL的应用局限在可容忍波纹的情况下,如频移键控(FSK)解码器和类似设备。第7章描述了ADPLL计算机辅助设计和仿真,使用前面讲述过的计算机程序。 因为近年来微控制器和数字信号处理器的速度显著提高,现在许多PLL应用都可以用软件实现。第8章讨论了锁相环领域中软件和硬件折中的考虑,描述了一些可以实现软件PLL(SPLL)的软件算法。   第9章综述通信领域中PLL的应用。包括大多数重要的数字调制方案,例如BSK,QPSK,FSK以及QAM,并且描述了一些专用的PLL电路用于载波和符号同步(如,Costas环,早迟门,积分和复位转移电路),以及采取措施防止符号间干扰(intersymbol interference,ISI),例如平方根升余弦滤波器。本章的其他主题中也说明了在不增加系统带宽的情况下,如何增加数字通信的符号速率。 第10章列出了当前可以使用的PLL集成电路,它们来自美国、欧洲和日本的制造厂家,包括简短的电路说明。列表中包括单片上完整的PLL系统,锁相环的部分电路模块,如鉴相器和VCO压控振荡器,以及类似锁相环频率综合器的复杂系统或收音机、电视机芯片;还包括单、双模预分频器。 最后,第11章说明使用常规实验室仪器,如示波器、信号发生器等,以及如何测量锁相环的参数。   三个附录提供了所选主题的附加信息。附录A为捕获过程分析推导,以满足对数学方法感兴趣的读者。附录B是在这本书中经常使用的初等拉普拉斯变换。附录 C是对数字滤波器的综述,在高复杂度的PLL系统中它变得越来越重要。 目录回到顶部↑ 第1章 锁相环简介  1.1 锁相环工作原理  1.2 PLL的分类 第2章 混合信号锁相环  2.1 混合信号锁相环框图  2.2 相位信号注解  2.3 混合信号锁相环的组成模块   2.3.1 鉴相器   2.3.2 环路滤波器(一阶)   2.3.3 受控振荡器   2.3.4 分频器  2.4 锁定状态下的锁相环性能   2.4.1 锁定状态的数学模型   2.4.2 传输函数定义   2.4.3 锁定状态下锁相环的瞬态响应   2.4.4 锁相环稳态误差  2.5 锁相环系统的阶次   2.5.1 极点数   2.5.2 特殊情况:一阶锁相环  2.6 未锁定状态下的锁相环性能 .  2.6.1 未锁定状态的数学模型   2.6.2 锁相环的关键参数  2.7 带有电荷泵输出的鉴相器  2.8 在噪声情况下的PLL性能   2.8.1 PLL里的噪声源和噪声类型   2.8.2 噪声参数定义   2.8.3 噪声对PLL性能的影响   2.8.4 带有噪声的信号捕捉技术  2.9 混合信号PLL的设计流程  2.10 混合信号PLL的应用   2.10.1 重定时和时钟信号恢复   2.10.2 马达速度控制 第3章 锁相频率综合器  3.1 无线和射频应用领域中的频率综合器  3.2 锁相环频率综合器基础   3.2.1 整数N频率综合器   3.2.2 示例研究:设计整数N PLL频率综合器   3.2.3 分数N频率综合器  3.3 单环和多环频率综合器  3.4 频率综合器噪声   3.4.1 参考振荡器的相位抖动θn,ref   3.4.2 VCO的相位抖动θn,VCO   3.4.3 鉴相器产生的参考馈通 第4章 高阶环路  4.1 高阶环路的起因  4.2 高阶环路的稳定度分析  4.3 三阶PLL的设计   4.3.1 无源超前—滞后滤波器   4.3.2 有源超前—滞后滤波器   4.3.3 有源比例积分环路滤波器  4.4 四阶PLL的设计   4.4.1 有源超前—滞后环路滤波器   4.4.2 有源比例积分环路滤波器  4.5 五阶PLL的设计   4.5.1 有源超前—滞后环路滤波器   4.5.2 有源比例积分环路滤波器  4.6 高阶PLL的关键参数  4.7 带电荷泵输出的鉴相器的环路滤波器   4.7.1 二阶PLL中的环路滤波器   4.7.2 三阶PLL中的环路滤波器   …… 第5章 混合信号PLL的计算机辅助设计和仿真 第6章 全数字PLL(ADPLL) 第7章 ADPLL的计算机辅助设计和仿真 第8章 软件PLL(SPLL) 第9章 通信中的锁相环PLL) 第10章 商用PLL集成电路技术现状 第11章 PLL参数的测量 附录A 捕捉过程(The Pull-in Process) 附录B 拉普拉斯变换 附录C 数字滤波器基础 参考文献 索引 ↑折 叠 前言回到顶部↑ 锁相环历来是线性电路。第一个锁相环是用分立元件实现的,大约在1965年锁相环成为可以使用的集成电路。这些集成锁相环中的第一个是线性器件 (LPLL),基于半导体技术,类似那个时代的运算放大器。几年后(大约1970年),有了第一个可以使用的数字锁相环(DPLL)。但我们观察它们的电路时,可以知道,仅仅鉴相器是逻辑电路,而其余部分(压控振荡器VCO,环路滤波器)仍然是模拟电路,因此这些锁相环是混合系统。在这本新版本的书中,我们把LPLL和DPLI。两个类型结合成一类,称之为“混合信号锁相环”。于是,现在两种可以使用统一的理论阐述,大大地简化了分析。. 第1章是简短的引言,介绍锁相环领域的情况。第2章安排涉及混合信号锁相环的理论,设计和混合信号PLL的应用。讨论了不同类型的鉴相器(线性的和数字的),具有电荷泵输出的鉴频鉴相器、环路滤波器(无源和有源)以及压控振荡器。给出了典型混合信号锁相环的应用,例如重定时和时钟恢复,控制马达速度等。 因为频率综合器是DPLI,数字锁相环最重要的应用之一,所以单立第3章深入讨论数字锁相环频率综合器。因为相位抖动和寄生边带是频率综合器最烦人的现象,我们给出了不同的解决这些问题的方法,即抗齿隙式电路和高阶环路滤波器。此外,还分析了整数N和分数N两类综合器并说明后者可以非常快地捕获锁定,其特点是在跳频(扩频)应用中具有很大的好处;最新一代的移动电话中,扩频技术将越来越重要。接着说明了简单的频率综合器可以单环实现,而高性能系统中必须使用多环结构。.. 因为在许多综合器应用中必须采用高阶系统(滤波器),第4章讨论了这样系统的设计,例如高达五阶的锁相环。在高阶环路的设计中,安排极点和零点的位置会是一项困难的工作,利用作者开发的新方法,基于波特图,可以非常容易地进行高阶环路设计。同时,利用作者开发的程序(在随书附有的CD—ROM中)可以轻松实现系统。该程序可以自动设计和分析高达五阶的锁相环路。该主题在第5章讨论,其中还包括了许多设计例子。在综合一个锁相环电路时,这个程序可以用于模拟系统的动态性能,即锁定和失锁过程。为了研究锁相环在噪声情况下的性能(这在实际中是一般设定情况),用户可以添加任意水平的窄带或宽带噪声。最终,程序显示综合的锁相环波特图和环路滤波器电路图,包括元件值。 第6章阐述全数字锁相环ADPLL的理论、设计和应用,这类PLL引入时间比前面介绍的要晚一些。这几种锁相环中,LPLL与DPLL是连续时间系统,而 ADPLL是离散时间器件,所以,会表现出相对较大的波纹(相位抖动)。因此,ADPLI。的应用局限在可容忍波纹的情况下,如频移键控(FSK)解码器和类似设备。第7章描述了ADPLL计算机辅助设计和仿真,使用前面讲述过的计算机程序。 因为近年来微控制器和数字信号处理器的速度显著提高,现在许多PLL应用都可以用软件实现。第8章讨论了锁相环领域中软件和硬件折中的考虑,描述了一些可以实现软件PLL(SPLL)的软件算法。 第9章综述通信领域中PLL的应用。包括大多数重要的数字调制方案,例如BSK,QPSK,FSK以及QAM,并且描述了一些专用的PLL电路用于载波和符号同步(如,Costas环,早—迟门,积分和复位转移电路),以及采取措施防止符号间干扰(intersymbol interfer—ence,ISI,例如平方根升余弦滤波器。本章的其他主题中也说明了在不增加系统带宽的情况下,如何增加数字通信的符号速率。 第10章列出了当前可以使用的PLL集成电路,它们来自美国、欧洲和日本的制造厂家,包括简短的电路说明。列表中包括单片上完整的PLL系统,锁相环的部分电路模块,如鉴相器和VCO压控振荡器,以及类似锁相环频率综合器的复杂系统或收音机、电视机芯片;还包括单、双模预分频器。 最后,第11章说明使用常规实验室仪器,如示波器、信号发生器等,以及如何测量锁相环的参数。 三个附录提供了所选主题的附加信息。附录A为捕获过程分析推导,以满足对数学方法感兴趣的读者。附录B是在这本书中经常使用的初等拉普拉斯变换。附录C是对数字滤波器的综述,在高复杂度的PLL系统中它变得越来越重要。 Roland Best...
http://www.china-pub.com/204234#ml 锁相环设计、仿真与应用(第5版) 基本信息 * 作者: (美)Roland E.Best * 译者: 李永明[同译者作品] * 丛书名: 国外大学优秀教材--微电子类系列(翻译版) * 出版社:清华大学出版社 * ISBN:9787302128823 * 上架时间:2007-4-19 * 出版日期:2007 年4月 * 开本:16开 * 页码:353 * 版次:5-1 * 所属分类: 工业技术 > 机械/仪表 > 综合 教材 > 研究生/本科/专科教材 > 工学 > 电工电子 教材 > 教材汇编分册 > 高等理工 本版教材征订号:0044092778-8 * 适用专业: 计算机与电子信息 * 适用分级: 本科 快速导航 * 内容简介 * 目录 * 前言 * 评论交流 内容简介回到顶部↑ 第1章是简短的引言,介绍锁相环领域的情况。第2章安排涉及混合信号锁相环的理论,设计和混合信号PLL的应用。讨论了不同类型的鉴相器(线性的和数字的),具有电荷泵输出的鉴频鉴相器、环路滤波器(无源和有源)以及压控振荡器。给出了典型混合信号锁相环的应用,例如重定时和时钟恢复,控制马达速度等。 因为频率综合器是DPLL数字锁相环最重要的应用之一,所以单立第3章深入讨论数字锁相环频率综合器。因为相位抖动和寄生边带是频率综合器最烦人的现象,我们给出了不同的解决这些问题的方法,即抗齿隙式电路和高阶环路滤波器。此外,还分析了整数N和分数N两类综合器并说明后者可以非常快地捕获锁定,其特点是在跳频(扩频)应用中具有很大的好处;最新一代的移动电话中,扩频技术将越来越重要。接着说明了简单的频率综合器可以单环实现,而高性能系统中必须使用多环结构。 因为在许多综合器应用中必须采用高阶系统(滤波器),第4章讨论了这样系统的设计,例如高达五阶的锁相环。在高阶环路的设计中,安排极点和零点的位置会是一项困难的工作,利用作者开发的新方法,基于波特图,可以非常容易地进行高阶环路设计。同时,利用作者开发的程序(在随书附有的CDROM中)可以轻松实现系统。该程序可以自动设计和分析高达五阶的锁相环路。该主题在第5章讨论,其中还包括了许多设计例子。在综合一个锁相环电路时,这个程序可以用于模拟系统的动态性能,即锁定和失锁过程。为了研究锁相环在噪声情况下的性能(这在实际中是一般设定情况),用户可以添加任意水平的窄带或宽带噪声。最终,程序显示综合的锁相环波特图和环路滤波器电路图,包括元件值。   第6章阐述全数字锁相环ADPLL的理论、设计和应用,这类PLL引入时间比前面介绍的要晚一些。这几种锁相环中,LPLL与DPLL是连续时间系统,而ADPLL是离散时间器件,所以,会表现出相对较大的波纹(相位抖动)。因此,ADPLL的应用局限在可容忍波纹的情况下,如频移键控(FSK)解码器和类似设备。第7章描述了ADPLL计算机辅助设计和仿真,使用前面讲述过的计算机程序。 因为近年来微控制器和数字信号处理器的速度显著提高,现在许多PLL应用都可以用软件实现。第8章讨论了锁相环领域中软件和硬件折中的考虑,描述了一些可以实现软件PLL(SPLL)的软件算法。   第9章综述通信领域中PLL的应用。包括大多数重要的数字调制方案,例如BSK,QPSK,FSK以及QAM,并且描述了一些专用的PLL电路用于载波和符号同步(如,Costas环,早迟门,积分和复位转移电路),以及采取措施防止符号间干扰(intersymbol interference,ISI),例如平方根升余弦滤波器。本章的其他主题中也说明了在不增加系统带宽的情况下,如何增加数字通信的符号速率。 第10章列出了当前可以使用的PLL集成电路,它们来自美国、欧洲和日本的制造厂家,包括简短的电路说明。列表中包括单片上完整的PLL系统,锁相环的部分电路模块,如鉴相器和VCO压控振荡器,以及类似锁相环频率综合器的复杂系统或收音机、电视机芯片;还包括单、双模预分频器。 最后,第11章说明使用常规实验室仪器,如示波器、信号发生器等,以及如何测量锁相环的参数。   三个附录提供了所选主题的附加信息。附录A为捕获过程分析推导,以满足对数学方法感兴趣的读者。附录B是在这本书中经常使用的初等拉普拉斯变换。附录 C是对数字滤波器的综述,在高复杂度的PLL系统中它变得越来越重要。 目录回到顶部↑ 第1章 锁相环简介  1.1 锁相环工作原理  1.2 PLL的分类 第2章 混合信号锁相环  2.1 混合信号锁相环框图  2.2 相位信号注解  2.3 混合信号锁相环的组成模块   2.3.1 鉴相器   2.3.2 环路滤波器(一阶)   2.3.3 受控振荡器   2.3.4 分频器  2.4 锁定状态下的锁相环性能   2.4.1 锁定状态的数学模型   2.4.2 传输函数定义   2.4.3 锁定状态下锁相环的瞬态响应   2.4.4 锁相环稳态误差  2.5 锁相环系统的阶次   2.5.1 极点数   2.5.2 特殊情况:一阶锁相环  2.6 未锁定状态下的锁相环性能 .  2.6.1 未锁定状态的数学模型   2.6.2 锁相环的关键参数  2.7 带有电荷泵输出的鉴相器  2.8 在噪声情况下的PLL性能   2.8.1 PLL里的噪声源和噪声类型   2.8.2 噪声参数定义   2.8.3 噪声对PLL性能的影响   2.8.4 带有噪声的信号捕捉技术  2.9 混合信号PLL的设计流程  2.10 混合信号PLL的应用   2.10.1 重定时和时钟信号恢复   2.10.2 马达速度控制 第3章 锁相频率综合器  3.1 无线和射频应用领域中的频率综合器  3.2 锁相环频率综合器基础   3.2.1 整数N频率综合器   3.2.2 示例研究:设计整数N PLL频率综合器   3.2.3 分数N频率综合器  3.3 单环和多环频率综合器  3.4 频率综合器噪声   3.4.1 参考振荡器的相位抖动θn,ref   3.4.2 VCO的相位抖动θn,VCO   3.4.3 鉴相器产生的参考馈通 第4章 高阶环路  4.1 高阶环路的起因  4.2 高阶环路的稳定度分析  4.3 三阶PLL的设计   4.3.1 无源超前—滞后滤波器   4.3.2 有源超前—滞后滤波器   4.3.3 有源比例积分环路滤波器  4.4 四阶PLL的设计   4.4.1 有源超前—滞后环路滤波器   4.4.2 有源比例积分环路滤波器  4.5 五阶PLL的设计   4.5.1 有源超前—滞后环路滤波器   4.5.2 有源比例积分环路滤波器  4.6 高阶PLL的关键参数  4.7 带电荷泵输出的鉴相器的环路滤波器   4.7.1 二阶PLL中的环路滤波器   4.7.2 三阶PLL中的环路滤波器   …… 第5章 混合信号PLL的计算机辅助设计和仿真 第6章 全数字PLL(ADPLL) 第7章 ADPLL的计算机辅助设计和仿真 第8章 软件PLL(SPLL) 第9章 通信中的锁相环PLL) 第10章 商用PLL集成电路技术现状 第11章 PLL参数的测量 附录A 捕捉过程(The Pull-in Process) 附录B 拉普拉斯变换 附录C 数字滤波器基础 参考文献 索引 ↑折 叠 前言回到顶部↑ 锁相环历来是线性电路。第一个锁相环是用分立元件实现的,大约在1965年锁相环成为可以使用的集成电路。这些集成锁相环中的第一个是线性器件 (LPLL),基于半导体技术,类似那个时代的运算放大器。几年后(大约1970年),有了第一个可以使用的数字锁相环(DPLL)。但我们观察它们的电路时,可以知道,仅仅鉴相器是逻辑电路,而其余部分(压控振荡器VCO,环路滤波器)仍然是模拟电路,因此这些锁相环是混合系统。在这本新版本的书中,我们把LPLL和DPLI。两个类型结合成一类,称之为“混合信号锁相环”。于是,现在两种可以使用统一的理论阐述,大大地简化了分析。. 第1章是简短的引言,介绍锁相环领域的情况。第2章安排涉及混合信号锁相环的理论,设计和混合信号PLL的应用。讨论了不同类型的鉴相器(线性的和数字的),具有电荷泵输出的鉴频鉴相器、环路滤波器(无源和有源)以及压控振荡器。给出了典型混合信号锁相环的应用,例如重定时和时钟恢复,控制马达速度等。 因为频率综合器是DPLI,数字锁相环最重要的应用之一,所以单立第3章深入讨论数字锁相环频率综合器。因为相位抖动和寄生边带是频率综合器最烦人的现象,我们给出了不同的解决这些问题的方法,即抗齿隙式电路和高阶环路滤波器。此外,还分析了整数N和分数N两类综合器并说明后者可以非常快地捕获锁定,其特点是在跳频(扩频)应用中具有很大的好处;最新一代的移动电话中,扩频技术将越来越重要。接着说明了简单的频率综合器可以单环实现,而高性能系统中必须使用多环结构。.. 因为在许多综合器应用中必须采用高阶系统(滤波器),第4章讨论了这样系统的设计,例如高达五阶的锁相环。在高阶环路的设计中,安排极点和零点的位置会是一项困难的工作,利用作者开发的新方法,基于波特图,可以非常容易地进行高阶环路设计。同时,利用作者开发的程序(在随书附有的CD—ROM中)可以轻松实现系统。该程序可以自动设计和分析高达五阶的锁相环路。该主题在第5章讨论,其中还包括了许多设计例子。在综合一个锁相环电路时,这个程序可以用于模拟系统的动态性能,即锁定和失锁过程。为了研究锁相环在噪声情况下的性能(这在实际中是一般设定情况),用户可以添加任意水平的窄带或宽带噪声。最终,程序显示综合的锁相环波特图和环路滤波器电路图,包括元件值。 第6章阐述全数字锁相环ADPLL的理论、设计和应用,这类PLL引入时间比前面介绍的要晚一些。这几种锁相环中,LPLL与DPLL是连续时间系统,而 ADPLL是离散时间器件,所以,会表现出相对较大的波纹(相位抖动)。因此,ADPLI。的应用局限在可容忍波纹的情况下,如频移键控(FSK)解码器和类似设备。第7章描述了ADPLL计算机辅助设计和仿真,使用前面讲述过的计算机程序。 因为近年来微控制器和数字信号处理器的速度显著提高,现在许多PLL应用都可以用软件实现。第8章讨论了锁相环领域中软件和硬件折中的考虑,描述了一些可以实现软件PLL(SPLL)的软件算法。 第9章综述通信领域中PLL的应用。包括大多数重要的数字调制方案,例如BSK,QPSK,FSK以及QAM,并且描述了一些专用的PLL电路用于载波和符号同步(如,Costas环,早—迟门,积分和复位转移电路),以及采取措施防止符号间干扰(intersymbol interfer—ence,ISI,例如平方根升余弦滤波器。本章的其他主题中也说明了在不增加系统带宽的情况下,如何增加数字通信的符号速率。 第10章列出了当前可以使用的PLL集成电路,它们来自美国、欧洲和日本的制造厂家,包括简短的电路说明。列表中包括单片上完整的PLL系统,锁相环的部分电路模块,如鉴相器和VCO压控振荡器,以及类似锁相环频率综合器的复杂系统或收音机、电视机芯片;还包括单、双模预分频器。 最后,第11章说明使用常规实验室仪器,如示波器、信号发生器等,以及如何测量锁相环的参数。 三个附录提供了所选主题的附加信息。附录A为捕获过程分析推导,以满足对数学方法感兴趣的读者。附录B是在这本书中经常使用的初等拉普拉斯变换。附录C是对数字滤波器的综述,在高复杂度的PLL系统中它变得越来越重要。 Roland Best...
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值