3121..VHDL语言设计来实现全数字锁相环_第1页
3121..VHDL语言设计来实现全数字锁相环_第2页
3121..VHDL语言设计来实现全数字锁相环_第3页
3121..VHDL语言设计来实现全数字锁相环_第4页
3121..VHDL语言设计来实现全数字锁相环_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、目录 第1章绪论11.1锁相环(pll)全数字锁相环(adpll)的发展过程11.2锁相环(pll)11.2.1锁相环的发展及应用11.2.2锁相环的分类与特点21.2.3锁相环的优点31.3全数字锁相环的现状及发展31.4本论文的研究内容4第2章全数字锁相环的开发系统52.1eda技术简介52.1.1eda的发展52.1.2eda技术的主要内容52.1.3eda技术的基本特征及特点52.1.4eda设计工具62.2现场可编程门阵列(fpga)62.3硬件设计语言vhdl62.3.1vhdl语言简介62.3.2vhdl语言的特点72.4软件开发工具maxplus ii82.4.1max+plu

2、s概述82.4.2max+plus功能简介92.4.3max+plus设计流程122.5实验开发系统12第3章设计总体规划143.1整体方案143.2关于全数字锁相环设计的几种方案143.3设计分工173.3.1模块划分17第4章基于vhdl的全数字锁相环的设计194.1全数字锁相环的介绍194.2adpll结构及工作原理194.3全数字锁相环模块介绍204.4全数字锁相环的vhdl设计204.4.1全数字锁相环的基本结构框图204.4.2全数字锁相环各模块原理及子程序设计214.4.3总体模块、仿真及体统性能分析25第5章结论与进一步研究的问题305.1主要结论-adll同步范围305.2进

3、一步研究的问题315.2.1adpll的减小波纹技术315.2.2adpll的实际应用32参考文献34致 谢35附录a英文资料翻译36附录b源程序代码52石家庄铁道学院毕业设计第章绪论1.1锁相环(pll)全数字锁相环(adpll)的发展过程锁相环从30年代开始发展, 1932年,de bellescize实现了第一个pll,这个法国工程师称该发明为“相关通信”(coherent conmmunication)。直到实现可应用pll集成电路,pll才广泛应用到工业界。第一个pll集成芯片大约出现在1965年,是一个纯粹的模拟器件。采用一个模拟乘法器作为鉴相器,环路滤波器用无源或有源rc滤波器实

4、现,利用大家熟知的压控振荡器vco产生pll的输出信号。今天,我们称这种类型的pll为“线性pll”(lpll)。在接下来的几年里,pll缓慢而稳定的转移到数字领域。大约在1970年,出现了第一个数字pll(dpll),实际上,它是一个混合器件,仅仅鉴相器采用数字电路实现,即使用一个异或门(exor)或者一个jk触发器,剩下的模块仍然是模拟电路。随着数字电路技术的发展,数字锁相环在调制解调、频率合成、fm 立体声解码、彩色副载波同步、图象处理等各个方面得到了广泛的应用。数字锁相环不仅吸收了数字电路可靠性高、体积小、价格低等优点,还解决了模拟锁相环的直流零点漂移、器件饱和及易受电源和环境温度变化

5、等缺点,此外还具有对离散样值的实时处理能力,已成为锁相技术发展的方向。pll是一个相位反馈控制系统,在dpll中,由于误差控制信号是离散的数字信号,而不是模拟电压,因而受控的输出电压的改变是离散的而不是连续的;此外,环路组成部件也毫无例外地全部由数字功能模块组成,不包括任何无源元件,如电阻和电容等,故而这种锁相环就称之为全数字锁相环(简称adpll)12 。1.2锁相环(pll)1.2.1锁相环的发展及应用锁相环(pll)是一种电路,它使一个特殊的系统去跟踪另一个系统,更确切地说,pll是一种使输出信号(由振荡器产生的)与参考信号即输入信号在相位与频率上同步的一种电路。同步状态常称为锁定,在此

6、状态下振荡器的输出信号与参考信号之间的相位误差是零,或者非常小,但保持常数。 如果存在相位误差,通过一种控制机理使控制电路作用于振荡器的方式使相位误差再次降低为最小值,在这种控制系统中,输出信号的相位实际上是锁定在参考信号的相位上,因此我们称之为锁相环。锁相环技术早期是为了解决接收机的同步接收问题,即接收机本振频率与输入信号的载频相等,相位同步。后来在电视接收机的扫描电路中应用锁相环,减少了噪声对同步的影响,使电视图象同步性能得到很大改善,使锁相技术得到了广泛应用。但是由于过去电子器件和材料工艺的限制,其制作复杂、成本较高,因此仅在要求较高的通讯、精密测量仪器以及电视机中采用。随着电子技术的发

7、展,特别是由于空间技术应用的需要,进一步推动了锁相技术的发展。从航天技术、无线电通讯、广播、雷达、导航、激光通讯、工农业生产的自动控制、遥控遥测到精密仪器测量、测绘制图自动化等各个方面都广泛使用锁相环技术。随着集成电路技术的发展,逐步出现了集成的环路部件、通用单片集成锁相环路以及各种专用集成锁相环路,使得锁相环路逐渐变成了一个成本低,使用简便的多功能组件,这就为锁相环技术在更广泛的领域应用提供了条件。锁相环的应用概括起来主要有:模拟与数字信号的相干解调,频率合成,锁相稳频,数字信号中同步信号的提取,跟踪与测距,自动频率控制,相干载波的提取以及模拟调频(调相)信号的产生等等方面3。1.2.2锁相

