基于FPGA的直接数字频率合成器设计.doc

上传人:h**** 文档编号:126940 上传时间:2018-07-09 格式:DOC 页数:31 大小:905.50KB
下载 相关 举报
基于FPGA的直接数字频率合成器设计.doc_第1页
第1页 / 共31页
基于FPGA的直接数字频率合成器设计.doc_第2页
第2页 / 共31页
基于FPGA的直接数字频率合成器设计.doc_第3页
第3页 / 共31页
基于FPGA的直接数字频率合成器设计.doc_第4页
第4页 / 共31页
基于FPGA的直接数字频率合成器设计.doc_第5页
第5页 / 共31页
点击查看更多>>
资源描述

1、 JIANGSU UNIVERSITY OF TECHNOLOGY FPGA 技术实验报告 基于 FPGA 的直接 数字 频率合成器设计 学 院: 电气信息工程学院 专 业: 测控技术与仪器 班 级: 姓 名: 学 号: 指导教师: 时 间 : 目 录 1 绪论 . 1 1.1 背景与意义 . 1 2. 设计简介 . 1 2.1 DDS 技术 . 1 2.2 FPGA 简介 . 2 2.3 VHDL 简介 . 4 2.4 Quartus简介 . 5 3. 系统硬件电路设计 . 5 3.1 数字信号发生器的系统组成 . 5 3.2 设计原理及要求 . 6 3.3 输入部分 . 7 3.3.1 频

2、率、幅值和波形转换部分 . 7 3.4 FPGA 部分 . 9 3.5 D/A 转换部分 . 9 3.5.1 DAC0832 转换器简介 . 11 4. 系统软件设计 . 12 4.1 软件系统流程图 . 12 4.2 主要函数语句分析 . 12 4.3 数字信号发生器的软件设计 . 13 4.4 软件各模块 . 14 4.4.1 波形发生器 . 14 4.4.2 主控制模块 . 15 4.4.3 波形数据产生模块 . 15 4.4.4 波形产生模块 . 17 5. 设计总结 . 19 附 录 . 19 1 1 绪论 1.1 背景与意义 信号发生器是一种常用的信号源,广泛运用于科学研究、生产实

3、践和教学试验等领域。特别是在通信系统的科研实验中,常常需要用到不同频率和幅度的信号,如正弦波、三角波、方波和锯齿波等。作为一种为电子测量和计量提供电信号的设备,它和万用表 、示波器、频率计等仪器一样,是最普通、最基本,也是运用最广泛的电子仪器之一,几乎所有电参量的测量都需要用到信号发生器。 凡是能产生测试信号的仪器,统称为信号源,也称为信号发生器,它用于产生被测电路所需特定参数的电测试信号。 本课题的主要研究内容是 参考 直接数字频率合成原理( DDS)技术 6,利用Quartus II9.0 软件作为平台, VHDL 语言作为开发语言,基于 FPGA 配合相应外围电路实现一个数字信号发生器,

4、其电路结构简单,容易扩展,具有极大的灵活性和方便性,实现了产生频率可调的正弦波、三角波、方波的信号 发生器。 2. 设计简介 2.1 DDS 技术 DDS 与大多数的数字信号处理技术一样,它的基础仍然是奈圭斯特采定理。奈圭斯特采样定理是任何模拟信号进行数字化处理的基础,它描述的是一个带限的模拟信号经抽样变成离散序列后可不可以由这些离散序列恢复出原始模拟信号的问题。 奈圭斯特采样定理告诉我们,当抽样频率大于或者等于模拟信号最高频率的两倍时,可以由抽样得到的离散序列无失真地恢复出原始模拟信号。只不过在 DDS技术中,这个过程被颠倒过来了。 DDS 不是对模拟信号进行抽样,而是一个假定抽样过程已经发

5、生且抽样值已经量化完 成,如何通过某种方法把已经量化的数值重建原始信号的问题。 DDS 电路一般由参考时钟、相位累加器、波形存通滤波器( LPF)组成。其结构如图 2.1 所示。 2 图 2.1 DDS 基本结构框图 其中, f c 为参考时钟频率, K为频率控制字, N 为相位累加器位数, A 为波形存储器地址位数, D 为波形存储器的数据位字长和 D/A 转换器位数。 由于受到字长的限制,相位累加器累加到一定值后,就会产生一次累加溢出,这样波形存储器的地址就会循环一次,输出波形循环一周。相位累加器的溢出频率即为合成信号的频率。可见,频率控制字 K 越大,相位累加 器产生溢出的速度越快,输出

