EDA实验报告
- 格式:doc
- 大小:2.25 MB
- 文档页数:37
目录第一部分实验开发系统概述及使用说明.............................................................. 1第一章EDA实验系统 ....................................................................................... 1第二章EDA/SOPC实验系统 ............................................................................ 7第二部分实验部分............................................................................................ 10实验一EDA工具基本操作与应用 ........................................................... 10实验二计数器设计..................................................................................... 24实验三串入/并出移位寄存器实现 ........................................................... 26实验四四人抢答器设计............................................................................. 28实验五序列检测器设计............................................................................. 29实验六DDS信号源的设计........................................................................ 30实验七交通灯控制器设计......................................................................... 31实验八数字钟设计..................................................................................... 32实验九出租车计费器设计......................................................................... 33实验十频率计的实现................................................................................. 34附录——FPGA接口对照表 ............................................................................ 35第一部分实验开发系统概述及使用说明第一章EDA实验系统一、实验系统概述此系列实验系统针对数字电路设计CPLD/FPGA及模拟电路设计技术有一总体上的概念。
7段数码显示译码器设计实验报告******班级:09级计科六班学号:*************一、实验目的1. 用QuartusII 完成基本组合电路的设计;2. 学习7段数码显示译码器设计;3.学习VHDL 的CASE 语句应用及多层次设计方法。
二、 实验原理1. 7段数码是纯组合电路,通常的小规模专用IC ,如74或4000系列的器件只能作十进制BCD 码译码,然而数字系统中的数据处理和运算都是二进制的,所以输出表达式都是十六进制的。
为了满足十六进制的译码显示,最方便的方法就是利用译码程序在FPGA/CPLD 中来实现。
2. 对于7段译码器,输出信号LED7S 的7位分别接如图1所示数码管的7个段,高位在左,低位在右。
例如当LED7S 输出为“1101101”时,数码管的7个段:g 、f 、e 、d 、c 、b 、a 分别接1、1、0、1、1、0、1;接有高电平的段发亮,于是数码管显示“5”。
3. 4位译码选择信号A 、7位输出信号LED7S 与、数码管显示三者间的关系如表1所示。
图1 共阴数码管及其电路表1 7段数码管输入输出真值表 这里没有考虑表示小数点的发光管,如果要考虑,需要增加段h ,后述程序中的LED7S:OUT STD_LOGIC_VECTOR(6 DOWNTO 0) 应改为 (7 DOWNTO 0) , 即输出信号由7位改为8位。
4位选择 信号A 7位输出信号LED7S数码管显示 0000 0111111 0 0001 0000110 1 0010 1011011 2 0011 1001111 3 0100 1100110 4 0101 1101101 5 0110 1111101 6 0111 0000111 7 1000 1111111 8 1001 1101111 9 1010 1110111 A 10111111100 B 11000111001 C 11011011110 D 11101111001 E 1111 1110001 F三、实验仪器1.PC机一台2.Quartus II 软件3.EDA实验箱四、实验内容1、实验内容一:说明例6-18中各语句的含义,以及该例的整体功能。
EDA实验报告班级:姓名:目录实验一:七段数码显示译码器设计 (1)摘要 (1)实验原理 (1)实验方案及仿真 (1)引脚下载 (2)实验结果与分析 (3)附录 (3)实验二:序列检测器设计 (6)摘要 (6)实验原理 (6)实现方案及仿真 (6)引脚下载 (7)实验结果与分析 (8)实验三:数控分频器的设计 (11)摘要 (11)实验原理 (11)方案的实现与仿真 (11)引脚下载 (12)实验结果及总结 (12)附录 (12)实验四:正弦信号发生器 (14)摘要 (14)实验原理 (14)实现方案与仿真 (14)嵌入式逻辑分析及管脚下载 (16)实验结果与分析 (17)附录 (18)实验一:七段数码显示译码器设计摘要:七段译码器是一种简单的组合电路,利用QuartusII的VHDL语言十分方便的设计出七段数码显示译码器。
将其生成原理图,再与四位二进制计数器组合而成的一个用数码管显示的十六位计数器。
整个设计过程完整的学习了QuartusII的整个设计流程。
实验原理:七段数码是纯组合电路,通常的小规模专用IC,如74或4000系列的器件只能作十进制BCD码译码,然而数字系统中的数据处理和运算都是2进制的,所以输出表达都是16进制的,为了满足16进制数的译码显示,最方便的方法就是利用译码程序在FPGA\CPLD中来实现。
本实验作为7段译码器,输出信号LED7S的7位分别是g、f、e、d、c、b、a,高位在左,低位在右。
例如当LED7S 输出为“1101101”时,数码管的7个段g、f、e、d、c、b、a分别为1、1、0、1、1、1、0、1。
接有高电平段发亮,于是数码管显示“5”。
实验方案及仿真:I、七段数码显示管的设计实现利用VHDL描述语言进行FPGA上的编译实现七段数码显示译码器的设计。
运行QuartusII在G:\QuartusII\LED7S\下新建一个工程文件。
新建一个vhdl语言编译文件,编写七段数码显示管的程序见附录1-1。
实验一五人表决器设计一、实验目的1 加深对电路理论概念的理解3 加深计算机辅助分析及设计的概念4 了解及初步掌握对电路进行计算机辅助分析的过程二、实验要求制作一个五人表决器,共五个输入信号,一个输出信号。
若输入信号高电平数目多于低电平数目,则输出为高,否则为低。
三、实验原理根据设计要求可知,输入信号共有2^5=32种可能,然而输出为高则有15种可能。
对于本设计,只需一个模块就能完成任务,并采用列写真值表是最简单易懂的方法。
四、计算机辅助设计设A,B,C,D,E引脚为输入引脚,F为输出引脚。
则原理图如1所示图1.1 五人表决器原理图实验程序清单如下:MODULE VOTEA,B,C,D,E PIN;F PIN ISTYPE 'COM';TRUTH_TABLE([A,B,C,D,E]->[F])[0,0,1,1,1]->[1];[0,1,1,1,0]->[1];[0,1,0,1,1]->[1];[0,1,1,0,1]->[1];[1,0,1,1,1]->[1];[1,1,0,1,1]->[1];[1,1,1,0,1]->[1];[1,1,1,1,0]->[1];[1,1,1,0,0]->[1];[1,1,0,1,0]->[1];[1,1,1,1,1]->[1];[1,1,0,0,1]->[1];[1,0,0,1,1]->[1];[1,0,1,0,1]->[1];[1,0,1,1,0]->[1];END五、实验测试与仿真根据题目要求,可设输入分别为:0,0,0,0,0;1,1,1,1,1;1,0,1,0,0;0,1,0,1,1。
其测试程序如下所示:MODULE fivevoteA,B,C,D,E,F PIN;X=.X.;TEST_VECTORS([A,B,C,D,E]->[F])[0,0,0,0,0]->[X];[1,1,1,1,1]->[X];[1,0,1,0,0]->[X];[0,1,0,1,1]->[X];END测试仿真结果如图1.2所示:图1.2 五人表决器设计仿真图可知,设计基本符合题目要求。
实验一:五人表决器一、程序清单library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity vote5 isport(v_in:in std_logic_vector(4 downto 0);lock,clr:in std_logic;v_over:out std_logic_vector(2 downto 0);num_agr,num_opp:out std_logic_vector(3 downto 0);v_out:out std_logic_vector(4 downto 0);led_agr,led_opp:out std_logic);end entity vote5;architecture one of vote5 isbeginprocess(clr,v_in,lock)variable agr,opp: std_logic_vector(3 downto 0);beginif(clr='1')thenled_agr<='0';led_opp<='0';agr:="0000";opp:="0000";if agr="0000" thennum_agr<="0000";end if;if opp="0000"thennum_opp<="0000";end if;v_out<="00000";v_over<="000";elsif(lock'event and lock='1')thenv_out<=v_in;v_over<="111";agr:="0000";opp:="0000";for i in 0 to 4 loopif (v_in(i)<='0') then opp:=opp+1;end if;agr:=5-opp;end loop;num_agr<=agr;num_opp<=opp;if(agr>opp)thenled_agr<='1';led_opp<='0';elseled_agr<='0';led_opp<='1';end if;end if;end process;end architecture one;三.仿真1. 功能仿真波形2.时序仿真波形实验二:九九乘法表系统的设计一、程序清单library ieee;use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all;entity multiply is --构造体描述4位乘法器port( clk:in std_logic;a,b:in std_logic_vector(3 downto 0);led_data:out std_logic_vector(7 downto 0);seg_sel:out std_logic_vector(2 downto 0) );end multiply;architecture rtl of multiply issignal led_data2,led_data1,led_data0: std_logic_vector(7 downto 0);--LED显示代码,寄存十位个位的数signal displayclk: std_logic;beginprocess(a,b)variable s: std_logic_vector(7 downto 0);--乘积variable bai,shiwei,gewei: std_logic_vector(3 downto 0);--乘积的十位个位begins(7 downto 0):=a(3 downto 0)*b(3 downto 0);if s>="11001000" then bai:="0010";s:=s-"11001000";elsif s>="01100100" then bai:="0001";s:=s-"01100100";else bai:="0000";end if;if s>="01011010" then shiwei:="1001";s:=s-"01011010";gewei:=s(3 downto 0);--90以上 elsif s>="01010000" then shiwei:="1000";s:=s-"01010000";gewei:=s(3 downto 0);--80以上 elsif s>="01000110" then shiwei:="0111";s:=s-"01000110";gewei:=s(3 downto 0); --70以上 elsif s>="00111100" then shiwei:="0110";s:=s-"00111100";gewei:=s(3 downto 0);--60以上 elsif s>="00110010" then shiwei:="0101";s:=s-"00110010";gewei:=s(3 downto 0);--50以上 elsif s>="00101000" then shiwei:="0100";s:=s-"00101000";gewei:=s(3 downto 0);--40以上 elsif s>="00011110" then shiwei:="0011";s:=s-"00011110";gewei:=s(3 downto 0);--30以上 elsif s>="00010100" then shiwei:="0010";s:=s-"00010100";gewei:=s(3 downto 0);--20以上 elsif s>="00001010" then shiwei:="0001";s:=s-"00001010";gewei:=s(3 downto 0);--10以上 else gewei:=s(3 downto 0);shiwei:="0000";end if;case bai iswhen "0001" => led_data2<="11111001";when "0010" => led_data2<="10100100";when others => led_data2<="11111111";end case;case shiwei iswhen "0000" => led_data1<="11000000";when "0001" => led_data1<="11111001";when "0010" => led_data1<="10100100";when "0011" => led_data1<="10110000";when "0100" => led_data1<="10011001";when "0101" => led_data1<="10010010";when "0110" => led_data1<="10000010";when "0111" => led_data1<="11111000";when "1000" => led_data1<="10000000";when "1001" => led_data1<="10010000";when others => led_data1<="11111111";end case;case gewei iswhen "0000" => led_data0<="11000000";when "0001" => led_data0<="11111001";when "0010" => led_data0<="10100100";when "0011" => led_data0<="10110000";when "0100" => led_data0<="10011001";when "0101" => led_data0<="10010010";when "0110" => led_data0<="10000010";when "0111" => led_data0<="11111000";when "1000" => led_data0<="10000000";when "1001" => led_data0<="10010000";when others => led_data0<="11111111";end case;end process;process(clk)variable cnt:integer range 0 to 20000; --1KHZ扫描显示时钟 beginif clk'event and clk='1' then cnt:=cnt+1;if cnt<10000 then displayclk<='1';elsif cnt<20000 then displayclk<='0';else cnt:=0;displayclk<='0';end if;end if;end process;process (displayclk) --显示两位variable cnt2: std_logic_vector(1 downto 0);beginif displayclk'event and displayclk='1' then cnt2:=cnt2+1;if cnt2="01" then seg_sel<="001";led_data<=led_data0;elsif cnt2="010" then seg_sel<="010";led_data<=led_data1;elsif cnt2="11" then cnt2:="00"; seg_sel<="100";led_data<=led_data2;end if;end if;end process;end rtl;二、仿真设计输入文件经maxplus软件开发系统编译、处理,由功能仿真器进行模拟,获得仿真波形如图6所示。
实验一单级放大电路的设计与仿真一、实验目的1.掌握放大电路静态工作点的调整与测试方法;2.掌握放大电路动态参数的测试方法;3.观察动态工作点的选择对输出波形及放大倍数的影响。
二、实验要求1.设计一个分压偏置的单管电压放大电路,要求信号源频率5kHz(峰值10mV) ,负载电阻5.1kΩ,电压增益大于50。
2.调节电路静态工作点(调节偏置电阻),观察电路出现饱和失真和截止失真的输出信号波形,并测试对应的静态工作点值。
3.调节电路静态工作点(调节偏置电阻),使电路输出信号不失真,并且幅度最大。
在此状态下测试:①电路静态工作点值;r、ce r值;②三极管的输入、输出特性曲线和 、be③电路的输入电阻、输出电阻和电压增益;f、H f值。
④电路的频率响应曲线和L三、实验步骤1.单级放大电路的原理图:2.a.电路的饱和失真:静态工作点参数:图表3 饱和失真时静态工作点参数数据分析:Ib=12.90259uA Ic=2.07754mA Uce=0.20717V此时电位器为0%,基极静态电流过大而导致三极管达到饱和,使得电路出现失真。
b.电路的截止失真:图表4 截止失真时输出电压波形图静态工作点参数:图表5 截止失真时静态工作点参数数据分析:Ib=3.87579uA Ic=834.27745uA Uce=6.07513V此时电位器为100%,使得基极电位减小,三极管截止导致电路出现失真。
c.电路的最大不失真输出:图表6 最大不失真时输出电压波形图静态工作点参数:图表7 最大不失真时输出时静态工作点参数数据分析:Ube=0.64415V IC=1.87602mA IB=9.05731uA Uce=1.23723V β=207 此时电位器为20%3.a.三极管的输入特性:图表8 输入特性测试电路图表9 最大不失真时输入特性曲线从上图数据可以得出rbe=2.8353kΩb.三极管的输出特性:电路图及曲线:图表10 输出特性测试电路图表11 最大不失真时输出特性曲线从上图数据可以得出rce=10.793kΩ4.输入电阻的测量:图表12 输入电阻测量电路及数据从上图数据可以得出测试输入电流i=3.864uA 电阻Ri=2.588kΩ理论输入电阻Ri=2.483 kΩ误差4.1%5.输出电阻的测量:图表13 输出电阻测量电路及数据从上图数据可以得出测试输出电阻Ro=2.097kΩ理论输出电阻Ro=2.030 kΩ误差3.2%6.电压增益:图表14 电压增益测量电路及数据Au=110.557.电路的频率特性:图表15 波特图及数据最大输出增益41.25dB图表15 波特图及数据fL=229Hz fH=14.470MHz四、实验小结从以上测量的数据与理论计算值比较可以发现存在一定的误差,误差产生的原因可能包括:a.本次试验中的器件均选用实际器件,它们自身存在随机误差,例如:实验所用三极管的输出特性曲线放大区并非理想的水平平行线,而是发散的,只就导致正常放大的波形出现不对称行,仿佛截止失真。
实验一:不同设计输入方式比较1、实验目的(1) 学习MAX+plus II软件的基本使用方法。
(2) 学习EDA实验开发系统的基本使用方法。
(3) 掌握VHDL程序的原理图和文本输入方式。
2、实验内容(1) 原理图输入(mux21.vhd) 方式的2选1多路选择器的设计(2) 文本编辑输入(mux41.vhd) 方式的4选1多路选择器的设计3、实验要求(1) MAX+plus II软件画出系统的原理框图,说明系统中各主要组成部分的功能。
(2) 编写VHDL源程序。
(3) 在MAX+plus II工具下编译、综合、适配、仿真、实验板上的硬件测试。
(4) 根据EDA实验开发装置编好用于硬件验证的管脚锁定文件。
(5) 记录系统仿真、硬件验证结果。
(6) 记录实验过程中出现的问题及解决办法。
4:实验步骤:程序编译过程:新建text文件→输入程序并保存其中保存名为实体名,并以vhd类型结尾→点击file下的project设定为current file点击maxplus 中的compiler按钮→显示无误后→点击新建按钮建立wave 文件→点击node 按钮添加管脚→保存并按text 的步骤检验wave 文件。
(1):用原理图法实现二选一多路选择器。
二选一选择器原理图其中B端为控制端,A,C为控制端(2):用文本输入法实现四选一多路选择器。
其文本程序如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY MUX41 ISPORT(INPUT:IN STD_LOGIC_VECTOR(3 DOWNTO 0);A,B:IN STD_LOGIC;Y:OUT STD_LOGIC);END MUX41;ARCHITECTURE BE_MUX41 OF MUX41 ISSIGNAL SEL:STD_LOGIC_VECTOR(1 DOWNTO 0); BEGINSEL<=A&B;PROCESS(INPUT,SEL)BEGINIF(SEL="00")THENY<=INPUT(0);ELSIF(SEL="01")THENY<=INPUT(1);ELSIF(SEL="10")THENY<=INPUT(2);ELSEY<=INPUT(3);END IF;END PROCESS;END BE_MUX41;实验二:VHDL语言编程—组合逻辑电路设计1、实验目的(1) 学习VHDL三种描述风格;(2) 学习元件例化语句的使用方法;(3) 学习VHDL程序层次化设计方法2、实验内容用元件例化语句方法和原理图方法设计四位全加器。
eda仿真实验报告EDA仿真实验报告一、引言EDA(Electronic Design Automation)是电子设计自动化的缩写,是指利用计算机技术对电子设计进行辅助、自动化的过程。
在现代电子设计中,EDA仿真是不可或缺的一环,它可以帮助工程师验证电路设计的正确性、性能和可靠性。
本篇报告将介绍我在EDA仿真实验中的经验和收获。
二、实验背景本次实验的目标是对一个数字电路进行仿真,该电路是一个4位加法器,用于将两个4位二进制数相加。
通过仿真,我们可以验证电路设计的正确性,并观察其在不同输入情况下的输出结果。
三、实验步骤1. 电路设计:首先,我们根据给定的要求和电路原理图进行电路设计。
在设计过程中,我们需要考虑电路的逻辑关系、时序要求以及输入输出端口的定义等。
2. 仿真环境搭建:接下来,我们需要选择合适的EDA仿真工具,并搭建仿真环境。
在本次实验中,我选择了Xilinx ISE Design Suite作为仿真工具,并创建了一个仿真项目。
3. 仿真测试向量生成:为了对电路进行全面的测试,我们需要生成一组合适的仿真测试向量。
这些测试向量应该覆盖了电路的所有可能输入情况,以验证电路的正确性。
4. 仿真运行:在仿真环境搭建完成后,我们可以开始进行仿真运行了。
通过加载测试向量,并观察仿真结果,我们可以判断电路在不同输入情况下的输出是否符合预期。
5. 仿真结果分析:仿真运行结束后,我们需要对仿真结果进行分析。
通过对比仿真输出和预期结果,可以判断电路设计的正确性。
如果有不符合预期的情况,我们还可以通过仿真波形分析,找出问题所在。
四、实验结果与讨论在本次实验中,我成功完成了4位加法器的仿真。
通过对比仿真输出和预期结果,我发现电路设计的正确性得到了验证。
无论是正常情况下的加法运算,还是特殊情况下的进位和溢出,电路都能够正确地输出结果。
在实验过程中,我还发现了一些有趣的现象。
例如,在输入两个相同的4位二进制数时,电路的输出结果与输入完全一致。
EDA电子课程实验报告专业:班级:姓名:学号:实验一四人表决器一实验目的1、熟悉Quartus II软件的使用。
2、熟悉EDA-IV实验箱。
3、熟悉EDA开发的基本流程。
二硬件需求1、RC-EDA-IV型实验箱一台;2、RC-EDA-IV型实验箱配套USB-Blaster下载器一个;3、PC机一台。
三实验原理所谓表决器就是对于一个行为,由多个人投票,如果同意的票数过半,就认为此行为可行;否则如果否决的票数过半,则认为此行为无效。
四人表决器顾名思义就是由四个人来投票,当同意的票数大于或者等于3人时,则认为同意;反之,当否决的票数大于或者等于2人时,则认为不同意。
实验中用4个拨挡开关来表示4个人,当对应的拨挡开关输入为‘1’时,表示此人同意;否则若拨挡开关输入为‘0’时,则表示此人反对。
表决的结果用一个LED表示,若表决的结果为同意,则LED被点亮;否则,如果表决的结果为反对,则LED不会被点亮。
四实验内容VHDL程序:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;--------------------------------------------------------------------entity EXP3 isport(k1,K2,K3,K4 : in std_logic;ledag : out std_logic_vector(3 downto 0);m_Result : out std_logic);end EXP3;--------------------------------------------------------------------architecture behave of EXP3 issignal K_Num : std_logic_vector(2 downto 0); signal K1_Num,K2_Num: std_logic_vector(2 downto 0); signal K3_Num,K4_Num: std_logic_vector(2 downto 0);beginprocess(K1,K2,K3,K4)beginK1_Num<='0'&'0'&K1;K2_Num<='0'&'0'&K2;K3_Num<='0'&'0'&K3;K4_Num<='0'&'0'&K4;end process;process(K1_Num,K2_Num,K3_Num,K4_Num,)beginK_Num<=K1_Num+K2_Num+K3_Num+K4_Num;end process;process(K_Num) beginif(K_Num>2) thenm_Result<='1';elsem_Result<='0';end if;end process;end behave;实验电路实验二格雷码转换一实验目的1、了解格雷码变换的原理。
EDA实验报告岳代兵 200800120265电信工二班实验一 4选1数据选择器的设计一、实验目的学习EDA软件的基本操作;学习使用原理图进行设计输入;初步掌握器件设计输入、编译、仿真和编程过程;学习实验开发系统的使用方法。
二、实验原理图通过查阅数字电路课本,得知四选一数据选择器电路如下图。
三、仿真波形功能仿真更容易辨别电路的功能实现与否,故采用功能仿真。
注意功能仿真前,要先生成网络表,Process—>Generate Functional Simulation Netlist。
四、引脚分配A1—SW[0] (PIN_N25)A0—SW[1] (PIN_N26)D0—SW[2] (PIN_P25)D1—SW[3] (PIN_AE14)D2—SW[4] (PIN_AF14)D3—SW[5] (PIN_AD13)Y—LEDR[0] (PIN_AE23)实验二四位比较器一、实验目的设计四位二进制码比较器,并在实验开发板系统上验证;学习层次化设计方法。
二、实验源程序library ieee;use ieee.std_logic_1164.all;entity bijiaoqi isport( a:in std_logic_vector(3 downto 0);b:in std_logic_vector(3 downto 0);g,m,l:out std_logic);end bijiaoqi;architecture behave of bijiaoqi isbeginprocess(a,b)beginif(a>b) then g<='1';m<='0';l<='0';elsif(a<b) then g<='0';m<='0';l<='1';elsif(a=b) then g<='0';m<='1';l<='0';end if;end process;end behave;三、仿真波形(功能仿真)四、引脚分配a[0]—SW[0] (PIN_N25)a[1]—SW[1] (PIN_N26)a[2]—SW[2] (PIN_P25)a[3]—SW[3] (PIN_AE14)b[0]—SW[4] (PIN_AF14)b[1]—SW[5] (PIN_AD13)b[2]—SW[6] (PIN_AC13)b[3]—SW[7] (PIN_C13)l—LEDR[15] (PIN_AE13)m—LEDR[16] (PIN_AE12)g—LEDR[17] (PIN_AD12)实验三并行加法器设计一、实验目的设计一个4位加法器;体会用HDL经行描述的优点。
实验一 单级放大电路的设计与仿真一、实验目的1)掌握单级放大电路在仿真软件中的设计。
1)掌握放大电路与静态工作点的调整和测试方法。
2)掌握放大电路的动态参数的测试方法。
3)观察静态工作点的选择对输出波形及电压放大倍数的影响。
二、实验要求1.设计一个分压偏置的单管电压放大电路,要求信号源频率10kHz(峰值1mV) ,负载电阻3.9kΩ,电压增益大于70。
2.调节电路静态工作点(调节偏置电阻),观察电路出现饱和失真和截止失真的输出信号波形,并测试对应的静态工作点值。
3.调节电路静态工作点(调节偏置电阻),使电路输出信号不失真,并且幅度最大。
在此状态下测试:①电路静态工作点值;②三极管的输入、输出特性曲线和 、 rbe 、rce 值;③电路的输入电阻、输出电阻和电压增益;4.电路的频率响应曲线和L f 、H f 值。
三、实验步骤1.单级放大电路的原理图及原理图1.1单级放大电路原理图放大电路的原理图如上,该电路为一个分压偏置单级共射放大电路,其中信号源为10kHz (峰值为5mV ),该电路的负载为8k Ω。
输入输出信号都是通过耦合电容连接信号源和负载的,这样做可以使得静态工作点不受负载和信号源的影响。
该电路利用R4和R5从而稳定住三极管基极的电压值。
引进了的电容C3对三极管的静态工作点没有影响,而在三极管的动态分析时可以将R2的作用忽略,使得小信号分析更加的简便。
分压偏置的电路中引入了一个电位器R6,目的是为了在实验中便于修改三极管的静态工作点。
2.电路的截止失真和饱和失真(1)电路的饱和失真调节电位器R6,可以改变三极管的静态工作点,当R6值为1%时(0.7k Ω)在虚拟示波器中可以观察到输出波形明显的出现了饱和失真的现象,输出波形如图1.2所示。
利用Multisim 的“直流工作点分析”功能可以测出三极管的静态工作点。
由于软件本身的限制,无法直接读取三极管的Vce 值。
为了解决这个问题,实验中添加表达式测量项b e V V (本实验电路中的表达式为“V(3)-V(2)”)来表示Vce ,测量结果如图1.3所示。
图1.2输入波形和饱和失真的输出波形图1.3饱和失真时三极管的静态工作点值电路输出波形发生饱和失真的原因是由于三极管进入了饱和区。
当输入信号正半周的部分波形进入晶体管的饱和区,三极管的放大能力不够使得波形出现了失真。
并且共射电路输入和输出信号存在着180°的相位差,所以从图上我们可以看到波形的失真发生在输出波形的负半周。
如果画出负载线图形就会发现饱和失真时,静态工作点Q过高,为了解决饱和失真,可以降低Q点,即减小Vb或者增大Vc(在本实验中调节电位器R6就是采用调节Vb的方法)。
(2)电路的截止失真调节电位器R6,当R6的值为74%时(51.8 kΩ)输出波形发生了截止失真,如图1.4,截止失真的静态工作点值如图1.5。
由于通过观察输出波形无法判断是否发生了截止失真,因此采用以下两种方法来判断输出信号是否发生了截止失真。
①观察Vce的直流电压值,当电压值接近Vcc时(本实验指12V)电路发生了截止失真。
②观察输出信号的交流电压值,当输出电压小于等于输入信号的交流电压值时,输出信号发生了截止失真。
图1.4输出信号发生截止失真时的波形图图1.5电路发生截止失真时的静态工作点值因为三极管进入了截止区工作,从而引起了输出波形的截止失真。
若用图解法分析,晶体管的静态工作点Q设置较低时,由于输入信号的叠加有可能使叠加后的波形一部分进入截止区,这样就会出现截止失真,NPN型三极管共射极放大电路的截止失真的表现是输出电压的顶部出现削波,PNP型三极管的共射放大电路的截止失真是底部失真(本实验中理论上应出现顶部削波但是现象并不明显)。
三极管的输出和输入正好是反过来的,即反相输出。
假设输入的是正弦波,静态工作点正好合适,即静态工作点电压是正弦波电压峰峰值的一半,那么当输入的波形是正半周时,输出电压波形正好和负半周期波形是一样的;当输入的波形是负半周时,输出电压波形正好和正半周期波形是一样的。
如果静态工作点电压大于输入波形的峰峰值的一半,那么当输入的波形是正半周时,快到峰值时,三极管就会处于饱和状态,那么此时的输出就不再随输入变化了,出现了饱和失真;即输出得到的负半周正弦波波形就没有谷底了.反之,当输入的波形是负半周时,快到谷值时,三极管就会处于截止状态,那么此时的输出就不再随输入变化了,出现了截止失真;即输出得到的正半周正弦波波形就没有峰值了,我们称之为截止失真。
Q点设置过低造成的截止失真属于输入端失真,所以只能从输入端解决。
解决方法有增大Vb(本实验中采用减小电位器R6值)。
(3)电路最大不失真①电路的输出波形与静态工作点当R6的值为5%时(3.5kΩ)电路出现最大不失真状态,输出信号的波形如图1.6所示,静态工作点值如图1.7所示。
图1.6最大不失真时输出信号的波形图1.7最大不失真时静态工作点值②静态工作点下β,rbe,rce值的求解用实验的三极管重新设计两个电路用以测量β,rce,rbe的值如图1.8和图1.9所示。
图1.8输入特性曲线分析电路图1.9输出特性曲线分析电路利用Multisim的“直流扫描”功能,可以分别画出三极管的输入/输出特性曲线图。
从而求出β,rce,rbe。
现在画出输入特性曲线如图1.10。
图1.10输入特性曲线为了测量rbe的值,选取静态工作点附近的两个曲线上的点,测量出rbe的值,如下图。
图1.11曲线静态工作点附近测量 图1.12静态工作点附近的测量值 下面计算rbe 的值:570.3896| 1.4047406.0659BE be Q B v V r k i nAμ∆==≈Ω∆ 利用输出特性曲线可以计算β和rce 的值。
曲线图及计算过程如下:图1.13不同ib 时的输出特性曲线图1.14曲线的测量值下面计算β:4.8632 1.4235|171.98520C Q B i mV mV i Aβμ∆-===∆ 利用输出特性曲线在静态工作点Q 附近的值,可以算出rce ,如下图。
图1.15输出特性曲线 图1.16输出特性曲线 下面计算rce 的值:570.3896| 1.4047406.0659BE be Q B v V r k i nAμ∆==≈Ω∆ ③放大倍数的求解测量输入信号和输出信号的电压值,求出实验电路的电压增益如下:304.1||||86.03.535out v in V mV A V mV==≈ 下面计算理论上电压增益的值:13(||R ||r )87.3276ce v be R A r β=-≈-理论误差分析如下:v ||||||100% 1.52%v v A A e A -=⨯=理论理论④输入输出电阻的测量与求解测量输入电阻时,用万用表交流档,分别测量输入电压和输入电流,就可以测量出输入电阻的阻值。
计算过程如下:3.535782.9464.515i mV R Aμ==Ω 下面计算理论上的输入电阻值:546||(0.75)||r 884.5be i R R R R =+≈Ω理论图1.17输入电阻测量电路在测量输出电阻时,应该先对电路加以处理,即将电压源置零,负载断开,在输出端口加以激励。
测量输出端的电压电流值,便可以求得输出电阻的值。
计算过程如下:3.535805.14.391o mV R Aμ=≈Ω 下面计算输出电阻的理论值:3||r 783.1ce o R R =≈Ω理论计算理论值与实际值的误差有:o o e ||100% 2.809%o R R R -=⨯≈理论理论 ⑤电路的幅频相频曲线利用Multisim 的“交流分析”的功能,能够仿真出电路的幅频曲线图和相频曲线图,如图1.18所示。
图1.18电路幅频和相频曲线 图1.19曲线的测量值 由于放大电路中电容、电感及半导体器件结电容等电抗元件的存在,在输入信号频率较低或较高时,放大倍数的数值会下降并产生相移。
通常情况下,放大电路只适用于放大某一个特定频率范围内的信号。
因此在设计电路中必须确定上下限的截止频率和通频带。
由图1.18中仿真曲线的可以看出,电压增益下降到0.7倍(3dB )时,可以看做是上下限截止频率。
由图1.19可以看出上限频率为36.1610H f MHz = ,下限截止频率为 1.5691L f kHz = 。
求解通频带宽:33.7819H L BW f f MHz =-=四、实验小结通过本次实验,可以看出利用Multisim 软件仿真出来的结果与理论计算上得出的结论相差并不大。
理论计算与仿真结果的误差可能是由于在理论计算时,对电路进行了化简。
而在仿真软件中元器件参数存在温度系数等差别,也造成了与理论值不符合的现象。
其次,试验中求解rbe ,rce 时,用的是图解法,那么在测量曲线的斜率的时候采取的是用割线代替切线的做法,不能避免的引入了误差。
但是,在现实中搭建电路时,可能与理论值或者实际值存在更大的差别。
因为实际电路中的元件的参数是离散的,厂家给出的仅仅是原件参数的一个平均值。
并且模拟电路容易受到温度的影响,在不同温度下做出的结果也会存在差异。
因此对于模拟电路的设计,在理论计算和仿真之后的电路符合设计标准时,仍然需要在面包板或者实验板上搭建电路进行测试。
在本次实验的过程中,在求解三极管静态工作点的时候,由于软件本身不具备求解三极管Vce 的选项,因此采取了求解表达式“Vc-Ve ”的方法间接求取Vbe 的值。
在调节电路到截止失真时,通过示波器并不能观察出理论上截止失真时应该出现的顶端削波的情形。
为了解决这个问题,本实验中采取了在输出端加入一个万用表,通过观察万用表的交流电压值是否小于或等于输入信号电压值,来判断电路是否发生了截止失真的情况。
本实验通过调节电位器R6来控制波形的输出,但是R6的最小调节单位为1%,有时可能会正好调节过电路所需要的最佳工作点。
因此,实验中在R6下面加入了一个电阻R4,用以控制电路的最佳工作点。
作为推广,在电路需要某个最佳工作点时,也可以将R4变为大阻值电阻,R6的变化范围减小,这样可以用R4将工作点设置在最佳点附近,而用R6进行微调,从而得到最佳工作点。
实验二 差动放大电路的设计与仿真一、实验目的1.掌握长尾差动放大电路的设计方法。
2.掌握长尾差动放大电路的静态工作点的调试方法。
3.掌握长尾差动放大电路的差模电压放大倍数、输入电阻、输出电阻的测试方法。
了解差模电压放大倍数的频率特性,观察交流参数的特点。
二、实验要求(1)设计一个长尾式差动放大电路,给定阻值为100k Ω的射极公共电阻,要求空载时的VD A 大于20。
(2)测试电路每个三极管的静态工作点值和 、 rbe 、rce 值。
(3)空载下给电路分别输入差模和共模交流小信号,分别测试电路的双端输出的差模增益VD A ,单端输出的差模增益1VD A ,双端输出的共模增益VC A 以及单端输出的共模增益1VC A 值。