数控移相信号发生器.docx

上传人:b****3 文档编号:2804553 上传时间:2022-11-15 格式:DOCX 页数:12 大小:169.96KB
下载 相关 举报
数控移相信号发生器.docx_第1页
第1页 / 共12页
数控移相信号发生器.docx_第2页
第2页 / 共12页
数控移相信号发生器.docx_第3页
第3页 / 共12页
数控移相信号发生器.docx_第4页
第4页 / 共12页
数控移相信号发生器.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

数控移相信号发生器.docx

《数控移相信号发生器.docx》由会员分享,可在线阅读,更多相关《数控移相信号发生器.docx(12页珍藏版)》请在冰豆网上搜索。

数控移相信号发生器.docx

数控移相信号发生器

湖南人文科技学院

课程设计报告

课程名称:

VHDL语言与EDA课程设计

 

设计题目:

数控移相信号发生器

系别:

通信与控制工程系

专业:

电子信息工程

班级:

2008级2班

学生姓名:

刘智琨李梦雄

学号:

0840920208409204

起止日期:

2011年6月13日~2011年6月24日

指导教师:

姚毅成继中

教研室主任:

侯海良

指导教师评语:

 

指导教师签名:

年月日

成绩评定

项目

权重

成绩

刘智琨

李梦雄

1、设计过程中出勤、学习态度等方面

0.2

2、课程设计质量与答辩

0.5

3、设计报告书写及图纸规范程度

0.3

总成绩

教研室审核意见:

 

教研室主任签字:

年月日

教学系审核意见:

 

主任签字:

年月日

摘要

随着现代电子测量技术的发展,能够产生各种波形信号的数字式信号发生器的应用越来越广泛,本系统介绍了一种以DDS为基本单元的数字移相信号发生器的设计方法。

根据设计要求,我们需要设计一个数控移相信号发生器,能通过按键进行移相控制,每按一键增加或减小相位差1~2度,输出信号的频率为50KHZ。

输出波形峰-峰值大于2V。

根据本学期所学习的,我们利用QuartusⅡ和Matlab/Simulink之间的接口工具DSPBuilder来完成整个设计要求。

首先在Matlab中DSPBuild的Simulink中进行建模,系统仿真通过SignalCompiler将模型设计文件转换成相应的硬件描述语言(VHDL),在QuartusⅡ平台上进行综合生成网表文件,并适配下载至FPGA。

利用FPGA设计的DDS对整个功能的实现更为灵活,大大减少了外围硬件电路的设计,增加了系统的稳定性和可靠性。

设计者只需要掌握有关该设计所使用的软件即可自行设计,大大的简化了设计的过程。

关键词:

DDS;数控;信号发生器;移相;MATLAB

 

目录

设计要求1

1设计方案论证1

1.1方案一1

1.2方案二2

1.3方案选择2

2系统总体方案设计及实现3

2.1数控移相信号发生器设计3

2.1.1DDS3

2.1.2相位字输入的计算4

2.1.3输出波形峰峰值的计算4

2.1.4相位差的计算5

2.1.5数控移相信号发生器电路模型图5

2.1.6各模块的功能说明5

2.1.7Simulink模型的仿真6

2.2SignalCompiler的使用7

2.2.1分析当前的模块7

2.2.2设置SignalCompiler7

2.2.3把模型文件MDL转换成VHDL7

2.2.4综合7

2.2.5QuartusⅡ试配7

2.3仿真波形7

2.4引脚的锁定8

3设计结果9

4设计结论9

5结束语及致谢10

6元器件及仪器设备明细表10

7参考文献11

数控移相信号发生器

设计要求

能通过按键进行移相控制,每按一键增加或减小相位差1~2度,输出信号的频率为50KHZ。

输出波形峰-峰值大于2V。

1设计方案论证

1.1方案一

图1方案一原理框图,该方案根据矩阵式键盘输入给FPGA送出频率控制字与相位控制字,用于设定输出正弦波的频率与相位。

高速D/A转换器用于正弦波的DA转换。

FPGA构成DDS的核心部分,用于接收送来的频率字与相位字,同时给DA转换器输出正弦波数据。

