北邮数字电路综合实验报告——交通灯控制器的VHDL实现

北邮数字电路综合实验报告——交通灯控制器的VHDL实现
北邮数字电路综合实验报告——交通灯控制器的VHDL实现

数字电路综合实验报告

班级:

姓名:

班内序号:

学号:

日期:

目录

一、实验摘要 (3)

二、实验任务 (3)

1.任务要求 (3)

2.任务解析 (3)

三、实验设计思路 (4)

1.状态转移图 (4)

2.流程图 (5)

3.模块确定 (5)

4.系统框图 (7)

四、程序代码 (7)

⒈主程序 (7)

⒉分频模块 (9)

⒊防抖模块 (10)

⒋交通灯控制模块 (11)

⒌数字译码模块 (14)

五、实验结果 (15)

1.仿真结果 (15)

2.实物结果 (17)

六、所遇问题分析 (17)

七、实验总结 (18)

交通灯控制器的VHDL实现

一、实验摘要

随着交通情况的日益复杂,交通灯在生活中所处的位置也越来越高。本实验就是基于VHDL语言编程实现了十字路口的交通灯控制器。对于交通等控制器的设计是分模块自顶向下的设计思想,软硬件结合来实现本设计。

关键字:交通灯、VHDL、控制器

二、实验任务

1.任务要求

1)南北和东西方向各有一组绿、黄、红灯用于指挥交通,绿灯、黄灯和红灯的持续时间分别为20秒、5

秒和25秒;

2)当有特殊情况(如消防车、救护车等)时,两个方向均为红灯亮,计时停止,当特殊情况结束后,控制

器恢复原来状态,继续正常运行;

3)用两组数码管,以倒计时方式显示两个方向允许通行或禁止通行的时间;

2.任务解析

东西(A车道)和南北(B车道)方向各有一组绿、黄、红灯用于指挥交通(如图1),绿灯、黄灯和红灯的持续时间分别为20 秒、5 秒和25 秒。

图1 十字路口交通灯模型

因此,可以设计如下四个状态,其关系为:

状态

亮灯情况

车辆行驶状况

持续时

间(秒)下一状态A车道B车道

S0 红亮红亮紧急状况,A/B车道均禁止通行~ S1

S1 绿亮红亮A车道通行,B车道禁止通行20 S2

S2 黄亮红亮A车道缓行,B车道禁止通行 5 S3

S3 红亮绿亮A车道禁止通行,B车道通行20 S4

S4 红亮黄亮A车道禁止通行,B车道缓行 5 S1

三、实验设计思路

1.状态转移图

图2 状态转移图

2.流程图

图3 流程图

3.模块确定

⑴分频模块

设计原因:由于实验板只能提供50MHz的时钟信号,而电路中只能使用较低频率的时钟:1Hz时钟信号:计数器count变化时使用;

20Hz时钟信号:在防抖电路中使用的时钟信号;

1kHz时钟信号哦:用于数码管位选信号的改变的时钟信号。

功能:用于将实验板上的50MHz的时钟信号经分频后输出:1kHz、20Hz、1Hz。

图4 分频模块的输入和输出

⑵防抖动模块

设计原因:只要有按键或是拨码开关,防抖电路就是不可缺少的一个模块。否则,按键信号中的一些毛刺和抖动往往会引起电路不可预知的错误。

功能:将带有抖动的信号进行识别和判断,输出持续时间超过0.1s的高电平信号。

图5 防抖动模块的输入和输出

⑶交通灯控制模块

设计原因:这个模块是本程序设计的灵魂,是重中之重!这个模块用于控制电路的状态改变和按键响应,也就是系统中控制器的作用。

功能:根据按键信号和输入时钟,输出符合交通灯状态变化规律的LED驱动信号、数码管显示的数据、数码管位选信号。

图6 交通灯控制模块的输入和输出

⑷数字译码模块

设计原因:由于交通灯控制模块输出的为数码管显示的数据,为10进制数,因此必须要一个译码电路,将此十进制数转化为LED灯的驱动信号,而这个功能正是由此模块完成。

功能:将输入的十进制数转变为相应的8位2二进制数作为数码管的驱动信号。

图7 数字译码模块的输入和输出

⑸整体模块连接图

图8 模块整体连接图

4.系统框图

图9 系统框图

四、程序代码

⒈主程序

--------------------------------主程序--------------------------------

library ieee;

use ieee.std_logic_1164.all;

entity traffic_lights is

port(clk:in std_logic; ----------时钟信号

emerg,reset:in std_logic; ----------复位和紧急情况信号

seg:out std_logic_vector(7 downto 0); ---------7段数码管显示

select_led:out std_logic_vector(5 downto 0); ---------选通输出

lights:out std_logic_vector(7 downto 0));-------led发光管输出

end traffic_lights;

architecture a of traffic_lights is -------分别调用各个模块

signal cp1k,cp20,cp1,resetout,emergout:std_logic;

signal number:integer range 0 to 9;

component freq_divide -------分频模块 1k 100hz 1hz

port(clk_in:in std_logic;

clk_1,clk_20,clk_1k:out std_logic);

end component;

component noshake -------分频模块 1k 100hz 1hz

port(clk_20,keyin:in std_logic;

keyout:out std_logic);

end component;

component traffic -------交通灯控制模块

port(clk1,clk1k:in std_logic;

emerg,reset:in std_logic;

num:out integer range 0 to 9;

lights:out std_logic_vector(7 downto 0);

select_led:out std_logic_vector(5 downto 0));

end component;

component display --------数字译码模块

port(num:in integer range 0 to 9;

seg:out std_logic_vector(7 downto 0));

end component;

begin

u1:freq_divide port map(clk,cp1,cp20,cp1k); ----分频器产生时钟信号

u2:noshake port map(cp20,reset,resetout); ----对复位信号防抖处理

u3:noshake port map(cp20,emerg,emergout); ----对紧急信号防抖处理

u4:traffic port map(cp1,cp1k,emergout,resetout,number,lights,select_led);

----状态机运转

u5:display port map(number,seg); ----数码管显示

end;

⒉分频模块

--------------------------------分频模块--------------------------------

library ieee;

use ieee.std_logic_1164.all;

use ieee.std_logic_unsigned.all;

entity freq_divide is

port(clk_in : in std_logic;

clk_1,clk_20,clk_1k : out std_logic);

end;

architecture a of freq_divide is

signal count1 : integer range 0 to 24999;

signal count2 : integer range 0 to 24;

signal count3 : integer range 0 to 9;

signal clk_tmp1,clk_tmp2,clk_tmp3: std_logic;

begin

----------------50000分频进程----------------

---输出:1kHz的时钟信号

---功能:用于数码管显示时刷新频率

p1:process(clk_in)

begin

