课程设计(论文):基于VHDL信号发生器的设计.doc

上传人:韩长文 文档编号:3971816 上传时间:2019-10-11 格式:DOC 页数:31 大小:3.15MB
返回 下载 相关 举报
课程设计(论文):基于VHDL信号发生器的设计.doc_第1页
第1页 / 共31页
课程设计(论文):基于VHDL信号发生器的设计.doc_第2页
第2页 / 共31页
课程设计(论文):基于VHDL信号发生器的设计.doc_第3页
第3页 / 共31页
课程设计(论文):基于VHDL信号发生器的设计.doc_第4页
第4页 / 共31页
课程设计(论文):基于VHDL信号发生器的设计.doc_第5页
第5页 / 共31页
点击查看更多>>
资源描述

《课程设计(论文):基于VHDL信号发生器的设计.doc》由会员分享,可在线阅读,更多相关《课程设计(论文):基于VHDL信号发生器的设计.doc(31页珍藏版)》请在三一文库上搜索。

1、1 课程设计(论文) 题 目 名 称 基于 VHDL 信号发生器的设计 课 程 名 称 电子系统设计 学 生 姓 名 学 号 0741227283 系 、专 业 信息工程系、07 电子信息工程 指 导 教 师 2010 年 11 月 18 日 2 邵阳学院课程设计(论文)任务书 年级专业07 电子信息工程学生姓名 学 号0741227283 题目名称基于 VHDL 信号发生器的设计设计时间11.08 至 11.19 课程名称电子系统设计课程编号设计地点校内 一、课程设计(论文)目的 通过查资料、选方案、设计电路、编写程序,调试程序和撰写设计报告等方式使 学生得到一次较全面的开发设计训练。理论联

2、系实际,培养和提高学生创新能力,为 后续课程的学习、毕业设计、毕业后的工作打下基础。 二、已知技术参数和条件 具有产生三种基本波形脉冲信号(正弦波、矩形波和三角波),以及三次(及三次 以下)谐波与基波的线性组合脉冲波形输出,且单脉冲输出脉宽及连续脉冲输出频 率可调,范围从 100HZ 到 1kHZ,步进为 100HZ;幅度可调,从 0 到 5 伏,步进为 0.1V。 三、任务和要求 设计一个基于 VHDL 信号发生器,要求: 1、设计出硬件电路; 2、设计出软件编程方法,并写出源代码; 3、用 MAX-PLUS 软件进行仿真; 4、论文格式要符合学院的统一规定,结构要合符逻辑,表达要得体。 注

3、:1此表由指导教师填写,经系、教研室审批,指导教师、学生签字后生效; 2此表 1 式 3 份,学生、指导教师、教研室各 1 份。 3 四、参考资料和现有基础条件(包括实验室、主要仪器设备等) 1有 EDA 实验室,MAX-PLUS 软件和 EDA 课程设计方面的书籍; 2有电子综合试验室,拥有 EDA,DSP,FPGA 等专用开发软件和仿真下载设备; 3有学校购买的丰富的电子资源(如中国知网,万方数据库等)。 五、进度安排 时间任务 2010 年 11 月 08 日课程设计动员 2010 年 11 月 11 日查阅资料,提出设计方案 2010 年 11 月 14 日电路设计、程序设计、系统仿真

4、 2010 年 11 月 17 日撰写课程设计论文 2010 年 11 月 19 日仿真结果验收、答辩、成绩评定 六、教研室审批意见 教研室主任(签字): 年 月 日 七、主管教学主任意见 主管主任(签字): 年 月 日 八、备注 4 指导教师(签字): 学生(签字): 邵阳学院课程设计(论文)评阅表 学生姓名 学 号 0741227283 系 信息工程系 专业班级 07 电子信息工程 题目名称 基于 VHDL 信号发生器的设计 课程名称 电子系统设计 一、学生自我总结 学生签名: 年 月 日 二、指导教师评定 评分项目平时成绩报告格式电路设计仿真创新性综合成绩 权 重 2020401010