采用字符型液晶显示屏实时显示输出的频率与相位。

该方案需借助QuartusⅡ来完成。

图1方案一原理框图

 

1.2方案二

图2方案二原理框图,该方案是基于DSPBuilder与DDS并借助于MATLAB进行设计的。

首先在Matlab中DSPBuild的Simulink中进行建模,系统仿真通过SignalCompiler将模型设计文件转换成相应的硬件描述语言(VHDL),在QuartusⅡ平台上进行综合生成网表文件,并适配下载至FPGA。

在这个方案中,有两路正弦信号,一路为参考信号,另一路是可数控的移动信号,并且这两路可同步进行幅度和频率数控,即对于这两路输出的正弦信号,在相位、频率和幅度3个参数上都能完成等步长数控步进,而且还能对指定的参数进行设定。

图2方案二原理框图

1.3方案选择

方案一是基于QuartusⅡ,在设计的过程中,利用VHDL完成电路设计,必须借助于EDA工具中的综合器、适配器、时序仿真器和编程器等工具进行相应的处理,才能使此项设计在FPGA上完成硬件实现并得到硬件测试,在进行HDL文本输入设计流程中比较繁琐,而且容易出错。

而方案二是基于DSPBuilder进行手动流程设计,在设计过程中,DSPBuilder会自动完成VHDL的转换、综合、适配,而不像方案一那样要进行HDL文本输入,这样的话就能避免文本输入过程中的绝大多数错误。

因而我们选择方案二。

2系统总体方案设计及实现

2.1数控移相信号发生器设计

2.1.1DDS

图3是DDS基本结构原理图,它主要由相位累加器、相位调制器、正弦ROM查找表、D/A转换器等组成。

系统时钟clk由一个稳定的晶体振荡器产生,用来同步整个合成器的各组成部分。

同步寄存器的使用是为了当输入的频率字改变时不会干扰相位累加器的正常工作。

相位累加器是整个DDS的核心,它由N位加法器和N位相位寄存器级联构成,类似一个简单的加法器,完成上面推导中的相位累加功能。

每来一个时钟脉冲,加法器就将输入的N位频率字与相位寄存器输出的累加相位数据相加,然后将相加后的结果送至相位累加器的输入端,相位寄存器就将在上一个时钟作用后产生的新相位数据反馈到加法器的输入端,以使加法器在下一个时钟的作用下继续将相位数据与输入的频率字相加。

当相位累加器累加满量(2π)时,就会产生一次溢出,完成一个周期性的动作,这个周期就是合成信号的一个周期,累加器的溢出频率就是DDS的合成信号频率。

相位调制器接收相位累加器的相位输出,并与一个相位偏移值相加,主要用于信号的相位调制,如PSK(相移键控)等。

在不使用时可去掉该部分,或加一个固定的相位字输入。

注意相位字输入也要用同步寄存器保持同步,但相位字输入的宽度M与频率字输入N往往是不相等的,一般M

正弦ROM查找表的作用是完成查表转换,或理解为相位到幅度的转换。

将相位累加器或相位调制器输出的相位数据作为取样地址,来寻找正弦ROM表进行相位到幅度的变换,输出不同的幅度编码。

经D/A转换器得到相应的阶梯波,最后经过低通滤波器对阶梯波进行平滑处理,得到由输入的频率字决定的连续变化的输出正弦波。

下面的即为基本DDS结构的常用参数计算公式:

输出频率:

频率字:

其中

是频率控制字,

为系统基准时钟的频率值,N为相位累加器的数据位宽,也是频率控制字的数据位宽。

图3DDS基本结构原理图

频率控制字的可调整性使得系统输出频率非常容易调整。

输出正弦波频率f=fclk*frequword/2^20,系统时钟,频率控制字DDS系统时钟12MHz,异步于CPU时钟20bit频率控制字,8bit相位控制字,8bit数据输出每波形抽样256个点。

2.1.2相位字输入的计算

由DDS的频率输入字公式:

计算,式中N为相位累加器的数据位宽,也是频率输入字的数据位宽,fclk是系统基准时钟的频率值。

