基于EDA的智能函数发生器的设计.doc
文本预览下载声明
EDA课程设计报告书
课题名称 基于EDA的智能函数发生器的设计 姓 名 学 号 院、系、部 专 业 指导教师
2016年6月2日
1. 函数发生器能够产生方波、三角波、正弦波、及梯形波。
2. 可以通过选择开关选择相应的波形输出。
3. 通过按键确定输出的波形及确定是否输出波形。
4. 系统具有复位的功能。
指导教师签名:
2016年 月 日
二、指导教师评语:
指导教师签名:
2016年 月 日
三、成绩
指导教师签名:
2016年 月 日
基于EDA的智能函数发生器的设计
1 设计目的
(1)熟悉集成电路的引脚安排。掌握各芯片的逻辑功能及使用方法。了解面包板结构及其接线方法。了解的组成及工作原理。熟悉的设计与制作。
(3)设计方波发生电路。
通过以上分析设计要求完成的功能,确定函数发生器可由三角波产生模块、梯形波产生模块、正弦波产生模块、方波产生模块和输出波形选择模块组成,以及按键复位控制和时钟输入。由此可确定系统的总体原理框图为:
3 设计过程
3.1波形函数发生方案对比选择
波形函数发生是本设计的最重要的部分,实现函数发生的途径也有很多,因此必须选择一种易于实现且精度高的方案,以此来提高本设计的实用性。
方案一:通过单片机控制D/A,输出三种波形。此方案输出的波形不够稳定,抗干扰能力弱,不易调节。
方案二:使用传统的锁相频率合成方法。通过芯片IC145152,压控振荡器搭接的锁相环电路输出稳定性极好的正弦波再利用过零比较器转换成方波,积分电路转换成三角波。此方案,电路复杂,干扰因素多,不易实现。
方案三:利用MAX038芯片组成的电路输出波形。MAX038是精密高频波形产生电路,能够产生准确的三角波、方波和正弦波三种周期性波形。
用VHDL语言编写程序,调试成功后下载至实验装置的芯片上,再利用外接电路实现以上设计功能。
系统时钟输入后,通过复位开关选择是否产生波形,当各个模块产生相应的信号波形后,通过波形选择模块波形选择开关选泽输出不同的波形,再通过D/A转换器转换,就可以把数字信号(由FPGA输出)变成了相应模拟的信号波形。整个系统设计的核心就是FPGA部分。
4.各模块程序设计及仿真
根据自上而下的思路进行项目设计。明确每个模块的功能以后,开始编写各个模块的程序。正弦波sin的VHDL程序如附录所示,其中clk是输入时钟端口,sel0、sel1、sel2为选择波形按键值,reset为输入复位端口,q为八位二进制输出端口。
图5 正弦波模块仿真图
正弦波产生原理:通过循环不断地从波形数据ROM文件中依次读取正弦波一个周期在时域上64个采样点的波形数据送入波形DAC,从而产生正弦波。
4.4方波模块
方波模块的square的VHDL程序描述如下:其中clk为输入时钟端口,sel0、sel1、sel2为选择波形按键值,reset为输入复位端口,q为整数输出端口。
图6 方波模块仿真图
方波模块的设计是当内部计数cnt达到64时,根据输出标志a的数值输出对应的数值,当a=0输出0,也即是方波周期中的低电平,当a=1,输出255,也即是方波周期中的高电平。连续的输出便成了观测到的方波波形。其VHDL描述如下:
IF clr=0 THEN
a=0;
ELSIF clkEVENT AND clk=1 THEN --检测时钟上升沿
IF cnt63 THEN --计数64个点
cnt:=cnt+1;--计数
ELSE
cnt:=0; --当计数的值大于64时,清零。
a=NOT a; --对内部a变量取反,a变化启动进程END PROCESS;
...............
PROCESS(clk,a)
BEGIN
IF clkEVENT AND clk=1 THEN
IF a=1 THEN
q=255; --a=1,输出一个波形周期内的高电平
ELSE
q=0; --a=0,输出一个波形周期的低电平。
4.5输出波形选择模块
波形选择模块是一个设计位6选1的数据选择器,其中sel为波形数据选择端口,d0
显示全部