太原科技大学:名字起个什么
电子课程设计
——锯齿波发生器
学院:
班级:
姓名: 学号:
指导教师:
20xx年12月
太原科技大学:名字起个什么
目 录
1.设计任务与要求…………………………………………… 1
2.总体框图…………………………………………………… 2
3.选择器件…………………………………………………… 3
4.功能模块…………………………………………………… 5
5.设计总体电路图…………………………………………… 8
6.心得体会………………………………………………… 10
太原科技大学:名字起个什么
一、 设计任务与要求
● 设计任务:
设计一个锯齿波发生器
● 设计目的:
1.学习用VHDL设计波形发生器
2.掌握FPGA对D/A的接口和控制技术,
● 设计要求:
用QuarusII为平台,设计一个锯齿波发生器,利用实验箱上的D/A转换器将输出的数字信号转换为模拟信号,并且能够通过示波器观察到锯齿波波形。
二、 总体框图
1.总体框图:
图1. 总体框图
2.系统设计方案:
方案一、
在QuartusⅡ上采用VHDL语言编程完成正弦波信号发生器设计, 然后通过AD558和MAX EPF10K10LC84-4芯片与示波器相连观察输出波形。
方案二、
在QuartusⅡ上完成正弦信号发生器设计,包括仿真和资源利用情况了解
太原科技大学:名字起个什么
(利用Cyclone器件)。最后在实验系统上实测,包括SignalTapⅡ测试、FPGA
一种高效的硬件测试手段和传统的测试方法相结合,这就是嵌入式逻辑分析仪的使用。它可以随设计文件一并下载于目标芯片中,用以捕捉目标芯片内部信号节点处的信息,而又不影响原硬件系统的正常工作。在实际监测中,SignalTapⅡ将测得的样本信号暂存于目标器件中的嵌入式RAM(如ESB、M4K)中,然后通过器件的JTAG端口将采得的信息传出,送入计算机进行显示和分析。嵌入式逻辑分析仪SignalTapⅡ允许对设计中的所有层次的模块的信号节点进行测试,可以使用多时钟驱动,而且还能通过设置以确定前后触发捕捉信号信息的比例。
三、 选择器件
1)D/A转换器AD558
图2. AD558芯片
太原科技大学:名字起个什么
AD558如上图所示,是一款完整的电压输出8位数模转换器,它将输出放大器、完全微处理器接口以及精密基准电压源集成在单芯片上。无需外部元件或调整,就能以全精度将8位数据总线与模拟系统进行接口。AD558提供四种性能等级产品。AD558J和AD558K的工作温度范围为0°C至+70°C,AD558S和AD558T则为-55°C至+125°C。J级和K级可采用16引脚塑料(N)或密封陶瓷(D) DIPS封装,也可采用20引脚JEDEC标准PLCC封装。S级和T级均采用16引脚密封陶瓷DIP封装。
AD558 芯片的特性:
? 完整8位DAC
? 电压输出:两种校准范围
? 内部精密带隙基准电压源
? 单电源供电:+5 V至+15 V
? 完全微处理器接口
? 快速建立时间:1 ±s内电压达到±1/2 LSB精度
? 低功耗:75 mW
? 无需用户调整
? 在工作温度范围内保证单调性
? 规定了 Tmin至Tmax的所有误差
? 小型16引脚DIP和20引脚PLCC封装
? 激光晶圆调整单芯片供
2) MAX EPF10K10LC84-4可编程逻辑器件
太原科技大学:名字起个什么
MAX EPF10K10LC84-4是一种复杂可编程逻辑器件,IC管脚参阅原理图,是84pinPLCC封装,另外还有其它类型的管脚和封装,选择性强,该IC具有以下主要性能:
? 嵌入式可编程逻辑器件,提供了集成系统于单个可编程逻辑器件中的性能; ? 高密度:提供10000~250000个可用门,6144~40960位内部RAM;
? 低功耗:多数器件在静态模式下电流小于0.5mA,在2.5V、3.3V或5.0v下
工作;
? 高速度:时钟锁定和时钟自举选项分别用于减少时钟延时/过冲和时钟倍频;
器件内建立树形分布的低失真时钟;具有快速建立时间和时钟到输出延时的外部寄存器;
? 灵活的互连方式:快速、互连延时可预测的快速通道(Fast Track)连续式
布线结构;实现快速加法、计数、比较等算术逻辑功能的专用进位链;实现高速、多输入(扇入)逻辑功能的专用级联链;实现内部三态的三态模拟;多达六个全局的时钟信号和四个全局清除信号;
? 支持多电压I/O接口;
? 强大的引脚功能:每个引脚都有一个独立的三态输出使能控制及漏极开路配
置选项及可编程输出压摆率控制;FLEX10KA、10LE、10KS器件都支持热插拔; ? 多种配置方式:内置JTAG边界扫描测试电路,可通过外部EPROM、智能控制
或JTAG接口实现在电路重构(ICR);
? 多种封装形式:引脚范围为84~600,封装形式有TQFP、PQFP、BGA和PLCC
等,同一封装的FLEX 10K系列器件的引脚相兼容。
太原科技大学:名字起个什么
四、 功能模块
delta模块:
其VHDL语言如下:
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity delta is
port(clk, reset: in std_logic;
q: out std_logic_vector(7 downto 0)); end delta;
architecture behave of delta is
begin
process(clk, reset)
variable tmp: std_logic_vector(7 downto 0); variable a: std_logic;
begin
太原科技大学:名字起个什么
if reset='0' then
tmp:="00000000";
elsif clk'event and clk='1' then if a='0' then
if tmp="11111110" then tmp:="11111111";
a:=‘1;
else
tmp:=tmp+1;
end if;
else
if tmp="00000001" then
tmp:="00000000";
a:='0';
else
tmp:=tmp-1;
end if;
end if;
end if;
q<=tmp;
end process;
end behave;
太原科技大学:名字起个什么
锯齿波仿真图
五、 设计总体电路图
锯齿波电路
太原科技大学:名字起个什么
六、 心得体会
的是三角波发生器。 管脚分配图 在《VHDL语言》课程设计中,通过高老师的指导与讲述,我最终决定设计
通过运用VHDL语言编程,通过运用软件Quartus II 6.0,逐渐掌握EDA的用法,熟练步骤,对以后的学习与工作做了很好的铺垫;剖析整个系统运行的步骤与工作原理,从而完成对整个设计的理论分析任务,以此来指导其他设计过程;硬件电路设计主要是设计相关模块的设计思想的可视化,是相关模块的电路图的总汇和其相关仿真波形的锦集,该部分条理清晰,思路明确,从中我们可以清晰地看到该设计方案的具体模块和整个设计的原理结构图。通过这些的学习,自己对《VHDL语言》的设计方法有了进一步的学习,对其相关语言设计规范有了更深层次的掌握,能够更加熟练的做一些编程设计。
随着技术市场与人才市场对EDA技术的需求不断提高,产品的市场效率和技术要求也将会影响到教学与科研领域。因此,这一次课程设计开展很好的把握了教学的改革方向,更好的锻炼了学生理论联系实践的能力。
太原科技大学:名字起个什么
经过两周的课程设计,由于是第一次,过程有点曲折,有点累,但最后能得到理想的结果,心里感到特别高兴。因为是课程设计,需要制定一个最合理的方案。这就锻炼了我们理论分析、比较,联系实际情况的能力。由于需要各个方面的材料和数据,我们需要运用各种手段去查找资料,这增长了我们自学的能力。在电路的生成和调试过程中,我们遇到了各种问题,通过对种种问题的解决,我们在工程实际的层次上更进一步理解理论知识。我们不仅更好地理解了所学的理论知识,更重要的是把知识从书中提炼出来运用到生活当中,这是一种质的飞跃。在这次课程设计当中也离不开老师的帮助,他们尽心尽责给了我很大的帮助,非常感谢。
第二篇:EDA课程设计--方波发生器
太原科技大学:名字起个什么
电子课程设计 ——方波发生器
学院:
班级:
姓名:
学号:
指导老师:
20xx年12月
太原科技大学:名字起个什么
方波发生器
摘要:随着EDA技术以及大规模集成电路技术的迅猛发展,波形发生器的各方面性能指标都达到了一个新的水平。采用CPLD/FPGA器件在QuartuesII设计环境中用VHDL语言完成的波形发生器具有频率稳定性高,可靠性高,输出波形稳定等特点。本文介绍了基于EDA技术的波形发生器的研究与设计。
一、设计任务与要求
设计一方波发生器并且输出信号的频率范围为100Hz~200KHz,输出频率可以调节;可以存储任意波形特征数据并能重现该波形,还可完成各种波形的线形叠加输出,具有显示输出波形、频率的功能。
通过运用VHDL语言编程,通过运用软件Quartus II 6.0,逐渐掌握EDA的用法,熟练步骤,为以后的学习与工作做很好的铺垫。
二、总体框图
(1)方案论证
方案一:
本系统由FPGA(可编程门阵列),数模转换,时钟(提供clk信号)等组成。全部为FPGA试验箱所有,不需要增加任何器件。用FPGA产生的255—0的计数值输入到DAC0832中,将产生对应的模拟信号。本系统采用的是软硬件结合的方法。由于一个周期内的任意波形的离散样点数对硬件实现的复杂性直接产生影响,因此,为了简化硬件存储器件的规模,取64个样点进行讨论。
具体做法是先对一个周期进行64点采样,然后依次存于ROM中,再以fs频率给出地址码,控制存储器周期的读出数据,并经D、A转换和模拟放大,便能得到一定的频率的周期信号。因此周期信号的频率为fo=fs/M.其中M为采样点个数,本设计中取为64;fs为存储器读出频率。显然,通过改变读出频率fs,便可获得不同频率的周期信号fo.。
原理说明:
完整的波形发生器由三部分组成:由计数器构成的地址信号发生器、波形数据ROM和D/A。在FPGA的顶层文件中,计数器通过外来控制信号和高速时钟信号向波形数据ROM发出地址信号,输出波形的批评你率由发出的地址信号的速度决定;当以固定的频率扫描输出地址时,输出波形是固定频率,而当以周期性时变方式扫描输出地址时,则输出波形为扫频信号。波形数据ROM中存有发生器的波形数据,如正弦波或者三角波数据等。当接受来自FPGA的地址信号后,将从数据线输出相应的波形数据。波形数据ROM可以由多种方式实现,如在FPGA外面外接普通ROM或者由FPGA中的EAB模块相当,即利用LPM-ROM来实现。
D/A转换器负责将ROM输出的数据转换成模拟信号,经过滤波电路后输出。输出波形的频率上限与D/A转换器件的转换速度有重要关系,我们的试验箱上用的
太原科技大学:名字起个什么
是DAC0832。
DAC0832是8位并行、中速(其转换时间1us)、电流型D/A转换芯片。DAC0832内部由三部分组成,“8位输入寄存器”用于存放CPU送来的数字量,使输入数字
量得到缓冲和锁存,由LE1加以控制。“8位DAC寄存器”用于存放待转换的数字量,由
“8位D/A转换电路”由8位T型网路和电子开关组成,电子开关受“8位DACLE2控制。
寄存器”输出控制,T型电阻网路能输出与数字量成正比的模拟电流。因此,DAC0832通常需要外接运放才能得到模拟输出电压。
DAC0832共有20条引脚,双列直插式封装。
⑴ 数字输入线DI7~DI0(8条) DI7~DI0常和CPU数据总线相连,用于输入CPU送来的待转换数字里,DI7为最高位。
⑵ 控制线(5条) CS为片选线。当CS为低电平时,本片被选中工作;当CS
为高电平时,本片不被选中工作。
⑶ 输出线3条 Rfb为运算放大器的反馈线,常接到运放的输出端。Iout1和Iout2为两
条模拟电流输出线。Iout1+Iout2为一常数。
⑷ 电源线(4条) VCC为电源输入线,可在+5~+15V范围捏;VREF为参考
电压,一般在-10~+10V范围内,由稳压电源提供;DGND为数字地线;AGND为模拟量地线。通常接在一起。
波形发生器电路系统结构图:
图一
缺点:此方案虽思路简洁 、明朗。但设计繁琐,程序复杂。
方案二:
太原科技大学:名字起个什么
VHDL(Very High Speed Integrated Circuit Hardware Description Language,超高速集成电路硬件描述语言)诞生于19xx年,是由美国国防部开发的一种快速设计电路的工具,目前已经成为IEEE(The Institute of Electrical and Electronics Engineers)的一种工业标准硬件描述语言。相比传统的电路系统的设计方法,VHDL具有多层次描述系统硬件功能的能力,支持自顶向下(Top to Down)和基于库(LibraryBased)的设计的特点,因此设计者可以不必了解硬件结构。从系统设计入手,在顶层进行系统方框图的划分和结构设计,在方框图一级用VHDL对电路的行为进行描述,并进行仿真和纠错,然后在系统一级进行验证,最后再用逻辑综合优化工具生成具体的门级逻辑电路的网表,下载到具体的CPLD器件中去,从而实现可编程的专用集成电路(ASIC)的设计。
方波发生器是数字电路中的一个典型应用,实际的硬件设计用到的器件较多,连线比较复杂,而且会产生比较大的延时,造成测量误差、可靠性差。随着复杂可编程逻辑器件(CPLD)的广泛应用,以EDA工具作为开发手段,运用VHDL语言。将使整个系统大大简化。提高整体的性能和可靠性。
优点:采用VHDL可以使整个系统大大简化,不仅能够测量正弦波、方波和三角波等信号的频率,而且还能对其他多种物理量进行测量。具有体积小、可靠性高、功耗低的特点。
综上所述:优先选择方案二。
(2)原理框图:
图二
太原科技大学:名字起个什么
三、选择器件
1.主芯片: EPF10K10LC84-4
2.EDA实验箱一台
3.含有QuartusⅡ软件的计算机一台
4.示波器一台
5.导线若干
四、功能模块
1.方波发生器模块
图三
2.仿真波形如下:
太原科技大学:名字起个什么
图四
3.程序代码如下:
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITY xwhappy IS
PORT( CLK ,RESET :IN STD_LOGIC;
Q :OUT STD_LOGIC_VECTOR(7 DOWNTO 0) );
END xwhappy;
ARCHITECTURE RTL OF xwhappy IS
SIGNAL A : STD_LOGIC;
BEGIN
PROCESS(CLK,RESET)
VARIABLE TMP : STD_LOGIC_VECTOR(7 DOWNTO 0); BEGIN
IF RESET ='0' THEN
A <='0';
ELSIF RISING_EDGE(CLK) THEN
IF TMP ="11111111" THEN
TMP := "00000000";
ELSE
TMP :=TMP +1;
END IF;
IF TMP < "10000000" THEN
A <= '1';
ELSE
A <= '0';
END IF;
END IF;
END PROCESS;
PROCESS(CLK ,A)
BEGIN
IF RISING_EDGE(CLK) THEN
IF A = '1' THEN
Q <="11111111";
ELSE
Q <="00000000";
END IF;
END IF;
太原科技大学:名字起个什么
END PROCESS;
END RTL;
五、总体设计电路图
1.总体电路原理图
总体电路图(图五)
2.管脚分配图
总体管脚分配图(图六)
3.总体仿真波形如下:
太原科技大学:名字起个什么
图七
4.示波器显示波形
图八
太原科技大学:名字起个什么
图九
六、心得体会
通过运用VHDL语言编程,通过运用软件Quartus II 6.0,逐渐掌握EDA的用法,熟练步骤,对以后的学习与工作做了很好的铺垫;剖析整个系统运行的步骤与工作原理,从而完成对整个设计的理论分析任务,以次来指导其它设计过程;硬件电路设计主要是设计相关模块的设计思想的可视化,是相关模块的电路图的汇总和其相关仿真波形的集锦,该部分条理清晰,思路明确,从中我们可以清晰地看到该设计方案的具体模块和整个设计的原理结构实图;程序设计这一部分主要阐述该设计的设计方法与设计思想,进一步从软件设计上揭示设计构思,主要包含了整个设计所用到的模块的硬件描述语言的设计,通过这一部分的学习,对《VHDL语言》的设计方法有了进一步的学习,对其相关语言设计规范有了更深层次的掌握,能够更加熟练的做一些编程设计。
最后通过设计了解到基于PLD的EDA技术的发展和应用领域不断的扩大与深入EDA技术在电子信息、通信、自动控制及计算机应用等领域的重要性日益突出。随着技术市场与人才市场对EDA技术的需求不断提高,产品的市场效率和技术要求也将会影响到教学与科研领域,因此这一次课程设计的开展很好的把握住了教学的改革方向,更好的锻炼了学生理论联系实践的能力。
经过这次EDA课程设计,我从中学到了很多很多东西,同时不仅可以巩固以 前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次设计, EDA的了解,让我对它有了更加浓厚的兴趣。特别是当每一个子模块编写调试成功时,心里特别的开心。但是在编写顶层文件的程序时,遇到了不少问题,特别
太原科技大学:名字起个什么
是各元件之间的连接,以及信号的定义,总是有错误,在李斌老师指导与细心的检查下,终于找出了错误和警告,排除困难后,程序编译就通过了。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。
太原科技大学:名字起个什么
目 录
一、 设计任务与要求?????????????1
二、 总体框图?????????????????2
三、 器件选择…????????????????3
四、 功能模块?????????????????4
五、 总体设计图????????????????7
六、 心得体会?????????????????9