EDA课设论文任意波形发生器Word文档下载推荐.docx
《EDA课设论文任意波形发生器Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《EDA课设论文任意波形发生器Word文档下载推荐.docx(16页珍藏版)》请在冰豆网上搜索。
![EDA课设论文任意波形发生器Word文档下载推荐.docx](https://file1.bdocx.com/fileroot1/2023-1/5/9c297dbf-ed01-410f-85e4-b56a60d6d560/9c297dbf-ed01-410f-85e4-b56a60d6d5601.gif)
实验心得18
致谢词19
参考文献20
绪论
随着电子技术的发展,产品的技术含量越来越高,是得芯片的复杂程度越来越高,人们对数万门乃至数百万门设计的需求也越来越多,特别是专门集成电路(ASIC)设计技术的日趋进步和完善,推动了数字系统设计的迅速发展。
仅靠原理图输入方式已不能满足要求,采用硬件设计描述语言VHDL的设计方式应运而生,解决了传统用电路原理图设计大系统工程时的诸多不便,成为电路设计人员的最得力助手。
设计工作从行为、功能级开始,并向着设计的高层次发展。
信号发生器是数字设备运行工作中必不可少的一部分,没有良好的信号发生器,最终会导致系统不能正常工作,更不必谈什么实现其它功能了。
不论是处于开发还是故障检修阶段,输出标准且性能优越的信号发生器总是能够带来工作效率的大幅提升。
新产品有一个标准的信号源,损坏的系统得到正确校验,不会被一些故障所蒙蔽。
在传统的信号发生器中,大都使用分立元件,而且体积庞大携带不便,且大部分只能输出一种波习。
在设计领域,不管采用什么技术生产,生产的产品用在哪里,其产品设计的宗旨都是离不开以下几点:
实用性高、成本低、可升级、功能完善、可扩展等。
使用专门的数字电路设计的信号发生器,设备成本高、使用复杂。
基于以上考虑,在中小型数字电路的设计和测试中,迫切需要设计一种小型易用成本低廉的信号发生器。
此课题的设计以小型经济、集成度高、性能稳定、方便使用为知道,在功能上力求完善实用,同时兼顾商业价值与应用价值的体现。
第一章系统设计
采用EDA技术利用MAX+PLUS
软件平台,设计的多功能波形发生器系统,大大简化其结构,降低成本,提高了系统的可靠性和灵活性。
设计中运用计数器,数据选择器,对所需的频率进行选择和同步。
使用宏功能模块存储波形。
然后多波形进行幅度的选择。
产生满足需要的不用频率和幅度的波形。
2设计的意义
信号发生器又称信号源或振荡器,在生产实践和科技领域中有着广泛地应用。
凡是产生测试信号的仪器,统称为信号源,也称为信号发生器,它用于产生被测电路所需特定参数的电测试信号。
信号源主要给被测电路提供所需要的已知信号(各种波形),然后用其它仪表测量参数。
可见,信号源在电子实验和测试处理中,并不测量任何参数,而是根据使用者的要求,仿真各种测试信号,提供给被测电路,以达到测试的需要。
它能够产生多种波形,如三角波、矩形波(含方波)、正弦波等,在电路实验和设备检测中具有十分广泛地用途。
例如,在通信、广播、电视系统中,都需要射频(高频)发射,这里的射频波就是载波,把音频(低频)、视频信号或脉冲信号运载出去,就需要能够产生高频的振荡器。
在工业、农业、生物医学等领域内,如高频感应加热、熔炼、淬火、超声诊断、核磁共振成像等,都需要功率或大或小、频率或高或低的信号发生器。
本设计采用EDA来设计制作多功能信号发生器。
该信号发生器可以产生正弦波、三角波、方波等波形。
第二章系统设计方案
1系统框图
图1.任意波形信号发生器系统框图
2系统电路图
图2.任意波形信号发生器系统电路图
3基本工作原理
将要产生的波形数据存入波形存储器中,然后在参考脉冲的作用下,对输入的频率数据进行累加,并将累加器输出的一部分作为读取波形存储器的地址,将读出的波形数据经D/A转换为相应的电压信号,D/A转换器输出的一系列的阶梯电压信号经低通滤波器滤波后便输出了光滑的合成波形的信号。
选择八种基础波形为设计与实现的对象,而八个波形作为同一个任意波形发生器里的四个部分,是有着同一个输入与输出,因此在设计上还需要对波形进行选择与控制的部分,通过对时钟脉冲输入的选择,使得八个波形模块只有一个输入为时钟脉冲,其他三个模块则输入始终为0。
在波形输出时,设计一个模块控制输出的波形是所要求输出的波形,在时钟脉冲选择与输出波形选择两模块之间。
对于频率的选择可以选择分频器,同时也可以选择计数器,本实验采用的是计数器以实现分频的效果,输出分别为二分频,四分频,八分频,十六分频用以实现不同的频率。
幅度调节可以使用lpm_divide,可以实现八种不同的幅度调节。
第三章单元电路模块源程序及功能
1分频模块
以下为分频模块(CT74161)的VHDL语言编程源程序:
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
USEIEEE.STD_LOGIC_ARITH.ALL;
USEIEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITYCT74161IS
PORT(clk:
INSTD_LOGIC;
clk_div2:
OUTSTD_LOGIC;
clk_div4:
clk_div8:
clk_div16:
OUTSTD_LOGIC);
ENDCT74161;
ARCHITECTURErtlOFCT74161IS
SIGNALcount:
STD_LOGIC_VECTOR(3DOWNTO0);
BEGIN
PROCESS(clk)
IF(clk'
EVENTANDclk='
1'
)THEN
IF(count="
1111"
Count<
=(OTHERS=>
'
0'
);
ELSE
=count+1;
ENDIF;
ENDPROCESS;
clk_div2<
=count(0);
clk_div4<
=count
(1);
clk_div8<
=count
(2);
clk_div16<
=count(3);
ENDrtl;
在MAX+PLUSII下得到的电路模块图形:
图1
软件仿真数据:
图2
2频率选择模块
以下为频率选择模块(tiaopin)的VHDL语言编程源程序
libraryieee;
useieee.std_logic_1164.all;
entitytiaopinis
port(s1,s0:
instd_logic;
a,b,c,d:
y:
outstd_logic);
endtiaopin;
architectureoneoftiaopinis
signals:
std_logic_vector(1downto0);
signaly_temp:
std_logic;
begin
s<
=s1&
s0;
process(s1,s0,a,b,c,d)
casesis
when"
00"
=>
y_temp<
=a;
01"
=b;
10"
=c;
11"
=d;
whenothers=>
y<
='
X'
;
endcase;
endprocess;
y<
=y_temp;
endone;
在MAX+PLUS
下得到的电路模块图形:
图3
3波形选择模块
以下为波形选择模块(decoder)的VHDL语言编程源程序
entityDECODERis
port(a0,a1,a2,s0,s1,s2:
instd_logic;
y0,y1,y2,y3,y4,y5,y6,y7:
outstd_logic);
endDECODER;
architectureymqofDECODERis
signala:
std_logic_vector(2downto0);
begin
a<
=a2&
a1&
a0;
process(a,s0,s1,s2)
variabley:
std_logic_vector(7downto0);
if(s2='
ands1='
ands0='
)then
caseais
when"
000"
y:
="
11111110"
001"
11111101"
010"
11111011"
011"
11110111"
100"
11101111"
101"
11011111"
110"
10111111"
111"
01111111"
XXXXXXXX"
else
11111111"
endif;
y0<
=y(0);
y1<
=y
(1);
y2<
=y
(2);
y3<
=y(3);
y4<
=y(4);
y5<
=y(5);
y6<
=y(6);
y7<
=y(7);
endymq;
图4
图5
4.输出波形选择模块
以下为输出波形模块(lpm)的VHDL语言编程源程序
useieee.std_logic_unsigned.all;
entitylpmis
port(s1,s2,s3:
a,b,c,d,e,f,g,h:
instd_logic_vector(7downto0);
z:
outstd_logic_vector(7downto0));
endlpm;
architectureoneoflpmis
signals:
s<
=s3&
s2&
s1;
process(s1,s2,s3,a,b,c,d,e,f,g,h)
casesis
when"
z<
=e;
=f;
=g;
=h;
whenothers=>
null;
endcase;
endprocess;
图6
图7
5.幅度控制模块
以下为幅度控制模块(tiaofu)的VHDL语言编程源程序
entitytiaofuis
port(a,b,c:
sel:
outstd_logic_vector(2downto0));
endtiaofu;
architecturethreeoftiaofuis
begin
sel<
=a&
b&
c;
endthree;
在MAX+PLUSII下得到的电路模块图形
图7
该模块是通过硬件实现的,实现数模转化,所用的芯片为DAC0832,输入一个八位的数据,输入值的范围为0-255,最高幅度为5V。
图8
7系统总的仿真
仿真波形
第四章实验结果及硬件验证
引脚锁定:
试验中将脉冲输入选择和波形输出选择的输入端接在一起,以实现同步。
接实验箱的开关,实现数字信号对模拟波形的控制。
将八位输出端接数模转换模块。
其引脚锁定图如下:
用导线连接各引脚,并将实验设计下载到试验箱。
用示波器观察输出波形。
。
软件模拟数据和示波器显示波形相吻合,能产生八种稳定的波形,具有八种幅度调节和四种频率选择。
图2:
实验硬件验证图
图3:
实验产生正弦波波形图
图4锯齿波波形图
图4锯齿波点状波形图
图6:
三角波波形图
图7:
矩形脉冲波形图
图8:
方波
图9:
自己设计任意波形
(1)
图10:
梯形波
实验心得
在这为期一周的课设中,我完成了信号发生器的设计,并能够完成它所需要实现的功能。
通过这次课程设计,是我懂得了理论与实际相结合的重要性。
只有理论的只是是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论才能真正学以致用,从而提高自己的实际动手能力和独立思考的能力。
在设计的过程中,遇到了许多问题,发现和认识到自己的不足之处,对以前所学过的只是理解得深度不够,掌握得不够牢固。
通过这一次的课程设计,对以往所学过的知识有了很好的把握。
同时,也感受到用硬件描述性语言的形式进行数字系统的设计方便灵活。
利用软件进行编译、优化、仿真,极大地减少了电路的设计时间和可能发生的错误,降低了开发的成本,这种设计方法必将在未来的数字系统中发挥越来越重要的作用。
希望自己在以后的生活中能够多接触这方面知识,可以有更多的机会将理论与实际相结合。
致谢词
首先,我深深地感谢我的老师朱路博士。
在这个学期的学习中,朱路老师给予我很多热情的鼓励和悉心的指导。
本论文正是在他的指导和帮助下完成的。
在论文选题、搜集数据和理论研究方面,朱路老师倾注了很多心血。
他严谨的治学作风和渊博的学识将使我受益终生。
同时,在这里,我还要真诚地感谢我的同学们。
在我的课题研究中,他们提出了很多有益的建议。
参考文献
1.潘松,黄继业,EDA技术实用教程(第二版)北京科学出版社.2005.
2.曾繁泰EDA工程理论与实践电子工业出版社2004.5
3.王道先VHDL电路设计技术北京国防工业出版社.2004.1
4.王志鹏.付丽琴.可编程逻辑器件开发技术MAX+PLUSII.北京国防工业出版社.2005.3