8、环的分类与特点锁相环路种类繁多,大致可将其分类如下:(1)按输入信号分:恒定输入环路用于稳频系统。随动输入环路用于跟踪系统。(2)按环路部件分:模拟锁相环路环路部件采用模拟电路。取样锁相环路将模拟锁相环路中普通鉴相器改为取样保持鉴相器就构成取样锁相环路。数字锁相环路环路部件采用数字电路。根据环路部件是部分还是全部采用数字电路有部分数字环和全数字环。集成锁相环路环路部件采用集成电锁相环的特点概括起来就是“稳”、“窄”、“抗”、“同步”。“稳”指的是锁相环的基本性能是输出信号频率稳定的跟踪输入信号的频率,它们不存在频率差而只有很小的稳态相位差。因此可以用锁相环做成稳频系统,例如微波稳频信号源,原子

9、频率标准等。“窄”指的是锁相环具有窄带跟踪性能。正是因为它的窄带特性,可以做成窄带跟踪滤波器。从输入的已调信号中提取基准的载波信号,实现相干性。因此在相干通信中得到广泛应用。“抗”指的是锁相环的抗干扰性能,抑制噪声性能。理论分析表明,锁相环的环路信噪比比输入信噪比小得多,所以它可以广泛用于抗噪声干扰的装置。同时,锁相环又可以将深埋于噪声中的信息提取出来,因此它在弱信号提取方面发挥了很大的作用。“同步”是指锁相环的同步跟踪性能。如果数字信号本身含有位同步信息,利用锁相环可以从数字信号本身来提取位同步信号,所以锁相环在数字通信等系统中广泛的用做位同步装置23。1.2.3锁相环的优点(1)可以实现理

10、想的频率控制。这是由于环路锁定时,环路输出无剩余稳态频差存在所致。(2)可以不用谐振线圈而具有较高的选择性。(3)门限性能好。锁相环用做调频信号解调器时,其门限性能要比普通鉴相器要改善5db左右。(4)易于集成化与数字化。组成环路的基本部件易于采用模拟集成电路,环路实现数字化后,更易于采用数字集成电路。锁相环的集成化、数字化为减小体积、降低成本、提高可靠性实现多用途提供了有利条件3。 1.3全数字锁相环的现状及发展数字锁相环(dpll)是一个半模拟电路,它仍应用一些象rc滤波器,电容,vco等模拟器件。因为这些元件的关键参数会因元件的离散而改变,更糟的是,dpll的中心频率受到了dpll芯片上

11、寄生电容的影响。它的变化范围太大,以至于在严格应用中必须进行调整。许多参数也受温漂和器件老化的影响。因此可以说数字锁相环是具有中间模拟信号的一种锁相环。全数字锁相环(adpll)可以解决这些模拟电路的缺点,与旧的dpll相比,adpll是完全的数字系统,首先,数字意味这这个系统只含有逻辑器件,而且数字还意味着整个系统的信号全是数字的。所以,adpll里的所有信号都是二进制的(或者是比特信号),这和经典的dpll的情况一致,但是,这种信号也可以是“字”(word)信号,比如说,从数据寄存器、并行输出的计数器等类似器件出来的数字编码“字”信号。 所谓全数字锁相环路,就是环路部件全部数字化,采用数字

12、鉴相器(dpd)、数字环路滤波器(dlf)、数控振荡器(dco)构成锁相环路。随着电子技术向数字化方向发展,需要采用数字方式实现信号的锁相处理。因此,对全数字锁相环的研究和应用得到了越来越多的关注。 与传统的模拟电路实现的pll相比,adpll具有精度高、不受温度和电压影响、环路带宽和中心频率编程可调、易于构建高阶锁相环等优点。随着集成电路技术的发展,不仅能够制成频率较高的单片集成锁相环路,而且可以把整个系统集成到一个芯片上去。在基于fpga的通信电路中,可以把全数字锁相环路作为一个功能模块嵌入fpga中,构成片内锁相环1。传统的数字锁相环系统是希望通过采用具有低通特性的环路滤波器,获得稳定的

13、振荡控制数据。对于高阶全数字锁相环,其数字滤波器常常采用基于dsp的运算电路。这种结构的锁相环,当环路带宽很窄时,环路滤波器的实现将需要很大的电路量,这给专用集成电路的应用和片上系统soc(system on chip)的设计带来一定困难。另一种类型的全数字锁相环是采用脉冲序列低通滤波计数电路作为环路滤波器,如随机徘徊序列滤波器、先n 后m 序列滤波器等。这些电路通过对鉴相模块产生的相位误差脉冲进行计数运算,获得可控振荡器模块的振荡控制参数。目前,已有单片集成全数字锁相环的商用产品,但作为某一个实际项目设计,需要的锁相电路特性不尽相同,有些现成的产品,不是成本高、体积大、资源浪费多,就是不能完

