收藏 分销(赏)

基于VHDL语言信号发生器的设计.EDA课程设计.doc

上传人:天**** 文档编号:4388373 上传时间:2024-09-18 格式:DOC 页数:24 大小:835.54KB
下载 相关 举报
基于VHDL语言信号发生器的设计.EDA课程设计.doc_第1页
第1页 / 共24页
基于VHDL语言信号发生器的设计.EDA课程设计.doc_第2页
第2页 / 共24页
基于VHDL语言信号发生器的设计.EDA课程设计.doc_第3页
第3页 / 共24页
基于VHDL语言信号发生器的设计.EDA课程设计.doc_第4页
第4页 / 共24页
基于VHDL语言信号发生器的设计.EDA课程设计.doc_第5页
第5页 / 共24页
点击查看更多>>
资源描述

1、 基于VHDL语言信号发生器设计 1、设计目标 1) 掌握使用EDA 工具设计信号发生器系统设计思绪和设计方法,体会使用EDA综合过程中电路设计方法和设计思绪不一样,了解层次化设计理念。 2) 熟悉在Quartus II环境中,用文本输入方式与原理图输入方式完成电路设计,同时掌握使用这两种方式相结合EDA 设计思绪。 3) 经过这一部分学习,对VHDL 语言设计方法进行深入学习,对其相关语言设计规范进行更深层次掌握,能够愈加熟练做一些编程设计 2、设计主要内容和要求 经过使用VHDL 语言及Quartus II软件,设计多功效信号发生器每个模块,将正弦波模块,方波模块,三角波模块,阶梯波模块创

2、建对应元件符号,同时设计好4选1数据选择器模块,再经过原理图输入方式,将各个模块组合起来,设计成一个完整多个信号发生器电路,同时将各个模块单独进行仿真,设计各个模块仿真波形,最终进行总原理图电路仿真,设计该信号发生器总仿真波形。 信号发生器:表现在它能自动实现四种波形转换。 依照题目标分析与整体构思可知,要完成设计任务必须完成以下要求: 1、 设计好用于波形切换四路数据选择器 selector4_1; 2、 设计好用于总电路设计各个信号输出模块; 3、 设计好数模(D/A)转换器。 3、整体设计方案 基本设计方案:在现有单一信号发生器基础上,加上其它信号模块,经过组合与设计,用数模转换器(D/

3、A)将选中信号源发出信号由数字信号转换为模拟信号,再用示波器显示出来,其信号发生器结构框图如图3.1所表示。信号发生器由各个单一信号模块组合而成,其中信号产生模块将产生所需各种信号,信号发生器控制模块能够用数据选择器实现,用4选1数据选择器实现对四种信号选择。最终将波形数据送入 D/A 转换器,将数字信号转换为模拟信号输出。用示波器测试D/A 转换器输出,能够观察到4种信号输出。 时钟信号信号产生信号控制D/A转换输出信号选择信号 图3.1 信号发生器结构框图 经过查找资料把各类信号模块程序输入到Quartus 中进行运行仿真,每一步都要慎重小心,错误难免,还需要经过书本和资料一一更正。 最终

4、,在前面模块做好基础上再考虑怎样输出波形问题,经过对四种波形采样就能够得到。 4、硬件电路设计与软件设计 依照题目分析与整体构思可知,要完成设计任务必须设计出以下模块: 4.1正弦波发生器实现 该模块产生以64个时钟为一个周期正弦波。 其VHDL 语言源程序代码以下所表示: LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL;- 打开库文件 USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY sinqi IS PORT ( clk : IN STD_LOGIC;-申明clk是标准逻辑位类型输入端口 clr : IN STD_LOGIC

5、; -申明clr是标准逻辑位类型输入端口 d : OUT integer range 0 to 255); -申明d是标准逻辑向量类型 -输出端口 END sinqi; ARCHITECTURE sinb OF sinqi IS BEGIN PROCESS(clr,clk) variable temp:integer range 0 to 63; BEGIN IF clr=0 THEN dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddnull; -当temp值不是选择值,Q 作未知 -处理 END CASE; E