if (clk_in'event and clk_in='1') then

if count1=24999 then

count1<=0;

clk_tmp1<= not clk_tmp1;

else

count1<=count1+1;

end if;

end if;

end process p1;

----------------50分频进程----------------

---输出:20Hz的时钟信号

---功能:防抖动电路中使用

p2:process(clk_tmp1)

begin

if (clk_tmp1'event and clk_tmp1='1') then

if count2=24 then

count2<=0;

clk_tmp2<= not clk_tmp2;

else

count2<=count2+1;

end if;

end if;

end process p2;

----------------20分频进程----------------

---输出:1Hz的时钟信号

---用于状态转变的时钟信号

p3:process(clk_tmp2)

begin

if (clk_tmp2'event and clk_tmp2='1') then

if count3=9 then

count3<=0;

clk_tmp3<= not clk_tmp3;

else

count3<=count3+1;

end if;

end if;

end process p3;

clk_1<=clk_tmp3;

clk_20<=clk_tmp2;

clk_1k<=clk_tmp1;

end;

⒊防抖模块

--------------------------------防抖动模块--------------------------------

library ieee;

use ieee.std_logic_1164.all;

use ieee.std_logic_unsigned.all;

entity noshake is

port(clk_20,keyin: in std_logic;

keyout: out std_logic);

end;

architecture a of noshake is

signal cp:std_logic;

begin

----------------只有持续时间高于0.1s的高电平才有效---------------- process(clk_20)

variable times:integer range 0 to 2;

begin

if (clk_20'event and clk_20='1') then

if keyin='1' then

if times=2 then

times:=times;

else times:=times+1;

end if;

else times:=0;

end if;

end if;

if times=2 then

cp<='1';

else cp<='0';

end if;

keyout<=cp;

end process;

end;

⒋交通灯控制模块

--------------------------------交通灯控制模块--------------------------------

library ieee;

use ieee.std_logic_1164.all;

use ieee.std_logic_unsigned.all;

entity traffic is

port(clk1,clk1k:in std_logic;

emerg,reset:in std_logic;

num:out integer range 0 to 9;

lights:out std_logic_vector(7 downto 0);

select_led:out std_logic_vector(5 downto 0));

end traffic;

architecture control of traffic is

type states is(s0,s1,s2,s3,s4);

signal state:states;

signal num1,num2,num3,num4:integer range 0 to 9;

signal emerg_status,reset_status:std_logic:='0';

signal count:integer range 1 to 50 :=50;

begin

----------------紧急信号的处理进程----------------

p1:process(emerg)

begin

emerg_status<=emerg;

end process p1;

----------------复位信号处理及计数器count控制进程----------------

p2:process(reset)

begin

reset_status<=reset;

end process p2;

p3:process(clk1)

begin

if(reset_status='1') then

count<=50;

elsif(emerg_status='1') then

count<=count;

else

if(clk1'event and clk1='1') then

if count=1 then

count<=50;

else count<=count-1;

end if;

end if;

end if;

end process;

----------------核心状态机----------------

p4:process(emerg_status,count)----根据计数器来选择交通灯状态

begin

if(emerg_status='1')then state<=s0; -------6个正常状态和1个紧急情况状态

else

if(count>=31)then state<=s1;

elsif(count<=30 and count>=26)then state<=s2;

elsif(count<=25 and count>=6)then state<=s3;

else state<=s4;

end if;

end if;

case state is ---- 交通灯状态,用LED发光管模拟交通灯when s0=>lights<="10010000"; --;RA/RB

when s1=>lights<="00110000"; --;GA/RB

when s2=>lights<="01010000"; --;YA/RB

when s3=>lights<="10000100"; --;RA/GB

when s4=>lights<="10001000"; --;RA/YB

end case;

end process;

----------------根据计数器值确定数码管显示数字---------------- p5:process(emerg_status,count)

begin

if(emerg_status='1') -------紧急状态下数码管显示8 then num1<=8;num2<=8;num3<=8;num4<=8;

else

----状态S1

if(count=50)

then num1<=2;num2<=0;num3<=2;num4<=5;

elsif(count>=45 and count<50)

then num1<=1;num2<=count-40;num3<=2;num4<=count-45;

elsif(count>=40 and count<=44)

then num1<=1;num2<=count-40;num3<=1;num4<=count-35;

elsif(count>=35 and count<=39)

then num1<=0;num2<=count-30;num3<=1;num4<=count-35;

elsif(count>=31 and count<=34)

then num1<=0;num2<=count-30;num3<=0;num4<=count-25;

----状态S2

elsif(count>=26 and count<=30)

then num1<=0;num2<=count-25;num3<=0;num4<=count-25;

----状态S3

elsif(count=25)

then num1<=2;num2<=5;num3<=2;num4<=0;

elsif(count>=20 and count<=24)

then num1<=2;num2<=count-20;num3<=1;num4<=count-15;

elsif(count>=15 and count<=19)

then num1<=1;num2<=count-10;num3<=1;num4<=count-15;

elsif(count>=14 and count<=10)

then num1<=1;num2<=count-10;num3<=0;num4<=count-5;

----状态S4

elsif(count>=6 and count<=9)

then num1<=1;num2<=count;num3<=0;num4<=count-5;

else num1<=0;num2<=count;num3<=0;num4<=count;

end if;

end if;

end process;

----------------数码管选通信号输出----------------

p6:process(clk1k)

variable temp:integer range 0 to 3;

begin

if(clk1k'event and clk1k='1')then

case temp is

when 0=>num<=num1;temp:=1;select_led<="011111"; -------选用4个数码管输出倒计时

when 1=>num<=num2;temp:=2;select_led<="101111";

when 2=>num<=num3;temp:=3;select_led<="111101";

when 3=>num<=num4;temp:=0;select_led<="111110";

end case;

end if;

end process;

end;

⒌数字译码模块

--------------------------------数字译码模块------------------------------ library ieee;

use ieee.std_logic_1164.all;

entity display is

port(num:in integer range 0 to 9;

seg:out std_logic_vector(7 downto 0));

end;

architecture a of display is

begin

d1:process(num)

begin

case num is

when 0=>seg<="00111111"; ------------由七位二进制数表示0到9 when 1=>seg<="00000110";

when 2=>seg<="01011011";

when 3=>seg<="01001111";

when 4=>seg<="01100110";

when 5=>seg<="01101101";

when 6=>seg<="01111101";

when 7=>seg<="00000111";

when 8=>seg<="01111111";

when 9=>seg<="01101111";

when others=>seg<="XXXXXXXX";

end case;

end process;

end;

五、实验结果

1.仿真结果

⑴仿真说明

由于分频模块的存在,导致无法整体仿真(可能可以,但是很费时间)。因此,只对核心模块——交通灯控制模块进行仿真。

为了结果的易读性,现将程序做如下修改。

①LED灯的驱动信号lights的修改:

when s0=>lights<="00000000"; --;RA/RB

when s1=>lights<="00000001"; --;GA/RB

when s2=>lights<="00000010"; --;YA/RB

when s3=>lights<="00000011"; --;RA/GB

when s4=>lights<="00000100"; --;RA/YB

即从S0~S4,相应的lights信号从0~4改变。

②数码管位选信号select_led的修改:

when 0=>num<=num1;temp:=1;select_led<="000000";

when 1=>num<=num2;temp:=2;select_led<="000001";

when 2=>num<=num3;temp:=3;select_led<="000010";

when 3=>num<=num4;temp:=0;select_led<="000011";

即数码管位选信号循环输出0~3。

③输入信号:1Hz和1kHz的时钟信号,仿真时间为110s。

⑵仿真波形图

①正常状况下

reset和emerg都为低电平。

图10 正常状态下的仿真波形

图11 续图10

由上两图可见,正常情况下,状态转移完全符合设计要求:14321S S S S S →→→→,如此循环往复。 num 信号和select_led 信号(局部)

图12 正常运行下的的仿真波形

数码管显示数字和数码管位选信号也都正常输出。

②复位信号响应

图13 复位情况下的仿真波形

reset 信号

由上面仿真波形中可见,当reset为高电平时,在时钟沿上状态改变为S1,即复位成功。

③紧急信号响应

紧急信号

图14 紧急情况下的仿真波形

由图14可见,在emerg信号有效时,交通灯状态一直处于S0,一旦emerg信号失效,状态立马恢复到原来(emerg信号之前的状态)。总之,紧急状况处理成功!

2.实物结果

总体来说,实验要求的基本功能全部完成,且没有bug。交通灯运行完全符合前面分析的要求。

六、所遇问题分析

问题1:状态改变的参考量的确定。

解决方案:当初设计时,丝毫没有头绪。当参考了以前同学的程序后,心中不由豁然开朗——使用计数器count的值来控制状态改变和数码管显示数字。这个想法确实很巧妙,做到了一个count解决所有控制问题。这样的设计,大大减小了程序的复杂度。

问题2:reset信号由拨码开关还是由按键来输入。

解决方案:这点困扰了我好久。最后考虑到如果使用按键输入时,一来与实际情况不符,二来为程序编写增加了难度。难度引入主要是由于按键检测的时钟和按键状态检测的时间,都很难确定,无论使用分频器产生的何种时钟信号都无法满足要求。最后采用拨码开关直接输入,使程序大为简便,也使这一问题得到圆满的解决。

七、实验总结

这次实验中,虽然在编程中遇到了不少困难,但是最终还是按时完成实验,确实令人信心倍增啊。

首先,在实验题目选定之后,对于题目的切入点一直找不到,不知如何下手。于是就在老师的课件中找灵感,万幸的是我竟然找见了!在老师课件中的一些示例中,我慢慢摸索和品味其中的要义,认真思考硬件编程的特点,并在网上查找资料,并重新拜读了去年发的那本《数字电路实验讲义》,从中得到不少启迪。终于在第二次上课前完成了程序原理和状态分析等任务。

然后,就开始编程了。最先编写的是分频模块——按照数字电路网站上的那个50M分频器的方法,编写出了实验要求的分频模块。接下来就是编写程序的主模块——交通灯控制模块。这个模块的编写借鉴了以前同学的设计思路,因此编写的头绪时很清晰的。最后编写了防抖模块和数字译码模块。这个过程中,始终伴随我的就是编译时的各种warning和error。但是我没有泄气。要知道——兵来将挡,水来土掩;凡事皆有因。有错误,就一

句一句排错,最后整体进行逻辑检测。终于在最后一个没有warning和error的程序编写完毕。

接下来就是仿真和下载。但是在仿真中,发现原先编写的程序有很大的逻辑错误。于是反复修改,反复阅读程序,查找病因。果然是“苦心人,天不负”,终于在最后,一个仿真正常、运行正常的程序编写成功。此时的喜悦真是无以言表。

在以上过程中,对于硬件编程的理解日渐深刻。这是我使我在平常的软件编写的惯性中,不由停下脚步,慢慢体会硬件编程的思想和技巧。

数字电路综合实验虽然结束了,但是在实验中学到的知识将使我收益一生。在此,感谢那些“诲人不倦”的老师和同学!

北京邮电大学数电实验一实验报告

北京邮电大学数字电路与逻辑 设计实验 学院: 班级: 作者: 学号:

实验一 Quartus II原理图输入法设计 一、实验目的: (1)熟悉Quartus II原理图输入法进行电路设计和仿真 (2)掌握Quartus II 图形模块单元的生成与调 (3)熟悉实验板的使用 二、实验所用器材: (1)计算机 (2)直流稳压电源 (3)数字系统与逻辑设计实验开发板 三、实验任务要求 (1)用逻辑门设计实现一个半加器,仿真验证其功能,并生成新的半加器图形模 块单元。 (2)用(1)中生成的半加器模块和逻辑门设计实现一个全加器,仿真验证其功能, 并下载到实验板测试,要求用拨码开关设定输入信号,发光二极管显示输出信号。 (3)用3线-8线译码器(74LS138)和逻辑门设计实现函数 ,仿真验证其功能,并下载到实验板测试。要求用拨码开关设定输入信号,发光二极管显示输出信号。 四、设计思路和过程 (1)半加器的设计 半加器电路是指对两个输入数据位进行加法,输出一个结果位和进位,不产生进位输入的加法器电路。是实现两个一位二进制数的加法运算电路。数据输入AI被加数、BI加数,数据输出SO和数(半加和)、进位C0。 在数字电路设计中,最基本的方法是不管半加器是一个什么样的电路,按组合数字电路的分析方法和步骤进行。 1.列出真值表 半加器的真值表见下表。表中两个输入是加数A0和B0,输出有一个是和S0,另一个是进位C0。

2 该电路有两个输出端,属于多输出组合数字电路,电路的逻辑表达式如下函数的逻辑表达式为:SO=AI⊕BI CO=AB 所以,可以用一个两输入异或门和一个两输入与门实现。

北邮数字电路综合实验报告

数字电路综合实验报告 简易智能密码锁 一、实验课题及任务要求 设计并实现一个数字密码锁,密码锁有四位数字密码和一个确认开锁按键,密码输入正确,密码锁打开,密码输入错误进行警示。 基本要求: 1、密码设置:通过键盘进行4 位数字密码设定输入,在数码管上显示所输入数字。通过密码设置确定键(BTN 键)进行锁定。 2、开锁:在闭锁状态下,可以输入密码开锁,且每输入一位密码,在数码管上显示“-”,提示已输入密码的位数。输入四位核对密码后,按“开锁”键,若密码正确则系统开锁,若密码错误系统仍然处于闭锁状态,并用蜂鸣器或led 闪烁报警。 3、在开锁状态下,可以通过密码复位键(BTN 键)来清除密码,恢复初始密码“0000”。闭锁状态下不能清除密码。 4、用点阵显示开锁和闭锁状态。 提高要求: 1、输入密码数字由右向左依次显示,即:每输入一数字显示在最右边的数码管上,同时将先前输入的所有数字向左移动一位。 2、密码锁的密码位数(4~6 位)可调。

3、自拟其它功能。 二、系统设计 2.1系统总体框图 2.2逻辑流程图

2.3MDS图 2.4分块说明 程序主要分为6个模块:键盘模块,数码管模块,点阵模块,报警模块,防抖模块,控制模块。以下进行详细介绍。 1.键盘模块 本模块主要完成是4×4键盘扫描,然后获取其键值,并对其进行编码,从而进行按键的识别,并将相应的按键值进行显示。 键盘扫描的实现过程如下:对于4×4键盘,通常连接为4行、4列,因此要识别按键,只需要知道是哪一行和哪一列即可,为了完成这一识别过程,我们的思想是,首先固定输出高电平,在读入输出的行值时,通常高电平会被低电平拉低,当当前位置为高电平“1”时,没有按键按下,否则,如果读入的4行有一位为低电平,那么对应的该行肯定有一个按键按下,这样便可以获取到按键的行值。同理,获取列值也是如此,先输出4列为高电平,然后在输出4行为低电平,再读入列值,如果其中有哪一位为低电平,那么肯定对应的那一列有按键按下。由此可确定按键位置。

模电实验报告

模拟电子技术 实验报告 实验题目:放大电路的失真研究 学院:电子信息工程学院 专业: 姓名: 学号: 指导教师: 【2017年】

目录 一、实验目的与知识背景 (3) 1.1实验目的 (3) 1.2知识背景 (3) 二、实验内容及要求 (3) 2.1基本要求 (3) 2.2发挥部分 (4) 三、实验方案比较及论证 (5) 3.1理论分析电路的失真产生及消除 (5) 3.2具体电路设计及仿真 (8) 四、电路制作及测试 (12) 4.1正常放大、截止失真、饱和失真及双向失真 (12) 4.2交越失真 (13) 4.3非对称失真 (13) 五、失真研究思考题 (13) 六、感想与体会 (16) 6.1小组分工 (16) 6.2收获与体会 (16) 6.3对课程的建议 (17) 七、参考文献 (17)

一、实验目的与知识背景 1.1实验目的 1. 掌握失真放大电路的设计和解决电路的失真问题——针对工程问题,收集信息、查阅文献、分析现有技术的特点与局限性。提高系统地构思问题和解决问题的能力。 2. 掌握消除放大电路各种失真技术——依据解决方案,实现系统或模块,在设计实现环节上体现创造性。系统地归纳模拟电子技术中失真现象。 3. 具备通过现象分析电路结构特点——对设计系统进行功能和性能测试,进行必要的方案改进,提高改善电路的能力。 1.2知识背景 1.输出波形失真可发生在基本放大、功率放大和负反馈放大等放大电路中,输出波形失真有截止失真、饱和失真、双向失真、交越失真,以及输出产生的谐波失真和不对称失真等。 2.基本放大电路的研究、乙类功率放大器、负反馈消除不对称失真以及集成运放的研究与应用。 3.射极偏置电路、乙类、甲乙类功率放大电路和负反馈电路。 二、实验内容及要求 2.1基本要求 1.输入一标准正弦波,频率2kHz,幅度50mV,输出正弦波频率2kHz,幅度1V。

北邮通电实验报告

实验3 集成乘法器幅度调制电路 信息与通信工程学院 2016211112班 苏晓玥杨宇宁 2016210349 2016210350

一.实验目的 1.通过实验了解振幅调制的工作原理。 2.掌握用MC1496来实现AM和DSB的方法,并研究已调波与调制信号,载波之间的关系。3.掌握用示波器测量调幅系数的方法。 二.实验准备 1.本实验时应具备的知识点 (1)幅度调制 (2)用模拟乘法器实现幅度调制 (3)MC1496四象限模拟相乘器 2.本实验时所用到的仪器 (1)③号实验板《调幅与功率放大器电路》 (2)示波器 (3)万用表 (4)直流稳压电源 (5)高频信号源 三.实验内容 1.模拟相乘调幅器的输入失调电压调节。 2.用示波器观察正常调幅波(AM)波形,并测量其调幅系数。 3.用示波器观察平衡调幅波(抑制载波的双边带波形DSB)波形。 四.实验波形记录、说明 1.DSB信号波形观察

2.DSB信号反相点观察 3.DSB信号波形与载波波形的相位比较 结论:在调制信号正半周期间,两者同相;负半周期间,两者反相。

4.AM正常波形观测 5.过调制时的AM波形观察(1)调制度为100%

(2)调制度大于100% (3)调制度为30% A=260.0mv B=140.0mv

五.实验结论 我们通过实验了解振幅调制的工作原理是:调幅调制就是用低频调制信号去控制高频振荡(载波)的幅度,使其成为带有低频信息的调幅波。目前由于集成电路的发展,集成模拟相乘器得到广泛的应用,为此本实验采用价格较低廉的MC1496集成模拟相乘器来实现调幅之功能。 DSB信号波形与载波波形的相位关系是:在调制信号正半周期间,两者同相;负半周期间,两者反相。 通过实验了解到了调制度的计算方法 六.课程心得体会 通过本次实验,我们了解了振幅调制的工作原理并掌握了实现AM和DSB的方法,学会计算调制度,具体见实验结论。我们对集成乘法器幅度调制电路有了更好的了解,对他有了更深入的认识,提高了对通信电子电路的兴趣。 和模电实验的单独进行,通电实验增强了团队配合的能力,两个人的有效分工提高了实验的效率,减少了一个人的独自苦恼。

北邮模电实验声控报警电路

北京邮电大学 《电子电路测量与设计实验》实验报告 题目:声控报警电路 姓名:李英民 学号:2014210579 班级: 2014211120 学院: 信息与通信工程学院 2016年 4 月

一、课题名称 声控报警电路 二、摘要及关键字 (一)摘要: 当今社会,对报警系统的需求越来越大,电子报警器应用于安全防范,系统故障,交通运输,医疗救护等领域,和社会生产密不可分。 本实验就针对声控报警电路进行设计和电路拼搭,通过实际面包板电路和仿真电路对报警电路的局部电路和整体电路两方面进行电路介绍和功能分析。并分析在实验中遇见的问题,困难及解决方法,最后总结本实验结束后的心得体验。 (二)关键字: 报警器;CD4011;无源蜂鸣器;LM358 三、设计任务要求 1、基本要求:在麦克风近处击掌(模拟异常响动),电路能发出报警声,持续时间大于5 秒。声音传感器用驻极体式咪头,蜂鸣器用无源压电式蜂鸣器 2、提高要求: A、增加报警灯,使其闪烁报警。 B、增加输出功率,提高报警音量,加强威慑力。 四、设计思路及总体结构框图 (一)设计思路: 驻极体式咪头作为声音传感器,将击掌产生的声信号转化为电信号,微弱 的电信号经过反相放大器放大,放大信号进入同相比较器,比较器根据实验可以设置合理的比较电压 VREF,当放大信号高于比较电压 VREF 时,放大器输出高电平促发方波振荡器开始工作,振荡产生的方波经三极管放大即可驱动无源式蜂鸣器发出报警声音。但由于一次拍手产生的电信号只有短暂的信号,故还需要在比较器后加入延时电路,利用时间常数的特性来延长报警时间 (二)总体结构框图: 五、分块电路和总体电路的设计

北邮微波实验报告整理版

北京邮电大学信息与通信工程学院 微波实验报告 班级:20112111xx 姓名:xxx 学号:20112103xx 指导老师:徐林娟 2014年6月

目录 实验二分支线匹配器 (1) 实验目的 (1) 实验原理 (1) 实验内容 (1) 实验步骤 (1) 单支节 (2) 双支节 (7) 实验三四分之一波长阻抗变换器 (12) 实验目的 (12) 实验原理 (12) 实验内容 (13) 实验步骤 (13) 纯电阻负载 (14) 复数负载 (19) 实验四功分器 (23) 实验目的 (23) 实验原理 (23) 实验内容 (24) 实验步骤 (24) 公分比为1.5 (25) 公分比为1(等功分器) (29) 心得体会 (32)

201121111x 班-xx 号-xx ——电磁场与微波技术实验报告 实验二 分支线匹配器 实验目的 1.熟悉支节匹配器的匹配原理 2.了解微带线的工作原理和实际应用 3.掌握Smith 图解法设计微带线匹配网络 实验原理 支节匹配器是在主传输线上并联适当的电纳(或者串联适当的电抗),用附加的反射来抵消主传输线上原来的反射波,以达到匹配的目的。 单支节匹配器,调谐时主要有两个可调参量:距离d 和由并联开路或短路短截线提供的电纳。匹配的基本思想是选择d ,使其在距离负载d 处向主线看去的导纳Y 是Y0+jB 形式。然后,此短截线的电纳选择为-jB ,根据该电纳值确定分支短截线的长度,这样就达到匹配条件。 双支节匹配器,通过增加一个支节,改进了单支节匹配器需要调节支节位置的不足,只需调节两个分支线长度,就能够达到匹配(但是双支节匹配不是对任意负载阻抗都能匹配的,即存在一个不能得到匹配的禁区)。 微带线是有介质εr (εr >1)和空气混合填充,基片上方是空气,导体带条和接地板之间是介质εr ,可以近似等效为均匀介质填充的传输线,等效介质电常数为 εe ,介于1和εr 之间,依赖于基片厚度H 和导体宽度W 。而微带线的特性阻抗与其等效介质电常数为εe 、基片厚度H 和导体宽度W 有关。 实验内容 已知:输入阻抗Z 75in ,负载阻抗Z (6435)l j ,特性阻抗0Z 75 ,介质基片 2.55r ,1H mm 。 假定负载在2GHz 时实现匹配,利用图解法设计微带线单支节和双支节匹配网络,假设双支节网络分支线与负载的距离114d ,两分支线之间的距离为21 8 d 。画出几种可能的电路图并且比较输入端反射系数幅度从1.8GHz 至2.2GHz 的变化。 实验步骤 1.根据已知计算出各参量,确定项目频率。 2.将归一化阻抗和负载阻抗所在位置分别标在Smith 圆上。 3.设计单枝节匹配网络,在图上确定分支线与负载的距离以及分支线的长度,根据给定的介质基片、特性阻抗和频率用TXLINE 计算微带线物理长度和宽度。此处应该注意电长度和实际长度的联系。 4.画出原理图,在用微带线画出基本的原理图时,注意还要把衬底添加到图中,将各部分的参数填入。注意微带 分支线处的不均匀性所引起的影响,选择适当的模型。 5.负载阻抗选择电阻和电感串联的形式,连接各端口,完成原理图,并且将项目的频率改为1.8—2.2GHz 。 6.添加矩形图,添加测量,点击分析,测量输入端的反射系数幅值。 7.同理设计双枝节匹配网络,重复上面的步骤。

北京邮电大学数字电路实验报告

北京邮电大学 数字电路与逻辑设计实验 实验报告 实验名称:QuartusII原理图输入 法设计与实现 学院:北京邮电大学 班级: 姓名: 学号:

一.实验名称和实验任务要求 实验名称:QuartusII原理图输入法设计与实现 实验目的:⑴熟悉用QuartusII原理图输入法进行电路设计和仿真。 ⑵掌握QuartusII图形模块单元的生成与调用; ⑶熟悉实验板的使用。 实验任务要求:⑴掌握QuartusII的基础上,利用QuartusII用逻辑 门设计实现一个半加器,生成新的半加器图像模 块。 ⑵用实验内容(1)中生成的半加器模块以及逻辑门 实现一个全加器,仿真验证其功能,并能下载到实 验板上进行测试,要求用拨码开关设定输入信号, 发光二级管显示输出信号。 ⑶用3线—8线译码器(74L138)和逻辑门实现要求 的函数:CBA F+ C + =,仿真验证其 + B C B A A A B C 功能,,并能下载到实验板上进行测试,要求用拨 码开关设定输入信号,发光二级管显示输出信号。二.设计思路和过程 半加器的设计实现过程:⑴半加器的应有两个输入值,两个输出值。 a表示加数,b表示被加数,s表示半加和, co表示向高位的进位。

⑵由数字电路与逻辑设计理论知识可知 b a s ⊕=;b a co ?= 选择两个逻辑门:异或门和与门。a,b 为异 或门和与门的输入,S 为异或门的输出,C 为与门的输出。 (3)利用QuartusII 仿真实现其逻辑功能, 并生成新的半加器图形模块单元。 (4)下载到电路板,并检验是否正确。 全加器的设计实现过程:⑴全加器可以由两个半加器和一个或门构 成。全加器有三个输入值a,b,ci ,两个输 出值s,co :a 为被加数,b 为加数,ci 为低 位向高位的进位。 ⑵全加器的逻辑表达式为: c b a s ⊕⊕= b a ci b a co ?+?⊕=)( ⑶利用全加器的逻辑表达式和半加器的逻 辑功能,实现全加器。 用3线—8线译码器(74L138)和逻辑门设计实现函数 CBA A B C A B C A B C F +++= 设计实现过程:⑴利用QuartusII 选择译码器(74L138)的图形模块

北京邮电大学通信原理软件实验报告

北京邮电大学实验报告 题目:基于SYSTEMVIEW通信原理实验报告

实验一:验证抽样定理 一、实验目的 1、掌握抽样定理 2. 通过时域频域波形分析系统性能 二、实验原理 低通滤波器频率与m(t)相同 三、实验步骤 1. 要求三个基带信号相加后抽样,然后通过低通滤波器恢复出原信号。 2. 连接各模块完成系统,同时在必要输出端设置观察窗。 3. 设置各模块参数。 三个基带信号的频率从上到下分别设置为10hz、12hz、14hz。 抽样信号频率设置为28hz,即2*14hz。(由抽样定理知,) 将低通滤波器频率设置为14hz,则将恢复第三个信号(其频率为14hz)进行系统定时设置,起始时间设为0,终止时间设为1s.抽样率设为1khz。 3.观察基带信号、抽样后的信号、最终恢复的信号波形

四、实验结果 最上面的图为原基带信号波形,中间图为最终恢复的信号波形,最下面的图为抽样后的信号波形。 五、实验讨论 从实验结果可以看出,正如前面实验原理所述,满足抽样定理的理想抽样应该使抽样后的波形图如同冲激信号,且其包络图形为原基带信号波形图。抽样后的信号通过低通滤波器后,恢复出的信号波形与原基带信号相同。 由此可知,如果每秒对基带模拟信号均匀抽样不少于2次,则所得样值序列含有原基带信号的全部信息,从该样值序列可以无失真地恢复成原来的基带信号。 讨论:若抽样速率少于每秒2次,会出现什么情况? 答:会产生失真,这种失真被称为混叠失真。 六、实验建议、意见 增加改变抽样率的步骤,观察是否产生失真。

实验二:奈奎斯特第一准则 一、实验目的 (1)理解无码间干扰数字基带信号的传输; (2)掌握升余弦滚降滤波器的特性; (3)通过时域、频域波形分析系统性能。 二、实验原理 在现代通信系统中,码元是按照一定的间隔发送的,接收端只要能够正确地恢复出幅度序列,就能够无误地恢复传送的信号。因此,只需要研究如何使波形在特定的时刻无失真,而不必追求整个波形不变。 奈奎斯特准则提出:只要信号经过整形后能够在抽样点保持不变,即使其波形已经发生了变化,也能够在抽样判决后恢复原始的信号,因为信息完全恢复携带在抽样点幅度上。 奈奎斯特准则要求在波形成形输入到接收端的滤波器输出的整个传送过程传递函数满足:,其充分必要条件是x(t)的傅氏变换X ( f )必须满足 奈奎斯特准则还指出了信道带宽与码速率的基本关系。即R B =1/T B =2? N =2B N。 式中R b 为传码率,单位为比特/每秒(bps)。f N 和B N 分别为理想信道的低通截止 频率和奈奎斯特带宽。上式说明了理想信道的频带利用率为R B /B N =2。 在实际应用中,理想低通滤波器是不可能实现的,升余弦滤波器是在实际中满足无码间干扰传输的充要条件,已获得广泛应用的滤波器。 升余弦滤波器的带宽为:。其中,α为滚降系数,0 ≤α≤1, 三、实验步骤 1.根据奈奎斯特准则,设计实现验证奈奎斯特第一准则的仿真系统,同时在必 要输出端设置观察窗。设计图如下

北邮数电实验报告

北京邮电大学实验报告 实验名称:数字电路与逻辑设计实验报告 学院:信息与通信工程学院 班级: 姓名: 学号: 序号: 日期:

实验三:用VHDL语言设计与实现逻辑电路 一、实验内容 1. 用VHDL语言设计实现一个带异步复位的8421码十进制计数器,仿真验证其功能,并下载到实验版测试。要求用按键设定输入信号,发光二极管显示输出信号; 2.用VHDL语言设计实现一个分频系数为12,分频输出信号占空比为50%的分频器,仿真验证其功能; 3.将(1),(2)和数码管译码器3个电路进行连接,并下载到实验板显示计数结果。 二、模块端口说明及连接图 1.分频器 2. 计数器 clk: 时钟输入信号 clk: 时钟信号输入 clear: 复位信号输入 clear: 复位信号输入 clk_out: 时钟分频后的信号输出 q: 计数器的输出 3.数码管显示 b: 数码管的输入信号 seg: 译码显示输出 onoff: 数码管的输出控制

4.连接图 三、实验分析 1.设计思路 本实验将之前的分频器和计数器以及数码管显示模块组合起来,实现了单个数码管现显示0~9,每隔0.5s切换一次显示内容。 COMPONENT div_12实现了时钟分频,将50MHz的单片机晶振时钟进行分频,输出频率2HZ占空比50%的方波时钟,以此时钟作为内部时钟驱动计数器。 COMPONENT jishuqi是一个十进制计数器,NUM从“0000”到“1001”循环变化,模为10。计数器的输出传递给数码管译码显示电路。 COMPONENT seg7_1是数码管译码显示电路,将收到的信号NUM译码并控制数码管的段锁存来控制数码管的显示。 整体来看,div-12提供了分频后2Hz的时钟,驱动计数器计数,计数的结果作为数码管译码显示模块的输入,根据计数器实时的数进行数码管的显示。综合起来就实现了设计的功能。 在进行电路的连接时,可直接在代码中分成三个进程来实现,也可通过为每个模块建立符号,连接电路图来实现。 2. 具体代码如下: LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY fenpinjishu IS PORT( clear2 :IN STD_LOGIC; clk1:IN STD_LOGIC; b1:OUT STD_LOGIC_VECTOR(6 downto 0); CAT:OUT STD_LOGIC_VECTOR(7 downto 0) );

北邮arduino实验报告

电子电路综合实验设计 实验名称: 基于 Arduino 的电压有效值测量电路设计与实现 学院: 班级: 学号: 姓名: 班内序号:

实验 基于Arduino 的电压有效值测量电路设计与实现 一. 摘要 Arduino是一个基于开放原始码的软硬件平台,可用来开发独立运作、并具互动性的电子产品,也可以开发与PC 相连的周边装置,同时能在运行时与PC 上的软件进行交互。为了测量正弦波电压有效值,首先我们设计了单电源供电的半波整流电路,并进行整流滤波输出,然后选择了通过Arduino设计了读取电压有效值的程序,并实现使用此最小系统来测量和显示电压有效值。在频率和直流电压幅度限定在小范围的情况下,最小系统的示数基本和毫伏表测量的值相同。根据交流电压有效值的定义,运用集成运放和设计的Arduino最小系统的结合,实现了运用少量元器件对交流电压有效值的测量。 关键字:半波整流整流滤波 Arduino最小系统读取电压有效值 二. 实验目的 1、熟悉Arduino 最小系统的构建和使用方法; 2、掌握峰值半波整流电路的工作原理; 3、根据技术指标通过分析计算确定电路形式和元器件参数; 4、画出电路原理图(元器件标准化,电路图规范化); 5、熟悉计算机仿真方法; 6、熟悉Arduino 系统编程方法。 三. 实验任务及设计要求 设计实现 Arduino 最小系统,并基于该系统实现对正弦波电压有效值的测量和显示。 1、基本要求 (1)实现Arduino 最小系统,并能下载完成Blink 测试程序,驱动Arduino 数字13 口LED 闪烁; (2)电源部分稳定输出5V 工作电压,用于系统供电; (3)设计峰值半波整流电路,技术指标要求如下:

北邮-数电实验报告

北邮-数电实验报告

数字电路实验报告 学院:信息与通信工程 专业:信息工程 班级:2013211125 学号:2013210681 姓名:袁普

②:仿真波形图以及分析 波形图: 波形分析:通过分析ab ci三个输入在8中不同组合下的输出,发现与全加器的真值表吻合,说明实现了全加器的逻辑功能。同时看见波形中出现了毛刺(冒险),这也与事实一致。 ③:故障及问题分析 第一次在做全加器的时候发现找不到已经生成的半加器模块,后来发现是因为在建立工程时这两个项目没有建在同一个文件夹里,在调用的时候就找不到。后来我将全加器工程建在同一个文件夹里解决了此问题。

实验二:用VHDL设计和实现组合逻辑电路 一:实验要求 ①:用VHDL设计一个8421码转换为格雷码的代码转换器,仿真验证其功能。 ②:用VHDL设计一个4位二进制奇校验器,要求在为奇数个1时输出为1,偶数个1时输出为0,仿真验证其功能。 ③:用VHDL设计一个数码管译码器,仿真验证其功能,下载到实验板测试,要求用拨码开关设定输入信号,数码管显示输出信号,并且只使一个数码管有显示,其余为熄灭状态。 二:故障及问题分析 在刚开始实现让一个数码管显示的时候,我本来准备再设置6个输入和输出,通过实验板上的拨码来输入信息分别控制不同的数码管的的开闭状态,但是后来发现这样效率很低而且实验板上的拨码开关数量根本不够。在老师的提醒下,我最终在VHDL里直接增加了一个向量输出”011111”来直接控制cat0~5六个管脚,从而达到了实验的要求。

实验三:用VHDL设计和实现时序逻辑电路 一:实验要求 ①:用VHDL语言设计实现一个8421十进制计数器,要求有高电平复位功能,仿真验证其功能。 ②:用VHDL语言设计实现一个分频系数为12,输出为占空比50%方波的分频器,有高电平复位功能,仿真验证其功能。 ③:将(1),(2)和数码管译码器三个电路进行连接,仿真验证其功能,并下载到实验板进行测试,要求第三个数码管显示数字。二:报告内容 ①实验三(3)模块端口说明及模块代码 模块一:div12为一个有高电平复位功能的分频系数为12的分屏器,其输出是一个占空比50%的方波。此模块输入连接一个时钟输入,即可在输出端得到一个周期更大的方波输出。 library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity div12 is port( clear,clk:in std_logic; clk_out:out std_logic ); end div12; architecture struct of div12 is signal temp:integer range 0 to 5; signal clktmp:std_logic; begin process(clk,clear) begin if(clear='1') then

北邮数字电路与逻辑设计实验-实验报告(上)

北京邮电大学电路实验中心<数字电路与逻辑设计实验(上)> 实 验 报 告 班级: xxx 学院: xxx 实验室: xxx 审阅教师:姓名(班内序号): xxx)学号: 2xxx 实验时间: xxxx 评定成绩:

目录 实验1 Quartus II 原理图输入法设计与实现 (3) 一、实验目的 (3) 二、实验所用器材 (3) 三、实验任务要求 (3) 四、实验原理图 (3) 五、实验仿真波形图及分析 (4) 实验2 用VHDL 设计与实现组合逻辑电路 (5) 一、实验目的 (5) 二、实验所用器材 (5) 三、实验任务要求 (5) 四、VHDL代码 (5) 五、实验仿真波形图及分析 (7) 实验3 用VHDL 设计与实现时序逻辑电路 (8) 一、实验目的 (8) 二、实验所用器材 (8) 三、实验任务要求 (8) 四、模块端口说明及连接图 (8) 五、VHDL代码 (9) 六、实验仿真波形图及分析 (10) 实验4 用VHDL 设计与实现数码管动态扫描控制器 (10) 一、实验目的 (10) 二、实验所用器材 (11) 三、实验任务要求 (11) 四、模块端口说明及连接图 (11) 五、VHDL代码 (11) 六、实验仿真波形图及分析 (15) 故障及问题分析 (16) 总结和结论 (17)

实验1 Quartus II 原理图输入法设计与实现 一、实验目的 (1)熟悉用Quartus II原理图输入法进行电路设计和仿真; (2)掌握Quartus II 图形模块单元的生成与调用; (3)熟悉实验板的使用。 二、实验所用器材 (1)计算机; (2)直流稳压电源; (3)数字系统与逻辑设计实验开发板。 三、实验任务要求 (1)用逻辑门设计实现一个半加器,仿真验证其功能,并生成新的半加器图形模块单元。 (2)用(1)中生成的半加器模块和逻辑门设计实现一个全加器,仿真验证其功能,并下载到实验板测试,要求用拨码开关设定输入信号,发光二极管显示输出信号。 (3)用3线-8线译码器(74LS138)和逻辑门设计实现函数+CBA,仿真验证其功能,并下载到实验板测试。要求用拨码开关设定输入信号,发光二极管显示输出信号。 四、实验原理图 (1)半加器原理图 (2)全加器原理图

北邮模电简易晶体管图示仪实验报告

模拟综合实验 实 验 报 告 课题名称:简易晶体管图示仪 学院:信息与通信工程学院 专业: 班级: : 学号: 指导老师:王丹志

2016.04.15 摘要 本报告主要介绍了简易晶体管图示仪的设计原理、部结构、设计框图及仿真电路图;并且给出了各个分块电路和总体电路的设计原理、功能说明、电路图等;同时展示了实验中示波器上的波形和其他重要数据;最后分析了实际操作中遇到的问题并提出了解决办法,还有对本次实验的结论与总结。 关键词:阶梯波、三角波、晶体管、输出特性曲线

一.设计任务要求: 1.基本要求: 1)设计一个阶梯波发生器,f≥500Hz,Uopp≥3V,阶数 N=6; 2)设计一个三角波发生器,三角波Vopp≥2V; 3)设计保护电路,实现对三极管输出特性的测试。 2.提高要求: 1)可以识别NPN,PNP管,并正确测试不同性质三极管; 2)设计阶数可调的阶梯波发生器。 二.设计思路及总体结构框图: 1.设计思路: 本实验要求用示波器稳定显示晶体管的输出特性曲线,因此可用阶梯波和三角波对晶体管进行周期性扫描,并将结果以图示的方式显示在示波器上。 具体思路如下: 1)首先利用NE555时基振荡器产生符合条件的方波; 2)将方波输入到双运算放大器LF353中,其中一个运放作 为积分器产生锯齿波,另一个运放构成反相放大电路得 到合适幅值的三角波; 3)将方波作为时钟信号输入到四位同步二进制计数器 74LS169中,取其低三位输出作为地址输入到CD4051