14、全满足设计性能的要求。根据位移检测的特点,采用高密度可编程逻辑器件,可根据实际要求,充分利用器件资源,同时把一些相关的数字电路组合在一起,不仅提高了系统的集成度和可靠性,降低了功耗,降低了成本。而且使电路性能得到明显改善。在用altera公司的epfl0k10tcl44-3芯片设计一种无线通信实验系统的fsk、dpsk、qam调制解调器时,利用剩余的10fpga资源设计出了一种可编程全数字锁相环路,它成功地为该通信实验系统的调制解调器提供了64khz、56khz和16khz三种精确、稳定的时钟信号4-6。1.4本论文的研究内容本论文主要研究全数字式锁相环,应用eda技术设计了该数字锁相系统,根

15、据该锁相系统的具体结构,建立了系统数学模型,并对其系统性能进行了理论分析。采用自顶向下的模块化设计方法,用vhdl对全数字锁相环的各个部件分别进行编程设计,采用max+plusii软件对该系统做综合设计和仿真,并用fpga 器件实现了锁相系统的硬件功能。第2章全数字锁相环的开发系统2.1eda技术简介2.1.1eda的发展电子设计自动化(electronic design automation ,简称eda),伴随着计算机、集成电路、电子系统设计的发展,经历了计算机辅助设计(cad)、计算机辅助工程设计(caed)和电子系统设计自动化(esda)三个阶段。2.1.2eda技术的主要内容eda技

16、术涉及面广,内容丰富,从教学和实验角度看主要有以下四方面内容:大规模可编程逻辑器件;硬件描述语言;软件开发工具;实验开发系统。其中大规模可编程逻辑器件是利用eda技术进行电子系统设计的载体,硬件描述语言是利用eda技术进行电子系统设计的主要表达手段,软件开发工具是利用eda技术进行电子系统设计的智能化的自动化设计工具,实验开发系统则是利用eda技术进行电子系统设计的下载工具几硬件验证工具。2.1.3eda技术的基本特征及特点现代eda技术的基本特征是采用高级语言即硬件描述语言描述,具有系统仿真和综合能力。(1)并行工程和“自顶向下”的设计方法(2)硬件描述语言(3)逻辑综合优化(4)开放性和标

17、准性利用eda技术进行电子系统的设计,具有以下几个特点:用软件的方式设计硬件;用软件方式设计的系统到硬件系统的转换是由有关的开发软件自动完成的;设计过程中可用有关软件进行各种仿真;系统可现场编程,在线升级;整个系统可集成在一个芯片上,体积小、功耗低、可靠性高。2.1.4eda设计工具eda设计工具检查/分析工具编辑器仿真器优化/综合工具统计型仿真器确定型仿真器图形编辑器文字编辑器eda的设计工具流程图见下图2-1所示: 图2-1 eda的设计工具流程2.2现场可编程门阵列(fpga)现场可编程门阵列fpga(field programmable gate array),是由可编程逻辑单元阵列、

18、布线资源和可编程的i/o单元阵列构成。与其他可编程逻辑器件相比,fpga具有如下特点: (1)epld,cpld可编程逻辑器件是通过修改内部电路的逻辑功能实现编程;而fpga是通过修改一根或多根内连线的布线,实现编程。(2)fpga的编程单元是sram,可以无限次编程,但它属于易失性元件,掉电后芯片内信息丢失。为此,它需要附加外部存储芯片来保存已编程信息,且保密性差。(3)fpga的互连是分布式的,虽然布线相当灵活,但其延时与系统布局有关;而epld,cpld的互连是集中式的,其延时是等延时。故在系统速度方面fpga可能低于epld,cpld。(4)fpga的设计输入方式是原理图输入,不能充分

19、利用芯片资源。(5)fpga的功耗低于epld,cpld,其静态功耗几乎为零。(6)fpga编程时不用编程器,可以安装好后再编程,使用很方便7-11。2.3硬件设计语言vhdl2.3.1vhdl语言简介vhdl的英文全名是very-high-speed integrated circuit hardware description language,诞生于1982年。1987年底,vhdl被ieee(the institute of electrical and electronics engineers)和美国国防部确认为标准硬件描述语言。自ieee公布了vhdl的标准版本(ieee-107

20、6)之后,各eda公司相继推出了自己的vhdl设计环境,或宣布自己的设计工具可以和vhdl接口。此后vhdl在电子设计领域得到了广泛的接受,并逐步取代了原有的非标准硬件描述语言。1993年,ieee对vhdl进行了修订,从更高的抽象层次和系统描述能力上扩展vhdl的内容,公布了新版本的vhdl,即ieee标准的1076-1993版本。现在,vhdl作为ieee的工业标准硬件描述语言,又得到众多eda公司的支持,在电子工程领域,已成为事实上的通用硬件描述语言。vhdl是eda技术的重要组成部分,是电子设计的主流硬件描述语言。2.3.2vhdl语言的特点vhdl主要用于描述数字系统的结构、行为、功

