基于VHDL数控直流稳压电源的
设计
领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计
-数字电路
数字电路课程设计报告
第 1 章 序言
随着人们生活水平的不断提高,数字化控制无疑是人们追求的目标之一,它
所给人带来的方便也是不可否定的,其中数控制直流稳压电源就是一个很好的典
型例子,但人们对它的要求也越来越高,要为现代人工作、科研,生活、提供更好
的,更方便的设施就需要从数字电子技术入手,一切向数字化,智能化方向发展.
本文所介绍的数控直流稳压电源与传统的稳压电源相比,具有操作方便,电
压稳定度高的特点,其输出电压大小采用数字显示,主要用于要求电源精度比较
高的设备,或科研实验电源使用,并且此设计,没有用到单片机,只用到了数字
技术中的可逆计数器,D/A 转换器,译码显示等电路,具有控制精度高,制作比
较容易等优点。
而且其中的数字技术中的可逆计数器和译码显示电路是用硬件描述语言VHDL语言编写的。充分运用我们所学知识,既巩固了我们以前学的数字电路,有很好
的把学到的VHDL运用到实践当中,使理论与实践很好的结合在一起,这既使我们
更深刻的理解了书本上的知识,又加强了我们的实践能力,对我们现在甚至未来
都有很重要的意义。
第1页 共20页
数字电路课程设计报告
第2章 Quartus II及VHDL语言介绍
2.1 Quartus II的介绍
在本设计系统中,软件的开发平台是ALTERA公司的Quartus II,Quartus II提供了良好的多平台设计环境,它可以轻易满足系统特定的设计需要。Quartus II 软件拥有FPGA和CPLD设计的所有阶段的解决
方案
气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载
。
PLD(Programmable Logic Device)是一种由用户根据需要而自行构造逻辑功
能的数字集成电路。目前主要有两大类型:CPLD(Complex PLD)和FPGA(Field Programmable Gate Array)。它们的基本设计方法是借助于EDA软件,用原理图、状态机、布尔
表
关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf
达式、硬件描述语言等方法,生成相应的目标文件,最后用
编程器或下载电缆,由目标器件实现。生产PLD的厂家很多,但最有代表性的
PLD厂家为Altera、Xilinx和Lattice 公司。
本次试验是使用Altera公司开发的CPLD器件中的MAX 7000S系列的EPM7128SLC84,它的特点如下:在高集成度PLD器件中,MAX 7000S系列是速度最快的类型之一,它内部为第二代MAX(Multiple Array Matrix)结构。除了集成度高的优点外,器件内部单元(cell)之间的连接采用连续的金属线,这种互连
结构为单元之间提供了固定的、短时延的信号通道,从而消除了内部延时的难以
预测性,并有效地提高了芯片资源的利用效率。
EPM7128SLC84是基于EEPROM的可编程CMOS器件,其主要性能指标为: -外部引脚数目为84,内部等效门数为2500左右;
-内部有128个逻辑宏单元(Macrocell),每16个宏单元组成一个逻辑阵列块
(LAB),每个逻辑阵列块对应8个I/O引脚;
-除通用I/O引脚外,EPM7128SLC84有两个全局时钟、一个全局使能和一个全
局清零输入;
-器件最高计数频率为151.5MHz,内部互连延时为1ns。 2.2 VHDL的描述
第2页 共19页
数字电路课程设计报告
VHDL的英文全名是 Very-High-Speed Integrated Circuit Hardware
Description Language,诞生于 1982 年[18]。1987 年底,VHDL被 IEEE 和美国国防部确认为
标准
excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载
硬件描述语言。
VHDL主要用于描述数字系统的结构,行为,功能和接口。除了含有许多具有
硬件特征的语句外,VHDL的语言形式和描述风格与句法是十分类似于一般的计
算机高级语言。VHDL的程序结构特点是将一项工程设计,或称设计实体(可以
是一个元件,一个电路模块或一个系统)分成外部(或称可是部分,及端口)和内部(或称不可视部分),既涉及实体的内部功能和算法完成部分。在对一个设计
实体定义了外部界面后,一旦其内部开发完成后,其他的设计就可以直接调用这
个实体。此次试验就是使用VHDL语言来编写完成的。
第3页 共19页
数字电路课程设计报告
第3章 单元电路的设计
此数控直流稳压电源共有六部分,输出电压的调节是通过“+”,“-”两键操作,步进电压精确到0.1V 控制可逆计数器分别作加,减计数,可逆计数器的二
进制数字输出分两路运行:一路用于驱动数字显示电路,精确显示当前输出电压
值;另一路进入数模转换电路(D/A 转换电路),数模转换电路将数字量按比 例,转换成模拟电压,然后经过射极跟随器控制,调整输出级,输出稳定直流电
压。为了实现上述几部分的正常工作,需要另制?15V,和?5V 的直流稳压电源,及一组未经稳压的12V~17V 的直流电压。此下所讲的数控电源主要就是对
此组电压进行控制,使输出0~9V 的稳定的可调直流电压。
此原理方框图如下图1 所示。
3.1控制部分的设计
3.1.1可逆计数器的设计
此部分是整个电路的控制部分,也就是电路的数字部分,其中主要内容就是做一 个一百进制可逆计数器,当然,因为电路原因,这个一百进制的计数器是用是进
制的计数器作为底层文件做的。而且这个计数器使用可编程逻辑器件做的,使用
第4页 共19页
数字电路课程设计报告
的是VHDL语言编写的,可以随时任意的改写以改变整个电路的精度,而且此时
的硬件部分不用太多的调整,做到电路的数字化,智能化。
工作原理
由于输出电压从0V 到9.9V 可以调节,所以计数器总计数范围从00000000 到10011001(即0~99)。由于要把数字量送到D/A装换器,所以此一百进制计数
器需要用两个十进制的计数器作为底层文件,再用例化语句把它写成100进制的计数器。然后把两个十进制计数器的4位输出分别送到两个D/A0832的输入口,进行数模转换,即此8位就是数模转换的数字量。而且还要把这两个4位分别送到显示译码器的输入端,再把译码显示的输出接到数码管上,就可以把计数情况显示
出来。随着数字量的改变,显示部分不断的变化,而不同的数字量经过D/A转换与放大调整后,整个硬件部分的输出电压也不断的变化,即实现了数控制直流稳
压电源的目的。
3.1.2 数字显示电路的设计
工作原理
数字显示驱动也是
用可编程的逻辑器
件做的,它把从计
数器传送来的二~
十进制码,驱动数
码管显示数码。具
体功能如上图3 真
值表所示。
A3,A2,A1,A0,
为8421BCD 码输入,a,b,c,d,e,f,g 为七段数码输出,LT 为试灯输入信号,用来检查,数码管的
第5页 共19页
数字电路课程设计报告
好坏,IBR 为灭零输出信号,用来动态灭零,IB/QBR 为灭灯输出信号,该端既
可以作输入也可以作输出,具体工作如上真值表所示。此部分是用VHDL硬件语言 来编写的,和计数部分一起编写成了一个整体的数控部分,再把此部分源程序下
载到CPLD中,然后把此芯片作为一个数控硬件部分和D/A转换等硬件电路组成了
整个的电路
3.2 D/A转换电路(数模转换器)的设计
3.2.1 D/A0832工作原理介绍(引脚图见附录2)
数模转换电路,采用两块DAC0832 集成块,它是一个8 位数/模转换电路,这里 只使用高4 位数字量输入端。由于DAC0832 不包含运算放大器,所以需要外接一 个运算放大器相配,才构成完整的D/A 转换器,低位DAC 输出模拟量经9:1 分 流器分流后与高位DAC 输出模拟量相加后送入运放,具体实现,由900Ω和100Ω的电阻相并联分流实现,运放将其转换成与数字端输入的数值成正比的模拟输 出典压,运放采用具有调零的低噪声高速优质lm358。具体封装图如下图4 所示。 DAC0832 芯片主要功能引脚的名称和作用如下:
d7 d0:8 位二进制数据输入端;
ILE:输入锁存允许,高电平有效;
CS:片选信号,低电平有效;
WR1,WR2:写选通信号,低电平有效;
XFER:转移控制信号,低电平有效;
Rf:内接反馈电阻,Rf=15KΩ;
IOUT1,IOUT2:输出端,其中IOUT1 和运放反相输入相连,IOUT2 和运放同相输入端相连并接地端;
Vcc:电源电压,Vcc 的范围为+5V ~ +15V;
Vref:参考电压,范围在-10V~+10V; 图4
GND:接地端。
第6页 共19页
数字电路课程设计报告
当ILE=1,CS=0,WR=0,输入数据d7~d0 存入8 位输入寄存器中,当WR2=0,XFER=0 时,输入寄存器中所存内容进入8 位DAC 寄存器并进行D/A 转换。 当DAC0832 外接运放A 构成D/A 转换电路时,电路输出量V0 和输入d7~d0 的关系式为V0=-Vref28×RRf(d727+d626+...d020)。
3.2.2 DAC0832 芯片的特点
DAC0832 最具特色是输入为双缓冲结构,数字信号在进入D/A 转前,需经过两个独立控制的8 位锁存器传送。其优点是D/A 转换的同时,DAC 寄存器中保留现有的数据,而在输入寄存器中可送入新的数据。系统中多个D/A 转换器内容可用一公共的选通信号选通输出。
由于DAC0832 输出级没有加集成运放
所以需外加lm358 相配适用。Lm358 封装上图所示。
其中IN-为反相输入端,IN+为同相输入端;OUT 为输出端;VCC-和Vcc+为正负电源供;
3.3 调整电路输出的设计
调整输出级采用运放作射极跟随器,使调整管的输出电压精确地与D/A 转换器输出电压保持一致。调整管采用大功率达林顿管,确保电路的输出电流值达到
设计要求。数控电源各部分工作所需的?15V 和?5V 电源由固定集成稳压7815、7915、和7805 提供,调整管所需输入电压,经简单整流,滤波即可得到,但要
求能提供5A 的电流。
输出电压的调整,主要是运用射极输出器发射极上所接的4.7K 电阻来完成的,此反馈电阻的主要作用是,把输出电压反馈到NE5534 的输入级的反向输入
端,当同相输入IN+和反向输入端IN-有差别是,调整输出电压使之趋于稳定,从
第7页 共19页
数字电路课程设计报告
而达到调整输出电压的目的。
3.4 电路调试
调节步骤如下:
3.4.1 输入数字00000000,短接Re1、Re、Rf 调运放调零电位器Rw,用数字万用
表检测,使输出电压Vo=0?1mV。
3.4.2 输入数字10011001,调整Re1、Re2、Rf 使输出电压Vo 达到预定的满量程
9.9V。
3.4.3 主要技术指标
本文所设计数控直流电源的电压输出范围为0~9.9V,步进电压值为0.1V,输出纹波电压不大于10mv,输出电流为5A。工作电流:4.5mA(5V时) 2.5mA(3V时)
3.5 改进措施
本电源输出电压大小尚受限制,在需要较高输出电压时,在不改变调节精度
(即步进电压值)前提下,只要增加计数器的级联数和相应D/A 转换器的个数,扩大数显指示范围,配合选用高电压输出运放,就能轻易地满足要求。当需要正
负对称输出电压时,只要另增一组电源,对D/A 转换器及调整输出电路稍作改
动即可达到目的。
3.6 本电路总体图示
第8页 共19页
数字电路课程设计报告
3.6.1控制电路
3.6.2总体框图
第9页 共19页
数字电路课程设计报告
第4章 控制部分源程序
4.1 计数显示部分VHDL的程序清单
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity cnt10 is
port(rst,set,en,clk,ctr: in std_logic;
q: out std_logic_vector(3 downto 0);
tc_u,tc_d: out std_logic);
end cnt10;
architecture xx of cnt10 is
signal q1: std_logic_vector(3 downto 0); signal tc_1,tc_2 : std_logic;
begin
process(rst,set,ctr,clk,q1)
begin
if rst='1' then q1<="0000";
elsif set='1' then q1<="1001";
elsif (clk'event and clk='1') then
if en='1' then
if ctr='1' then
if q1=9 then q1<="0000";
else q1<=q1+1;
end if;
elsif ctr='0' then
if q1=0 then q1<="1001";
第10页 共19页
数字电路课程设计报告
else q1<=q1-1;
end if;
end if;
end if;
end if;
if ctr='1' then tc_2<='0';
if q1=9 then tc_1<='1';
else tc_1<='0';
end if;
elsif ctr='0' then tc_1<='0';
if q1=0 then tc_2<='1';
else tc_2<='0';
end if;
end if;
end process;
q<=q1;
tc_u<=tc_1;
tc_d<=tc_2;
end xx;
library ieee;
use ieee.std_logic_1164.all; entity or2a is
port( a, b : in std_logic;
c : out std_logic); end entity or2a;
Architecture one of or2a is begin
第11页 共19页
数字电路课程设计报告
c<= a or b;
end architecture one ;
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_arith.all;
use ieee.std_logic_unsigned.all;
entity bec_led is
port(num: in std_logic_vector(3 downto 0);
d : out std_logic_vector(6 downto 0)); end bec_led;
architecture xx of bec_led is
begin
process(num)
begin
case num is
when "0000"=> d<= "1111110" ;
when "0001"=> d<= "0110000" ;
when "0010"=> d<= "1101101" ;
when "0011"=> d<= "1111001" ;
when "0100"=> d<= "0110011" ;
when "0101"=> d<= "1011011" ;
when "0110"=> d<= "1011111" ;
when "0111"=> d<="1110000" ;
when "1000"=> d<="1111111" ;
when "1001"=> d<= "1111011" ;
when others=>d<="0000000"; end case ;
end process;
end xx;
第12页 共19页
数字电路课程设计报告
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity top1 is
port(reset,setter, enable,clock,ctrol : in std_logic;
out_1,out_2 : out std_logic_vector(3 downto 0);
qout1,qout2 : out std_logic_vector(6 downto 0)); end top1;
architecture yy of top1 is
component cnt10 is
port(rst,set,en,clk,ctr: in std_logic;
q: out std_logic_vector(3 downto 0);
tc_u,tc_d: out std_logic);
end component;
component or2a is
port( a, b : in std_logic;
c : out std_logic);
end component;
component bec_led is
port(num: in std_logic_vector(3 downto 0);
d : out std_logic_vector(6 downto 0)); end component;
signal co1,co2,co3:std_logic;
signal qo1,qo2 :std_logic_vector(3 downto 0); signal do1,do2 :std_logic_vector(6 downto 0); begin
u1:cnt10 port
map(clk=>clock,ctr=>ctrol,rst=>reset,set=>setter,en=>enable,tc_u=>co1 ,tc_d=>co2,q=>qo1);
第13页 共19页
数字电路课程设计报告
u2:cnt10 port map(clk=>clock,ctr=>ctrol,rst=>reset,set=>setter,en=>co3,q=>qo2);
u3:or2a port map(a=>co1,b=>co2,c=>co3);
u4:bec_led port map(num=>qo2,d=>do2);
u5:bec_led port map(num=>qo1,d=>do1);
qout2<=do2;
qout1<=do1;
out_2<=qo2;
out_1<=qo1;
end yy;
4.2 波形仿真结果
100进制加计数器
100进制加减数器
第14页 共19页
数字电路课程设计报告
第5章 总结与体会
在本次设计过程中,对纹波也没有提出严格要求,所以常用的稳压集成电路就可以满足要求。在电路中采用了模拟器件和数字器件所以需要+5V、和-15V 电
源供电。本设计输出的电压稳压精度高,可以用在对直流电压要求较高的设备上,
或在科研
实验室
17025实验室iso17025实验室认可实验室检查项目微生物实验室标识重点实验室计划
中当作实验电源使用。
在本次设计的过程中,我发现很多的问题,给我的感觉就是很难,很不顺手,
看似很简单的电路,要动手把它给设计出来,是很难的一件事,主要原因是我们
没有经常动手设计过电路,还有资料的查找也是一大难题,这就要求我们在以后
的学习中,应该注意到这一点,更重要的是我们要学会把从书本中学到的知识和
实际的电路联系起来,这不论是对我们以后的就业还是学习,都会起到很大的促
进和帮助,我相信,通过这次的课程设计,在下一阶段的学习中我会更加努力,
力争把这门课学好,学精。同时,通过本次课程设计,巩固了我们学习过的专业
知识,也使我们把理论与实践从真正意义上相结合了起来;考验了我们借助互联
网络搜集、查阅相关文献资料,和组织材料的综合能力;从中可以自我测验,认
识到自己哪方面有欠缺、不足,以便于在日后的学习中得以改进、提高。
第15页 共19页
数字电路课程设计报告
参考文献
[1]唐竞新.数字电子电路[M].第1版.北京:清华大学出版社,2003? [2]康华光.电子技术基础[M].数字部分.第4版.北京:高等教育出版社,1998? [3]电子工程手册编委会等.中外集成电路简明速查手册[M]---TTL,CMOS.北京:电子工业出版社,1991?
[4]杨长春.论数字技术[J].《电子报》合订本.成都:四川科学技术出版社,
2002.12
第16页 共19页
数字电路课程设计报告
附录1
本电路控制部分的接线图
a
b c
d
e
f
g
a b c d e f g DI3 Clock Out-1[3] DI2 Ctrol Out-1[2] ALTER DI1 Enable Out-1[1] AMAX 7000S DI0 Out-1[0] EPM7128SLC84DI3 Reset Out-2[3] -15 DI2 Setter Out-2[2] DI1 Out-2[1] a b c d e f g DI0 Out-2[0]
a
b
c
d
e
f
g
第17页 共19页
数字电路课程设计报告
附录2
D/A0832的引脚图
第18页 共19页
数字电路课程设计报告
致谢
感谢黄老师和宋老师这两个星期对我们的精心指导,没有你们的耐心的教导,
我们很难在这两周之内把这次的设计搞得这么好。不仅如此,我们还从你们那里
学到了很多学习的一些 技巧与方法,这将是我们终身受益无穷。这两周的辛勤
设计不但巩固了我以前学的还有些模糊的数字电路和刚刚学的EDA 技术,还进
一步提高了我动手能力。在这次课程设计过程中,我也遇到了一小问题,幸好有
经过宋老师与黄老师的帮助,再加上与同学的讨论,我顺利的解决了遇到的问题,
这使我充满信心,以后再遇到类似的问题,相信我自己就能够解决它。至此,再
一次感谢两位老师的辛勤的指教。
第19页 共19页