的地址端,通过分压在CD4051的数据输入端输入等间 隔的电位值,CD4051作为数据选择器,根据输入的地 址对数据进行选择性输出,从而获得阶梯波; 4)将三角波输入到三极管的集电极,阶梯波作为基极电位 输入到三极管的基极作为扫描电压。通过示波器两通道 分别接集电极和射极,以X-Y模式显示晶体管的输入输 出特性曲线。 2.总体结构框图: 三.分块电路和总体电路设计: 1.方波电路: 1)原理:

北京邮电大学电路实验报告-(小彩灯)

北京邮电大学电路实验报告-(小彩灯)

电子电路综合实验报告课题名称:基于运算放大器的彩灯显示电路的设计与实现 姓名:班级:学号: 一、摘要: 运用运算放大器设计一个彩灯显示电路,通过迟滞电压比较器和反向积分器构成方波—三角波发生器,三角波送入比较器与一系列直流电平比较,比较器输出端会分别输出高电平和低电平,从而顺序点亮或熄灭接在比较器输出端的发光管。 关键字: 模拟电路,高低电平,运算放大器,振荡,比较 二、设计任务要求: 利用运算放大器LM324设计一个彩灯显示电路,让排成一排的5个红色发光二极管(R1~R5)重复地依次点亮再依次熄灭(全灭→R1→R1R2→R1R2R3→R1R2R3R4→R1R2R3R4R5→R1R2R3R4→R1R2R3→R1R2→R1→全灭),同时让排成一排的6个绿色发光二极管(G1~G6)单光