21、能和接口。除了含有许多具有硬件特征的语句外,vhdl的语言形式和描述风格与句法十分类似于一般的计算机高级语言。vhdl的程序结构特点是将一项设计实体(可以是一个元件、一个电路模块或一个系统)分成外部和内部两个基本点部分,其中外部为可见部分,即系统的端口,而内部则是不可视部分,即设计实体的内部功能和算法完成部分。在对一个设计实体定义了外部界面后,一旦其内部开发完成后,其他的设计就可以直接调用这个实体。这种将设计实体分成内外部分的概念是vhdl系统设计的基本点。应用vhdl进行工程设计的优点是多方面的,具体如下:(1)功能强大,设计灵活vhdl具有功能强大的语言结构,可以用简洁明确的源代码来描述复

22、杂的逻辑控制。它具有多层次的设计描述功能,层层细化,最后可成为直接生成电路级描述。vhdl还支持同步电路、异步电路和随机电路的设计,这是其他硬件描述语言所不能比拟的。vhdl支持各种设计方法,既支持自底向上的设计,也支持自顶向下的设计;既支持模块化设计,也支持层次化设计。(2)支持广泛,易于修改由于vhdl已成为ieee标准所规范的硬件描述语言,目前大多数的eda工具都支持vhdl。在硬件电路设计过程中,主要的设计文件是用vhdl编写的源代码,因为vhdl易读和结构模块化,所以易于修改设计。(3)强大的系统硬件描述能力vhdl具有多层次的设计描述功能,既可描述系统级,又可描述门级电路;描述形式

23、既可采用行为描述、寄存器传输描述或结构描述,也可采用三者混合的混合级描述。另外,vhdl支持惯性延迟和传输延迟,可准确的建立硬件电路模型。vhdl一个突出的特点是具有丰富的数据类型,既可支持预定义的数据类型,也可自己定义数据类型,这样给硬件描述带来了较大的自由度。(4)独立于器件的设计,与工艺无关 在用vhdl语言设计系统硬件时,没有嵌入与工艺有关的信息。当门级或门级以上层次的描述通过仿真检验以后,再用相应的工具将设计映射成不同的工艺。这样,在工艺更新时,就无须修改原设计程序,只要改变相应的映射工具。(5)具有很强的移植能力由于vhdl是一种标准化的硬件描述语言,因此同一个设计可以被不同的工具

24、所支持,使得设计描述的移植成为可能。vhdl的移植能力主要体现在:对于同一个设计描述,它可以从一个模拟工具移植到另一个模拟工具,从一个综合器移植到另一个综合器,从一个工作平台移植到另一个工作平台去执行。(6)易于共享与复用vhdl采用基于库(library)的设计方法。在设计过程中,可以建立各种可再次利用的模块,将这些模块放在库中,就可以在以后的设计中进行复用。由于vhdl是一种描述、模拟、综合、优化和布线的标准硬件描述语言,因此它可以使设计成果在设计人员之间进行交流与共享,减少硬件电路设计的工作量,缩短开发周期8。2.4软件开发工具maxplus ii2.4.1max+plus概述max+p

25、lus全称为multiple array matrix programmable logic user system是altera公司提供的fpga/cpld开发集成环境,altera公司的开发工具已经经历了四代,从最初的基于dos的a+plus,发展到max+plus,又于1991年推出性能更加完善的基于windows的开发工具max+plus。目前该公司又推出了它的第四代开发工具quartus。 max+plus功能强,使用方便,是市场上使用最广的开发工具软件之一。在max+plus上可以完成设计输入、元件适配、时序仿真和功能仿真、编程下载整个流程,它提供了一种与结构无关的设计环境,是设计

26、者能方便地进行设计输入、快速处理和器件编程。max+plus开发系统的特点:(1)与结构无关max+plus/complier(编译程序)是该开发软件系统的核心,能自动完成优化与逻辑综合。支持altera公司的flex10k、flex8000、flex6000、max9000、max7000、max5000和classic可编程逻辑器件,提供了世界上唯一真正与结构无关的可编程逻辑设计环境。(2)开放的界面max+plus提供了与其他工业标准设计输入、综合和校验工具的链接。支持与cadence,exemplarlogic,mentor graphics,synplicty,viewlogic和其

27、它公司所提供的eda工具接口。(3)多平台max+plus是将输入编辑、编译、处理与较验功能全部集成化的一套可编程的开发软件,这样可以加快动态调试、缩短开发周期。(4)丰富的设计库max+plus提供丰富的库单元供设计者调用,其中包括74系列的全部器件和多种特殊的逻辑功能(macro-function)以及新型的参数化的兆功能(mage-function)。(5)模块化工具设计人员可以从各种设计输入、处理和较验选项中进行选择从而使设计环境用户化。2.4.2max+plus功能简介(1)原理图输入(graphic editor)max+plusii软件具有图形输入能力,用户可以方便的使用图形编辑

28、器输入电路图,图中的元器件可以调用元件库中元器件,除调用库中的元件以外,还可以调用该软件中的符号功能形成的功能块,图形编辑器窗口见图2-2。(2)硬件描述语言输入(text editor)max+plusii软件中有一个集成的文本编辑器,该编辑器支持vhdl,ahdl和verilog硬件描述语言的输入,同时还有一个语言模板使输入程序语言更加方便,该软件可以对这些程序语言进行编译并形成可以下载配置数据,文本编辑器窗口见图2-3。 图2-2图形编辑器窗口 图2-3文本编辑器窗口(3)波形编辑器(aveform editor)在进行逻辑电路的行为仿真时,需要在所设计电路的输入端加入一定的波形,波形编

