EDA函数发生器.docx
《EDA函数发生器.docx》由会员分享,可在线阅读,更多相关《EDA函数发生器.docx(12页珍藏版)》请在冰豆网上搜索。
![EDA函数发生器.docx](https://file1.bdocx.com/fileroot1/2022-11/15/77a94323-cb81-4d82-8de1-2c29059677fc/77a94323-cb81-4d82-8de1-2c29059677fc1.gif)
EDA函数发生器
《EDA设计》报告
题目:
D/A接口(函数发生器)的设计
专业班级:
电子班
学生姓名:
指导教师:
葛华
武汉理工大学信息工程学院
2012年12月日
EDA课程设计说明书
学生姓名:
王利宾专业班级:
电子1003班
指导教师:
葛华工作单位:
信息工程学院
题目:
D/A接口(函数发生器)的设计
设计并实现一个D/A转换控制器。
一、初始条件
计算机;QuartusII软件;试验箱
二、内容和要求
1、学习EDA的读写和编写程序。
2、学习利用实验箱去验证程序,并完成设计。
3、使用实验仪器上现有的D/A转换器AD5620或AD558。
4、采用CPLD完成对AD5620或AD558的控制,并与AD5620或AD558结合完成四种波形的产生(频率相同);递增斜波;递减斜波;三角波;递增斜梯波。
三、时间安排
1、2012年12月10日集中,作基础强化训练具体实施计划与报告格式要求的说明;学生查阅相关资料,学习EDA的原理。
2、2012年12月11日,思考D/A转化器的设计方案。
3、2012年12月12日至2012年12月14日,集中设计程序,完成四种波形的设计输出,并在试验箱上完成试验。
。
4、2012年12月15日上交成果及报告,进行答辩。
指导教师签名:
年月日
系主任(或责任教师)签名:
年月日
目录
摘要I
AbstractII
1绪论1
2实验方案2
2.1设计要求2
2.2设计思路2
3函数发生器模块设计3
3.1分频模块3
3.2递增斜波产生模块3
3.3递减斜波产生模块3
3.4三角波模块3
3.5递增阶梯波模块3
3.6输出波形选择模块4
3.7D/A转换模块4
3.7.1D/A转换器工作原理4
3.7.2TLC5620工作原理4
4系统联调测试分析7
5实验小结8
参考文献9
附录10
摘要
应用EDA技术完成一个电子产品的设计,以CPLD芯片中集成一个在电子生产或检测中通常用到函数波形发生器。
在QUARTERSⅡ软件开发平台,输入原理图或硬件描述语言VHDL完成的D/A接口的设计文件,系统将自动地完成逻辑编译、综合、仿真、目标芯片的适配编译、下载等的工作。
设计的工作是利用编程的方式来进行对系统的功能的描述,在EDA工具的帮助下,应用相应的可编程器件,实现设计的最终结果。
使常用到的波形发生器微型化,设计简单化,使用简单化。
关键词:
VHDL;D/A接口;函数发生器
Abstract
ApplicationofEDAtechnologyforcompleteaelectronicproductdesign,withFPGAchipinelectronicsmanufacturingorintegratedatestingusuallyusefunctionwaveformgenerator.Insoftwaredevelopmentplatform,QUARTERSⅡinputprinciplechartorhardwaredescriptionlanguageVHDLcompletedD/Ainterfacedesigndocuments,thesystemwillautomaticallylogiccompilation,comprehensive,simulation,targetchipadaptivecompilation,download,etc.Designworkistomakeuseofprogrammingapproachtothefunctionofthesystemaredescribed,andtheEDAtoolshelp,applicationofcorrespondingprogrammabledevices,realizationdesignthefinalresult.Sothatcommonlyusedtothewaveformgeneratorminiaturization,designsimplicity,usesimplified.
Keyword:
VHDL,D/Ainterface;Functiongenerator
1绪论
EDA是电子设计自动化(ElectronicDesignAutomation)的缩写。
EDA技术就是依赖功能强大的计算机,在EDA工具软件平台上,对以硬件描述语言HDL(HardwareDescriptionLanguage)为系统逻辑描述手段完成的设计文件,自动地完成逻辑编译、化简、分割、综合、布局布线以及逻辑优化和仿真测试,直至实现既定的电子线路系统功能。
EDA技术使设计者的工作仅局限于利用软件的方式来完成对系统硬件功能的实现,可以说EDA技术的产生与发展是电子设计技术的一个巨大进步。
EDA技术融合了众多电子设计技术和计算机辅助技术,使得它在现代电子学方面的应用越来越广泛,也成为电子、电气类大学生必须熟练掌握的一种设计工具。
CPLD(ComplexProgrammableLogicDevice)复杂可编程逻辑器件,是从PAL和GAL器件发展出来的器件,相对而言规模大,结构复杂,属于大规模集成电路范围。
是一种用户根据各自需要而自行构造逻辑功能的数字集成电路。
其基本设计方法是借助集成开发软件平台,用原理图、硬件描述语言等方法,生成相应的目标文件,通过下载电缆(“在系统”编程)将代码传送到目标芯片中,实现设计的数字系统。
D/A转换器的功能是把二进制数字信号转换为与其数值成正比的模拟信号。
TLC5620是串行8位D/A转换芯片,应用CPLD可以完成对TLC5620的控制。
TLC5620与CPLD结合之后可以完成函数发生器的基本功能:
波形输出。
通过合适的VHDL语言程序可以完成递增斜波、递减斜波、三角波、递增阶梯波的输出。
2实验方案
2.1设计要求
要求用CPLD控制AD558完成设计一个函数发生器,该函数发生器能够产生递增斜波、递减斜波、三角波以及阶梯波,并且可以通过选择开关选择相应的波形输出;系统具有复位的功能;通过按键确定输出的波形及确定是否输出波形。
CPLD是整个系统的核心,构成系统控制器,波形数据生成器,加法器,运算/译码等功能。
2.2设计思路
本次D/A接口(函数发生器)的设计中,转换结果是时时输出的。
根据对AD558真值表的分析可知:
当CE和CS同时置‘0’时AD558的工作模式为时时输出。
因此在本次设计中我只需要将CE和CS同时置‘0’即可。
根据对AD558功能的分析可知:
利用VHDL语言编写源程序通过CPLD完成对AD558的控制,并与AD558结合可以完成四种波形的产生。
具体设计方案如下:
利用VHDL语言设计0~255循环加法计数器、255~0循环减法计数器、0~128~0循环加减计数器、0~224等梯度循环加法计数器便可分别完成递增斜波、递减斜波、三角波、递增阶梯波的输出。
每个计数器还设计了片选端和清零端。
当清零端为0时计数器恢复为初始状态。
为了实现输出波形模式的选择,在本次设计中我使用了一个四选一选择器:
输入为2位逻辑数组输出为4个一位逻辑量。
每一种输入状态对于于一种输出状态,每个状态有且仅有一位为1,其余3位皆为0,每个输出量与一种计数器的片选端相连接,即每个输入状态都只选中一种输出状态。
由于CPLD实验箱上没有D/A转换器,为了显示设计结果检验设计成果我决定使用7段数码管显示产生波形的数字量。
由于输出范围为0~255,在十六进制数0H~EEH的范围内,而且实验箱上只有8个7段数码管因此我各用2个7段数码管显示4种波形的输出。
在每个计数器输出端口和7段译码器中间添加一个输入频率为1000HZ的4选1数据选择器,并利用两个拨码开关实现输入数据的选择。
由于实验箱上自带的时钟源频率为20MHZ,为了得到1000HZ的频率,我还设计了一个分频器。
以上即为本次D/A接口(函数发生器)的主要设计方案。
3函数发生器模块设计
根据自上而下的思路进行项目设计。
明确每个模块的功能以后,开始编写各个模块的程序。
3.1分频模块
分频模块的VHDL程序如附录中所示,clk是实验箱时钟的输入端,通过调节x的值改变输出频率的大小,调节y值获得D/A转换器的频率0.5MHz,小于限定最大频率1MHz。
3.2递增斜波产生模块
递增斜波的VHDL程序如附录所示,其中count是计数信号。
程序设计中每当检测到时钟上升沿时,计数器值加1,当增加到最大后清零。
计数值增加呈现线性关系,因此输出的波形是递增的斜波。
3.3递减斜波产生模块
递减斜波的VHDL程序如附录所示,其中count是计数信号。
程序设计中每当检测到时钟上升沿时,计数器值减1,当减小到0后赋值255。
计数值减小呈现线性关系,因此输出的波形是递减的斜波。
3.4三角波模块
三角波的VHDL程序如附录所示,其中sen为信号发生辅助信号,当计数的数据不是最大值时,数值做递增运算,当增大到最大时,然后再做递减运算。
因此输出的波形便呈现出三角波的形状。
3.5递增阶梯波模块
递增阶梯波的VHDL程序如附录所示,阶梯波设计的是数据的递增是以一定的阶梯常数向上增加,所以输出的波形呈现是成阶梯状的,而不是,完全呈现是直线增长。
3.6输出波形选择模块
波形选择模块通过对端口值a、b、c、d分别置1来实现4种波形的选择。
3.7D/A转换模块
3.7.1D/A转换器工作原理
D/A转换器的功能是把二进制数字信号转换为与其数值成正比的模拟信号。
在D/A参数中一个最重要的参数就是分辨率。
它是指输入数字量发生单位数码变化时,所对应输出模拟量(电压或电流)的变化量。
实验要求在此次设计中采用的是D/A转换器AD558,但试验箱上芯片为TLC5620,故在本次课程设计中采用串行D/A转换器TLC5620。
3.7.2TLC5620工作原理
D/A转换器TLC5620是EDA试验箱上自带的4通道串行8位电压输出D/A转换芯片,接入电压在4.75V到5.25V之间。
它与CPLD器件联合使用可以产生几种波形。
其芯片管脚如图3.7所示:
图3.7TLC5620芯片管脚外形图
其中,DACA、DACB、DACC、DACD为模拟信号输出,REFA、REFB、REFC、REFD为其对应的参考电压,DATA为存放数字量的串行接口,数据范围为0~255。
VDD、GND分别是芯片输入电压端与接地端,CLK为芯片时钟,其最大时钟频率为1MHz。
LDAC、LOAD为时序控制端口。
数据在每个时钟下降沿输出DATA端,数据输入过程中,LOAD始终处于高电平,LDAC处于低电平,一旦数据输入完成,LOAD置低,则转换输出,把数据从串行输入寄存器传送到所选择的DAC。
当LDAC引脚从高电平变为低电平时DAC输出更新,随后输出端产生模拟电压。
数据输入时最高有效位(MSB)在前,其中,tw(LDAC)和tw(LOAD)最小值为250ns。
对TLC5620的数字控制是通过一根简单的3路串行总线实现的,其11位命令字包括8位数据位,2位DAC选择位和一位范围位RNG,后者用来选择输出范围是1倍还是2倍。
DAC输出通道的选择由A1和A0控制,如图3.9所示:
图3.9TLC5620输出通道选择图
4系统联调测试分析
通过对以上各模块的细化和分析,最终在QUARTUSⅡ中完成