三角波振荡电路可以采用如图2-28所示电路,这是一种常见的由集成运算放大器构成的方波和三角波发生器电路,图2-28中运放A1接成迟滞电压比较器,A2接成反相输入式积分器,积分器的输入电压取自迟滞电压比较器的输出,迟滞电压比较器的输入信号来自积分器的输出。假设迟滞电压比较器输出U o1初始值为高电平,该高电平经过积分器在U o2端得到线性下降的输出信号,此线性下降的信号又反馈至迟滞电压比较器的输入端,当其下降至比较器的下门限电压U th-时,比较器的输出发生跳变,由高电平跳变为低电平,该低电平经过积分器在U o2端得到线性上升的输出信号,此线性上升的信号又反馈至迟

滞电压比较器的输入端,当其上升至比较器的上门限电压U th+时,比较器的输出发生跳变,由低电平跳变为高电平,此后,不断重复上述过程,从而在迟滞电压比较器的输出端U o1得到方波信号,在反向积分器的输出端U o2得到三角波信号。假设稳压管反向击穿时的稳定电压为U Z,正向导通电压为U D,由理论分析可知,该电路方波和三角波的输出幅度分别为: 式(5)中R P2为电位器R P动头2端对地电阻,R P1为电位器1端对地的电阻。 由上述各式可知,该电路输出方波的幅度由稳压管的稳压值和正向导通电压决定,三角波的输 出幅度决定于稳压管的稳压值和正向导通电压以及反馈比R1/R f,而振荡频率与稳压管的稳压值和正向导通电压无关,因此,通过调换具有不同稳压值和正向 导通电压的稳压管可以成比例地改变方波和三角波的幅度而不改变振荡频率。 电位器的滑动比R P2/R P1和积分器的积分时间常数R2C的改变只影响振荡频率而 不影响振荡幅度,而反馈比R1/R f的改变会使振荡频率和振荡幅度同时发生变化。因此,一般用改变积分时间常数的方法进行频段的转换,用调节电位器滑动头 的位置来进行频段内的频率调节。