29、辑器可以生成和编辑仿真用的波形(*.scf文件),使用该编辑器的工具条可以容易方便的生成波形和编辑波形。波形编辑器窗口如图2-4所示。使用时只要将欲输入波形的时间段用鼠标涂黑,然后选择工具条中的按钮,例如,如果要某一时间段为高电平,只需选择按钮“1”。还可以使用输入的波形(*.wdf文件)经过编译生成逻辑功能块,相当于已知一个芯片的输入输出波形,但不知是何种芯片,使用该软件功能可以解决这个问题,设计出一个输入和输出波形相同cpld电路。(4)管脚(底层)编辑窗口(floorplan editor)该窗口用于将已设计好逻辑电路的输入输出节点赋予实际芯片的引脚,通过鼠标的拖拉,方便的定义管脚的功能

30、,管脚(底层)编辑窗口见图2-5。 图2-4波形编辑器窗口 图2-5管脚(底层)编辑窗口(5)自动错误定位在编译源文件的过程中,若源文件有错误,max+plus2软件可以自动指出错误类型和错误所在的位置。(6)逻辑综合与适配该软件在编译过程中,通过逻辑综合(logic synthesizer)和适配(fitter) 模块,可以把最简单的逻辑表达式自动的吻合在合适的器件中。(7)设计规则检查选取compileprocessingdesign doctor菜单,将调出规则检查医生,该医生可以按照三种规则中的一个规则检查各个设计文件,以保证设计的可靠性。一旦选择该菜单,在编译窗口将显示出医生,用鼠标

31、点击医生,该医生可以告诉你程序文件的健康情况,见图2-6。 图2-6规则检测医生(8)多器件划分(partitioner)如果设计不能完全装入一个器件,编译器中的多器件划分模块,可自动的将一个设计分成几个部分并分别装入几个器件中,并保证器件之间的连线最少。(9)编程文件的产生编译器中的装配程序(assembler)将编译好的程序创建一个或多个编程目标文件:eprom配置文件(*.pof)例如,max7000s系列sram文件(*.scf)例如,flex8000系列的配置芯片epromjedec文件(*.jed)十六进制文件(*.hex)文本文件(*.ttf)串行bit流文件(*.sbf)(10

32、)仿真当设计文件被编译好,并在波形编辑器中将输入波形编辑完毕后,就可以进行行为仿真了,通过仿真可以检验设计的逻辑关系是否准确。(11)分析时间(analyze timing)该功能可以分析各个信号到输出端的时间延迟,可以给出延迟矩阵和最高工作频率见图2-7和图2-8。 图2-7延迟矩阵 图2-8最高工作频率(12)器件编程当设计全部完成后,就可以将形成的目标文件下载到芯片中,实际验证设计的准确性。2.4.3max+plus设计流程使用max+plus软件开发工具进行设计的整个过程如下图2-9所示,大体上可以分为四个阶段:设计输入、设计实现、设计验证和器件编程。设计输入的方式有三种:图形编辑、波

33、形编辑和文本编辑。设计验证设计实现器件编程设计输入图形编辑器(graphic editor)符号编辑器(symbol editor)底层编辑器(floorplan editor )波形编辑器(waveform editor)文本编辑器(text editor)编译器(compiler)编程器(programmer)仿真器(simulator)延时分析器(timing analyzer)设计实现是在可选的的可编程逻辑器件内物理的实现所设计的逻辑。其过程主要由max+plus中的核心部分编译器(compiler)完成。图2-9max+plus的设计环境设计验证中仿真器和延时分析器利用编译器产生的数

34、据文件自动完成逻辑功能和延时特性仿真9-11。2.5实验开发系统实验开发系统提供芯片下载电路及eda实验/开发的外围资源(类似于用于单片机开发的仿真器),以供硬件验证用。一般包括:实验或开发所需的各类基本信号发生模块,包括时钟、脉冲、高低电平等;fpga/cpld输出信息显示模块,包括数码显示、发光管显示、声响指示等;监控程序模块,提供“电路重构软配置”;目标芯片适配座以及上面的fpga/cpld目标芯片和编程下载电路。第3章设计总体规划3.1整体方案采用vhdl自顶向下的设计方法,先根据所设计的思路画出流程图划分模块,再就每个模块进行vhdl语言的程序设计,用max+plus ii软件来测试

35、并做仿真编译仿真各个模块,再把整体联系起来max+plus ii软件来测试并做仿真进行仿真,从而实现系统总体功能,之后再用fpga 器件实现了锁相系统的硬件功能。3.2关于全数字锁相环设计的几种方案基于众多类型的全数字鉴相器、数字环路滤波器和数字控制振荡器,结合兼容的功能模块,几乎可以构成无限多的adpll。详细讨论每一个可能的adpll系统不太现实,下面有三个最典型的adpll的实现方案。一、全数字锁相环adpll方案一全数字锁相环结构框图下图3-1所示,主要由异或门鉴相器、k变模可逆计数器、脉冲加/减电路和除n计数器四部分构成。k变模计数器和脉冲加/减电路的时钟分别为mf0和2nf0。这里

