基于FPGA分频器的设计

2026/4/24 14:59:58

西南科技大学城市学院本科生毕业论文

即随驱动时钟跳变N次后就输出一个进位脉冲,然后立即被清零或置位,再开始新一轮的循环的计数。模N计数器的进位脉冲的宽度一般与驱动时钟相同,这对于边沿驱动的时序逻辑并不会带来什么问题。但是在某些需要使用电平逻辑的设计中,我们更希望分频时钟拥有50%,或者与驱动时钟有相同的占空比。这时就需要通过另外的逻辑方法来进行分频,或者使用PLL。在基于CPLD(复杂可编程逻辑器件)/FPGA(现场可编程门阵列)的数字系统设计中,很容易实现由计数器或其级联构成各种形式的偶数分频及非等占空比的奇数分频,但对等占空比的奇数分频及半整数分频的实现较为容易。

对于分频器的研究,Adler最早对注入锁定分频器进行研究,他在注入信号强度很弱的情况下对此进行了精确的推导,并且在小注入情况下得到了注入锁定范围比较精确的表达式,由此可以推导出在弱注入锁定现象发生的范围。但是这个模型是不完善的,它的前提是注入信号的强度很弱,而在实际应用中,这个前提往往是不成立的。Stanford大学的Thomas H.Lee等人对其做出了改进,提高了模型的精度,重新推导了Adler的经典公式。由于注入锁定分频器各种优点,使之非常适合在毫米波通信领域担任分频角色,因此,近年来受到学术界的广泛重视。许多科研单位,如加州大学洛杉矶分校,斯坦福大学,明呢苏达双城分校,佛罗里达大学,香港科技大学,韩国科技大学,田纳西大学,台湾大学,东京大学等知名高校都纷纷加入关于此研究的行列。相比之下,国内对此的研究还比较少,主要集中在清华大学和浙江大学等高校。因此,为了缩小与国外研究的差距,在以后毫米通信的核心技术竞争上占据主动位置,积极展开这方面的研究显得很有必要。

在应用研究方面,科研人员针对目前注入锁定分频器在应用中出现的主要问题进行了广泛的研究,主要的方向有:扩大锁定范围,提高正交多相输出的精度,降低源电压和功耗,研究多模分频以及提高工作速度。

多模分频的研究:在应用中,常常需要分频器有灵活的分频模式,比如小数频率合成器中就需要用到双模或多模的分频器。这种技术在数字触发器实现的分频器中已经比较成熟,但是在注入锁定分频器领域仍然需要深入研究【9】。

1.4 本文组织结构

本文讲述了一种可用于FPGA实现的可完成偶数分频、奇数分频、半整数分频和小数分频的分类设计和可以完成任意数分频的通用分频器,并通过FPGA实现证明其可行性。论文共分为三章,具体的组织结构如下:

5

西南科技大学城市学院本科生毕业论文

第一章 绪论 主要对FPGA进行了简单介绍,介绍了课题的研究背景,国内外研究现状及应用现状,并且提出了文章的组织结构。

第二章 几类分频器的设计及其分频原理 介绍了各种独立的分频器的分配原理,对偶数分频和奇数分频举例进行如何仿真,并介绍分频器在日常生活中的一些应用实例。

第三章 通用分频器的设计 首先对通用分频器设计方案的提出并进行分析,最终选择可以实施的方案。方案选定后对通用分频器进行系统的设计,最后分析通用分频器的应用。

6

西南科技大学城市学院本科生毕业论文

第二章 几类分频器的设计及其分频原理

2.1 偶数倍分频

2.1.1 分频原理

偶数分频应该是大家都比较熟悉的分频,通过计数器计数是完全可以实现的。如进行N倍偶数分频,若要实现占空比为50%的偶数N分频,那么可以通过由待分频的时钟触发计数器计数,当计数器从0计数到N/2-1时,输出时钟进行翻转,并给计数器一个复位信号,使得下一个时钟从零开始计数。以此循环下去,这种方法可以实现任意的偶数分频。 2.1.2 软件简介【5】

Libero开发软件是一个非常人性化的开发环境,整个界面以流程图的方式指明了开发的步骤,它集合了众多第三方先进的EDA工具,包括Mentor公司提供的仿真工具ModeSim、Synplicity公司提供的综合工具Synplify,还有Aynapticad公司提供的波形激励生成工具Waveformer Lite等。Actel的Libero设计文件生成可以有四种方式:HDL语言生成、smartDesign输入、CoreConsole输入和ViewDraw原理图输入。其中应该还有一种输入就是SmartGen输入,它已经集成在Libero开发环境左侧的Catlog窗口中。在这些输入方式中,HDL语言生成是最常用也是移植性最好的。如果想到Actel公司一些现成的模块就需要用到SmartGen,例如:RAM、FIFO、加法器等;对于HDL语言不熟悉或者习惯于用原理图来搭建顶层设计的用户可以使用原理图输入,例如:smartDesign、ViewDraw;如果想搭建系统级的平台,如8051、ARM7、CorexM1可以用CoreConsole作为输入。 2.1.3 软件仿真

下面以十二分频为例进行介绍如何在Libero8.5软件下进行仿真。点击HDL Editor进入HDL输入方式,在弹出文件类型选择框中选择Verilog Source File,如果用VHDL的用户可以选择VHDL Source File,然后在右边输入文件名称66。在弹出的新文件中,输入HDL代码。输入源文件后可以对刚才的程序进行功能仿真。首先要创建仿真用的激励文件,激励文件可以采用HDL文本输入或者画波形图的方式得到。然后点击WaveFormer图标打开WaveFomer,点击clk48M,从右键菜单中选择“Signal Clock“把这

7

西南科技大学城市学院本科生毕业论文

个信号设为时钟信号,再继续双击clk48M信号,从弹出的菜单中选择”Clock Propeties“把信号的时钟频率改成为48MHz,选中信号,先把HIGH图标选中,画一段高电平信号,再把LOW图标选中,画一段低电平。画完好以后点击保存图标,保存类型选为Verilog w/Top Level Test Bench(*.V)类型,文件名不要更改,采用默认就就可以。保存.V类型的文件后再点击保存图标,把文件保存为.btim格式的文件。最后关闭WaveFormer,右击Simulus Editor,选择Organize stimulus,在弹出的窗口点击Add按钮把测试文件导入,如下图2-1所示:

图2-1 8


基于FPGA分频器的设计.doc 将本文的Word文档下载到电脑
搜索更多关于: 基于FPGA分频器的设计 的文档
相关推荐
相关阅读
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 10

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219