北邮通信原理实验报告

北京邮电大学通信原理实验报告 学院:信息与通信工程学院班级: 姓名: 姓名:

实验一:双边带抑制载波调幅(DSB-SC AM ) 一、实验目的 1、了解DSB-SC AM 信号的产生以及相干解调的原理和实现方法。 2、了解DSB-SC AM 信号波形以及振幅频谱特点,并掌握其测量方法。 3、了解在发送DSB-SC AM 信号加导频分量的条件下,收端用锁相环提取载波的原理及其实现方法。 4、掌握锁相环的同步带和捕捉带的测量方法,掌握锁相环提取载波的调试方法。 二、实验原理 DSB 信号的时域表达式为 ()()cos DSB c s t m t t ω= 频域表达式为 1 ()[()()]2 DSB c c S M M ωωωωω=-++ 其波形和频谱如下图所示 DSB-SC AM 信号的产生及相干解调原理框图如下图所示

将均值为零的模拟基带信号m(t)与正弦载波c(t)相乘得到DSB—SC AM信号,其频谱不包含离散的载波分量。 DSB—SC AM信号的解调只能采用相干解调。为了能在接收端获取载波,一种方法是在发送端加导频,如上图所示。收端可用锁相环来提取导频信号作为恢复载波。此锁相环必须是窄带锁相,仅用来跟踪导频信号。 在锁相环锁定时,VCO输出信号sin2πf c t+φ与输入的导频信号cos2πf c t 的频率相同,但二者的相位差为φ+90°,其中很小。锁相环中乘法器的两个 输入信号分别为发来的信号s(t)(已调信号加导频)与锁相环中VCO的输出信号,二者相乘得到 A C m t cos2πf c t+A p cos2πf c t?sin2πf c t+φ =A c 2 m t sinφ+sin4πf c t+φ+ A p 2 sinφ+sin4πf c t+φ 在锁相环中的LPF带宽窄,能通过A p 2 sinφ分量,滤除m(t)的频率分量及四倍频载频分量,因为很小,所以约等于。LPF的输出以负反馈的方式控制VCO,使其保持在锁相状态。锁定后的VCO输出信号sin2πf c t+φ经90度移相后,以cos2πf c t+φ作为相干解调的恢复载波,它与输入的导频信号cos2πf c t 同频,几乎同相。 相干解调是将发来的信号s(t)与恢复载波相乘,再经过低通滤波后输出模拟基带信号 A C m t cos2πf c t+A p cos2πf c t?cos2πf c t+φ =A c 2 m t cosφ+cos4πf c t+φ+ A p 2 cosφ+cos4πf c t+φ 经过低通滤波可以滤除四倍载频分量,而A p 2 cosφ是直流分量,可以通过隔直