36、f0是环路中心频率,一般情况下m和n都是2的整数幂。为了使电路简单,这两个时钟由同一振荡器提供,时钟频率2nf0=mf0。2nf0cp2mf0fi (in)cp1ud进位脉冲借位脉冲decinc异或门鉴相器加/减脉冲控制器除n计数器可逆计数器ioutfo(out)图3-1全数字锁相环结构框图dpll的工作过程如下:(1)当环路失锁时,异或门鉴相器比较输入信号和输出信号之间的相位差异,并产生k变模可逆计数器的计数方向控制信号ud;(2)k变模可逆计数器根据计数方向控制信号ud调整计数值,ud为高进行减计数,并当计数值到达0时,输出借位脉冲信号dec;为低进行加计数,并当计数值达到预设的k模值时,

37、输出进位脉冲信号inc;(3)脉冲加减电路则根据进位脉冲信号inc和借位脉冲信号dec在电路输出信号iout中进行脉冲的增加和扣除操作,来调整输出信号的频率;(4)重复上面的调整过程,当环路进入锁定状态时,异或门鉴相器的输出ud为一占空比50%的方波,而k变模可逆计数器则周期性地产生进位脉冲输出dec和借位脉冲输出inc,导致脉冲加减电路的输出iout周期性的加入和扣除半个脉冲。本方案介绍了一种一阶dpll的设计方法,利用vhdl语言配合xilinx的fpga,为设计提供了极大的便利和性能保证。dpll中可逆计数器模值可随意修改,来控制dpll的跟踪补偿和锁定时间;同时,除n计数器的分频值也可

38、随意改变,使dpll可跟踪不同中心频率的输入信号,而这些只需在设计中修改几行代码即可完成。另外,设计好的dpll模块还可作为可重用的ip核,应用于其他设计11-15。二、全数字锁相环adpll方案二与此adpll相似的系统已在tms320微单片机上用软件实现。图所示系统由以下功能模块构建而成:(1)希尔伯特变换鉴相器(2)一阶数字环路滤波器(3)波形综合器如模块图3-2所示,功能块中的算术和逻辑指令在同一时钟控制下运行,这意味着计算各模块输出变量的例行程序周期性的运行。dco生成同信号i和正交信号q,将他们提供给希尔伯特变换鉴相器去计算相位误差ude,输出信号经过环路滤波器滤波,完成如下操作:

39、 (3-1)式中,a1和b0是滤波系数,由图中虚线框部分表示的数字环路滤波器滤波完成数学运算。用软件实现的好处是改变adpll系统结构很简单,仅改变少数程序,一阶环路滤波器就可以变成二阶,同样也可以得到三阶pll1。u2 选择正交输出u1cos(0t+e)iq一阶数字环路滤波器aud ufb时钟希尔伯特变换相器时钟mul1/zcos0t时钟sin0tf控制波形综合器dco时钟加法器mul图3-2全数字pll系统三、全数字锁相环adpll方案三图3-3是一个全数字一阶环的实现,中心频率为f0,鉴相器采用d触发器,其增益gd=1。e为高电平时k可逆计数器作加记数,e为低平时k可逆计数器作减记数。因

40、此,环路锁定无相差时,e维持半占空比。caioboe除n计数器脉冲塞入扣除除m计数器d触发器k变模可逆计数器除n计数器图3-3全数字锁相环(一阶)可逆计数器相当于一个积分器对相差进行记数,当正计数达到k时给出一个塞入脉冲ca,当负记数达到0时给出一个扣除脉冲bo。当脉冲塞入/扣除电路收到一个ca脉冲,则对f0做一个脉冲的塞入,实际上实现时是对后面的除m记数做了一次除m1记数,当脉冲塞入/扣除电路收到一个bo脉冲则对f0做一个脉冲的扣除。本方案给出了一种新的全数字锁相环结构(一阶结构)。它还可以通过此简单的全数字一阶环的级联来实现高阶环路。这种级联的环路结构实际上是利用了数字电路便于相位运算的特

41、点。它避免了通常的高阶锁相环中较复杂的数字滤波器,实现简单、易于集成。级联全数字高阶环结构同样可以应用于其它定时处理及控制领域16-18。四、方案选择 因为有如此众多不同的纯数字鉴相器、环路滤波器和受控制振荡器,因而,可以构建数目巨大的不同的adpll系统。在这些不同的类型的系统中,一些像lpll,一些则像典型的dlpll,但很多的的adpll的功能和lpll、dpll基本没什么相同之处,因此,绝对不可能建立一个adpll的通用理论。为研究某一特定的adpll类型的行为,用户应寻找相应功能块的合适模型,然后试着用传输函数、波特或类似形式得到合理的描述。很多情况下,使用标准工具(如线性控制理论)

42、会失败,因为我们分析的大多数系统都是非线性的。为说明adpll并非毫无希望的工作,并根据实验条件及难易程度,我们研究最流行的adpll类型的动态性能。即方案一的设计方法,并在原有的方案基础上稍做了修改。3.3设计分工本课题的研究是由我和黄红同学共同完成的,我们根据模块进行了分工。 3.3.1模块划分根据上面的选择方案以及考虑到设计中应有的功能,现将硬件锁相环电路划分为以下三大模块:鉴相器模块(异或门鉴相器)数字环路滤波器模块(k变模可逆计数器)数控振荡器模块(包括加/减脉冲控制器,除n计数器)全数字锁相环结构框图见下图3-4。输入信号相位误差序列相位校正序列本地估算信号数字鉴相器数字滤波器数字

