《EDA--调频信号发生器》由会员分享,可在线阅读,更多相关《EDA--调频信号发生器(25页珍藏版)》请在金锄头文库上搜索。
1、湖南人文科技学院课程设计报告课程名称:课程名称:VHDL 语言与 EDA 课程设计设计题目设计题目: 调频信号发生器 系系 别:别: 信息学院 专专 业:业: 电子信息工程 班班 级:级: 一班 学生姓名学生姓名: : 姚靖瑜 何渡 余建佳 学学 号号: 13409112 13409115 13409120 起止日期起止日期: 2016 年 6 月 16 日 指导教师指导教师: 姚毅 教研室主任:教研室主任: 2 指导教师评语指导教师评语: 指导教师签名: 年 月 日成绩成绩项项 目目权重权重1、设计过程中出勤、学习态度等方面2、课程设计质量与答辩3、设计报告书写及图纸规范程度成成绩绩评评定定
2、总 成 绩 教研室审核意见:教研室主任签字: 年 月 日教学系审核意见: 主任签字: 年 月 日3 摘摘要要本文介绍一种利用EDA技术和VHDL语言,在Quartus环境下,设计的一种调频信号发生器。EDA 技术是以大规模可编程逻辑器件为设计载体,以硬件描述语言为系统逻辑描述的主要表达方式,以计算机、大规模可编程逻辑器件的开发软件及实验开发系统为设计工具,通过有关开发软件,自动完成用软件的方式设计的电子系统到硬件系统实现,最终形成集成电子系统或专用集成芯片的一门新技术。介绍一种基于DDS 原理,并采用FPGA 芯片和VHDL 开发语言设计的任意函数调频的任意波形信号发生器,给出了设计方案和在G
3、W48 CK型EDA 集成电路开发系统上实现的实验结果。关键词:调频;信号发生器;DDS; FPGA;VHDL;Quartus目录设计要求.11、方案论证与对比.11.1 方案对比.11.2 方案选择.22、工作原理及过程.22.1 DDS 的基本原理.22.2 基本流程图 .33、模块设计.33.1 MATLAB 设计 .33.1.1 顶层原理图设计.33.1.2 Smulink 模型仿真.43.1.3 Signalcompiler 的使用.43.2 QUARTUSII 设计.63.2.1 顶层原理图模块.63.2.2 高速 A/D 转换器 TLC5510.63.2.3 调试与操作说明.73
4、.2.4 顶层文件设计.84、问题分析.95、心得体会.96、元件清单.107、致谢.10参考文献.10附录一 AD5510 控制程序.11附录二 顶层文件程序.121 调频信号发生器设计要求设计要求1)能将 FPGA 内部产生的低频信号进行调制,也能选择外部输入的幅度小于 4V 的低频模拟信号进行调制 2)输出信号的载波频率为 100KHz。3)输出波形峰-峰值大于 2V。1、方案论证与对比、方案论证与对比1.1 方案方案对比对比方案 1:使用 DDS 芯片控制产生低频信号和高频载波信号,使 ADC0509 采样外部的低频信号。以单刀双掷开关选择内部或外部信号输入,在示波器上显示调制波形。原
5、理图 1 如下:图 1 方案一原理图方案 2:基于 EDA 技术,由软件 MADLAB 和 DSP Builder 设计完成调频信号发生器模块的原理图。然后通过 MADLAB 中的 Signa Compiler 将模块转换成 VHDL 语言。再在 QuartusII 中编译、仿真、下载完成设计要求。原理图 2 如下:图 2 方案 2 原理图2 1.2 方案选择方案选择方案一由于 DDS 芯片产生的信号波形、功能和控制方式固定,不能满足具体需求;方案二则是基于硬件设计的语言,很容易对硬件电路实现编程下载。经比较我们选择了方案二。2、工作原理及过程、工作原理及过程2.1 DDS 的基本原理的基本原
6、理直接数字频率合成技术(Direct Digital Frequency Syn2thesis ,DDFS ,简称 DDS) 是从相位概念出发直接合成所需波形的一种新的频率合成技术1 。他在相对带宽、频率转换时间、相位连续性、正交输出、高分辨率以及集成化等一系列性能指标方面已远远超过了传统频率合成技术4 。当累加器的 N 很大时,最低输出频率可达 Hz ,mHz ,甚至 Hz 级,即 DDS 的最低合成频率接近于零频。如果 f c 为 50 MHz ,那么当 N 为 48 位其分辨率可达 179 nHz。转换时间最快可达 10 ns 的量级,这都是传统频率合成所不能比拟的。图 3 所示为正弦输
7、出的 DDS 原理图。图 3 DDS 原理图DDS 频率合成原理相位累加器的输入为频率控制字 phase。输出正弦波时,RAM 中存有一个周期正弦波波形取样点幅度值的编码,取样点数为 2N 个。在外部时钟的控制下,每来一个时钟,加法器将对被锁定的频率控制字 phase 与累加器输出的累积相位数据不断累加,输出的相位序列(即相位码) 作为地址去寻址 RAM,同时使 RAM 存储器将相应地址单元的离散的正弦幅度编码输出。该幅度码经过 D/ A 变换后得到模拟的阶梯电压,再经过低通滤波器平滑后,得到所需的正弦信号。当累加器的累积相位数超过2N 时,将该数减去 2N 作为初值再从头开始累加,如此不断循
8、环。在正弦波输出时,设DDS 的时钟频率为 f clk ,频率控制字为 phase ,相位累加器的位数为 N ,则 DDS 的输出频率为:f o = phase 3 f clk / 2 N (1)其中 f clk / 2 N 为频率分辨率,他由相位累加器的位数 N 决定。所以在 DDS 结构及参考时钟确定的前提下,通过控制 phase 就可以方便3 地控制输出频率 f o 。2.2 基本流程图基本流程图MATLAB/simulink 建模系统仿真转换成 VHDL语言引脚锁定下载/配置及实时测试测试和用示波器观察TLC5510 的VHDL 语言打包成模块原理图建立成模块图 4 设计基本流程图3、
9、模块设计、模块设计3.1 MATLAB 设计设计3.1.1 顶层原理图设计顶层原理图设计 其中元件 AltBus3、ADDER1、Dly1 和 Bus4 构成 DDS1 模块,产生调制波信号;AltBus2、ADDER4、Dly2 和 Bus5 构成 DDS2 模块;Bus1、Bus2 和 input 组成输入控制字;Bus6、ADDER6、Busconcatenation 和 inpunt1 组成的是载波控制字;input3、input4 和 n_to_1 multiplexer 构成的是二选一控制器,input4 端口输入的是内部信号,input1 模块是加入的由 tcl5510 控制的外
10、部高频信号。Output 锁定的是 FPGA 的高速 DA 转换器将数字信号转化为模拟信号。顶层原理图 5 如下;4 图 5 顶层原理图3.1.2 Smulink 模型仿真模型仿真在模型编辑窗口中选择 Simulink 下的 Statr 命令,开始仿真,等待仿真结束,双击SCOP 模块,打开 Scope 窗口。调频信号发生器的仿真结束结果如图 6 所示:图 6 MATLAB 仿真波形3.1.3 Signalcompiler 的使用的使用在 Simulink 中完成方正验证后,就需要将涉及转移到硬件上加以实现。这是整个DSP Builder 设计流程中最关键的一部,据此可以获得 FPGA 的 V
11、HDL RLT 代码。a、分析当前的模型5 双击模型中的 Signalcompiler 模块,单机 Analyze 按钮后,Signalcompiler 就会对模块进行分析,检验模型又没有错误。并在 MATLAB 主窗口弹出对话框,给出相关信心。若又错误存在,Signalcompiler 就会停止分析过程。并把错误信息显示在MATLAB 主窗口中;反之,在分析结束后打开 Signalcompiler 窗口。b、设置 Signalcompile在 Signalcompiler 窗口中 ,显示三个部分:1)项目设置选项 Project Setting Options。2)硬件编译流程 Hardwa
12、re Compilation。3)信息框 Message。Signalcompile 的设置都集中在项目设置部分。在 Device 下拉列表中选择需要的器件系列,本实验选择 Cyclone 系列。在 Synthesis(综合)下拉列表中选择综合器件,共又三个选择,此处选择 QuartusII。c、把模型文件 MDL 转换成 VHDL设置好 Device 和 Synthesis 后,右侧的硬件编译就会列出一个操作流程:1)Convert MDL to VHDL:将 MDL 转换成VHDL 文件。2)Synthesis:对转换好的 VHDL 文件进行综合。3)QuartusII:Quartus 编
13、译适配,生成变成文件。单机步骤 1)的图标,完成 Simulink 文件到 VHDL 文件的转换。转换完成后,在Message 提示框中,显示 Generated top level“fm”files,即顶层文件转换完成。若有错误在 Message 提示框中会有简短的提示。d、综合 Synthesis单机步骤 2)的图标,完成综合过程。 e、QuartusII 适配单机步骤 3)的图标,Quartus 完成编译适配的过程,生成变成文件,即.pof 文件和.sof 文件。6 3.2 QuartusII 设计设计3.2.1 顶层原理图模块顶层原理图模块在 QuartusII 软件中打开从 MATL
14、AB 中转换过来的工程文件,注意在自动生成的VHDL 语言(见附录二)里的断口处添加“clock1 : out std_logic;clock2 : out std_logic;”语句,在“end architecture aDspBuilder;”之前添加“clock1=clock; clock2=clock; ”语句。将 VHDL 语言打包成模块如图所示。其中 clock 与 AD5510 的clk 相连,接外部输入;sclrp 接清零信号;intput9:0接 AD5510 的 dout7:0;input14;0和 input 分别锁定试验箱的按键(引脚图)input4 锁定按键控制选择
15、内、外的调制波。3.2.2 高速高速 A/D 转换器转换器 TLC55101)控制程序和模块TLC5510 控制程序见附录一。 TLC5510 控制模块如图 8,oe 为复位信号;din7:0接外部时钟信号; 为 clk 接外部时钟信号,与模块 fm 的 clock 相连。2)TLC5510 引脚图级说明TLC5510 24 引脚。POSP 表贴封装形式(NS)。其引脚排列如图 9 所示:各引脚功能如下:AGND:模拟信号地;ANALOGIN:模拟信号输入端;CLK:时钟输入端;DGND:数字信号地;D1D8:数据输出端口。D1 为数据最低位,D8 为最高位;OE:输出使能端。当 OE 为低时
16、,D1D8 数据有效,当 OE 为高时,D1D8 为高阻抗;VDDA:模拟电路工作电源;VDDD:数字电路工作电源;REFTS:内部参考电压引出端之一,当使用内部电压分压器产生额定的 2V 基准电压时,此端短路至 REFT 端;REFT:参考电压引出端之二;REFB:参考电压引出端之三;REFBS:内部参考电压引出端之四,当使用内部电压基准器产生额定的 2V 基准电压时,此端短路至 REFB 端。7 3.2.3 调试与操作说明调试与操作说明1)引脚锁定如图 10 所示图 10 引脚锁定图2)嵌入逻辑分析仪按图 11 所示嵌入分析仪,进行参数设置。首先选择工作时钟信号 Clock,单机Clock 文本框右侧的”按钮。接着在 Data 栏的Sample depth 下拉菜单中选择信号深度为 2k。 3)编译下载,选择模式 NO.5选定 Processing 下的 Start Compilation 命令,启动编译下载。4)启动逻辑分析仪查看波形如图 128 图 12 实验波形 3.2.4 顶层文件设计顶层文件设计为建立顶层文件,首先必须打开原理图编辑器。调出所需要的元件,其中 Tcl551