精华内容
下载资源
问答
  • 为什么信号需要分频倍频? 一般晶振的频率是固定的,只有有限个固定频率,不需要每一个都配备晶振。不同CPU的执行指令周期要求不同,需要不同的频率。 分频:减小信号的频率 倍频:增大信号的频率 数字电路中的...

    为什么信号需要分频与倍频?

    一般晶振的频率是固定的,只有有限个固定频率,不需要每一个都配备晶振。不同CPU的执行指令周期要求不同,需要不同的频率。

    分频:减小信号的频率

    倍频:增大信号的频率

    数字电路中的触发器

    计数器(在数字电路中能够记忆输入脉冲的个数的电路,叫做计数器)

    锁相环(phase locked loop)简称PLL

    锁相环原理标题

     

    鉴相器可以输出输出信号与输入信号之间的相位差,并将相位差转化为鉴相器的输出电压,该输出电压含有噪声和刚来成分,经过滤波器滤除后,形成压控振荡器的控制电压,即压控振荡器的输入电压,压控振荡器可将输出的电压频率拉向环路的输入电压频率,当二者频率相等时,输出信号的频率不再改变。输出电压与输入电压保持固定的相位差。二者的相位差被锁住。故称为锁相环。

    展开全文
  • PLL对时钟网络进行系统级的时钟管理偏移控制, 具有时钟倍频分频、相位偏移和可编程占空比的功能。对于一个简单的设计来说, FPGA整个系统使用一个时钟或者通过编写代码的方式对时钟进行分频是可以完成的, ...

           PLL的英文全称是Phase Locked Loop,即锁相环, 是一种反馈控制电路。 PLL对时钟网络进行系统级的时钟管理和偏移控制, 具有时钟倍频、分频、相位偏移和可编程占空比的功能。对于一个简单的设计来说, FPGA整个系统使用一个时钟或者通过编写代码的方式对时钟进行分频是可以完成的, 但是对于稍微复杂一点的系统来说, 系统中往往需要使用多个时钟和时钟相位的偏移,且通过编写代码输出的时钟无法实现时钟的倍频.最后则只能通过设置锁相环实现倍频.

    首先创建一个测试文件:

    在Quartus II软件的菜单栏中找到【 Tools】→【 MegaWizard Plug-In Manager】按钮并点击打开

    选择第一个,第一个是创建一个新的IP核,第二个是编辑一个已经创建好的IP核, 第三个是复制一个已经创建好的IP核。

    自己选择路径和名称 

    我的晶振为50MHZ,通常我们保持默认设置, 选择In normal mode( 正常模式) 即可。然后我们直接点击【 Next>】

    第一个设置是否使用异步复位来复位锁相环,第二个LOCK信号拉高表示锁相环开始稳定输出时钟信号, 在此我们保持默认的设置,直接点击【 Next>】

    然后继续点击【 Next>】,一直到这个界面,Requested Setting一栏中直接输入我们需要的时钟频率100Mhz; Clock phase shift一栏中输入时钟的相位偏移,这里保持默认为0即可;Clock duty cycle( %) 一栏设置时钟的占空比,时钟占空比一般为50%, 我们在这里保持默认50即可, 然后点击【 Next>】.

    在该页面中,我们使能c1时钟信号,然后将c1时钟设置为100MHz,在这里为了向大家演示设置时钟相位的作用,我们将时钟相位设置成180,然后点击【 Next>】

    在该页面中,我们使能c2时钟信号,然后将c2时钟设置为50MHz,然后点击【 Next>】

    在该页面中,我们使能c3时钟信号,然后将c3时钟设置为25MHz。然后点击【 Next>】

    接下来都是直接点next最后finish,回到界面后点击yes

    这个也就是我们生成的锁相环的引脚图:

    接下来返回到工程界面,open生成的pll_clk.qip可以看到如图,表示已经生成了pllclk.v文件

    接下来new一个test.v的文件

    在文件中添加代码:

    module test(
    input sys_clk , //系统时钟
    input sys_rst_n , //系统复位,低电平有效
    //输出时钟
    output clk_100m , //100Mhz时钟频率
    output clk_100m_180deg, //100Mhz时钟频率,相位偏移180度
    output clk_50m , //50Mhz时钟频率
    output clk_25m //25Mhz时钟频率
    );
    
    //wire define
     wire rst_n ; //复位信号
    wire locked ; //locked信号拉高,锁相环开始稳定输出时钟
    
    //系统复位与锁相环locked相与,作为其它模块的复位信号
    assign rst_n = sys_rst_n & locked;
    //锁相环
    pllclk u_pll_clk(
    .areset (~sys_rst_n ), //锁相环高电平复位,所以复位信号取反
    .inclk0 (sys_clk ),
    .c0 (clk_100m ),
    .c1 (clk_100m_180deg),
    .c2 (clk_50m ),
    .c3 (clk_25m ),
    .locked (locked )
    );
    
    endmodule
    

     然后在编译成功后目录为这样:

    其中这个设置的锁相环引脚就是根据之前生成的引脚图进行的配置

    最后的仿真图如图所示:

    对IP核的仿真需要在Modeslim工程中添加altera_mf文件仿真库altera\13.1\quartus\eda\sim_lib\altera_mf.v,把他复制到自己的路径下就可以了

     

    展开全文
  • 锁相环倍频小结

    2020-09-21 23:17:40
    原理:锁相环是一种利用反馈控制原理实现相位频率同步的技术,一般由鉴相器,滤波器,压控震荡器分频器构成,它的作用是将电路输出的时钟与其外部的参考时钟保持同步。 应用:在通信机等所使用的振荡电路,其所...

    1. 锁相环(PLL)

    原理:锁相环是一种利用反馈控制原理实现相位和频率同步的技术,一般由鉴相器,滤波器,压控震荡器和分频器构成,它的作用是将电路输出的时钟与其外部的参考时钟保持同步。
    Screenshot from 2019-09-09 11-39-27.png
    应用:在通信机等所使用的振荡电路,其所要求的频率范围要广,且频率的稳定度要高。无论多好的LC振荡电路,其频率的稳定度,都无法与晶体振荡电路比较。但是,晶体振荡器除了可以使用数字电路分频以外,其频率几乎无法改变。如果采用PLL(PhaseLockedLoop)技术,除了可以得到较广的振荡频率范围以外,其频率的稳定性也很高。

    1. 鉴相鉴频器PFD(Phase Frequency Detector):对输入的基准信号(来自频率稳定的晶振)和反馈回路的信号进行频率的比较,输出一个代表两者差异的信号。
      低通滤波器LPF(Low-Pass Filter):将PFD中生成的差异信号的高频成分滤除,保留直流部分。
    2. 压控振荡器VCO(Voltage Controlled Oscillator):根据输入电压,输出对应频率的周期信号。利用变容二极管(偏置电压的变化会改变耗尽层的厚度,从而影响电容大小)与电容构成的LC谐振电路构成,提高变容二极管的逆向偏压,二极管内耗尽层变大,带内容变小,LC电路的谐振频率提高,反之,降低逆向偏压时,二极管内电容变大,频率降低。
    3. 反馈回路FL(Feedback Loop):通常由一个分频器实现,将VCO的输出降低到与基准信号相同级别的频率才能在PFD中比较。
    4. PLL工作的基本原理就是将压控振荡器的输出经过分频后与基准信号输入PFD,PFD通过比较这两个信号的频率差,输出一个代表两者差异的信号,再经过低通滤波器转变成一个直流脉冲电压去控制VCO使它的频率改变。这样经过一个很短的时间,VCO的输出就会稳定下来。所以:PLL并不是直接对晶振进行倍频,而是将频率稳定的晶振作为基准信号,与PLL内部振荡电路生成的信号分频后进行比较,使PLL输出的信号频率稳定
      小结:
      使用的基准信号为稳定度很高的晶体振荡电路信号

    1.1 PLL与倍频器

    由上面可以知道,晶振由于其频率的稳定性,一般作为系统的外部时钟源。但是晶振的频率虽然稳定,但是频率无法做到很高(成本与工艺限制),由此芯片中高频时钟就需要压控振荡器,但是压控振荡器也有问题,其频率不够稳定,而且变化时很难快速稳定频率。这就是标准开环系统所出现的问题,解决办法就是接入反馈,使开环系统变成闭环系统,并且加入稳定的基准信号,与反馈比较,以便生成正确的控制。

    2. 压控震荡器

    原理:指输出频率与输入控制电压有对应关系的振荡电路,常以符号(VCO)(Voltage Controlled Oscillator)。其特性用输出角频率ω0与 输入控制电压uc之间的关系曲线(图1)来表示.图1中,uc为零时的角频率ω0,0称为自由振荡角频率;曲线在ω0,0处的斜率K0称为控制灵敏度。
    Screenshot from 2019-09-09 14-51-36.png
    应用:
    1、讯号产生器。
    2、电子音乐中用来制造变调。
    3、锁相回路。
    4、通讯设备中的频率合成器。
    小结:压控震荡器的核心元器件是压控可变电抗元件,早期是一个电抗管,后来大都使用变容二极管

    3. 倍频器的种类

    1. 锁相倍频器
      在锁相环路中插入分频器,改变分频次数就可实现任何倍数的倍频。
    2. 三极管倍频器
      在短波和超短波段,采用由晶体三极管构成的三极管倍频器。由于晶体三极管在输入信号作用下产生的集电极电流脉冲,其各次谐波电流的幅度总是随着谐波次数增加而迅速减小。因此,倍频次数越高,倍频效率就越低;

    4. 举例

    比如我基频是10MHz,需要100MHz的频率,那就得用VCO产生一个100MHz的频率后10分频,用鉴相器与基频比较,输出一个比较的波形后经过低通滤波,用输出电压控制VCO的输出。
    2. 两个模块分别需要50M和100M的时钟,问系统时钟是采用100M还是50M
    答:采用100M时钟,因为分频的得到时钟比倍频产生的时钟质量好,稳定性高;其次分频电路比较简单,容易实现,而倍频电路需要鉴频鉴相器(PD),低通滤波器(LF),压控振荡器(VCO),分频器等电路,因此倍频电路实现复杂。

    展开全文
  • FPGA 时钟分频

    万次阅读 多人点赞 2017-08-04 21:36:02
    一般在FPGA中都有集成的锁相环可以实现各种时钟的分频和倍频设计,但是通过语言设计进行时钟分频是最基本的训练,在对时钟要求不高的设计时也能节省锁相环资源。在本实验中我们将实现任意整数的分频器,分频的时钟...

     

    硬件说明


    时钟信号的处理是FPGA的特色之一,因此分频器也是FPGA设计中使用频率非常高的基本设计之一。一般在FPGA中都有集成的锁相环可以实现各种时钟的分频和倍频设计,但是通过语言设计进行时钟分频是最基本的训练,在对时钟要求不高的设计时也能节省锁相环资源。在本实验中我们将实现任意整数的分频器,分频的时钟保持50%占空比。 
    1,偶数分频:偶数倍分频相对简单,比较容易理解。通过计数器计数是完全可以实现的。如进行N倍偶数分频,那么通过时钟触发计数器计数,当计数器从0计数到N/2-1时,输出时钟进行翻转,以此循环下去。 
    2,奇数分频: 如果要实现占空比为50%的奇数倍分频,不能同偶数分频一样计数器记到一半的时候输出时钟翻转,那样得不到占空比50%的时钟。以待分频时钟CLK为例,如果以偶数分频的方法来做奇数分频,在CLK上升沿触发,将得到不是50%占空比的一个时钟信号(正周期比负周期多一个时钟或者少一个时钟);但是如果在CLK下降沿也触发,又得到另外一个不是50%占空比的时钟信号,这两个时钟相位正好相差半个CLK时钟周期。通过这两个时钟信号进行逻辑运算我们可以巧妙的得到50%占空比的时钟。 
    总结如下:对于实现占空比为50%的N倍奇数分频,首先进行上升沿触发进行模N计数,计数选定到某一个值进行输出时钟翻转,然后经过(N-1)/2再次进行翻转得到一个占空比非50%奇数n分频时钟。再者同时进行下降沿触发的模N计数,到和上升沿触发输出时钟翻转选定值相同值时,进行输出时钟时钟翻转,同样经过(N-1)/2时,输出时钟再次翻转生成占空比非50%的奇数n分频时钟。两个占空比非50%的n分频时钟进行逻辑运算(正周期多的相与,负周期多的相或),得到占空比为50%的奇数n分频时钟。 

    Verilog代码

    
    
     
    module divide (	clk,rst_n,clkout);
     
            input 	clk,rst_n;                       //输入信号,其中clk连接到FPGA的C1脚,频率为12MHz
            output	clkout;                          //输出信号,可以连接到LED观察分频的时钟
     
            //parameter是verilog里常数语句
    	parameter	WIDTH	= 3;             //计数器的位数,计数的最大值为 2**WIDTH-1
    	parameter	N	= 5;             //分频系数,请确保 N < 2**WIDTH-1,否则计数会溢出
     
    	reg 	[WIDTH-1:0]	cnt_p,cnt_n;     //cnt_p为上升沿触发时的计数器,cnt_n为下降沿触发时的计数器
    	reg			clk_p,clk_n;     //clk_p为上升沿触发时分频时钟,clk_n为下降沿触发时分频时钟
     
    	//上升沿触发时计数器的控制
    	always @ (posedge clk or negedge rst_n )         //posedge和negedge是verilog表示信号上升沿和下降沿
                                                             //当clk上升沿来临或者rst_n变低的时候执行一次always里的语句
    		begin
    			if(!rst_n)
    				cnt_p<=0;
    			else if (cnt_p==(N-1))
    				cnt_p<=0;
    			else cnt_p<=cnt_p+1;             //计数器一直计数,当计数到N-1的时候清零,这是一个模N的计数器
    		end
     
             //上升沿触发的分频时钟输出,如果N为奇数得到的时钟占空比不是50%;如果N为偶数得到的时钟占空比为50%
             always @ (posedge clk or negedge rst_n)
    		begin
    			if(!rst_n)
    				clk_p<=0;
    			else if (cnt_p<(N>>1))          //N>>1表示右移一位,相当于除以2去掉余数
    				clk_p<=0;
    			else 
    				clk_p<=1;               //得到的分频时钟正周期比负周期多一个clk时钟
    		end
     
            //下降沿触发时计数器的控制        	
    	always @ (negedge clk or negedge rst_n)
    		begin
    			if(!rst_n)
    				cnt_n<=0;
    			else if (cnt_n==(N-1))
    				cnt_n<=0;
    			else cnt_n<=cnt_n+1;
    		end
     
            //下降沿触发的分频时钟输出,和clk_p相差半个时钟
    	always @ (negedge clk)
    		begin
    			if(!rst_n)
    				clk_n<=0;
    			else if (cnt_n<(N>>1))  
    				clk_n<=0;
    			else 
    				clk_n<=1;                //得到的分频时钟正周期比负周期多一个clk时钟
    		end
     
            assign clkout = (N==1)?clk:(N[0])?(clk_p&clk_n):clk_p;      //条件判断表达式
                                                                        //当N=1时,直接输出clk
                                                                        //当N为偶数也就是N的最低位为0,N(0)=0,输出clk_p
                                                                        //当N为奇数也就是N最低位为1,N(0)=1,输出clk_p&clk_n。正周期多所以是相与
    endmodule     
    

    测试文件,进行功能仿真时需要编写testbench测试文件。verilog里的testbench文件和源文件一样也是.v文件,仿真能让我们更直观的观察信号波形,可以先阅读Diamond的使用了解如何使用Diamond中集成的仿真工具。

    
     
              `timescale 1ns/100ps                             //仿真时间单位/时间精度,时间单位要大于或者等于时间精度
     
              module divide_tb();                              //测试文件也是一个module,因为用于仿真所以无需输入输出信号
     
              reg    clk,rst_n;                                //需要产生的激励信号定义,激励信号需要过程块产生所以定义为reg型变量
              wire   clkout;                                   //需要观察的输出信号定义,定义为wire型变量
     
              //初始化过程块
              initial 
    	  begin 
    		 clk = 0;
    		 rst_n = 0;
    		 #25                                      //#表示延时25个时间单位
    		 rst_n = 1;                               //产生了一个初始25ns低电平,然后变高电平的复位信号
    	  end
     
              always #10 clk = ~clk;                          //每隔10ns翻转一次clk信号,也就是产生一个时钟周期20ns的clk,频率为50MHz  
     
              //module调用例化格式
              divide  #(.WIDTH(4),.N(11))  u1 (                         //#后面的()中为参数传递,如果不传递参数就是所调用模块中的参数默认值
                                                                       //divide表示所要例化的module名称,u1是我们定义的例化名称,必须以字母开头
    						.clk	(clk),     //输入输出信号连接。 .clk表示module本身定义的信号名称;(clk)表示我们在这里定义的激励信号
    						.rst_n	(rst_n),   //在testbench里定义的信号名称可以与所要调用module的端口信号名称不同
    						.clkout	(clkout)   
    					  );
             endmodule
    
    

    引脚分配


    时钟为12MHz。你可以通过仿真波形观察分频时钟(注意仿真的时间是有限的,所以分频时钟频率需要较高)。如果我们想通过眼睛观察LED的闪烁,那么需要设置参数N和WIDTH得到一个频率较低的时钟(例如N=12000000,WIDTH=24,分频时钟周期为1秒)。 

    信号 引脚
    clk C1
    rst_n L14
    clkout N13


    修改程序中的分频系数和计数器位数就能够调整LED闪烁速度(注意计数的最大值一定要保证超过分频系数N)。 

    展开全文
  • FPGA时钟分频

    千次阅读 2019-06-03 20:16:41
    一般在FPGA中都有集成的锁相环可以实现各种时钟的分频和倍频设计,但是通过语言设计进行时钟分频是最基本的训练,在对时钟要求不高的设计时也能节省锁相环资源。在本实验中我们将实现任意整数的分频器,分频的时钟...
  • 锁相环由PD,LPF,VCO组成 锁相环是由鉴相器,低通滤波器(环路滤波器),压控振荡器组成。...当需要分频倍频使可在反馈回路中加DIV分频器,其中的系数m/n,就是分频倍频因子。 当需要输出输入有一定相位差时
  • 锁相环原理应用

    万次阅读 多人点赞 2014-11-26 10:44:46
    2、此外,锁相环是一个闭环跟踪系统,如果将输入信号M分频,输出信号就跟随分频后的信号,即M分频输出;如果将反馈信号N分频,输出信号就N倍频。利用这一点,可以产生分频信号、倍频信号及分数倍频信号。 以下摘自...
  • Verilog设计(二):分频电路设计

    万次阅读 多人点赞 2019-06-04 10:55:02
    尽管大多数设计中会广泛采用厂家集成的锁相环PLL资源进行分频倍频和相移(每个厂商Xilinx/Alter等其开发套件会提供各自的IP),但对对时钟要求不高的基本设计还是需要通过自行设计分频相移,可节省锁相环资源...
  • 来进行时钟的分频倍频以及相移。但是对于时钟要求不高的基本设计,通过语言进行时钟的分频相移仍然非常流行,首先这种方法可以节省芯片内部的锁相环资源,再者,消耗不多的逻辑单元就可以达到对时钟操作的目的。另...
  • 7偶分频——六分频器

    2021-01-10 20:54:07
    一、分频器 1.定义 分频器是数字系统设计中最常见的基本电路...又两种方式实现分频倍频锁相环pll ②自己编写verilog语言来实现 3.奇偶分频分频:成倍数低于输入频率的输出信号有2、4、6、8分频分频:成倍数
  • 锁相环PLL

    2020-06-21 23:09:00
    作用:将片外晶振产生的时钟进行分频倍频,产生更高或更低频的时钟信号供逻辑使用; 也可以对同一PLL产生的时钟的相位进行控制,以保证两个时钟域的工作有着相同的时间差。(比如SDRAM的读写,需要控制 SDRAM_...
  • 设计小数分频时,假如不使用外部资源,只是用FPGA内部逻辑资源(即只有一个输入时钟clk_in以及一些计数器线网,不使用锁相环),最后设计出来的输出时钟clk_out不可能达到真正的占空比为50%。 如果用锁相环倍频的...
  • 更多请参考官方文档: ...通过锁相环 分频/倍频 输入频率 供CPU外设使用. 时钟模式寄存器(CLKMD) : 时钟模式寄存器CLKMD 位 字段 说明 15 Rsvd 保留 14 IAI 退出Idle状态后, 决定PLL...
  • PFGA PLL(锁相环

    2020-10-14 19:23:05
    锁相环的一大作用就是对输入时钟进行分频和倍频,以得到更高或更低频率的时钟信号,以供逻辑电路使用。还可以对同一PLL生成的多个时钟的相位进行控制,以保证两个时钟域的逻辑工作时有确定的时间差。(两个或多个...
  • 利用锁相环,我们可以在一个很宽广的范围内实现任意的分频和倍频。使用锁相环,可以有效的减少我们在时钟发生部分的代码量,同时更重要的,利用锁相环的“全局时钟树”,可以保证很好的时钟质量。 项目需求 我们...
  • 小梅哥FPGA:PLL锁相环介绍与简单应用 *实验目标:学会调用QuartusⅡ软件中的时钟管理单元(PLL)核并通过仿真...PLL即锁相环,可以通过输入一个时钟,将此时钟进行倍频/分频来达到自己想要的时钟频率进行输出 二 PL
  • 本资源是飞思卡尔XEP100单片机锁相环测试代码,代码实现了对单片机的锁相环进行初始化,将外部晶振输入的时钟进行倍频和分频之后,生成总线时钟。
  •  并建立了基于simulink FPGA 的分频器模型,实验结果表明分频器可以实现预置模和可逆分频功能,满足倍频电路需要。  1. 前言  锁相环倍频电路的主要实现方式,直接决定倍频的成败。传统的锁相环各个部件都...
  • 入到 FPGA 的时钟信号进行任意分频倍频、相位调整、占空比调整,从而输出一个期望 时钟,实际上,即使不想改变输入到 FPGA 时钟的任何参数,也常常会使用 PLL,因为经 过 PLL 后的时钟在抖动(Jitter)方面的性能...
  •  并建立了基于simulink FPGA 的分频器模型,实验结果表明分频器可以实现预置模和可逆分频功能,满足倍频电路需要。  1. 前言  锁相环倍频电路的主要实现方式,直接决定倍频的成败。传统的锁相环各个部件都...
  • FPGA——PLL锁相环简介

    2020-08-09 14:20:59
    Quartus II软件提供了锁相环PLL的IP核,对时钟网络进行系统级的时钟管理偏移控制,具有时钟倍频分频、相位偏移(0°~360°)和可编程占空比的功能。 创建PLL_IP核 1.Tools > MegaWizard Plug-In Manager 2. ...
  • kinetis时钟模块MCG详解

    万次阅读 2018-11-15 10:02:37
    MCG模块通过对输入的参考时钟进行分频和倍频处理,可以输出各种频率的时钟信号,并达到超频运行的目的。输入的参考时钟可以来自内部也可以来自外部时钟或外部晶振。输入的参考时钟一般经过分频后进入FLL(锁频环)或...
  • MCG模块简介

    千次阅读 2016-08-01 13:57:50
    MCG模块通过对输入的参考时钟进行分频和倍频处理,可以输出各种频率的时钟信号,并达到超频运行的目的。输入的参考时钟可以来自内部也可以来自外部时钟或外部晶振。输入的参考时钟一般经过分频后进入FLL(锁频环)或...
  • MCG模块

    2018-04-11 14:42:06
    MCG模块通过对输入的参考时钟进行分频和倍频处理,可以输出各种频率的时钟信号,并达到超频运行的目的。输入的参考时钟可以来自内部也可以来自外部时钟或外部晶振。输入的参考时钟一般经过分频后进入FLL(锁频环)或...
  • K60学习笔记(一)——时钟模块MCG

    千次阅读 2018-02-26 14:45:23
    MCG模块通过对输入的参考时钟进行分频和倍频处理,可以输出各种频率的时钟信号,并达到超频运行的目的。输入的参考时钟可以来自内部也可以来自外部时钟或外部晶振。输入的参考时钟一般经过分频后进入FLL(锁频环)或...
  • MCG模块通过对输入的参考时钟进行分频和倍频处理,可以输出各种频率的时钟信号,并达到超频运行的目的。输入的参考时钟可以来自内部也可以来自外部时钟或外部晶振。输入的参考时钟一般经过分频后进入FLL(锁频环)或...

空空如也

空空如也

1 2 3 4 5
收藏数 91
精华内容 36
关键字:

锁相环分频和倍频