43、压控振荡器图3-4全数字锁相环结构框图因为最后一个模块的工作量与前两个差不多,故我们将四个模块分为两部分,第一、二模块为第一部分,第三模块为第二部分。经过我们组商量,我负责第二部分,我的搭档黄红同学负责第一部分。第4章基于vhdl的全数字锁相环的设计4.1全数字锁相环的介绍全数字锁相环(adpll)是完全的数字系统,这个系统只含有逻辑器件,而且整个系统的信号全是数字的,因此应用在数字系统中时,不需a/d及d/a转换,而且数字化所引入的量化、舍入等误差是不大的。与传统的模拟电路实现的pll相比,adpll具有精度高、不受温度和电压影响、环路带宽和中心频率编程可调、易于构建高阶锁相环等优点。随着通

44、讯技术、集成电路技术的飞速发展和系统芯片(soc)的深入研究,不仅能够制成频率较高的单片集成锁相环路,而且可以把整个系统集成到一个芯片上去。在基于fpga的通信电路中,可以把全数字锁相环路作为一个功能模块嵌入fpga中,构成片内锁相环。4.2adpll结构及工作原理全数字锁相环路(adpll)的基本结构如图4-1所示。主要由鉴相器dpd(异或门鉴相器)、数字环路滤波器dlf(可逆计数器)、除h计数器和数控振荡器 dco(加/减脉冲控制器和分频器)四部分构成。加/减脉冲控制器的时钟分别为2nf0,f0为环路中心频率。dpll是一种相位反馈控制系统。它将输入信号fin与本地恢复时钟fout之间的相

45、位误差(超前还是滞后)信号送入数字环路滤波器dlf 中,对相位误差信号进行平滑滤波,并生成控制dco 动作的控制信号dcs,dco 根据控制信号给出的指令,调节内部高速振荡器的震荡频率,通过连续不断的反馈调节,使其输出时钟fout的相位跟踪输入数据fin的相位,最终使环路锁定。 foutioutmf0fincp1ud进位脉冲借位脉冲decinccp22nf0异或门鉴相器加/减脉冲控制器除h计数器除n计数器可逆计数器图4-1全数字锁相环基本结构4.3全数字锁相环模块介绍一、 全数字环路鉴相器(dpd)鉴相器是这样一种电路,它的输出信号与两个输入信号的相位差成比例。很多结构的电路都可以完成这种功能

46、。在混合信号锁相环系统中,主要使用四种鉴相器:乘法鉴相器、exor鉴相器、jk触发器型鉴相器和鉴频/鉴相器。在数字领域里,全数字鉴相器主要有以下几类:过零采样鉴相器、由jk触发器鉴相器演变而来的ff计数鉴相器(ff-counter pd)、希尔伯特变换鉴相器、超前滞后型数字鉴相器和奈奎斯特速率取样鉴相器(nrpd)。二、 数字环路滤波器(dlf) 最简单的环路滤波器是由普通的加/减计数器(up/dn counter)组成。加减计数器环路滤波器最好和上或下脉冲的鉴相器(比如pfd)一起使用,然而,它很容易适应与exor或jk触发器以及其他鉴相器的联合使用。最重要的数字环路滤波器包括k变模计数器(

47、这种环路滤波器经常和exor或者jk触发器鉴相器一起工作)和n-before-m环路滤波器。数字环路滤波器在环路中对输入噪声起抑止作用,并且对环路的校正速度起调节作用。数字滤波器是一种专门的技术,有各种各样的结构形式和设计方法。引入数字环路滤波器和模拟锁相环路引入环路滤波器的目的一样,是作为校正网络引入环路的。因此,合理的设计数字环路滤波器和选取合适的数字滤波器结构就能使dpll满足预定的系统性能要求。三、 数控振荡器(dco)数控振荡器,又称为数字钟。它在数字环路中所处的地位相当于模拟锁相环中的压控振荡器(vco)。但是,它的输出是一个脉冲序列,而该输出脉冲序列的周期受数字环路滤波器送来的校

48、正信号的控制。其控制特点是:前一采样时刻得到的校正信号将改变下一个采样时刻的脉冲时间位置。 数字控制振荡器(dco),用软件和硬件均可实现。最简单的方案可能是n分频(除n)计数器dco,还有一类dco称为增减(increment-decrement)计数器。4.4全数字锁相环的vhdl设计本小节将开始介绍全数字锁相环从原理、设计、实现以及到仿真的全过程。4.4.1全数字锁相环的基本结构框图全数字锁相环结构框图如图4-1所示,主要由数字鉴相器、数字环路滤波器、除h计数器和数控振荡器4部分组成。 设计中数字鉴相器采用了异或门鉴相器;数字环路滤波器由变模可逆计数器构成(模数k可预置);数控振荡器由加