6、频率也就越高。故改变频率字(即相位增量),就可以改变相位累加器的溢出时间,在参考频率不变的条件下就可以改变输出信号的频率。 图 2.2 DDS 各部分输出波形 2.2 FPGA 简介 数字集成电路从产生到现在,经过了早期的电子管、晶体管、小中规模集成电路,到大规模、超大规模集成电路( VLSIC)以及许多既有特定功能的专用集成电路的发展过程。但是,随着为电子技术的发展,设计与制造集成电路的任务已不完全由半导体厂商来独立承担。系统设计师们更愿意自己设计专用集成电路( Application Special Integrated Circuit, ASIC) 芯片,而且希望 ASIC 的设计周期尽

7、可能短,最好是在 实验室里就能设计出合适的 ASIC 芯片,并且立即投入实际应用之中,因而出现了现场可编程逻辑器件( Field Programmable Logic Device, FPLD) ,其中应用最广泛的当属 CPLD 和 FPGA。 CPLD 是复杂可编程逻辑器件( Complex Programmable Logic Device)的简称, FPGA 是现场可编程门阵列( Field Programmable Gate Array)的简称。两3 者的功能基本相同,只是实现原理略有不同,但有时可以忽略这两者的区别。不同厂家对可编程逻辑器件的叫法也不尽相同。 Altera 公司把自己

8、的可编程逻辑器件产品中的 MAX 系列(乘积项技术, EEPROM 技术)、 FLEX 系列(查找表技术, SRAM工艺)都叫做 CPLD;而把也是 SRAM 工艺、基于查找表技术、要外挂配置用的 FLEX系列的 EPROM 叫做 FPGA。 FPGA 一般由 6 部分组成,分别为可编程输入 /输出单元、基本可编程逻辑单元、嵌入式块 RAM、丰富的布线资源、底层嵌入功能单元和内嵌专用硬核等 。 每个单元简介如下: ( 1)可编程输入 /输出单元( I/O 单元)。目前大多数 FPGA 的 I/O 单元被设计为可编程模式,即通过软件的灵活配置,可适应不同的电气标准与 I/O 物理特性;可以调整匹

9、配阻抗特性,上下拉电阻;可以调整输出驱动电流的大小等; ( 2)基本可编程逻辑单元。 FPGA 的基本可编程逻辑单元是由查找表( LUT)和寄存器( Register)组成的,查找表完成纯组合逻辑功能。 FPGA 内部寄存器可配置为带 同步 /异步复位和置位、时钟使能的触发器,也可以配置成为锁存器。FPGA 一般依赖寄存器完成同步时序逻辑 设计。一般来说,比较经典的基本可编程单元的配置是一个寄存器加一个查找表,但不同厂商的寄存器和查找表的内部结构有一定的差异,而且寄存器和查找表的组合模式也不同。 ( 3)嵌入式块 RAM。目前大多数 FPGA 都有内嵌的块 RAM。嵌入式块 RAM 可以配置为

10、单端口 RAM、双端口 RAM、伪双端口 RAM、 CAM、 FIFO 等存储结构。 ( 4)丰富的布线资源。布线资源连通 FPGA 内部所有单元,连线的长度和工艺决定着信号在连线上的驱动能力和传输速度。布线资源的划分: A全局性的专用布线资源:以完成器件内部的全局时钟和全局复位 /置位 的布线; B长线资源:用以完成器件 Bank 间的一些高速信号和一些第二全局时钟信号的布线; C短线资源:用来完成基本逻辑单元间的逻辑互连与布线; D 其他:在逻辑单元内部还有着各种布线资源和专用时钟、复位等控制信号线。 ( 5)底层嵌入功能单元。由厂商及芯片型号决定。 4 ( 6)内嵌专用硬核。与“底层嵌入

11、单元”有区别,这里指的硬核主要是那些通用性相对较弱的芯片,不是所有 FPGA 芯片都包含硬核。 FPGA 的基本特点主要有: (1)采用 FPGA 设计 ASIC 电路,用户不需要投片生产,就能得到合用的芯片。 (2)FPGA 可做其它全定制或半定制 ASIC 电路的中试样片。 (3)FPGA 内部有丰富的触发器和 I O 引脚。 (4)FPGA 是 ASIC 电路中设计周期最短、开发费用最低、风险最小的器件之一。 (5)FPGA 采用高速 CHMOS 工艺,功耗低,可以与 CMOS、 TTL 电平兼容。 2.3 VHDL 简介 VHDL 的全称是 Very-High-Speed Integr