5、单项成绩 指导教师评语: 指导教师(签名): 年 月 日 注:1、本表是学生课程设计(论文)成绩评定的依据,装订在设计说明书(或论文)的“任务书”页后面; 2、表中的“评分项目”及“权重”根据各系的考核细则和评分标准确定。 5 摘要 本次设计课题为应用VHDL语言及MAX+PLUS II软件提供的原理图输入 设计功能,结合电子线路的设计加以完成一个可应用于数字系统开发或实验时做输 入脉冲信号或基准脉冲信号用的信号发生器,它具结构紧凑,性能稳定,设计结构 灵活,方便进行多功能组合的特点,经济实用,成本低廉。具有产生三种基本波形 脉冲信号(正弦波、矩形波和三角波),以及三次(及三次以下)谐波与基波

6、的线 性组合脉冲波形输出,且单脉冲输出脉宽及连续脉冲输出频率可调,范围从100HZ 到1kHZ,步进为100HZ;幅度可调,从0到5伏,步进为0.1V。 关键词:信号发生器;FPGA;EDA;VHDL语言。 6 ABSTRACT This design topic for the schematic diagram input design function which provides using the VHDL language and the MAX+PLUS II software, the bonding electron lines design completes may ap

7、plies when the number system development either the experiment makes the signal generating device which the input pulse signal or the reference pulse signal use, it has the structure to be compact, the stable property, the design structure is flexible, facilitates carries on the multi-purpose combin

8、ations the characteristics, the economy is practical, the cost is inexpensive. Has produces three kind of basic waveform pulse signal (sine wave, rectangular wave and triangular wave), as well as three times (and below three times) overtone and fundamental wave linear combination pulse waveform outp

9、ut, and single pulse output pulse width and continual pulse output frequency adjustable, the scope from 100HZ to 1kHZ, step-by-steps is 100HZ; Scope adjustable, from 0 to 5 volts, step-by-steps is 0.1V. Key words: Signal generating device; FPGA; EDA; VHDL language. 目录 摘要I ABSTRACTII 第1 章 前言1 第 2 章 设

10、计方案3 2.1 总体设计思路3 2.2 方案论证4 2.3 方案确定5 第 3 章 软件设计6 3.1 波形产生模块6 3.2 频率控制模块7 3.3 选择波形模块8 3.4 分频器模块9 第 4 章 硬件电路设计11 4.1 硬件设计注意事项11 4.2 滤波电路11 4.3 幅度控制电路12 4.4 FPGA 器件引脚分配12 4.5 硬件电路实现13 第 5 章 调试14 5.1 设计及仿真调试使用设备14 5.2 调试方法14 5.3 调试结果15 第 6 章 结论20 致谢22 附录23 1 第第 1 章 前言 随着我国的经济日益增长,社会对电子产品的需求量也就越来越大,目前, 我

11、国的电子产品市场正在迅速的壮大,市场前景广阔。FPGA(Field Programmable Gate Array,现场可编程门阵列)在现代数字电路设计中发挥着 越来越重要的作用。FPGA/CPLD(Complex Programmable Logic Device) 所具有的静态可重复编程和动态在系统重构的特性,使得硬件的功能可以像软 件一样通过编程来修改,这样就极大地提高了电子系统设计的灵活性和通用性, 缩短了产品的上市时间并降低可电子系统的开发成本,且可以毫不夸张地讲, FPGA/CPLD能完成任何数字器件的功能,从简单的74电路到高性能的 CPU。它的影响毫不亚于20世纪70年代单片机

12、的发明和使用。 现在随着电子技术的发展,产品的技术含量越来越高,使得芯片的复杂程 度越来越高,人们对数万门乃至数百万门设计的需求也越来越多,特别是专用 集成电路(ASIC)设计技术的日趋进步和完善,推动了数字系统设计的迅速 发展。仅靠原理图输入方式已不能满足要求,采用硬件描述语言 VHDL 的设计方 式应运而生,解决了传统用电路原理图设计大系统工程时的诸多不便,成为电 子电路设计人员的最得力助手。设计工作从行为、功能级开始,并向着设计的 高层次发展。这样就出现了第三代EDA系统,其特点是高层次设计的自动化。 第三代EDA系统中除了引入硬件描述语言,还引入了行为综合工具和逻 辑综合工具,采用较高

