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