eda作业
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
eda
一、如图1所示,电路为二级电压串联负反馈的放大电路,其中Vs为V AC/SOURCE,其属性设置为默认值。
三极管Q2N3904的模型参数为默认值。
试用EWB软件作如下的分析:(1)求直流工作点;(2)求无负反馈(即无电阻Rf)时的输入电阻、输出电阻、电压增益和上限截止频率;(3)当电阻Rf分别为6.2kΩ、15kΩ和30kΩ时的反馈深度,并总结反馈深度对放大电路性能的影响。
(25分)
Re1
300Rb4
20k
Rs
200
Rf
6.2k
Vcc
12Vdc
Ce2
10u
Ce1
10u
R5
5k
Q2
Q2N3904
Cb2
2.2u
Rb3
300k
Vout
Q1
Q2N3904
Vs
1Vac
0Vdc
Cb1
2.2u
Vin
Re2
680
Rb1
300k Cb3
2.2u
Re3
820
Rc1
5.1k
R2b
20k
Rc2
5.1k
Ib=1.11uA, Ic=126.121uA, Uce=11.242;
图二
Ui=986.856mV, Ii=77.076uA, Uo=3.118V; Ri=Ui/Ii=986.856mV/77.076uA=12.8K。
Uo1=5.193V;
Ro=(Uo1/Uo-1)*R5=3.4K
A=Uo/Ui=3.118V/986.856mV=3.15;
Af=2.462V/987.371mV=2.5
Af=2.803V/987.371mV=2.8
Af=2.947V/986.945mV=3
反馈深度1+AF=A/Af;
由上可得:Af减小二级电压串联负反馈:Ri=Ri/(1+Af);Ro=Ro*(1+Af);使的Ri减小Ro增大;
二、设计题。
设计一个水温控制系统。
(40分)
基本要求:一升水由1kW的电炉加热,要求水温可以在一定范围内由人工设定,并能在环境温度降低时实现自动调整,以保持设定的温度基本不变。
达到的性能指标:
①温度设定范围:40~90℃,最小区分度为1℃;
②控制精度:温度控制的静态误差≤1℃;
③用十进制数码显示实际水温;
④能打印实测水温值;
⑤具有通信能力,可接收其他数据设备发来的命令,或将结果传送到其他
数据设备。
完成作业的要求:
(1)根据课堂讲授的设计方法完成本题;给出设计步骤和说明
(2)查阅相关资料,画出原理框图
(3)按照题目的功能要求,设计并画出完整的原理图(利用画图软件),并给出元器件选用说明。
(4)完成PCB图的设计。
设计步骤:
1 使用数字温度传感器DS18B20检测温度,内含AD转换器,因此线路连接十分简单,它无需其他外加电路,直接输出数字量,可直接与单片机通信,读取测温数据,电路十分简单,它能够达到0.5℃的固有分辨率,使用读取温度暂存寄存器的方法还能达到0.2℃以上精度,应用方便。
2 固态继电器控制加热器工作,固态继电器使用非常简单,而且没有触点,无需外加光耦,自身就可以实现电气隔离,还可以频繁动作。
可以使用类似pwm的方式,通过控制固态继电器的开,断时间比来达到控制加热器功率的目的,适合功率不大精度不高,简易水温控制系统。
3 给系统加一个微型打印机,由单片机控制打印机工作,但这样单片机软件能打印实测水温值。
系统框图
串口通讯部分电路
系统设计要求控制系统能同PC联机通信,以利用PC图形处理能力打印显示温度曲线以及下载程序。
由于AT89S52串行口电平和PC不一致,AT89S52的I/O为TTL电平,PC串行口为RS232电平利用单片机片内串行口外加逻辑电平转换电路组成RS-232C标准接口以实现系统相互通道的扩展,逻辑电平转换电路采用了一片专用芯片MAX232,外加少量电容即可完成TTL到RS-232或RS-232到TTL 的逻辑电平转换。
RS-232C是美国电子工业协会EIA(Electronic Industry Association)制定的一种串行物理接口标准。
RS是英文“推荐标准”的缩写,232为标识号,C表示修改次数。
RS-232-C总线标准设有
25条信号线,包括一个主通道和一个辅助通道。
电平标准:3--15V=“0”,-3---15V=“1”。
UART模块提供了一个全双工标准通信口,用于完成AT89S52与外设之间的串行通信。
根据RS-232的标准,AT89S52单片机也是按照字节传输数据的。
数码显示电路
数码管作为单片机系统最为常用的输出器件,在显示时可以由数字和少量字母组合完成输出功能的系统中应用十分方便。
AT89S52最小系统以及一个四位共阴数码管,DIG0、DIG1、DIG2、DIG3分别与单片机的P21、P22、P23、P24相连,每一个都拥有一个共阴的位选端。
从而可以通过单片机选通所需显示的数码管。
SegA--SegDp口传输要显示的数据,利用其串/并转换功能,送入数码管显示。
在此外接了一个10K的排阻来保护LED。
数码管显示电路
第三题、利用VHDL原理设计13进制和24进制计数器,并在开发系统软件进行仿真,给出仿真结果。
(20分
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
ENTITY thireteencout IS
PORT(clk,reset,enable : IN std_logic; count : OUT std_logic_vector(3 downto 0)); END thireteencout;
ARCHITECTURE counter OF thireteencout IS
SIGNAL count_int:std_logic_vector(0 to 3);
BEGIN
PROCESS(clk,reset)
BEGIN
WAIT UNTIL rising_edge(clk);
IF reset = '1' THEN
count_int <= (OTHERS => '0');
ELSIF enable = '1' THEN
IF(count_int="1100") THEN
count_int<="0000";
ELSE
count_int <= count_int +1;
--ELSE
-- NULL ;
--IF (count_int="1001") THEN
--count_int<="0000";
END IF;
END IF;
END PROCESS;
count <= count_int;
-- IF (reset='0') then
--q<="0000";
---ELSIF(clk'event and clk='1') THEN
--q<=q 1;
--IF (q<="1001") then
--q<="0000";
---END IF;
--IF (reset<='1')THEN
--q<="00";
--ELSIF
--wait until (clk'event and clk='1');
--WAIT UNTIL (clk'EVENT AND clk = '1');
--WAIT UNTIL (clock'EVENT AND clock = '1'); -- q<=q '1';
--end if;
--count<=q;
-- WAIT UNTIL clock = '1';
--if (clock'event and clock='1')then
--WAIT UNTIL rising_edge(clock);
--clock'event and clock='1';
--count <= 0;
--WAIT UNTIL (clock'EVENT AND clock = '1'); --WAIT riseedge clock = '1';
--if (clock'event and clock='1') then
--WAIT UNTIL rising_edge(clock);
--count <= 1;
--WAIT UNTIL (clock'EVENT AND clock = '1');
--WAIT UNTIL clock = '1';
--if (clock'event and clock='1')then
--WAIT UNTIL rising_edge(clock);
--count <= 2;
--end if;
--end if;
--end if;
-- END PROCESS;
END counter;
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
ENTITY thireteencout IS
PORT(clk,reset,enable : IN std_logic; count : OUT std_logic_vector(7 downto 0)); END thireteencout;
ARCHITECTURE counter OF thireteencout IS
SIGNAL count_int:std_logic_vector(0 to 7);
BEGIN
PROCESS(clk,reset)
BEGIN
WAIT UNTIL rising_edge(clk);
IF reset = '1' THEN
count_int <= (OTHERS => '0');
ELSIF enable = '1' THEN
IF(count_int="00010111") THEN
count_int<="00000000";
ELSE
count_int <= count_int+ 1;
--ELSE
-- NULL ;
--IF (count_int="00010111") THEN
--count_int<="00000000";
END IF;
END IF;
END PROCESS;
count <= count_int;
-- IF (reset='0') then
--q<="00000000";
---ELSIF(clk'event and clk='1') THEN
--q<=q 1;
--IF (q<="00010111") then
--q<="00000000";
---END IF;
--IF (reset<='1')THEN
--q<="00";
--ELSIF
--wait until (clk'event and clk='1');
--WAIT UNTIL (clk'EVENT AND clk = '1');
--WAIT UNTIL (clock'EVENT AND clock = '1'); -- q<=q '1';
--end if;
--count<=q;
-- WAIT UNTIL clock = '1';
--if (clock'event and clock='1')then
--WAIT UNTIL rising_edge(clock);
--clock'event and clock='1';
--count <= 0;
--WAIT UNTIL (clock'EVENT AND clock = '1'); --WAIT riseedge clock = '1';
--if (clock'event and clock='1') then
--WAIT UNTIL rising_edge(clock);
--count <= 1;
--WAIT UNTIL (clock'EVENT AND clock = '1');
--WAIT UNTIL clock = '1';
--if (clock'event and clock='1')then
--WAIT UNTIL rising_edge(clock);
--count <= 2;
--end if;
--end if;
--end if;
-- END PROCESS;
END counter;
四、谈谈你对《电子设计自动化》的理解(不少于200字)。
(15分)
EDA技术的发展经历了一个由浅到深的过程。
20世纪70年代,随着中小规模集成电路的开发应用,传统的手工制图设计印刷电路板和集成电路的方法已无法满足设计精度和效率的要求,因此工程师们开始进行二维平面图形的计算机辅助设计,以便把人们从繁杂、机械的版图设计工作中解脱出来,这就产生了第一代EDA工具。
到了80年代,为了适应电子产品在规模和制作上的需要,随之出现了以计算机仿真和自动布线为核心技术的第二代EDA技术。
其特点是以软件工具为核心,通过这些软件完成产品开发的设计、分析、生产、测试等各项工作。
90年代后,EDA技术继续发展,出现了以高级语言描述、系统级仿真和综合技术为特征的第三代EDA技术。
它的出现,极大地提高了系统设计的效率,使广大的电子设计师开始实现“概念驱动工程”的梦想。
设计师们摆脱了大量的辅助设计工作,而把精力集中于创造性的方案与概念构思上,从而极大地提高了设计效率,缩短了产品的研制周期。
由此可见,EDA技术可以看做是电子CAD的高级阶段。
EDA工具的出现,给电子系统设计带来了革命性的变化。
随着Intel公司Pentium
处理器的推出,Xilinx等公司几十万门规模的FPGA的上市,以及大规模的芯片组和高速、高密度印刷电路板的应用,EDA技术在仿真、时序分析、集成电路自动测试、高速印刷电路板设计及操作平台的扩展等方面都面临着新的巨大的战。