13、的抽象层次进行设计,并按层次式方法进行管理,可大 大提高处理复杂设计的能力,缩短设计周期,综合优化工具的采用使芯片的品 质如面积、速度和功耗等获得了优化,因而第三代EDA系统迅速得到了推广 应用。 目前,最通用的硬件描述语言有VHDL和VerilogHDL两种,现在大多 设计者都使用93年版标准的VHDL,并且通过了IEEE认定,成为世界范围 内通用的数字系统设计标准。VHDL是一种新兴的程序设计语言,使用 VHDL进行设计其性能总是比常规使用CPU或者MCU的程序设计语言在性 能上要高好几个数量级。这就是说,在传统上使用软件语言的地方,VHDL 语言 作为一种新的实现方式会应用得越来越广泛。

14、本课题设计是采用美国Altera公 司的FLEX10K10器件,使用的是Altera公司的EDA软件平台Maxplus 2 II可编程逻辑器件开发软件。基于EDA工具的FPGA/CPLD的开发流程 CPLD/FPGA器件的设计一般可分为设计输入、设计实现和编程三个设计步骤: 1.设计输入方式主要由文本输入和图形输入两种,可根据需要选择,也可 混合输入。EDA工具会自动检查语法; 2.设计实现阶段EDA工具对设计文件进行编译,进行逻辑综合、优化, 并针对器件进行映射、布局、布线,产生相应的适配文件; 3.编程阶段EDA软件将适配文件配置到相应的CPLDFPGA器件中, 使其能够实现预期的功能。

15、信号发生器是数字设备运行工作中必不可少的一部分,没有良好的脉冲信 号源,最终就会导致系统不能够正常工作,更不必谈什么实现其它功能了。不 论是处于开发还是故障检修阶段,输出标准且性能优秀的信号发生器总是能够 带来工作效率的大幅提升,使新产品有一个标准的信号源、损坏的系统得到正 确校验,不会被一些故障所蒙蔽。在传统的信号发生器中,大都使用分立元件, 而且体积庞大携带不便,且大部分只能输出一种脉冲信号波形。在设计领域, 不管采用什么技术生产,生产的产品用在哪里,其产品设计的宗旨都是离不开 以下几点:实用性高、成本低、可升级、功能完善可扩展等!使用专用的数字 电路设计的信号发生器,设备成本高、使用复杂

16、。基于以上考虑,在中小型数 字电路的设计和测试中,迫切需要设计一种小型易用成本低廉的信号发生器。 此课题的设计以小型经济,集成度高,性能稳定,使用方便为指导,在功能上 力求完善实用,同时兼顾商业价值与应用价值的体现。 3 第 2 章 设计方案 2.1 总体设计思路 2.1.1 设计步骤 此设计将按模块式实现,据任务书要求,设计总共分四大步份完成:(1) 产生波形(三种波形:方波、三角波和矩形波)信号;(2)波形组合;(3) 频率控制;(4)幅度控制。 2.1.2 设计思想 利用VHDL编程,依据基本数字电路模块原理进行整合。系统各部分所 需工作时钟信号由输入系统时钟信号经分频得到,系统时钟输入

17、端应满足输入 脉冲信号的要求。组合波形信号经显示模块输出。具备幅度和频率可调功能, 幅度可通过电位器调整,频率控制模块则是一个简易的计数器,控制步径为 100HZ的可调频率,最终送至脉冲发生模块输出脉冲信号,达到设计课题所要 求的输出波形频率可调及幅度可调功能。幅度可调功能由于比较简单,可以在 FPGA外部利用硬件电路实现。总体设计框图如下图1所示: 1KHZ 图 1 总体设计框图 控制电路 正 弦波、 方波、 三角波 信号产 生模块 波 形组合 选择模 块 幅 度控制/ 电位器 频率 控制模块/ 计数器模 块 滤 波电 路 FPGA 输出 电路 100HZ1K HZ 4 2.2 方案论证 2