6、ND IF; END PROCESS; END sinb; 4.2 方波信号发生器实现该模块产生方波,是经过交替送出全0和全1实现,每16个时钟翻转一次。 其VHDL 语言源程序代码以下所表示: LIBRARY IEEE;-打开库文件 USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY fangboqi IS PORT (clk: IN STD_LOGIC;-申明clk是标准逻辑位类型输入端口 clr: IN STD_LOGIC;-申明clr是标准逻辑位类型输入端口 q: OUT STD_LOGIC_VECT

7、OR(7 DOWNTO 0);-申明q是标准逻辑 -向量类型输出端口 END fangboqi; ARCHITECTURE fangbo1 OF fangboqi IS -结构体说明 SIGNAL a: STD_LOGIC; BEGIN PROCESS(clk,clr) VARIABLE tmp:std_logic_vector(3 downto 0) ; -变量定义 BEGIN IF clr=0 THEN a=0; ELSIF clkevent AND clk= 1 THEN -clk为上升沿 IF tmp=1111 THEN tmp:=0000; ELSE tmp:=tmp+1; END

8、IF; IF tmp1000 THEN a=1; ELSE a=0; END IF; END IF; END PROCESS; PROCESS(clk,a) BEGIN IF clkevent AND clk= 1 THEN -clk为上升沿 IF a=1 THEN q=11111111; -q赋值 ELSE q=00000000; -q赋值 END IF; END IF; END PROCESS; -结束进程 END fangbo1; -结束结构体 4.3 三角波信号发生器实现 该模块产生三角波形以64个时钟为一个周期,输出q每次加减8 其VHDL 语言源程序代码以下所表示: LIBRARY

9、 IEEE; -打开库文件 USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY sjbo IS PORT (clk : IN STD_LOGIC;-申明clk是标准逻辑位类型输入端口 clr : IN STD_LOGIC;-申明clr是标准逻辑位类型输入端口 q: OUT STD_LOGIC_VECTOR(7 DOWNTO 0);-申明q是标准逻辑 -向量类型输出端口 END sjbo; ARCHITECTURE sjqi OF sjbo IS -结构体说明 BEGIN PROCESS(clk,clr) VA

10、RIABLE tmp:STD_LOGIC_VECTOR(7 DOWNTO 0); -变量说明 VARIABLE a:STD_LOGIC; BEGIN IF clr=0 THEN tmp:=00000000; ELSIF clkevent AND clk=1 THEN -clk为上升沿 IF a=0 THEN IF tmp=11111000 THEN tmp:=11111111; a:=1; ELSE tmp:=tmp+8; END IF; ELSE IF tmp=00000111 THEN tmp:=00000000; a:=0; ELSE tmp:=tmp-8; END IF; END IF

11、; END IF; q=tmp; -q赋值 END PROCESS; END sjqi; 4.4 阶梯波信号发生器实现该模块产生是阶梯波形。其VHDL 语言源程序代码以下所表示: LIBRARY IEEE;-打开库文件 USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY jietiboqi IS PORT (clk : IN STD_LOGIC;-申明clk是标准逻辑位类型输入端口 clr : IN STD_LOGIC;-申明clr是标准逻辑位类型输入端口 Q: BUFFER STD_LOGIC_VECTOR

12、(7 DOWNTO 0); END jietiboqi; ARCHITECTURE jietibo OF jietiboqi IS -结构体说明 BEGIN PROCESS(clk,clr) VARIABLE tmp:STD_LOGIC_VECTOR(7 DOWNTO 0); -变量定义 BEGIN IF clr=0 THEN tmp:=00000000;-变量赋值 ELSE IF clkevent AND clk=1 THEN -clk为上升沿 IF tmp=11111111 THEN tmp:=00000000; ELSE tmp:=tmp+30; END IF; END IF; END

13、IF; QQQQQQ=null; -当sel值不是选择值时,Q 作未知处理 END CASE; END PROCESS; END one; 4.6 数模转换器(D/A) 图4.6 数模转换器DAC0832连接电路图 选择一个D/A转换器,将数据选择器输出信号与D/A转换器输入端相连接,D/A转换器可选择范围很宽,这里选择惯用DAC0832,其DAC0832连接电路如上图4.6所表示。 4.7 信号发生器程序流程框图 当输入端有时钟信号输入时,各个信号发生器模块独立运行,独立存在,发出各种信号,这些信号作为数据选择器输入信号,在数据选择器作用下,波形切换到对应模块输出,再经过数模转换器(D/A)

14、,将经过示波器显示出对应波形图,其程序流程图以下列图4.7所表示: 输入信号 各个信号发生器模块 开始 输出信号 数模转换器(D/A) 四选一数据选择器 复位 图4.7 信号发生器程序流程框图 5、系统仿真 经过Quartus软件设计出各个模块原理图及其相关仿真波形示意图以下:在Quartus II软件环境下,经过文本方式编写各个信号波形模块VHDL 语言源程序,且进行仿真。 接下来将各个信号波形模块产生对应元件符号,新建一个工程,加载上述模块,利用原理图输入法生成整体多波形信号发生器。 5.1正弦波发生器原理图及其仿真波形图: 正弦波信号发生器原理图以下列图所表示: 图5.1.1正弦波信号发

15、生器原理图正弦波信号发生器仿真波形图以下列图所表示: 图5.1.2正弦波信号发生器仿真波形图 Clk由0到1交替变更,clr 一直处于高电平状态,Q端则由00001000到00010000并依次加00001000 5.2方波发生器原理图及其仿真波形图: 方波信号发生器原理图以下列图所表示: 图5.2.1方波信号发生器原理图 方波信号发生器仿真波形图以下列图所表示: 图5.2.2方波信号发生器仿真波形图 Clk由0到1交替变更,clr 一直处于高电平状态,q端则由00000000到11111111并依次交替下去 5.3三角波发生器原理图及其仿真波形图: 三角波信号发生器原理图以下列图所表示: 图

16、5.3.1三角波信号发生器原理图 三角波信号发生器仿真波形图以下列图所表示: 图5.3.2 三角波信号发生器仿真波形图 Clk、clr均同时由0到1交替变更Q端则由00000000到00000001并依次加00000001进行下去 5.4阶梯波发生器原理图及其仿真波形图 阶梯波信号发生器原理图以下列图所表示: 图5.4.1阶梯波信号发生器原理图 阶梯波信号发生器仿真波形图以下列图5.8所表示: 图5.4.2 阶梯波信号发生器仿真波形图 Clk由0到1交替变更,clr 一直处于高电平状态,Q端从00000000开始则高四位依次由0001每次加0010进行下去,第四位依次由1110每次减0010进

17、行下去。 5.5 4选1数据选择器原理图及其仿真波形图 4选1数据选择器原理图以下列图所表示: 图5.5.1 4选1数据选择器原理图 4选1数据选择器仿真波形图以下列图所表示: 图5.5.2 4选1数据选择器仿真图 sel由00每次加01交替变更,依次选择Q输出值。 5.6信号发生器原理图及其仿真波形图 整体信号发生器原理图以下列图所表示: 图5.6.1信号发生器原理图 整体信号发生器仿真波形图以下列图所表示: 图5.6.2多功效信号发生器仿真图 clk由0到1交替变更,clr 一直处于高电平状态,Q端则由56每次加8依次进行下去。 6、使用说明 6.1 从Quartus II软件环境中编写各

18、个相关信号模块VHDL语言源程序及生成相关模块元件符号名称: sinqi: 正弦波信号发生器模块; fangboqi: 方波信号发生器模块; sjqi1: 三角波信号发生器模块; jietiboqi: 阶梯波信号发生器模块; selector4_1: 四选一数据选择器输出模块; 多功效信号发生器输出波形能够由sel中位组合形式选择,从而控制信号发生器波形输出,经过sel不一样值能够选取正弦波信号发生器模块、方波信号发生器模块、正弦波信号发生器模块及三角波信号发生器模块、 6.2整体电路综合分析 在Quartus II软件环境原理图输入方式中放置各个元件符号,放置输入和输出接口、组合各个信号模块

19、、连线、编译、建立波形仿真图、仿真。 全部操作都是在Quartus II软件环境中进行,输入信号从各个信号发生器模块输入端输入,经过数据选择器输出所选择信号来切换输出对应波形输出,在经过数模转换器(D/A)将数字信号转换为模拟信号,最终由示波器显示对应波形。 7、总结 在此次课程设计中,我设计很好地完成了既定目标,能够产生正弦波、方波、三角波和阶梯波波形,很成功完成系统功效实现。经过该课程设计使我全方面熟悉、掌握了VHDL 语言基本知识,掌握利用VHDL 语言对信号发生器编程和时序逻辑电路编程,把编程和实际结合起来,熟悉编制和调试程序技巧,掌握分析结果若干有效方法,深入提升动手能力,培养使用设

20、计综合电路能力,养成提供文档资料习惯和规范编程思想。 在设计过程中,也碰到了很多问题,在同学和指导老师帮助下,都一一得到了处理。从选题到定稿,从了解到熟悉,用了大约一个星期时间,在这段时间内,苦恼、思索、喜悦、收获,感受颇多。当然此次设计也表现出我平时学习中有许多不足和欠缺之处,今后需经过学习来查漏补缺。 参考文件 1 江国强.EDA技术与应用(M).电子工业出版社,.20(3):36-39 2 赵建东,陈小乐.基于 Internet 智能家庭网络控制器实现J.电子技术应用, ,34(12) :23-25. 3 李永东,岳继光,李炳宇.PIC单片机在楼宇对讲系统中应用J.电 4 李强华,张根宝,段力基于单片机控制楼宇对讲系统设计J.电气应用,12(01):04-06. 5 江国强.EDA技术与应用(第3版),4(11):10-22 6 吴庆元,卢益民.智能小区系统通信协议设计J.通信技术,19(7):98-99.

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 学术论文 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服