1、 本 科 毕 业 设 计 基于可编程器件的信号发生器的设计 所在学院 专业班级 电子与信息工程 学生姓名 学号 指导教师 职称 完成日期 年 月 I 摘 要 任意波形信号发生器己成为现代测试领域应用最为广泛的通用仪器之一,代表了信号源的发展方向。本次设计课题为应用 VHDL 语言及 Quartus软件提供的原理图输入设计功能,结合电子线路的设计加以完成一个可应用于数字系统开发或实验时做输入脉冲信号或基准脉冲信号用的信号发生器,可以满足产生任意波形的要求。由于现场可编程门阵列 (FPGA) 具有高集成度、高速度、可实现大容量存储器功能的特性,能有效地实现 DDS 技术,极大的提高信号发生器的性能
2、,降低生产成本。 本文首先介绍了波形发生器和 FPGA 的研究背景和发展状况。然后详尽地叙述了该文章所要用的的语言和软件( VHDL 语言、 Quartus)。接着提出了多种的设计方案,结合多种设计方 案的优缺点,选择最优的设计方案(利用 PFGA 的设计),接着对硬件部分进行了分析,根据设计框图的功能划分,将整个仪器功能划分为控制模块, FPGA 模块(波形产生模块、波形的选择模块、频率控制模块、幅度控制模块),滤波电路。并且对这 3 个部分布进行了详细地阐述。 在本设计中遇到最大的难点就是对 Quartus、 VHDL 语言的知识不了解。不过再老师的帮助和指导下能够熟练的运用该软件和语言。
3、学会了 Quartus、 VHDL 语言,对产生的波形进行了仿真,结果表明,本次设计可以产生正弦波、三角波、方波和任意的波形。通过实验结果表明,本次设计达到了预定的要和设计目的,并证明了采用软硬件结合,利用 FPGA 技术实现任意波形发生器的方法是可行的。 关键字 : 信号发生器; FPGA; VHDL; Quartus。 II ABSTRACT Arbitrary waveform generator has become one of the general most widely used instrument and represents the development directi
4、on of the signal. The design task is the application of VHDL language and the input designing function of the schematic diagram provided by Quartus software, combining with electronic circuit design to complete a signal generator which can be applied in the development experiment of digital system t
5、o be input pulse signal or benchmark pulse signal and satisfy the requirements of generating any waveform. As field programmable gates array (FPGA) has the characteristics of high level of integration, high speed and realizing the large capacity memory function, It can achieve the DDS technology eff
6、ectively, increase the performance of signal generator greatly and reduce production cost. This paper first introduced the research background and development of waveform generator and FPGA, then described the language and software (VHDL language, Quartus ) of the article in detail, provided a varie
7、ty of design scheme, combined with the advantages and disadvantages of design scheme, selected the optimal design scheme (using the PFGA design), analyzed the hardware part, and according to the function of design block diagram ,dividing the entire instrument function in the control module, FPGA mod
8、ule (waveform module, waveform choice module, frequency control module, amplitude control module), filter circuits, and explained the three department distribution in the detail. The biggest difficulty encountered in the design is unfamiliar with Quartus and VHDL language, however ,I can use the sof
9、tware and language skillfully under the help of the teacher. Grasping the Quartus and VHDL language, I do simulation of the waveform. The results show that this design can produce sine wave, triangle wave and square-wave and arbitrary waveform. Through the experimental results show that the design r
10、eached scheduled design purpose, and proved that combining hardware with software and using FPGA technology to realize the arbitrary waveform generator. Keywords: signal generator;FPGA;VHDL;Quartus 。 III 目录 第 1 章 绪 论 1 1.1 信号发生器的简介 . 1 1.2 FPGA 的发展历史 . 1 第 2 章 Quartus和 VHDL 的简介以及系统方案的论证 .4 2.1 Quart
11、us的简介 . 4 2.2 VHDL 的简介 . 6 2.3 系统的 设计原理 . 7 2.4 方案的设计 . 8 第 3 章 信号发生器的硬件功能的语言描述 10 3.1 滤波电路 . 10 3.2 FPGA 模块 . 11 3.2.1 FPGA 的简介 .11 3.2.2 分频器模块的设计 .11 3.2.3 幅度控制模块 .12 3.2.4 波形产生选择模块 .12 3.3 D/A 转换器的设计 . 15 第 4 章 信号发生器的软件设计 17 4.1 波形产生器的顶层电路设计 . 17 4.2 正弦波模块的设计 . 17 4.3 三角波模块的设计 . 19 4.4 方波模块的设计 .
12、20 4.5 阶梯波模块的设计 . 21 4.6 波形选择模块的设计 . 22 第 5 章 信号发生器仿真结果及分析 23 5.1 正弦波的仿真波形及分析 . 23 5.2 三角波的仿真波形及分析 . 23 5.3 方波的仿真波形及分析 . 24 5.4 阶梯波的仿真波形及分析 . 25 5.5 波形选择模块的仿真波形及分析 . 26 IV 5.6 信号发生器的原理图及分析 . 26 结 论 28 致 谢 错误 !未定义书签。 参考文献 .29 东海科学技术学院本科生毕业论文 1 第 1 章 绪 论 1.1 信号发生器的简介 信号发生器是一种通用的信号发生源,它是一种为电子计量和测量工作提供信
13、号的工具,信号源是一种基本电子设备在科研、教学电子产品调试与测量、部队设备技术保障等领域,都有很广泛的应用。在研究、测试、调整电子电路及设备时,为测式电路的电参数,比如测量噪声系数、频率响应,电压表定度等提供电信号,以模拟在实际工作中使用的待测设备的信号。当要求进行系统的稳态特性测式时,需要利用频率、振幅已知的信号源。当被 测试系统的瞬间状态特性时,又需要利用前沿时间、脉冲的宽度和重复周期已知的矩形脉冲信号源。并且要求信号源输出信号的参数,如波形、频率、功率或输出电压等,能在一定范围内进行调整,有好的稳定性。 。 信号发生器的发展状况 目前,我国在研制信号发生器这方面有很大的成果。但是总的来说
14、,我国信号发生器还没有形成真正的产业。中国信号发生器产业发展出现的问题中,有许多情况不容乐观,比如产业结构不合理集中于劳动密集型产品;技术密集型产品明显落后于发达国家。就目前国内的成熟产品来看,核心部分多为专用芯片,存在着成本高,控制不方便 等许多缺点,并且我国目前信号发生器的性能和种类都与国外产品存在很大的距离。所以,开发研究高性价比的信号发生器,保持与国外同类产品在同性价比,打破国外技术封锁和垄断,对发展我国电子产业有非常重大的作用,具有广泛的发展前景。 在 70 年代以前,信号发生器主要有两类:脉冲波和正弦,产生另外其他的波形还需要采用复杂的电路和机电组合的方法,这个时侯的信号发生器存在
15、两个严重的问题,一是通过电位器的来调节输出频率;二是脉冲的占空比不能调节。 在 70 年代后,微处理器的出现,可以利用 D/A 转换器、处理器和 A/D 转换器,软件和硬件改变使信号发生器的功能扩大,能够产生更加复杂的波形,这个时侯的信号发生器多以软件为主。 在 80 年代后,随着数字技术成熟,信号发生器大部分不再利用机械驱动而是利用数字电路,从一个频率基准由数字合成电路产生可调节频率信号。自从 80 年代以来发达国家都在研制 DDS,并用于信号发生器的设计。 90 年代末期,出现了几种能产生高性能的信号的信号发生器,信号发生器技术发展至现在,引导技术领先的仍是国外的几大仪器公司,比如 Agi
16、lent、 Tektronix 等公司。美国的 FLUKE公司的信号发生器是现有的测试仪器中最具有多样 性功能的仪器之一。 1.2 FPGA 的发展历史 早期的可编程逻辑器件只有可编程只读存储器( PROM)、紫外线可擦除只读存储器( EPROM)和电可擦除只读存储器( E2PROM)三种。由于结构的限制,它们只能完成简单的数字逻辑功能。 其后出现了一类结构上稍复杂的可编程芯片,即可编程逻辑器件( PLD),它能够完成各东海科学技术学院本科生毕业论文 2 种数字逻辑功能。典型的 PLD 由一个“与”门和一个“或”门阵列组成,而任意一个组合逻辑都可以用“与 或”表达式来描述,所以 PLD 能以乘
17、积和的形式完成大量的组合逻辑功能。 这一阶段的产品主要有 PAL(可编程 阵列逻辑)和 GAL(通用阵列逻辑)。 PAL 由一个可编程的“与”平面和一个固定的“或”平面构成,或门的输出可以通过触发器有选择地被置为寄存状态。 PAL 器件是现场可编程的,它的实现工艺有反熔丝技术、 EPROM 技术和 E2PROM技术。还有一类结构更为灵活的逻辑器件是可编程逻辑阵列( PLA),它也由一个“与”平面和一个“或”平面构成,但是这两个平面的连接关系是可编程的。 PLA 器件既有现场可编程的,也有掩膜可编程的。在 PAL 的基础上又发展了一种通用阵列逻辑( GAL, Generic ArrayLogic
18、),如 GAL16V8、 GAL22V10 等。它采用了 E PROM 工艺,实现了电可擦除、电可改写,其输出结构是可编程的逻辑宏单元,因而它的设计具有很强的灵活性,至今仍有许多人使用。这些早期的 PLD 器件的一个共同特点是可以实现速度特性较好的逻辑功能,但其过于简单的结构也使它们只能实现规模较小的电路。 FPGA 的发展走势 FPGA 采用了逻辑单元阵列 LCA 这一新的概念,内部包括输出输入模块 IOB、可配置逻辑模块 CLB、和内部连线三部分组成。它拥有较高的容量和密度,还具有功耗低、 I/O 多等优点。FPGA 的架构主要有 SRAM Base 的特点是低功耗可进行系统重构、可重复编
19、程; Anti-fuse 由于具有一次烧录得特性,可在保密性上提供较好的保护,但是也所以无法进行重复修改。 FPGA 技术正是高速发展时期,新型芯片的范围越来越大,成本也越来越低,低端的 FPGA已渐渐的取代了传统的数字元件,高端的 FPGA 不断在争夺市场份额。越来越丰富的微处理器内核被嵌入到高端的 FPGA 芯片中,基于 FPGA 的开发成为一项系统级设计工程。随着半导体制造工艺的不断提高和发展, FPGA 的集成度也不断提高,所以制造成本将不断降低。 FPGA 发展主要有以下几个值得注意 的方向: ( 1)集成度越来越高,规模越来越大。 早期的 FPGA 规模只有几千门, 2006年 5
20、 月份, Xilinx 公司推出世界第一个 65nmFPGA 系列 -Vitex-5。基于 65nm 三极栅氧化层技术、 11 层铜布线工艺、低 K 材料、新型镍硅自对准技术、新型 ExpressFabric 技术和 ASMBL 架构,可以提供 33000 个逻辑单元(可编程逻辑门约 660 万门)和 1200 个用户 I/O。 ( 2)速度不断提高,性能不断提升。 Xilinx2006 年推出的 Virtex-5LX 利用率和性能都很高,同时功耗的大幅度降低。Virtex-5LXFPGA 比上一代 90nmFPGA 提供高出 30的性能,少利用 40的硅片面积,以及提供比上一代 90nmFP
21、GA 35的业界最低动态功耗。 Virtex-5LX 系列还通过性能优化的 IP 块拥有了 550MHZ 时钟频率。高性能 SelectIO 特性提供了到 667Mbps DDR2 SDRAM 和 1200 Mbps QDR2 SRAM 等外部存储器的最快连接。 Alera 公司于 2006 年 11 月份推出 Stratix3 的 65nmFPGA 系列。 Stratix3 比前一代器件快 25,密度是前一代 FPGA 得倍,功耗降低 了 50,支持四十多个 I/O 接口标准,具有业界一流的性能信号完整性和灵活性。 ( 3) IP 库德利用。 当前具有 IP 内核的系统 FPGA 的开发主体
22、现有两个方面:一方面是大力扩充优化的 IP 软核(指利用 HDL 语言设计并经过综合验证得功能单元模块),用户可以直接利用这些预定义的、经过测试和验证的 IP 核资源,有效地完成复杂的片上系统设计。另一方面是 FPGA 厂商将 IP硬核 (指完成版图设计的功能单元模块 )嵌入到 FGPA 器件中。 东海科学技术学院本科生毕业论文 3 ( 4)价格越来越低。 FPGA 市场的竞争激烈使价格的不断下调。所以 SRAM 的 FPGA 的价格下降很快 ,每一万门的价格在 2004 年底将降至 1 美元,到 2005 年下降到 0.5 美元。 Altera 公司于 2005 年第 2 季度开始大批量生产
23、的低端 FPGA Cyclonell,开始大约 33万的产品将以 22美元的价格提供货物。每一万门的价格为 0.65 美元左右。 ( 5)向可编程系统芯片 (SOPC)方向发展。 可编程系统级芯片 (SOPC)具有 ASIC 的低功耗、高集成度、低成本、小尺寸的优点,同时具有 FPGA 的灵活、低风险和快速上市的优点。 Altera 推出的支持新款 Cyclone2 FPGA 系列的Nios2 嵌入式处理器,设计者可以 在很短的时间内设计一个完整的可编程系统芯片,成本和风险比中小规模的 ASIC 小。实现 PSOC 主要有两种途径,一种是将可编程逻辑 IP 核嵌入到 SOC中,另一种是在 FP
24、GA 中嵌入专用功能的 IP 核,实现 SOC 的功能。 东海科学技术学院本科生毕业论文 4 第 2 章 Quartus和 VHDL的简介以及系统方案的论证 2.1 Quartus的简介 Altera 公司的 Quartus开发系统以其独特的设计理念,为用户提供了一种全新的可编程逻辑器件开发系统。他集成了 Altera 的全部 CPLD/FPGA 器件的硬件开发功能,同时也可以实现系统级设计、综合、仿真、 约束等功能,还具有在线测试功能。 Quartus软件具有以下特性。 1.提供的集成物理综合技术 Quartus软件包括唯一的 FPGA 供应商提供的集成物理综合优化技术。 Quartus物理
25、综合选项适用在编译的布局布线阶段,而与采用何种综合工具没有关系。 2.更快的时序逼近 Quartus软件用户能够利用强大的时序逼近流程特性来优化设计,使其超过按键式编译结果性能。 Quartus软件的时序逼近流程由于其包含了内置物理综合工具以及丰富的图形分析和编译工具,提供了强大的交互探测能力,具有极大的吸引力。 3.最易使用的设计优化技术 Quartus软件采用按键式设计流程,满足大部分设计的时序需要。当设计人员进一需要更好的编译结果时, Quartus软件提供了一些高级工具,可以轻松地实现优化设计。用户可以使用设计空间搜索 (DSE)和时序优化顾问工具对设计进行方便快捷的优化。空间搜索器采
26、用自动技术,使寄存器到寄存器设计性能平均提高了 21。时序优化顾问工具在 Quartus软件内给设计人员提供了一个虚拟的现场应用工程师。这个工具基于当前设计工程设置和约束,提供详细的优化设计时序性能的建议。 4.实现后期设计更改的同 时保持性能 可编程逻辑设计软件的一个传统困难是:当引入后期设计更改的时候,如何保持设计的性能。然而, Quartus软件能够轻松地实现后期设计更改。最新的增量式设计编辑器和编译技术给技术人员提供了布局布线后设计更改的最佳支持。这些技术包括: Quartus芯片编辑器; 在 Logiclock(tm)区域中实现布局布线锁定的能力; 使用渐进式编译,仅实现对部分改动的
27、设计进行修改。 5.提供并行开发 FPGA 和结构 ASIC Quartus软件能够提供 FPGA 设计和结构化 ASIC 设计之间的无缝移植。 Quartus软件能够编译 HradCopy Stratix 器件,从而提供了高性能低成本器件的解决方法。 HradCopy Stratix结构优化 ASIC提供了比 Stratix FPGA平均高 50的性能,进一步加强了 Stratix器件系列 65nm 性能的领先性。 Quartus软件设计流程 Altera 公司的 Quartus设计软件提供完整的多平台设计环境,能够直接满足特定设计需要,为可编程芯片系统提供全面的设计环境。 Quartus软
28、件含有 FPGA 和 CPLD 设计所有阶段的解决方案,其设计流程图 2.1 所示。从图 2.1 可以看出,设计流程中包括设计输入、综合、布局布线、时序分析、仿真、编程和配置等步骤,其中的布局布线还包括功耗分析、调试、东海科学技术学院本科生毕业论文 5 工程更改管理几个部分。这些操作都可以利用 Quartus软件实现。 此外, Quartus软件为设计流程的每个阶段提供了 Quartus图形用户界面、 EDA 工具界面以及命令行界面。可以在整个流程中只使用这些界面中的一个,也可以在设计流程的不同阶段使用不同的界面。 图 2.1 Quartus软件设计流程 Quartus工程文件的 建立 任何一
29、项设计都是一项工程,都必须建立一个专门的文件夹。不同的设计项目最好放在不同的文件夹中,而同一工程所有的文件都必须放在同一文件夹中。 ( 1)打开 Quartus,出现主界面。 ( 2)建立工程。选项菜单“ File-New Projiect Wizard” ,出现一个对话框,第一栏是工程所在的文件夹,单击“ ” 按钮,选择你想要存入的文件夹名。如 E: /count;第 2 栏是工程名称;第三栏是该工程的层次化设计的顶层设计实体名称。注意,工程名称必须与顶层设计实体名称相同,否则软件提示出错。本例中两者都命名为 count,然后单击“ Next”按钮看,打开添加设计文件对话框,注意文件夹名不能
30、用中文。 ( 3) 由于新建工程没有相关的设计文件,因此不需要添加,直接单击“ Next”按钮,打开指定器文件极其封装、速度等信息的对话框。 ( 4)根据设计选择器件。本例中选用了 Altera公司的 Cyclone系列,型号为 EPICC6Q20C8。对话框右半部分依次为封装、引脚数和速度。设定好后,单击“ Next”按钮,弹出其他 EDA工具对话框。 ( 5)本例使用默认工具,直接单击“ Next”按钮。 ( 6)以上所作的设定在图中有相关显示。单击 “ Finish”按钮,完成工程建立。 时序的仿真 对工程编译后,应对其功能和时序性质进行仿真,以了解设计结果是否满足设计要求。仿真也称模拟,是对电路设计的一种间接的检测方法,是利用计算机对整个硬件系统进行模拟检测,但却不可以不接触具体的硬件系统。 设计输入 综 合 布局布线 时序分析 仿 真 编程和配置 功耗分析 调 试 工程更改管理 时序逼近