18、.2.1 方案一 采用DDS(直接数字频率合成器)来设计,设计总体框图如图2所示。 在设计界里众所周知,DDS器件采用高速数字电路和高速D/A 转换技术,具 有频率转换时间短、频率分辨率高、频率稳定度高、输出信号频率和相位可快 速程控切换等优点,所以,我们可以利用DDS具有很好的相位控制和幅度控 制功能,另外其数据采样功能也是极具精确和完善的,它可以产生较为精确的 任何有规则波形信号,可以实现对信号进行全数字式调制。用FPGA和DDS 实现信号调制,既克服了传统的方法实现带来的缺点,若采用它来编程设计, 必定会事半功倍,且使设计趋于理想状态。但鉴于DDS的占用RAM空间较 大,我们设计是采用F

19、PGA10K10器件,总共只有一万门的逻辑门数量,而 整个DDS设计下来,大概最少会占用3-4万门的数量,所以在性价比方面不 合理,这样也使得我们的设计会有些不切实际。 频率控制字 信号输出 时钟 图 2 DDS 与 FPGA 总体设计图 2.2.2 方案二 采用震荡器频率合成方案。具体方案如下:首先通过频率合成技术产生所 需要频率的方波,通过积分电路就可以得到同频率的三角波,再经过滤波器就 可以得到正弦波。其优点是工作频率可望做得很高,也可以达到很高的频率分 辨率;缺点是使用的滤波器要求通带可变,实现很难,高低频率比不可能做得 很高。 2.2.3 方案三 采用VHDL语言来编程,然后下载文件

20、到FPGA来实现。VHDL语言 是电子设计领域的主流硬件描述语言,具有很强的电路描述和建模能力,能从多 个层次对数字系统进行建模和描述,从而大大降低了硬件设计任务,提高了设 计效率和可靠性,要比模拟电路快得多。该方案是利用FPGA具有的静态可重 相位 累加器 R OM D /A 变 换 低 通滤 波 5 复编程和动态在系统重构的特性,使得硬件的功能可以像软件一样通过编程来 修改,极大地提高了电子系统设计的灵活性和通用性,而且大大缩短了系统的 开发周期。 2.3 方案确定 由上述三个方案对比,采用第三种方案: 通过FPGA软件扫描方式将波形数据读出传输给DAC0832产生波形输 出。这种方法在软

21、、硬件电路设计上都简单,且与我们的设计思路紧密结合。 由于幅度控制部分在设计需要用到数字电子,这样有要经过 D/A 转换器再 输出,必将占用大量资源,造成不必要的开销。鉴于有设计经验的同学和老师 的建议,采用一个电位器代替,虽然精确度不够,但是也弥补了性价比方面的 不足。 波形组合如果采用分开式模块实现,也必将导致占用大量的资源,而且模 块设计复杂度提高,只要采用重复调用一个模块的设计方法,既可以降低资源 的占用率,也使得设计更加灵活且有针对性。此信号发生器的特点及功能集成 度高,因采取整体模块式设计,在此也考虑到实际应用中,万一FPGA的逻辑 门数量不够,特准备了一套备用方案。 备用方案:将

22、波形数据存放在6116RAM中,6116的存储容量大,且可 重复使用,虽用单片机在速度方面远不及 FPGA,但是这样是在出现上述状况后 的最佳补偿方式。 综合以上涉及方面的分析,因此本次课题采用此方案进行设计。 6 第 3 章 软件设计 3.1 波形产生模块 本设计用VHDL语言根据傅立叶函数采集点进行扫描,分别产生正弦波、 三角波和矩形波。以下介绍各种常用周期信号的傅立叶函数展开式。 3.1.1 正弦波 (1)设计思想 正弦波发生分为两个步骤,即正弦波幅值采样存储和正弦波波形的还原输 出。幅值采样是将一个周期正弦波进行64等分,如图3所示,将64个采样点 进行量化处理,量化值=255*sin

