EDN China > 设计实例 > 微处理器与DSP > DSP应用 > 正文
? 2016博客大赛-不限主题,寻找电子导师,大奖升级??

(多图) 基于DSP Builder的带宽自适应全数字锁相环的设计与实现

现代电子技术 李勇 朱立军 单长虹?? 2010年10月20日 ?? 收藏0

  传统的数字锁相环设计在结构上希望通过采用具有低通特性的环路滤波,从而获得稳定的振荡控制数据。但是,在基于数字逻辑电路设计的数字锁相环系统中,利用逻辑算法实现低通滤波是比较困难的。于是,出现了一些脉冲序列低通滤波计数电路,其中最为常见的是“N先于M”环路滤波器。这些电路通过对鉴相模块产生的相位误差脉冲进行计数运算,获得可控振荡器模块的振荡控制参数。脉冲序列低通滤波计数方法是一个比较复杂的非线性处理过程,难以进行线性近似,所以无法采用系统传递函数分析方法确定锁相环中的设计参数,以及进一步分析锁相性能。在设计方法上多采用VHDL语言或者Verilog HDL语言编程完成系统设计,并利用EDA软件对系统进行时序仿真,以验证设计的正确性。该种设计方法就要求设计者对FPGA硬件有一定的了解,并且具有扎实的硬件描述语言编程基础。

  本文采用一种基于比例积分(PI)控制算法的环路滤波器应用于带宽自适应的全数字锁相环,建立了该锁相环的数学模型,并分析该锁相环的各项性能指标和设计参数之间的关系。利用DSP Builder直接对得到的锁相环数学模型在Matlab/Simulink环境下进行系统级的建模,并进行计算机仿真,同时将建立的模型文件转换成VHDL程序代码,在QuartusⅡ软件中进行仿真验证,并用FPGA予以实现。

  1 带宽自适应全数字锁相环的理论分析

  1.1 基于PI控制的模拟锁相环的理论分析

  锁相回路是一个负反馈系统,主要由鉴相器(PD)、环路滤波器(LF)和压控振荡器(VCO)三个部分组成。鉴相器的作用是计算输入信号和输出信号的之间的相位误差。环路滤波器的主要作用是抑制噪声及高频分量,并且控制着环路相位校正的速度与精度。为了能够提高锁相系统的性能,本文采用基于PI控制算法的一阶低通滤波器,即将鉴相模块鉴别出的相位误差大小乘以一定的比例系数而产生一个比例控制参数,同时对相位误差大小进行积分,并在积分系数的调节下产生一个积分控制参数,最终取比例和积分控制参数的和作为该环节的控制参数。压控振荡器的作用就是利用输入的电压值控制输出信号的频率。设压控振荡器的输入信号为V0(t),输出信号的频率为ω0+KV0(t),则输出信号的相位:

公式

  式中:公式,则压控振荡器的传递函数为:HVCO(s)=θf(s)/V0(t)=K/s,可以看出压控振荡器相当于一个固有积分环节。在该设计中取压控振荡器的增益K=1,则通过以上的分析可得基于PI控制算法的模拟锁相环结构框图如图1所示。

基于PI控制算法的模拟锁相环结构框图

  由图1可以得出,该锁相回路的闭环传递函数为:

公式

  不难看出该系统是一个典型的二阶系统,那么二阶模拟锁相环的闭环传递函数可表示为:

公式

  式中:Kp和Kl分别为比例系数和积分系数,取公式为系统的自然频率;ζ为系统的阻尼系数。

  1.2 带宽自适应全数字锁相环的理论分析

  对上述模拟锁相环的s域传递函数进行离散化处理,采用脉冲响应不变法即可得到全数字锁相环回路的闭环传递函数为:

公式

公式

  于是可以得到基于参数K1和K2的全数字锁相环的结构图如图2所示。

基于参数K1和K2的全数字锁相环的结构图

  分析式(5)中得到的两个参数K1和K2,若式中c和ζ为常数,则参数K1和K2的变化只与输入信号频率ωref的变化有关,因此,得到的全数字锁相环模型具有自适应的特性,这是传统的全数字锁相环不具有的新特点。

  2 带宽自适应全数字锁相环的DSP Builder建模

  2.1 DSP Builder介绍

  由于FPGA广泛应用,使得EDA软件QuartusⅡ在很多领域中显得尤为重要,目前全数字锁相环的设计多是通过EDA技术完成,使用FPGA予以实现。这就需要设计者对FPGA硬件电路及硬件描述语言VHDL或者Verilog HDL非常熟悉;同时,由于在QuartusⅡ环境下使用硬件描述语言进行编程设计系统模块时相当繁琐。而Matlab在搭建系统的数学模型方面功能强大,具有专门的建模仿真工具Simulink,可以进行图形化的建模仿真。但是Matlab本身不支持硬件电路,只能完成单纯的数学模型的建模、仿真。如果把两者的优势结合起来,使二者扬长避短,则可以使复杂的电子系统的设计变得相当容易且直观。

  DSP Builder是Altera公司推出的一个面向DSP开发的系统工具。它是作为Matlab的一个Simulink工具箱出现的,可以在atlab/Simulink环境下进行图形化建模仿真。DSP Builder中的模块是以算法级的描述给出的,易于用户从系统或者算法级进行建模,甚至不需要十分了解FPGA本身和硬件描述语言。在DSPBuilder的模块库中还提供Matlab和QuartusⅡ的接口模块Signal Compiler,利用该模块可以方便地把在Ma-tlab/Simulink环境下建立的算法或者系统级模型转化为FPGA可编译的后缀为.vhd的VHDL语言程序。在QuartusⅡ中打开工程文件,可以对生成的程序进行编译、时序仿真,完成后可以结合FPGA开发板的引脚情况锁定引脚,经过编译、适配后即可下载到FPGA开发板上完成硬件测试和硬件实现。


上一页12下一页
?? ?? ??


打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮

1.扫描左侧二维码
2.点击右上角的分享按钮
3.选择分享给朋友
?? ??

DSP? 锁相环? Quartus? FPGA?

相关文章

我来评论
美国的游客
美国的游客 ??? (您将以游客身份发表,请登录 | 注册)
?
有问题请反馈