北邮数电实验报告

北京邮电大学 实验报告实验名称:数电电路与逻辑设计实验 学院:信息与通信工程学院 班级: 姓名: 学号: 班内序号: 日期:

一. 实验一:Quartus II 原理图输入法设计 1. 实验名称和实验任务要求 (1)用逻辑门设计实现一个半加器,仿真验证其功能,并生成新的半加器图形模块 元。 (2)用(1)中生成的半加器模块和逻辑门设计实现一个全加器,仿真验证其功能,并下载到实验板测试,要求用拨码开关设定输入信号,发光二极管显示输出信号入信号。 (3)用3线-8线译码器(74LS138)和逻辑门设计实现函数 F=A B C +A B C +A B C + A B C 。 2. 实验原理图及波形图 (1)半加器 (2)全加器

(3)74LS38 3.仿真波形图分析 (1)半加器: 输入为a,b,输出S,CO(进位)。 当ab都为0时,半加和s=0,进位端co=0。 当ab都为1时,半加和s=0,进位端co=1。 当a=1,b=0 或a=0,b=1时,半加和s=1,进位端co=0。 (2)全加器:

输入a,b,输出S,CO(进位),ci(低进位)。 当a=0,b=0,ci=0,输出s=0,co=0。 当a=0,b=1或a=1,b=0又 ci=0,输出s=1,co=0。 当a=0,b=0,ci=1,输出s=1,co=0。 (3)74LS138 输入A,B,C,输出为3。 四个输出对应F中的四个最小项,Y0、Y2、Y4、Y7,以实现函数功能。 二.实验二:用 VHDL 设计与实现组合逻辑电路 1.实验名称和实验任务要求 (1)用VHDL语言设计实现一个共阴极7段数码管译码器,仿真验证其功能。要求用拨码开关设定输入信号,7段数码管显示输出信号。 (2) 用VHDL语言设计实现一个8421码转换为余3码的代码转换器,仿真验证其功能。要求用拨码开关设定输入信号,发光二极管显示输出信号。 (3) 用VHDL语言设计实现一个4位二进制奇校验器,输入奇数个’1’时,输出为’1’,否则输出’0’,仿真验证其功能。要求用拨码开关设定输入信号,发光二极管显示输出信号。 2.实验代码及波形图 (1)共阴极7段数码管译码器 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY GUAN IS PORT(A:IN STD_LOGIC_VECTOR(3 DOWNTO 0); B:OUT STD_LOGIC_VECTOR(6 DOWNTO 0); C:OUT STD_LOGIC_VECTOR(5 DOWNTO 0)); END GUAN; ARCHITECTURE encoder_arch OF GUAN IS BEGIN PROCESS(A) BEGIN C<="011111"; CASE A IS WHEN"0000"=> B<="1111110";--0 WHEN"0001"=> B<="0110000";--1 WHEN"0010"=> B<="1101101";--2 WHEN"0011"=> B<="1111001";--3 WHEN"0100"=> B<="0110011";--4 WHEN"0101"=> B<="1011011";--5 WHEN"0110"=> B<="1011111";--6 WHEN"0111"=> B<="1110000";--7 WHEN"1000"=> B<="1111111";--8 WHEN"1001"=> B<="1111011";--9