12、ated Circuit Hardware Description Language,诞生 于 1982 年。 1987年底 , VHDL 被 IEEE 和美国国防部确认为标准硬件描述语言。 (1) VHDL 语言功能强大 , 设计方式多样 。 VHDL 语言具有强大的语言结构 , 只需采用简单明确的 VHDL 语言程序就可以描述十分复杂的硬件电路。同时 , 它还具有多层次的电路设计描述功能。此外 ,VHDL 语言能够同时支持同步电路、异步电路和随机电路的设计实现 , 这是其他硬件描述语言所不能比拟的。 VHDL 语言设计方法灵活多样 , 既支持自顶向下的设计方式 , 也支持自底向上的设计方法

13、 ; 既支持模块化设计方法 , 也支持层次化设计方法。 (2) VHDL 语言具有强大的硬件描述能力 。 VHDL 语言具有多层次的电路设计描述功能,既可描述系统级电路 , 也可以描述门级电路;描述方式既可以采用行为描述、寄存器传输描述或者结构描述,也可以采用三者的混合描述方式。同时, VHDL 语言也支持惯性延迟和传输延迟,这样可以准确地建立硬件电路的模型。 VHDL 语言的强大描述能力还体现在它具有丰富的数据类型。 VHDL 语言既支持标准定义的数据类型,也支持用户定义的数据类型,这样便会给硬件描述带来较大的自由度。 5 (3) VHDL 语言具有很强的移植能力 。 VHDL 语言很强的移

14、植能力主要体现在 : 对于同一个硬件电路的 VHDL 语言描述 , 它可以从一个模拟器移植到另一个模拟器上、从一个综合器移植到另一个综合器上或者从一个工作平台移植到另一个工作平台上去执行。 (4) VHDL 语言的设计描述与器件无关 。 采用 VHDL 语言描述硬件电路时 , 设计人员并不需要首先考虑选择进行设计的器件。这样做的好处是可以使设计人员集中精力进行电路设计的优化 , 而不需要考虑其他的问题。当硬件电路的设计描述完成以后 ,VHDL 语言允许采用多种不同的器件结构来实现。 (5) VHDL 语 言程序易于共享和复用 。 VHDL 语言采用基于库 ( library) 的设计方法。在设

15、计过程中 , 设计人员可以建立各种可再次利用的模块 , 一个大规模的硬件电路的设计不可能从门级电路开始一步地进行设计 , 而是一些模块的累加。这些模块可以预先设计或者使用以前设计中的存档模块 , 将这些模块存放在库中 , 就可以在以后的设计中进行复用。 由于 VHDL 语言是一种描述、模拟、综合、优化和布线的标准硬件描述语言 , 因此它可以使设计成果在设计人员之间方便地进行交流和共享 , 从而减小硬件电路设计的工作量 , 缩短 开发周期。 2.4 Quartus简介 Quartus II 是 Altera 公司的综合性 PLD 开发软件,支持原理图、 VHDL 以及AHDL( Altera H

16、ardware Description Language)等多种设计输入形式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整 PLD 设计流程。 Quartus II 可以在 XP、 Linux 以及 Unix 上使用,除了可以使用 Tcl 脚本完成设计流程外,提供了完善的用户图形界面设计方式。具有运行速度快,界面统一,功能集中,易学易用等特点。 3. 系 统硬件电路设计 3.1 数字信号发生器的系统组成 该数字信号发生器系统主要由输入部分、 FPGA 部分、 D/A 转换部分、频率、幅值6 调节和波形转换部分组成。如图 3.1 所示。 图 3.1 数字信号发生器系统组成 3.

17、2 设计原理及要求 在本设计中 ,利用 FPGA,采用 EDA(Electronic Design Automation)中自顶向下 (top-to-down)的设计方法,选用基于相位累加器的直接数字合成 / DDS 技术来完成数字信号发生器各功能模块的 设计。 DDS 这种结构主要由相位累加器、 相位调制器、 波形 ROM 查找表、 D/ A 构成。其中相位累加器、 相位调制器、 波形 ROM 查找表是 DDS 结构中的数字部分 ,由于具有数控频率合成的功能 ,又合称为 NCO。 它的工作原理是 :将要产生的波形数据存入波形存储器 ,然后在参考时钟的作用下 ,对输入的频率数据进行累加 ,并且