23、360/64(V),将64点量化值存入存储器。 正弦波形的产生是通过循环反复将存储器中的64点采样值通过DAC0832进 行还原输出,得到幅值正比于64点采样值的正弦波。 f(t) A t 0.5T -A T 图图 12-18(c) 矩矩形形波波三三 (2)VHDL实现 1正弦信号波形数据文件建立 正弦波波形数据由64个点构成,此数据经DAC0832,可在示波器上观 察到正弦波形。源程序见附录: 3.1.2 矩形波 1 设计思路 矩形波的实现较之正弦波发生简单,由于矩形波是两个电平值间的交替变 换,因此波形采样值的预存只要有两个不同的数值就行了,为了使矩形波发生 的频率灵活可调,采用60个采样

24、值扫描输出来实现,每半个矩形波周期采用 图 3 正弦波采样图图 4 方波采样 图 T f (t) 7 三十个采样值,循环反复将存储器中的60点采样值通过DAC0832进行还原 输出,得到幅值正比于点采样值的矩形波。采样图如图4所示。 2 VHDL实现 源程序见附录。 3.1.3 三角波 1 设计思路 由于三角波是线性的,比较简单就可以产生,如果最低电压设为15V,最 高是255V,那么根据它的公式255/15=17,每个点的电压只要依次加17就 可以得到,一个波形所以采用简单的加减算法就可实现,如图5所示三角波的 采样图: f(t) A t T -A 图图 12-19 三三角角波波 图 5 三

25、角波采样图 2 VHDL实现 具体源程序见附录。 3.1.4 基波 通过VHDL编程产生的正弦波、方波、三角波三种周期性波形即为基波。 3.1.5 谐波的产生 采用与基波产生的同样原理,编程产生三种波形的谐波,所不同的是一个 波形的周期采样的点数不同,如果基波采样点为63个,谐波采样点数则为21 个,其每点的电压值为255*(sin360/60+sin360/20)(V),在对其进行 循环扫描即可实现基波与谐波的线性叠加。 3.1.6 波形模块图 最终波形的设计模块图如图6所示,L1是三角波,L2是方波,L3是正 弦波,L4是谐波。 8 3.2 频率控制模块 本课题要求频率控制是在100HZ-

26、1KHZ,步进为100HZ。在本题设计中 只需借助FPGA便可完成。根据用户需要的频率,通过编程把频率控制数值传 送给各个模块,从而实现频率的控制。如下图7所示: 3.3 选择波形模块 这一部分主要是通过一个按键对波形进行循环选择,按下确认按钮后进 行波形的调用。设计流程图如下图8所示 图 6 波形模块图 开始 频率 控制按下 否 读入按键数 值 调用频率控制 模块 Y N 键按下 否? 9 确认键按下 否? 图 7 频率控制模块流程图 图 8 选择波形电路设计流程图 3.4 分频器模块 3.4.1 设计思路 分频器模块将输入的高频脉冲降频得到各模块所需的低频脉冲,分频器模 块利用计数器的原理

27、进行设计,通过对预设的分频值进行比较计数,实现输入 高频时钟脉冲的分频输出功能。本次课题的设计方案中使用了十组分频器,其 设计原理完全相同,将对应的频率用8421BCD码对其进行编程赋值,如 100HZ 则对应的二进制数是“0000”,200HZ则是“0001”1KHZ则是 “1010”。现选取其中的500分频分频器进行简单说明。具体程序见附录。 返回 开始 返回 波形选 择控制按下 否 进行波形的 调用 调用波形选择 程序 Y N Y N 10 3.4.2 VHDL 实现 PROCESS(CLK_IN) BEGIN IF(CLK_INEVENT AND CLK_IN=0) THEN IF S

28、tep8,lpm_widthad=6, lpm_address_comtrol=“registered“,lpm_outdata=“unregistered“, lpm_file=“D:/SIN_G/DATA/sin_data.mif“) port map(address=address,inclock=inclock,q=sub_wire0); end syn; /正弦波信号发生器顶层设计源程序: library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigend.all; entity signt is port(c

29、lk:in std_logic; dout:out std_logic_vector(7 downto 0); end architecture dacc of singt is component sindata port(address:in std_logic_vector(5 downto 0); inclock:in std_logic; q:out std_logic_vector(7 downto 0); end conponent; signal q1:std_logic_vector(5 downto 0); begin process(clk) begin if clkevent and clk=1then q1q1,q=dout;in clock=clk); end;

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

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1