北邮数字电路综合实验报告——交通灯控制器的VHDL实现

数字电路综合实验报告 班级: 姓名: 班内序号: 学号: 日期:

目录 一、实验摘要 (3) 二、实验任务 (3) 1.任务要求 (3) 2.任务解析 (3) 三、实验设计思路 (4) 1.状态转移图 (4) 2.流程图 (5) 3.模块确定 (5) 4.系统框图 (7) 四、程序代码 (7) ⒈主程序 (7) ⒉分频模块 (9) ⒊防抖模块 (10) ⒋交通灯控制模块 (11) ⒌数字译码模块 (14) 五、实验结果 (15) 1.仿真结果 (15) 2.实物结果 (17) 六、所遇问题分析 (17) 七、实验总结 (18)

交通灯控制器的VHDL实现 一、实验摘要 随着交通情况的日益复杂,交通灯在生活中所处的位置也越来越高。本实验就是基于VHDL语言编程实现了十字路口的交通灯控制器。对于交通等控制器的设计是分模块自顶向下的设计思想,软硬件结合来实现本设计。 关键字:交通灯、VHDL、控制器 二、实验任务 1.任务要求 1)南北和东西方向各有一组绿、黄、红灯用于指挥交通,绿灯、黄灯和红灯的持续时间分别为20秒、5 秒和25秒; 2)当有特殊情况(如消防车、救护车等)时,两个方向均为红灯亮,计时停止,当特殊情况结束后,控制 器恢复原来状态,继续正常运行; 3)用两组数码管,以倒计时方式显示两个方向允许通行或禁止通行的时间; 2.任务解析 东西(A车道)和南北(B车道)方向各有一组绿、黄、红灯用于指挥交通(如图1),绿灯、黄灯和红灯的持续时间分别为20 秒、5 秒和25 秒。 图1 十字路口交通灯模型