18、将累加器的输出一部分作为读取波形存储器的地址 ,将读出的波形数据经 D/A 转换为相应的模拟电压信号。本研究的重点就是用 VHDL来实现 DDS的功能 ,能够达到高精度的输出 ,同时 标准波形数据生成存放在 ROM 中 ,可以简化运算过程 ,提高运算速度 ,加快反应时间。 分频器 FPGA 部分 系 统 控 制 器 时钟 复位 波形 调幅 调频 正弦波 三角波 方波 其他波型 波 形 DA转 换 滤波 输出 7 本设计主要通过 VHDL 语言实现频率控制、波形控制、 波形数据的提取、 波形的产生工作。其中 ,波形数据运用 VHDL 语言编写 。控制部分主要采用产生高低电平的拨码开关控制。程序下

19、载到 FPGA 上实现 ,经过 D/ A 输出波形。并通过 Altera 公司 QuartusII9.0 软件进行波形的仿真,从而完成整个设计。 本设计的任务是设计一个基于 FPGA 的数字信号发生器,根据任务书要求必须达到以下要求: 1.利用 EDA 开发系统、 Quartus II 9.0 软件实现数字信号发生器的设计; 2.根据整体电路的工作原理,完成各个子模块的设计及实现; 3.对数字信号发生器完成 VHDL 语言描述; 4.该数字信号发生器能够产生正弦波、方波、三角波、锯齿波信号; 5.产生的波形信号频率和幅度可通过按键进行调节; 6.用按键调节实现各种波形的转换。 3.3 输入部分

20、 输入部分包含以下功能按键:时钟、复位、波形、调幅、调频。 1时钟:标准的 50MHZ 时钟输入。 2复位:低电平复位。 3波形:为波形输出选择开关,可以选择单波形的输出。 4调幅 :可以递增和递减正弦波、三角波、方波的幅度。 5调频:可以递增和递减正弦波、三角波、方波的频率。 3.3.1 频率、幅值和波形转换部分 由于采用 DDS, 在 ROM中存有波形一个周期的 n个等间隔归一化采样数据 , 改变相位累加器步进 , 从而改变对 ROM中数据的读取速度 , 即可合成不同频率波形 , 存储器中存入过量的采样值 , 使得采样点数较少时 , 依然能够得到较好波形输出 , 从而得到较高频率输出。否则

21、 , 采样点数太少会使产生波形严重失真。输出波形频率计算 : 0 2 oscffsn k(式 3.1) 式中 oscf 是晶振频率 8 K 分频系数 N 相位累加器位数 S 相位累加器步长 若取 3 2 . 7 6 8 , 5 0 , 1 6o s cf M H z K N 代入式( 3.1)得到 。 0 10f SHz 因此 , 只要控制 S 的值就可准确实现频率步进为 10 Hz 的等步进调频。如采用32 MHz 的晶振 , 也能得到 10 Hz 精确的等步进调节 , 但牺牲了波形质量。通过实验测试和比较 , 可用下式计算频率 : 32000000065306 49 10 S H zfs

22、(式 3.2) 因为 65306不是一个 2N 的数 , 这样波形会漏掉少量采样点。即使这样 , 得到波形依然平滑 , 可满足设计要求。若要使频率调节步进减小到 1Hz, 对晶振有特殊要求 , 它的振荡频率必须是 2的 N次幂 。 由式( 3.1)举例说明累加器位数不同产生差异: 3355443210 48 57 6 32 1 SH zs (式 3.3) 3355443233554432 1 S H zs (式 3.4) 式 (3.4) 产生的波形优于式 (3.3) , 最高频率也高出几倍。由于 DAC0832的电流建立时间是 1 s , 因此输出波形的最高频率受下式限制 : 6m a x31250(1 / 1 0 )Hzf 最 小 采 样 点 数最 小 采 样 点 数1000000/100000032=(式 3.5) 因此 , 要得到更高频率的波形需使用更高速的 D/A转换器。 频率和幅值调节和波形转换电路如图 3.2所示。八个按键 一端接 1K 排阻(上拉电阻)后接 VCC,一端接 FPGA控制信号引脚输入端, 按键有八个,分别为复位键SW1,控制波形转换键 SW2,控制幅度步进键 SW3,控制幅度步减键 SW4,控制频率步

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文资料库 > 毕业论文

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。