以前学STM32的时候就知道了倍频这个概念。开发板上外接8M晶振,但是STM32主频却能跑72M,这离不开锁相环(PLL)的作用。之后在使用FPGA的时候,直接有PLL这个IP核提供给我们使用,实现自己想要的频率。但是当我们使用的时候,锁相环倍频的原理我们清楚吗?下面就来简要分析下倍频的原理。
首先,我们需要了解下锁相环的组成。锁相环是由一个鉴相器(PD)、低通滤波器(LPF)和压控振荡器(VCO)组成。结构图如下:
PLL需要有一个参考频率fi。输出频率为fo,参考频率与输出频率同时送入鉴相器。鉴相器的作用是检测输入信号和输出信号的相位差,并将检测出的相位差信号转换成uD(t)电压信号输出。当输出信号的频率与输入信号的频率相等时,输出电压与输入电压保持固定的相位差值,即输出电压与输入电压的相位被锁住,这就是锁相环的名称由来。转换后的电压信号经低通滤波器滤波后形成压控振荡器的控制电压uC(t),对振荡器输出信号的频率实施控制。压控振荡器(VCO)的控制特性如下:
当VCO的输入电压为0时,即输出频率fo=fi。
那么是如何实现倍频的呢?其实就是对输出fo作N分频,即fN,将分频后的频率送入鉴相器中与参考频率进行比较。当PLL进入锁定状态时,输出频率fo就实现了倍频,此时fo=N*fi。
换句话说:
输入4MHZ基准频率倍频到40M,并不是说把4M×10倍后输出,而是这样的:
输入4M后,锁相环会产生一个大致的频率比如35M,经过分频后35M÷10倍=3.5M,显然3.5
比4M要小,说明了这个频率太低,那么提高频率,38M,除以10后3.8仍然比4小,继续提升
,当然这是很快的过程。一段时间后,提升到4M,发现这时已经与基准输入相等了,那么说
明10倍分频之前确实是40M,那么就可以把这个40MHZ信号就可以放心大胆的使用了。40M
分频只是成4M只是为了与基准的4M相比较,不足则提升频率。
输出波行与输入波形相位一致,在很多场合特别是数字电路很重要,这也是锁相环这名字的来历