因此,可以设计如下四个状态,其关系为: 状态 亮灯情况 车辆行驶状况 持续时 间(秒)下一状态A车道B车道 S0 红亮红亮紧急状况,A/B车道均禁止通行~ S1 S1 绿亮红亮A车道通行,B车道禁止通行20 S2 S2 黄亮红亮A车道缓行,B车道禁止通行 5 S3 S3 红亮绿亮A车道禁止通行,B车道通行20 S4 S4 红亮黄亮A车道禁止通行,B车道缓行 5 S1 三、实验设计思路 1.状态转移图 图2 状态转移图

北邮-电子电路综合设计实验(函数信号发生器)报告

电子电路综合设计实验报告 实验1 函数信号发生器的设计与实现 姓名:------ 学号:---------- 班内序号:--

一. 实验名称: 函数信号发生器的设计与调试 二.实验摘要: 采用运放组成的积分电路产生方波-三角波,可得到比较理想的方波和三角波。根据所需振荡频率的高低和对方波前后沿陡度的要求以及对所需方波、三角波的幅度可以确定合适的运放以及稳压管的型号、所需电阻的大小和电容的值。三角波-正弦波的转换是利用差分放大器来完成的,选取合适的滑动变阻器来调节三角波的幅度以及电路的对称性。同时利用隔直电容、滤波电容来改善输出正弦波的波形。 关键词: 方波三角波正弦波频率可调 三、设计任务要求 1.基本要求: (1)输出频率能在1-10KHz范围内连续可调,无明显失真; (2)方波输出电压Uopp=12V,上升、下降沿小于10us,占空比可调范围30%-70%; (3)三角波Uopp=8V; (4)正弦波Uopp错误!未找到引用源。1V. (5)设计该电路的电源电路(不要求实际搭建) 2.提高要求: (1)正弦波、三角波和方波输出波形的峰峰值Uopp均可在1V-10V内连续可调。 (2)三种输出波形的输出端口的输出阻抗小于100Ω。 (3)三种波形从同一端口输出,并能够显示当前输出信号的种类、大小和频率 (4)用CPLD设计DDS信号源 (5)其他函数信号发生器的设计方案 四、设计思路以及总体结构框图 本课题中函数发生器结构组成如下所示:由比较器和积分器组成方波—三角波产生电

路,比较器输出的方波经积分器得到三角波,三角波到正弦波的变换电路主要由差分放大器来完成。差分放大器具有工作点稳定,输入阻抗高,抗干扰能力较强等优点。特别是作为直流放大器时,可以有效地抑制零点漂移,因此可将频率很低的三角波变换成正弦波。波形变换的原理是利用差分放大器传输特性曲线的非线性。 图4-1 函数信号发生器的总体框图 五.分块电路和总体电路的设计 (1)方波——三角波产生电路 图5-1 方波-三角波产生电路

相关文档
最新文档