49、/ 减脉冲控制器、除n计数器构成;还有一个可调的除h计数器。 可逆计数器和加/ 减脉冲控制器的时钟频率分别为mf0和2nf0。这里f0是环路的中心频率,一般情况下m和n为2 的整数幂。时钟2nf0经除h(=m/2n)计数器得到。4.4.2全数字锁相环各模块原理及子程序设计一、除h计数器模块及仿真图除h计数器是将时钟频率进行分频后的频率作为数控振荡器的时钟频率,其实,为了使电路简单,可变模k计数器(数字环路滤波器)和数控振荡器的时钟驱动信号可由同一振荡器产生,但为使可对数控振荡器的时钟频率具有可调性,增加其灵活性,可将同一振荡器产生时钟信号进行分频后再作为数控振荡器的时钟频率,这就是除h计数器的

50、功用(h是可变的)。除h计数器(h=4)的生成模块和仿真波形见下图4-2和图4-3(vhdl程序代码见附录):图4-2除h计数器模块图4-3除h(h=4)计数器仿真波形二、数控振荡器模块原理、电路图及仿真图数字控制振荡器用电路和vhdl编程语言均可实现。该数控振荡器模块组成:加/减脉冲控制器(id计数器)、除n计数器(ncount)。dco的基本原理:加/减脉冲控制器(id计数器)其实是一个增量减量计数器式dco。它和产生进位和借位脉冲的数字环路滤波器一起使用。加/减脉冲控制器有三个输入端:时钟输入端(id时钟)、增量(inc)输入和减量(dec)输入端。进位脉冲加在inc输入端,借位脉冲加在

51、dec输入端,加减脉冲控制器对进位和借位输入的上升沿非常敏感,在这里这些信号的周期是不确定的。在缺少进位和借位脉冲的情况下,加减脉冲控制器只是简单的把id时钟频率进行二分频,每第二个id时钟产生一个输出脉冲。当加/减脉冲控制的增量输入端(inc=1)输入一个进位脉冲时,输出脉冲中通过该计数器内部加上一个时钟脉冲,即相位提前半个时钟周期;反之,当加/减脉冲控制的减量输入端(dec=1)时输入一个借位脉冲时,输出脉冲中就减去一个时钟脉冲,即相位滞后半个时钟周期,这个过程是连续发生的,因此通过借位和进位脉冲可以使输出频率得到改变,输出频率能被进位和借位脉冲的最高频率控制在一个给定的范围内。除n计数器

52、对脉冲加减电路的输出iout再进行n分频,得到整个环路的输出信号fout。使输出信号iout的相位受调整控,最终达到锁定。同时,因为f0=idclock/2n,因此通过改变分频值n可以得到不同的环路中心频率f0。(一)加减脉冲控制器的实现:(1)用电路实现加/减脉冲控制器:加/减脉冲控制器由8个d触发器、一个jk触发器以及一些逻辑门电路组成(其中d触发器和jk触发器均由vhdl语言生成),其中jk触发器起一个翻转触发器(toggle-ff)的作用,在没有进位和借位脉冲的情况下,翻转触发器在每个id时钟的上升沿翻转,加减脉冲控制器的输出iout由下式逻辑功能确定。 (4-1)现在,假设在加/减脉

53、冲控制器的inc端有一个进位脉冲,仅当翻转触发器置高时处理进位信号,如果在翻转触发器为低时,进位端得到进位信号,那么,在id时钟的下一个上升沿,翻转触发器置高,但在接下的两个id时钟间隔里,保持低电平。这也就是说,下一个idout脉冲在时间上提前了一个id时钟周期。如果翻转触发器置高时,进位端有进位,那么,在id时钟的下一个上升沿到来时,翻转触发器置低,并且在两个id时钟周期内,均保持低电平。因为进位仅在翻转触发器置高时才被处理,当翻转触发器跟随脉冲模式1,0,0,1,0,0,1时,idout信号达到最高频率,因而,加/减脉冲控制器的输出频率不可能和id时钟频率一样高,而且,最多只能为时钟频率

54、的2/3。这无疑限制了adpll的同步范围。同样借位端仅在翻转触发器处于低电平时有效。一旦借位端触发,在id时钟的下一个上升沿到来时,翻转触发器将置高,并且在两个id时钟内保持高电平,因此,下一个idout脉冲延迟了一个id时钟周期。当翻转触发器模式为0,1,1,0,1,1时,idout信号达到最低频率。这样加减脉冲控制器的最小输出频率位id时钟频率的1/3。同样,受限的加/减脉冲控制器的输出频率范围限制了可实现的adpll的同步范围。模块电路图和仿真波形见下图4-5和4-6示,其中d触发器和jk的生成模块如下图4-4(其vhdl源程序代码见附录中加/减脉冲控制器源程序部分代码):图4-4d触发器和jk的生成模块图4-5加减脉冲控制器电路原理图加减脉冲控制器电路仿真波形为:图4-6用电路实现加/减脉冲控制器的仿真波形由电路仿真波形可以看出:clk为加减脉冲控制器的时钟,out1为翻转触发器的输出,iout为加减脉冲控制器的最后输出,现分析它们的的时序关系为:clk: 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0out1:0 1 1 0 0 1 1 0 0 1 1 0 0 0 0 1 1 0 0iout:1 0

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论