本设计中N=20,fclk=12MHZ,fout=50KHZ根据计算得出频率输入字为4369。

2.1.3输出波形峰峰值的计算

本设计中正弦查找模块输入地址为8位,输出位宽为10位,且输入地址总线为无符号整数,可设置起始值为0、结束值为2π、步进值为2π/26。

为了得到完整满度的波形输出,计算式可写成:

2.1.4相位差的计算

因为本设计中是,8bit相位控制字,8bit数据输出每波形抽样2^8=256个点,所以每按一键增加或减小相位差为3600/256=1.400即符合设计要求。

2.1.5数控移相信号发生器电路模型图

基于DDS的数字移相信号发生器是整个系统的设计核心部分,其电路模型图如图4所示。

 

图4基于DDS的数控移相信号发生器MDL模型

2.1.6各模块的功能说明

(1)如图5所示,该部分实现相位累加器的功能。

图5相位累加器

(2)如图6所示,该部分是频率字输入,不同的频率字输入会使得信号输出波形的频率不同。

图6频率字输入

(3)如图7所示,该部分是输入地址为6位,输出值位宽为8的正弦查找表模块,且输入地址总线为无符号整数。

图7LUT模块

2.1.7Simulink模型的仿真

在Sinout模型编辑窗口中,选择Slimulation→Start命令,开始仿真,等待仿真结束后,双击Scope模块,打开Scope观察窗口,得出如下波形图:

图8Scope输出波形

 

2.2SignalCompiler的使用

2.2.1分析当前的模块

双击Sinout模型中的SignalCompiler模块,之后单击Analyze按钮后,SignalCompiler就会对Sinout模型进行分析,检查模型有无错误,并在MATLAB主窗口中弹出对话框,并给出相关信息。

2.2.2设置SignalCompiler

SignalCompiler窗口中大致分为3个功能部分:

项目设置选项

硬件编译流程

信息框

2.2.3把模型文件MDL转换成VHDL

当设置好Device和Synthesis后,右侧的硬件编译部分就会列出一个操作:

(1)ConvertMDLtoVHDL

(2)Synthesis

(3)QuartusⅡ

2.2.4综合

单击步骤

(2)的图标,完成综合过程。

2.2.5QuartusⅡ试配

单击步骤(3)的图标,调用QuartusⅡ完成编译试配过程,生成编译文件。

编译文件可以直接用于FPGA的编译配置。

2.3仿真波形

在QuartusⅡ下的仿真图如图9所示

 

图9在QuartusⅡ下的仿真图

2.4引脚的锁定

设计中各引脚的锁定如图10所示

图10各引脚的锁

本设计选择工作模式1,通过键盘控制波形输出的频率和相位,从而达到数控移相的目的。

其中,按1,2键控制相位的变化,按7键清零。

3设计结果

最后D/A输出的信号经过滤波后得到的数字移相信号发生器逻辑分析仪输出波形如图11所示,

图11逻辑分析仪输出波形

4设计结论

通过设计和实验,得出以下结论:

(1)本设计通过键盘控制波形输出的频率和相位,每按一键增加或减小相位差1~2度,输出信号的频率为50KHZ。

输出波形峰-峰值大于2V。

(2)波形失真度与储存波形ROM的位数及主工作时钟频率有关。

(3)使用FPGA中的嵌入式锁相环或者增加采样波形数据的点数(此时需要外配置ROM),可以大大提高主工作时钟的频率,消除波形失真。

采用哪种方法或同时采用两种方法,取决于实际应用的需要。

(4)基于FPGA和VHDL的在系统可重编程的特点,系统更新只需修改VHDL程序即可,无需重新制作系统。

(5)本设计中的电路灵活性好,可生成任意波形,频率分辨率高,转换速度快,稳定性好,精度高,且均可对频率、相位、幅度实现程控。

5结束语及致谢

经过两周的努力,设计小组完成了题目要求的全部要求。

在这要感谢各位老师平时的谆谆教导和耐心的辅导。

特别是姚老师和成老师,在我们设计过程中给予了我们设计小组详细的指导和各种中肯的批评和建议,让我们很快的解决设计过程中碰到的各

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 英语

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1