当前位置:文档之家› 北邮计算机组成原理课程设计-代码与实验报告

北邮计算机组成原理课程设计-代码与实验报告

北邮计算机组成原理课程设计-代码与实验报告
北邮计算机组成原理课程设计-代码与实验报告

北京邮电大学课程设计报告

计算机组成原理课程设计实验报告

采用硬布线控制器的顺序模型处理器设计与调试

一、实验目的

{

(1)融会贯通计算机组成原理各章节教学内容,通过知识的综合应用,加深对CPU各模块工作原理及相互联系的认识,建立清晰的整机概念。

(2)掌握硬布线控制器的设计方法。

(3)学习运用可编程逻辑技术进行逻辑设计和调试的基本步骤和方法

(4)学习运用VHDL语言,用编写编译下载程序到altera芯片运行。

(5)培养科学研究的独立工作能力,获得工程设计与组装调试的实践经验

二、实验设备

TEC-8实验系统一台

|

PC计算机一台

逻辑笔一只

USB下载器一根

三、设计与调试任务

(1)设计一个硬连线控制器,和TEC-8模型计算机的数据通路结合在一起,构成一个完整的CPU,该CPU要求:能够完成控制台操作:启动程序运行、读存储器、写存储器、读寄存器、写寄存器;能够执行表中的指令,完成规定的操作。

(2)在Quarts下对硬布线控制器设计方案进行编辑和编译。

(3)将编译后的硬布线控制器下载到TEC-8实验台上的EPM7128中,使其成为一个硬布线控制器。《

(4)根据指令系统,编写检测硬布线控制器正确性的测试程序,并用测试程序对硬布线控制器在单拍方式下进行调试,直到成功。

四、实验原理

(1)硬布线控制器基本原理

硬布线控制器是一种把控制部件看作产生专门固定时序控制信号的逻辑电路,这种逻辑电路是一种由门电路和触发器构成的复杂树形逻辑网络。当执行不同机器指令时,通过激活一系列彼此很不相同的控制信号来实现对指令的解释。

每个微操作控制信号C是一系列输入量的逻辑函数,即用组合逻辑来实现

C=f(Im,Mi,Tk,Bj)

Im是机器指令操作码译码器的输出信号,Mi是节拍电位信号,Tk是节拍脉冲信号,Bj表示来自执行部件的反馈信息,是状态条件信号。

在TEC-8实验系统中,节拍脉冲信号Tk,(T1~T3)已经直接输送给数据通路。4位指令操作码IR4~IR7直接成为Im的一部分;SWC、SWB、SWA可以看做是Im的另一部分。Mi是时序发生器产生的节拍信号W1~W3;Bi包括ALU产生的进位信号C、结果为0信号Z等。

(2)硬布线控制器逻辑模块图

硬布线控制器的某一操作控制信号C在某条特定指令和状态条件下,在某一序号的特定节拍电位和节拍脉冲时间间隔中起作用,从而激活这条控制信号线,对执行部件实施控制。图中芯片的输出信号就是微操作控制信号,它用来对执行部件进行控制。另有一些信号则根据条件变量来改变时序发生器的计数顺序,以便跳过某些状态,从而可以缩短指令周期。其中IR7~IR4,SWA,SWB,SWC是机器指令操作码译码器的输出信号,W1,W2,W3是节拍电位信号,T1,T2,T3是节拍脉冲信号,C,Z是结果反馈信息,图中树形逻辑网络N 在接收三个输入信号来源的信号后输出LDZ,LDC,CIN,LIR,SELCTL,STOP等微操作控制信号,用来对执行部件进行控制。

(3)TEC-8数据通路图

控制器:

CLR: IN STD_LOGIC; -- 清零信号

T3, W1,W2,W3: IN STD_LOGIC; --时序信号

C,Z: IN STD_LOGIC; -- 标志信号

LDZ: OUT STD_LOGIC; --当它为1时,如果运算结果为0,在T3的上升沿,将1写入

到Zbiaozhi寄存器;如果运算结果不为0,将0保存到Z标志寄存

器。

LDC: OUT STD_LOGIC; --当它为1时,在T3的上升沿将运算得到的进位保存到C标志

寄存器。

CIN: OUT STD_LOGIC; --进位输出。

M: OUT STD_LOGIC; --控制算术逻辑运算类型

~

ABUS: OUT STD_LOGIC; --当它为1时,将开关数据送到数据总线DBUS;当它为0时,

禁止开关数据送数据总线DBUS。

DRW: OUT STD_LOGIC; --为1时,在T3上升沿对RD1、RD0选中的寄存器进行写操作,

将数据总线DBUS上的数D7~D0写入选定的寄存器。

PCINC: OUT STD_LOGIC; --当它为1时,在T3的上升沿PC加1。

LPC: OUT STD_LOGIC; --当它为1时,在T3的上升沿,将数据总线DBUS上的D7~D0写

入程序计数器PC。

LAR: OUT STD_LOGIC; --当它为1时,在T3的上升沿,将数据总线DBUS上的D7~D0写

入地址寄存器AR。

PCADD: OUT STD_LOGIC; --当它为1时,将当前的PC值加上相对转移量,生成新的PC。ARINC: OUT STD_LOGIC; --当它为1时,在T3的上升沿AR加1。

SELCTL: OUT STD_LOGIC; --当它为1时,TEC-8实验系统处于实验台状态,当它为0时,

TEC-8实验系统处于运行程序状态。

MEMW: OUT STD_LOGIC; --当它为1时,在T2为1期间将数据总线DBUS上的D7~D0写

入双端口RAM。写入的存储器单元由AR7~AR0指定。

STOP: OUT STD_LOGIC; --当它为1时,在T3结束后时序发生器停止输出节拍脉冲T1、

T2、T3。

LIR: OUT STD_LOGIC; --当它为1时,在T3的上升沿将从双端口RAM的右端口读出的

指令INS7~INS0写入指令寄存器IR。读出的存储器单元由PC7~PC0指

定。

SBUS: OUT STD_LOGIC; --当它为1时,数据开关SD7~SD0的数送数据总线DBUS。MBUS: OUT STD_LOGIC; --当它为1时,将双端口RAM的左端口数据送到数据总线DBUS SHORT: OUT STD_LOGIC; --只产生节拍W1。

LONG: OUT STD_LOGIC; --产生节拍W1、W2、W3。

SW: IN STD_LOGIC_VECTOR(2 DOWNTO 0); -- 即SWC SWB SWA,控制台方式控制信号

;

IR:I N STD_LOGIC_VECTOR(3 DOWNTO 0); -- 即IR7-IR4 ,指令的操作码

S: OUT STD_LOGIC_VECTOR(3 DOWNTO 0); -- ALU的方式控制,与M配合以选择逻辑或算数运算SEL: OUT STD_LOGIC_VECTOR(3 DOWNTO 0); -- 寄存器选择向量

(4)机器指令流程图设计

五、设计步骤与实验过程

(1)设计步骤

@

1、学习硬布线控制器基本原理

2、设计机器指令周期流程图

3、设计组合逻辑译码表

4、根据组合逻辑译码表和控制器流程图写出VHDL代码

5、分配各输入输出信号管脚

6、下载程序到芯片

7、反复调试

(2)实验日志、故障及排除方案

日志:熟悉实验台

遇到问题及解决方案:由于学习tec8实验台已有一段时间,操作不熟练,按照以前的实验步骤,写存储器,读存储器,写寄存器,读寄存器。

日志:复习用VHDL语言编写程序

遇到问题及解决方案:1、语法记不清,重新理解了ENTITY、PROCESS、ARCHITECTURE等意义和使用方法。

2、Quartus操作方法也已忘记,重新找到以前的课件,按照课件一步一步练习操作,

日志:尝试建立一个可以编译下载到EMP7128SLC84-15芯片的工程,并将示例程序编译后分配管脚,下载到芯片。

遇到问题及解决方案:1、因为一开始使用的是64位的quartus,分配管脚报错:license文件不支持该芯片,用32位的重新建工程就编译通过。

2、因为用的是自己的win10的电脑,无法识别USB下载器,又将工程拷贝到实验室电脑上成功下载到芯片。

3、一开始不清楚从哪输入IR7~IR

4、C、Z,和同学讨论后,理解了将程序先存入存储器,连线后可执行微程序。

日志:1、研究输入输出信号的具体作用。2、根据硬布线控制器参考流程图写组合逻辑译码表。3、按要求编写程序VHDL代码。

遇到问题及解决方案:1、循环操作中读寄存器的ST0判断与取值难以直接改变,ST0作为一个signal,不可以在两个process中同时有赋值语句,所以设置了SST0控制,SST0为1时ST0置1。

2、不知道如何利用T3控制,后经和组员讨论利用T3下降沿来完成时序同步。

日志:1、继续编写程序。2、初步在实验台调试编写的程序

遇到问题及解决方案:1、初次调试运行程序时指令输出不正确,检查程序后发现需要每次进入进程时初始化。

2、前几次调试时写寄存器操作跳转出错,检查代码发现未给SST0置0。

3、SST0对ST0的控制需要同步处理,即在一个拍结束后再对ST0控制。

日志:1、逐条验证编写的指令。2、运行老师给的检验程序

`

遇到问题及解决方案:

1、老师的检验程序运行至JMP时IR显示出错,查找原因,发现LD命令未能正确运行,排除法找出是代码错误引起。一共找出两个错误。(1)课本程序框图中LD语句W3的节拍里未注明S的取值,写程序时理解为初始化为0,请教同学后,理解了S应保持W2时的值不变;(2)修改代码后仍运行不正确,检查管脚配置发现漏掉了M,加上后编译运行,结果正确

2、欲添加自己的指令,不能确定指令相应的输出信号与代码,经查书和上网查找后解决问题。

六、算法设计(伪代码)

1、首先是时序PROCESS,伪代码描述如下:

PROCESS (RST0,SST0,T3,SW,CLR)

BEGIN

"

IF CLR='0' THEN

ST0清零;

ELSIF SW有意义 THEN -- SW四种情况均要用到ST0控制

if 同步信号到来 then -- 通过T3实现标记置位/复位同步

完成对ST0的复位和置位;

END IF;

else NULL;

end if;

|

END IF;

END PROCESS;

2、其次是指令控制PROCESS,设计思想涉及到两级的译码结构(两重SWITCH-CASE)结构,由于要实线“可以在任何地方开始程序”,在取值时需要做一些调整。用伪代码描述如下:PROCESS(SW,W3,W2,W1,IR,CLR)

BEGIN

初始化;

CASE SW IS

-

WHEN "100"=>

IF ST0='0' THEN

写R0和R1;

SST0有效;

ELSIF ST0='1' THEN

写R2和R3;

RST0有效;

END IF;

|

WHEN "011"=>

每拍读两个;

WHEN "010"=>

IF ST0='0' THEN

给首地址;

SST0有效;

ELSIF ST0='1' THEN

自增;

END IF;

WHEN "001"=>

IF ST0='0' THEN

给首地址;

SST0有效;

ELSIF ST0='1' THEN

自增;

END IF;

:

WHEN "000"=>

IF ST0 = '0' THEN

给首地址;

SST0有效;

ELSIF ST0 = '1' THEN

取指,并保证ST0永远为1;

CASE IR IS

0001-1111操作码译码;

-

END CASE;

END IF;

END CASE;

END PROCESS;

七、实验VHDL代码

,

LIBRARY IEEE;

USE CPU IS

PORT(

CLR:IN STD_LOGIC; -- 清零信号

T3,W1,W2,W3:IN STD_LOGIC; --时序信号

C,Z:IN STD_LOGIC; -- 标志信号

LDZ:OUT STD_LOGIC; --当它为1时,如果运算结果为0,在T3的上升沿,将1写入到Zbiaozhi寄存器;如果运算结果不为0,将0保存到Z标志寄存器。

]

LDC:OUT STD_LOGIC; --当它为1时,在T3的上升沿将运算得到的进位保存到C标志寄存器。

CIN:OUT STD_LOGIC; --进位输出。

M:OUT STD_LOGIC; --控制算术逻辑运算类型

ABUS:OUT STD_LOGIC; --当它为1时,将开关数据送到数据总线DBUS;当它为0时,禁止开关数据送数据总线DBUS。

DRW:OUT STD_LOGIC; --为1时,在T3上升沿对RD1、RD0选中的寄存器进行写操作,将数据总线DBUS上的数D7~D0写入选定的寄存器。

PCINC:OUT STD_LOGIC; --当它为1时,在T3的上升沿PC加1。

LPC:OUT STD_LOGIC; --当它为1时,在T3的上升沿,将数据总线DBUS上的D7~D0写入程序计数器PC。

LAR:OUT STD_LOGIC; --当它为1时,在T3的上升沿,将数据总线DBUS上的D7~D0写入地址寄存器AR。

~

PCADD:OUT STD_LOGIC; --当它为1时,将当前的PC值加上相对转移量,生成新的PC。

ARINC:OUT STD_LOGIC; --当它为1时,在T3的上升沿AR加1。

SELCTL:OUT STD_LOGIC; --当它为1时,TEC-8实验系统处于实验台状态,当它为0时,TEC-8实验系统处于运行程序状态。

MEMW:OUT STD_LOGIC; --当它为1时,在T2为1期间将数据总线DBUS上的D7~D0写入双端口RAM。写入的存储器单元由AR7~AR0指定。

STOP:OUT STD_LOGIC; --当它为1时,在T3结束后时序发生器停止输出节拍脉冲T1、T2、T3。

LIR:OUT STD_LOGIC; --当它为1时,在T3的上升沿将从双端口RAM的右端口读出的指令INS7~INS0写入指令寄存器IR。读出的存储器单元由PC7~PC0指定。

SBUS:OUT STD_LOGIC; --当它为1时,数据开关SD7~SD0的数送数据总线DBUS。

MBUS:OUT STD_LOGIC; --当它为1时,将双端口RAM的左端口数据送到数据总线DBUS

SHORT:OUT STD_LOGIC; --只产生节拍W1。

LONG:OUT STD_LOGIC; --产生节拍W1、W2、W3。

SW:IN STD_LOGIC_VECTOR(2 DOWNTO 0); -- 即SWC SWB SWA,控制台方式控制信号

IR:IN STD_LOGIC_VECTOR(3 DOWNTO 0); -- 即IR7-IR4 ,指令的操作码

S: OUT STD_LOGIC_VECTOR(3 DOWNTO 0); -- ALU的方式控制,与M配合以选择逻辑或算数运算

SEL:OUT STD_LOGIC_VECTOR(3 DOWNTO 0); -- 寄存器选择向量

COMB:OUT STD_LOGIC_VECTOR(2 DOWNTO 0) --错误信号。

);

,

END CPU;

ARCHITECTURE logic of CPU is

SIGNAL ST0: STD_LOGIC:='0'; -- 循环开关,用来实现首地址输入

SIGNAL SST0: STD_LOGIC:='0'; -- ST0的置位信号,将ST0置逻辑1,通过T3实现时序同步

BEGIN

>

PROCESS (SST0,T3,SW,CLR) -- ST0和CLR控制过程

BEGIN

IF CLR='0' THEN

ST0 <= '0';

ELSIF SW="010" OR SW="001" OR SW = "100" OR SW="000" THEN -- SW四种情况均要用到ST0控制if T3'EVENT AND T3='0' then -- 通过T3实现标记置位/复位同步

IF SST0='1' THEN --ST0置位。

ST0<='1';

\

ELSIF SST0 = '0' THEN --ST0复位。

ST0<='0';

END IF;

else NULL;

end if;

END IF;

END PROCESS;

)

PROCESS(SW,W3,W2,W1,IR,CLR) -- 译码

BEGIN

-- 初始化过程

LDZ<='0';

LDC<='0';

CIN<='0';

S<="0000";

M<='0';

<

ABUS<='0';

DRW<='0';

PCINC<='0';

LPC<='0';

LAR<='0';

PCADD<='0';

ARINC<='0';

SELCTL<='0';

(

MEMW<='0';

STOP<='0';

LIR<='0';

SBUS<='0';

MBUS<='0';

SHORT<='0';

LONG<='0';

SEL<="0000";

"

-- SW译码

CASE SW IS

WHEN "100"=> -- 写寄存器

IF ST0='0' THEN

SBUS<=W1 OR W2;

SEL(2)<=W2;

{

SEL(1)<=W1;

SEL(0)<=W1;

SELCTL<=W1 OR W2;

DRW<=W1 OR W2;

STOP<=W1 OR W2;

SST0<=W2;

ELSIF ST0='1' THEN

.

SBUS<=W1 OR W2;

SEL(3)<=W1 OR W2;

SEL(2)<=W2;

SEL(1)<=W2;

SEL(0)<=W1;

SELCTL<=W1 OR W2;

DRW<=W1 OR W2;

STOP<=W1 OR W2;

SST0<=NOT W2;

END IF;

WHEN "011"=> -- 读寄存器

SEL(3)<=W2;

SEL(1)<=W2;

SEL(0)<=W1 OR W2;

/

SELCTL<=W1 OR W2;

STOP<=W1 OR W2;

WHEN "010"=> -- 读存储器

IF ST0='0' THEN

SBUS<=W1;

LAR<=W1;

STOP<=W1;

|

SST0<=W1;

SHORT<=W1;

SELCTL<=W1;

ELSIF ST0='1' THEN

MBUS<=W1;

ARINC<=W1;

STOP<=W1;

%

SHORT<=W1;

SELCTL<=W1;

END IF;

WHEN "001"=> -- 写存储器

IF ST0='0' THEN

SBUS<=W1;

LAR<=W1;

%

STOP<=W1;

SST0<=W1;

SHORT<=W1;

SELCTL<=W1;

ELSIF ST0='1' THEN

SBUS<=W1;

MEMW<=W1;

*

ARINC<=W1;

STOP<=W1;

SHORT<=W1;

SELCTL<=W1;

END IF;

WHEN "000"=>

LIR<=W1;

-

PCINC<=W1;

S<="0000";

CASE IR IS

WHEN "0001"=> --ADD

S(3)<=W2;

S(0)<=W2;

CIN<=W2;

}

ABUS<=W2;

DRW<=W2;

LDZ<=W2;

LDC<=W2;

WHEN "0010"=> --SUB

S(2)<=W2;

S(1)<=W2;

ABUS<=W2;

DRW<=W2;

LDZ<=W2;

LDC<=W2;

WHEN "0011"=> --AND

S(3)<=W2;

S(1)<=W2;

~

S(0)<=W2;

M<=W2;

ABUS<=W2;

DRW<=W2;

LDZ<=W2;

WHEN "0100"=> --INC

ABUS<=W2;

]

DRW<=W2;

LDZ<=W2;

LDC<=W2;

WHEN "0101"=> --LD

M<=W2;

S(3)<=W2 OR W3;

S(1)<=W2 OR W3;

ABUS<=W2;

LAR<=W2;

LONG<=W2;

DRW<=W3;

MBUS<=W3;

WHEN "0110"=> --ST

M<=W2 OR W3;

(

S(3)<=W2 OR W3;

S(2)<=W2;

S(1)<=W2 OR W3;

S(0)<=W2;

ABUS<=W2 OR W3;

LAR<=W2;

LONG<=W2;

MEMW<=W3;

WHEN "0111"=> --JC

IF C='1' THEN

PCADD<=W2;

END IF;

WHEN "1000"=> --JZ

IF Z='1' THEN

PCADD<=W2;

END IF;

WHEN "1001"=> --JMP

M<=W2;

S(3)<=W2;

S(2)<=W2;

S(1)<=W2;

[

S(0)<=W2;

ABUS<=W2;

LPC<=W2;

WHEN "1010"=> --OUT

M<=W2;

S(3)<=W2;

S(1)<=W2;

ABUS<=W2;

\

WHEN "1110"=> --STP

STOP<=W2;

WHEN "1100"=> --OR

S(3)<=W2;

S(2)<=W2;

S(1)<=W2;

M<=W2;

ABUS<=W2;

DRW<=W2;

LDZ<=W2;

|

WHEN OTHERS=>

COMB<="000";

END CASE;

WHEN OTHERS=>

NULL;

END CASE;

END PROCESS;

END ARCHITECTURE;

九、测试结果

计算可得,结果完全符合

十、实验结论

(1)时序逻辑的设计是一个难题,因为所有的控制信号都需要用来时序函数直接译码输出。这里其实体现了硬布线和微程序控制器的本质区别:硬布线采用了时序逻辑,比起微程序控制器的存储逻辑,它少了一层。不难类比网络设计中的协议分层原则:好的分层(微程序控制器)的优点是普适性好,结构清晰,易于泛化;也存在缺点:效率低下。

(2)根据设计的硬布线控制器流程图设计译码电路,可先列出译码表作为逻辑设计的根据,然后用VHDL 语言直接写出相应的语言描述,由于使用在系统可编程器件,集成度高,灵活性强,编程下载方便,用于硬连线控制器使调试简单。

(3)硬布线控制器和微程序控制器的不同:

1、微程序控制器的控制功能是在存放微程序存储器和存放当前正在执行的微指令的寄存器直接控制下实现的,而硬布线控制的功能则由逻辑门组合实现。微程序控制器的电路比较规整,各条指令信号的差别集中在控制存储器内容上。

2、微程序控制器一个机器指令对应一条微程序,一个微指令周期对应一个节拍电位时间。而硬布线控制器时序产生器除了产生节拍脉冲信号外还应产生节拍电位信号,用于在一个指令周期中顺序执行一系列微操作,需要设置若干节拍电位来定时。

3、在微程序控制器中,微操作控制信号由微指令产生,并且可以重复使用。而在硬布线控制器中某一微操作控制信号由布尔代数表达式描述的输出函数产生。

十一、中断设计方案

1、中断原理

中断方式是在外设为数据传送做好准备之后,就向CPU 发出中断请求信号(相当于通知CPU )。CPU 接收到中断请求信号之后立即作出响应,暂停正在执行的原程序(主程序),而转去外设的数据输入输出服务,待服务完之后,程序返回。CPU 再继续执行被中断的原程序。

我们设计的是外部中断。外部中断以电平触发,通过PULSE 按钮输入请求信号。

2、实现方案

模仿TEC-8中提供的中断系统,我们所设计的中断系统只支持单级中断、单个中断请求,有中断屏蔽功能。

在VHDL 编写的CPU 系统中有三条指令,开中断指令 EI (1101XXXX )、关中断指令 DI (1100XXXX )、中断返回指令 IRET(1011XXXX)。

在时序发生器中,设置了一个允许中断触发器EN_INT (DI or !EI ),当它为1时,允许中断,当它为0时,禁止中断发生。复位脉冲CLR#使EN_INT 复位为0。

中断地址寄存器IAR 是74LS374。当信号LIAR 为1时,在T3的上升沿,将PC 保存在IAR 中。当信号IABUS 为1时,IABUS 中保存的PC 送数据总线DBUS 。由于本实验系统只有一个断点寄存器而无堆栈,因此仅支持一级中断而不支持多级中断。

中断向量即中断服务程序的入口地址,TEC-8系统中由数据开关SD7~SD0提供。

除指令EI 、DI 外,每条指令执行过程的最后一条微指令都包含判断位P4,用于判断有无中断发生,根据中断信号INT 是否为1决定VHDL 程序分支。如果信号INT 为1,则转如由SD7~SD0提供的中断向量,进入中断处理;如果信号INT 为0,则继续取下一条指令然后执行。

INT 为1转到中断向量,根据VHDL 语言改变INTDI 信号,禁止新的中断发生,产生LIAR 信号保存当前地址 (断点寄存器),产生STOP 信号,等待手动设置中断向量(数据开关SD7~SD0设置中断地址),机器将中断向量读到PC 后,转到中服务程序继续执行。

执行指令IRET ,从中断地址返回,该指令产生IABUS 信号,恢复断点地址,产生信号LPC ,将断点从数据总线装入PC ,恢复被中断的程序。

发生中断时,关中断由硬件负责。而中断现场(包括4个寄存器、进位标志C 和结果为0标志Z)的保存和恢复由中断服务程序完成。中断服务程序的最后两条指令一般是开中断指令EI 和中断返回指令IRET 。为了保证从中断服务程序能够返回到主程序,EI 指令执行后,不允许立即被中断。因此,EI 指令执行过程中的最后一条微指令中不包含P4判别位。

使用VHDL 语言描述TEC-8中的中断控制器

INT_EN_P:process(CLR,MF,INTEN,IBNTDI,PULSE,EN_INT) begin if CLR='0' then

EN_INT<='0';

elsif MF' event and MF='1' then

主程序

设工作

INTR

中断程序

响应

返回

EN_INT<= INTEN or (EN_INT and (not INTDI) );

end if;

INT<= EN_INT and PULSE;

end process

由于EPM7128引脚规定中没有PLUSE输入引脚,也没有IABUS输出引脚,因此无法实际进行试验。

如果有该引脚的话,测试程序如下:

中断服务程序:

寄存器R1的值为21H.

当有PLUSE输入引脚时,执行上面的程序,则最初一直在20H-29H之间取指,输入PULSE信号后,在微指令的最后进入中断,输入中断服务程序地址0A0H,中断程序执行完毕后跳回被中断程序继续执行。

十二、小组成员实验心得与体会

周卓彬:

在此次计算机组成原理课程设计中,经过每位组员的通力合作,我们顺利完成了一个硬布线控制器的CPU设计,涵盖了基本的读写寄存器及存储器操作,支持执行基本的指令集。从流程设计,代码编写,芯片烧录到调试运行,整个过程使我受益良多。

一开始的时候无从下手,因为这个设计并不像是之前接触的代码任务,根据实验说明就可以直接写代码。所以一开始我们做的事是先分析,分析CPU由什么组成,各个组成部分又是怎么通过代码实现的。由于过了一个假期,对上学期做的TEC-8实验都忘得差不多了,所以一开始我先是看书,将上学期做的实验内容重新捡回来,理解完之后就开始码代码。码代码的时候也遇到了很多问题,庆幸的是都解决了,就不再赘述。其中令我印象深刻的一个小问题是在调试LD指令的时候,发现了错误,先是通过对ST指令的检查排除是W3节拍的问题,接着检查代码发现也没问题,纠结了一下午,最后才发现原来是M信号忘了分配管脚,这个小问题告诉了我,无论做什么,都要注意细节,千里之堤毁于蚁穴,做事要细心谨慎。

这次实验设计总算是顺利完成,这不仅仅依靠组员各自的专业知识,更依赖于团队协作,例如一开始的实验分析,每天的出勤时间协调,还有遇到问题时的团队讨论,等等。

颜力琦:

首先,本次实验是设计计算机控制器的实验,利用实验台等资源,深入理解了计算机最底层的工作原理。以前不理解只有0和1的机器代码是如何控制硬件工作,通过本次实验,建立了整个代码逻辑和硬件细节的概念。初次接触硬布线控制器代码编写时,对如何处理T3、W1、W2、W3等信号毫无头绪,经过对原理的仔细摸索和上网查阅资料,终于有了思路并写出了代码,经过不断尝试,完成了整个程序的编写。这让我们很好地理解了机器指令是如何执行的,领悟了控制器的工作原理。

其次,本次实验需要手动测试,需要将指令一条一条地输入存储器,结果错误时还需要不断重新操作,这很好地考验和培养了我们的耐心和细心。在操作时,我们一个同学读出指令代码另一个同学输入,这也是一种培养团队合作精神的方式,是未来工作所必不可少的。

第三,以前的计算机组成原理实验是在老师一步一步指导下完成的,这次老师完全没有提供具体的步骤,实验的路得自己一点一点地探索出来,我们亲力亲为,把所学的理论知识与实践相结合起来,从理论中得出结论,在实验里验证理论,将每个步骤,每个细节弄清楚,实验后,还要反复思考,才取得最后的成果。

通过这次测试技术的实验,使我学到了不少实用的知识,更重要的是,做实验的过程,思考问题的方法,这与做其他的实验是通用的,甚至在我们未来的学习中工作中也是必须的,真正使我们受益匪浅。

潘自成:

在这两个礼拜的课程设计中,让我会想起很多上学计算机组成原理的内容,因为上学期做过和这个类似的微程序的实验,所以对于这次的硬布线的内容还是有一定理解。在编写代码的过程中,我负责的是各个功能指令代码的编写,对照着流程图和看书,再加上复习以前VHDL的内容,把指令部分完成,在编写每个代码的过程中,回想起了上学期微程序的内容,对于上学期的有些不明白的内容也理解了,比如JZ,JC两个跳转的指令,上学期只是知道他是跳转到哪一步,但是经过试验之后就了解到为什么相差1,因为PC有加1。另外在编写完成后的调试过程中,也增强了我的动手能力。在整个硬布线控制器的设计过程中,让我对计算机内部有了更深的了解,从最先开始的逻辑门实验,到后来微程序实验,再到这次的硬布线实验,感觉像是对计算机工作原理的一次又一次的深刻学习,了解到更多计算机硬件是如何工作的。收获很大。

北邮 通信网实验报告

北京邮电大学实验报告通信网理论基础实验报告 学院:信息与通信工程学院 班级:2013211124 学号: 姓名:

实验一 ErlangB公式计算器 一实验内容 编写Erlang B公式的图形界面计算器,实现给定任意两个变量求解第三个变量的功能: 1)给定到达的呼叫量a和中继线的数目s,求解系统的时间阻塞率B; 2)给定系统的时间阻塞率的要求B和到达的呼叫量a,求解中继线的数目s,以实现网络规划; 3)给定系统的时间阻塞率要求B以及中继线的数目s,判断该系统能支持的最大的呼叫量a。 二实验描述 1 实验思路 使用MA TLAB GUITOOL设计图形界面,通过单选按钮确定计算的变量,同时通过可编辑文本框输入其他两个已知变量的值,对于不同的变量,通过调用相应的函数进行求解并显示最终的结果。 2程序界面 3流程图 4主要的函数 符号规定如下: b(Blocking):阻塞率; a(BHT):到达呼叫量;

s(Lines):中继线数量。 1)已知到达呼叫量a及中继线数量s求阻塞率b 使用迭代算法提高程序效率 B s,a= a?B s?1,a s+a?B(s?1,a) 代码如下: function b = ErlangB_b(a,s) b =1; for i =1:s b = a * b /(i + a * b); end end 2)已知到达呼叫量a及阻塞率b求中继线数量s 考虑到s为正整数,因此采用数值逼近的方法。采用循环的方式,在每次循环中增加s的值,同时调用B s,a函数计算阻塞率并与已知阻塞率比较,当本次误差小于上次误差时,结束循环,得到s值。 代码如下: function s = ErlangB_s(a,b) s =1; Bs = ErlangB_b(a,s); err = abs(b-Bs); err_s = err; while(err_s <= err) err = err_s; s = s +1; Bs = ErlangB_b(a,s); err_s = abs(b - Bs); end s = s -1; end 3)已知阻塞率b及中继线数量s求到达呼叫量a 考虑到a为有理数,因此采用变步长逼近的方法。采用循环的方式,在每次循环中增加a的值(步长为s/2),同时调用B s,a函数计算阻塞率并与已知阻塞率比较,当本次误差小于预设阈值时,结束循环,得到a值。 代码如下: function a = ErlangB_a(b,s)

课程设计实验报告 北邮

课程设计实验报告 -----物联网实验 学院:电子工程学院班级:2011211204 指导老师:赵同刚

一.物联网概念 物联网是新一代信息技术的重要组成部分。物联网的英文名称叫“The Internet of things”。顾名思义,物联网就是“物物相连的互联网”。这有两层意思:第一,物联网的核心和基础仍然是互联网,是在互联网的基础上延伸和扩展的网络;第二,其用户端延伸和扩展到了任何物体与物体之间,进行信息交换和通信。因此,物联网的定义是:通过射频识别(RFID)、红外感应器、全球定位系统、激光扫描器等信息传感设备,按约定的协议,把任何物体与互联网相连接,进行信息交换和通信,以实现对物体的智能化识别、定位、跟踪、监控和管理的一种网络。 二.物联网作用 现有成熟的主要应用包括: —检测、捕捉和识别人脸,感知人的身份; —分析运动目标(人和物)的行为,防范周界入侵; —感知人的流动,用于客流统计和分析、娱乐场所等公共场合逗留人数预警; —感知人或者物的消失、出现,用于财产保全、可疑遗留物识别等; —感知和捕捉运动中的车牌,用于非法占用公交车道的车辆车牌捕捉; —感知人群聚集状态、驾驶疲劳状态、烟雾现象等各类信息。 三.物联网无线传感(ZigBee)感知系统 ZigBee是一种新兴的短距离、低功耗、低数据速率、低成本、低复杂度的无线网络技术。ZigBee在整个协议栈中处于网络层的位置,其下是由IEEE 802.15.4规范实现PHY(物理层)和MAC(媒体访问控制层),对上ZigBee提供了应用层接口。 ZigBee可以组成星形、网状、树形的网络拓扑,可用于无线传感器网络(WSN)的组网以及其他无线应用。ZigBee工作于2.4 GHz的免执照频段,可以容纳高达65 000个节点。这些节点的功耗很低,单靠2节5号电池就可以维持工作6~24个月。除此之外,它还具有很高的可靠性和安全性。这些优点使基于ZigBee的WSN广泛应用于工业控制、消费性电子设备、汽车自动化、家庭和楼宇自动化、医用设备控制等。 ZigBee的基础是IEEE802.15.4,这是IEEE无线个人区域网工作组的一项标准,被称作IEEE802.15.4(ZigBee)技术标准。ZigBee不仅只是802.15.4的名字。IEEE仅处理低级MAC

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

数字电路综合实验报告 简易智能密码锁 一、实验课题及任务要求 设计并实现一个数字密码锁,密码锁有四位数字密码和一个确认开锁按键,密码输入正确,密码锁打开,密码输入错误进行警示。 基本要求: 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行为低电平,再读入列值,如果其中有哪一位为低电平,那么肯定对应的那一列有按键按下。由此可确定按键位置。

北邮通电实验报告

实验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的方法,学会计算调制度,具体见实验结论。我们对集成乘法器幅度调制电路有了更好的了解,对他有了更深入的认识,提高了对通信电子电路的兴趣。 和模电实验的单独进行,通电实验增强了团队配合的能力,两个人的有效分工提高了实验的效率,减少了一个人的独自苦恼。

北邮通信原理实验 基于SYSTEMVIEW通信原理实验报告

北京邮电大学实验报告 题目:基于SYSTEMVIEW通信原理实验报告 班级:2013211124 专业:信息工程 姓名:曹爽 成绩:

目录 实验一:抽样定理 (3) 一、实验目的 (3) 二、实验要求 (3) 三、实验原理 (3) 四、实验步骤和结果 (3) 五、实验总结和讨论 (9) 实验二:验证奈奎斯特第一准则 (10) 一、实验目的 (10) 二、实验要求 (10) 三、实验原理 (10) 四、实验步骤和结果 (10) 五、实验总结和讨论 (19) 实验三:16QAM的调制与解调 (20) 一、实验目的 (20) 二、实验要求 (20) 三、实验原理 (20) 四、实验步骤和结果 (21) 五、实验总结和讨论 (33) 心得体会和实验建议 (34)

实验一:抽样定理 一、 实验目的 1. 掌握抽样定理。 2. 通过时域频域波形分析系统性能。 二、 实验要求 改变抽样速率观察信号波形的变化。 三、 实验原理 一个频率限制在0f 的时间连续信号()m t ,如果以0 12S T f 的间隔进行等间隔均匀抽样,则()m t 将被所得到的抽样值完全还原确定。 四、 实验步骤和结果 1. 按照图1.4.1所示连接电路,其中三个信号源设置频率值分别为10Hz 、15Hz 、20Hz ,如图1.4.2所示。 图1.4.1 连接框图

图1.4.2 信号源设置,其余两个频率值设置分别为15和20 2.由于三个信号源最高频率为20Hz,根据奈奎斯特抽样定理,最低抽样频率应 为40Hz,才能恢复出原信号,所以设置抽样脉冲为40Hz,如图1.4.3。 图1.4.3 抽样脉冲设置 3.之后设置低通滤波器,设置数字低通滤波器为巴特沃斯滤波器(其他类型的 低通滤波器也可以,影响不大),截止频率设置为信号源最高频率值20Hz,如图1.4.4。

计算机网络课程设计实验报告

校园网的组建与应用 摘要: 本文针对实验室的设备环境,对校园网的组网方式进行了研究和模拟,并最终提出了一套完整的校园网组网方案。 实验中我们对路由器、交换机等组网基础设备进行了认真的研究。关于路由器,我们实现了本地基本配置,并分别使用路由器的串口和以太网口实现了不同网段的网络互联,对路由器静态及动态路由机制进行了探究。关于交换机,我们实现了VLAN的划分以及不同VLAN间的相互通信,对广播风暴现象的产生原理及解决方案进行了特定的实验。综合两者的功能,我们对多种网络拓扑结构进行了分析,讨论和改进。最后通过实验和模拟提出了一套完整的校园网组建方案。 在此方案中,我们在实现了网络互通的情况下,我们进行了IP地址的划分,IP地址利用DHCP进行自动分配。并根据模拟实际,对不同的主机进行VLAN划分,同时保证不同VLAN间的相互访问与特定VLAN的保护与单向访问。同时构建内部防火墙保证校园网与外部的安全访问。构建了完整可靠的网络之后,依据校园网的功能和服务需求,我们搭建了FTP服务器,用于提供基础的网络服务。 限于实验室条件的限制,我们的方案并不是完全能够适用于现实的。但是,通过实验使我们对校园网乃至更大的网络有了更加深刻的了解。

目录

一、前言 随着信息的调整膨胀,全球信息已经进入以计算机网络为核心的时代。作为科技先导的教育行业,计算机校园网已是教育进行科研和现代化管理的重要手段。近几年、校园网已经取得很大的发展,中国教育科研网投入运营,全国多所高校校园网络开通联网。 随着学校教育手段的现代化,很多学校已经逐渐开始将学校的管理和教学过程向电子化方向发展,校园网的有无以及水平的高低也将成为评价学校及学生选择学校的新的标准之一,此时,校园网上的应用系统就显得尤为重要。一方面,学生可以通过它在促进学习的同时掌握丰富的计算机及网络信息知识,毫无疑问,这是学生综合素质中极为重要的一部分;另一方面,基于先进的网络平台和其上的应用系统,将极大的促进学校教育的现代化进程,实现高水平的教学和管理。 学校目前正加紧对信息化教育的规划和建设。开展的校园网络建设,旨在推动学校信息化建设,其最终建设目标是将建设成为一个借助信息化教育和管理手段的高水平的智能化、数字化的教学园区网络,最终完成统一软件资源平台的构建,实现统一网络管理、统一软件资源系统,并保证将来可扩展骨干网络节点互联带宽为10G,为用户提供高速接入网络,并实现网络远程教学、在线服务、教育资源共享等各种应用;利用现代信息技术从事管理、教学和科学研究等工作。最终达到在网络方面,更好的对众多网络使用及数据资源的安全控制,同时具有高性能,高效率,不间断的服务,方便的对网络中所有设备和应用进行有效的时事控制和管理。 二、综述 2.1 概述 从物理意义上来说,校园网就是一种局域网。校园网是各类型网络中一大分支,有着非常广泛的应用及代表性。作为新技术的发祥地,学校、尤其是高等院校,和网络的关系是密不可分的。作为“高新技术孵化器”的高校,是知识、人才的高地,资源十分丰富,比其他行业更渴求网络新技术、网络新应用,

北邮微波实验报告整理版

北京邮电大学信息与通信工程学院 微波实验报告 班级: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.同理设计双枝节匹配网络,重复上面的步骤。

北邮电路综合实验报告——串行口数据传输的仿真及硬件实现

北京邮电大学 信息与通信工程学院 电路综合实验报告 串行口数据传输的仿真及硬件实现 姓名: 学号: 班内序号: 班级: 指导老师: 日期:2014年10月10日

摘要: 本实验模拟了现代数字逻辑电路中的数据传输过程。使用连续的代表0、1的高低电平作为数字信号,将该数字信号从输出端发送到接收端,并分别用串行、并行两种方式进行锁存,检测。本实验模拟了序列信号的发生装置、串并转换装置、串行并行两种方式的检测装置、锁存输出和控制电路,实现了一个简单的串行口数据传输模型。在此试验中,通过对常见芯片的组合实现功能,将一串由0、1组成的数字信号进行传输、转换、检测,使之显示在数码管上成为可读信息。并且,还实现了对此电路显示的控制,使数码管在满足条件的情况下才点亮。在实验中,还使用了Qua rtusⅡ对设计的电路进行了仿真模拟。 关键字: 数据传输、串并转换、数据检测、QuartusII Abstract: This experiment simulated data transfer in modern digital logic circuit. Digital signal was transferred from the output terminal to the receiving end, which was consisted of

continuous high or low level represent 0 and 1 as digital signal, and latch, test it through serial or parallel mode. Our experiment simulated the producing equipment of sequence signal, the signal conversion module, testing module of serial and parallel mode, latch output and control circuit. It implements a simple serial port data communication model. In the experiment, we use the combination of simple chips to realize the function that transport, transfer and test a sequence of the digital signal consisting of 0 and 1, and display it on LED Segment Displays. In addition, we realize the control of display. The LED Segment Displays works only in specific conditions. We also conduct simulations on QuartusⅡ. Keywords: Data transmission, String conversion, Data detection, Quartus II 目录 一、实验目的 (4)

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

北京邮电大学 数字电路与逻辑设计实验 实验报告 实验名称: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)的图形模块

北邮《现代通信技术》实验报告一

现代通信技术实验报告 班级: 2012211110 学号: 2012210299 姓名:未可知

在学习现代通信技术实验课上,老师提到的一个词“通信人”警醒了我,尽管当初填报志愿时选择了通信工程最终也如愿以偿,进入大三,身边的同学忙着保研、考研、出国、找工作,似乎大家都为了分数在不懈奋斗。作为一个北邮通信工程的大三学生,我也不断地问自己想要学习的是什么,找寻真正感兴趣的是什么,通信这个行业如此之大,我到底适合什么。本学期,现代通信技术这本书让我了解到各种通信技术的发展和规划,也让我对“通信人”的工作有了更深刻的认识。 一、通信知识的储备 《现代通信技术》第一页指出,人与人之间通过听觉、视觉、嗅觉、触觉等感官,感知现实世界而获取信息,并通过通信来传递信息。所谓信息,是客观事物状态和运动特征的一种普遍形式,客观世界中大量地存在、产生和传递着以这些方式表示出来的各种各样的信息。信息的目的是用来“消除不可靠的因素”,它是物质运动规律总和。因此,我们通信人的任务就是利用有线、无线等形式来将信息从信源传递到信宿,在传输过程中保证通信的有效性和可靠性。 而具体来讲,要实现信息传递,通信网是必需的通信体系,其中通信网分层的结构形式需要不同的支撑技术,包括业务网技术,向用户提供电话、电报、数据、图像等各种电信业务的网络;介入与传送网技术,实现信息由一个点传递到另一个点或一些点的功能。对此,我们通信工程专业学习课程的安排让我们一步步打下基础,建立起知识储备。 知识树如下: 如知识树所述,通信工程课程体系可以大致分为一下6类基础:

数学基础:工科数学分析,线性代数,复变函数,概率论基础,随机过程; 电路基础:电路分析,模拟电子技术,数字逻辑电路,通信电子电路; 场与波基础:电磁场与电磁波,微波技术,射频与天线; 计算机应用能力:C 语言程序设计,微机原理与接口技术,计算机网络,数据结构,面向对象程序设计,实时嵌入式系统 信号处理类课程:信号与系统,信号处理,图像处理,DSP 原理及应用; 通信类课程:通信原理,现代通信技术,信息论基础,移动通信,光纤通信等。 从大一开始学习的工科数学分析,大学物理,大学计算机基础等课程为基础类课程,旨在培养我们的语言能力,数学基础,物理基础,计算机能力,然后逐步加大难度,细化课程,方向逐渐明朗详细。同时,课程中加入了各种实验,锻炼了我们的动手能力。 二、通信知识的小小应用 实验课上老师说过,以我们所学的知识已经可以制作简单通信的手机的草图了,我对此跃跃欲试。经过思考和调研,以下是我对于简单手机设计的原理框图和思考结果。 一部手机的结构包括接收机、发射机、中央控制模块、电源和人机界面部分,如下图 手机结构设计图 电路部分包括射频和逻辑音频电路部分,射频电路包括从天线到接收机的解调输出,与发射的I/O 调制到功率放大器输出的电路。其中,射频接收电路完成接收信号的滤波、信号放大、解调等功能;射频发射电路完成语音基带信号的调制、变频、功率放大等功能。要用到的超外差接收机、混频器、鉴相器等在《通信电子电路》书本中的知识。逻辑音频包括从接收解调到接收音频输出、送话器电路到发射I/O 调制器及逻辑电路部分的中央处理单元、数字语音处理及各种存储器电路。由核心控制模块CPU 、EEPROM 、 FLASH 、SRAM 等部分组成,一个基本 天线 接收机 发射机 频率合成 电源 逻 辑 音 频 人 机 交 互

北邮移动通信实验报告

信息与通信工程学院移动通信实验报告 班级: 姓名: 学号: 序号: 日期:

一、实验目的 1移动通信设备观察实验 1.1RNC设备观察实验 a) 了解机柜结构 b) 了解RNC机框结构及单板布局 c) 了解RNC各种类型以及连接方式 1.2基站设备硬件观察实验 a) 初步了解嵌入式通信设备组成 b) 认知大唐移动基站设备EMB5116的基本结构 c) 初步分析硬件功能设计 2网管操作实验 a) 了解OMC系统的基本功能和操作 b) 掌握OMT如何创建基站 二、实验设备 TD‐SCDMA移动通信设备一套(EMB5116基站+TDR3000+展示用板卡)、电脑。 三、实验内容 1TD-SCDMA系统认识 TD-SCDMA是英文Time Division-Synchronous Code Division Multiple Access(时分同步码分多址)的简称,TD-SDMA是由中国提出的第三代移动通信标准(简称3G),也是ITU批准的三个3G标准中的一个,以我国知识产权为主的、被国际上广泛接受和认可的无线通信国际标准。是我国电信史上重要的里程碑。 TD-SCDMA在频谱利用率、业务支持灵活性、频率灵活性及成本等方面有独特优势。TD-SCDMA由于采用时分双工,上行和下行信道特性基本一致,因此,基站根据接收信号估计上行和下行信道特性比较容易。TD-SCDMA使用智能天线技术有先天的优势,而智能天线技术的使用又引入了SDMA的优点,可以减少用户间干扰,从而提高频谱利用率。TD-SCDMA还具有TDMA的优点,可以灵活设置

上行和下行时隙的比例而调整上行和下行的数据速率的比例,特别适合因特网业务中上行数据少而下行数据多的场合。但是这种上行下行转换点的可变性给同频组网增加了一定的复杂性。TD-SCDMA是时分双工,不需要成对的频带。因此,和另外两种频分双工的3G标准相比,在频率资源的划分上更加灵活。 图1 3G网络架构 2硬件认知 2.1 RNC设备认知 TDR3000整套移动通信设备机框外形结构如图2所示。

北邮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)设计峰值半波整流电路,技术指标要求如下:

北邮通信原理实验报告

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

实验一:双边带抑制载波调幅(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φ是直流分量,可以通过隔直

数据结构 哈夫曼编码 实验报告

数据结构实验报告 实验名称:实验3——树(哈夫曼编/解码器) 学生姓名: 班级: 班内序号: 学号: 日期:2011年12月5日 1.实验要求 利用二叉树结构实现哈夫曼编/解码器。 基本要求: 1、初始化(Init):能够对输入的任意长度的字符串s进行统计,统计每个字符的频 度,并建立哈夫曼树 2、建立编码表(CreateTable):利用已经建好的哈夫曼树进行编码,并将每个字符的 编码输出。 3、编码(Encoding):根据编码表对输入的字符串进行编码,并将编码后的字符串输 出。 4、译码(Decoding):利用已经建好的哈夫曼树对编码后的字符串进行译码,并输出 译码结果。 5、打印(Print):以直观的方式打印哈夫曼树(选作) 计算输入的字符串编码前和编码后的长度,并进行分析,讨论哈夫曼编码的压缩效果。 并用I love data Structure, I love Computer。I will try my best to study data Structure.进行测试。 2. 程序分析 哈夫曼树结点的存储结构包括双亲域parent,左子树lchild,右子树rchild,还有字符word,权重weight,编码code 对用户输入的信息进行统计,将每个字符作为哈夫曼树的叶子结点。统计每个字符出现的次数作为叶子的权重,统计次数可以根据每个字符不同的ASCII码,根据叶子结点的权重建立一个哈夫曼树。 建立每个叶子的编码从根结点开始,规定通往左子树路径记为0,通往右子树路径记为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的改变会使振荡频率和振荡幅度同时发生变化。因此,一般用改变积分时间常数的方法进行频段的转换,用调节电位器滑动头 的位置来进行频段内的频率调节。

电子琴的实验报告

单片机课程设计 设计题目电子琴 指导老师:苏 参与实验者:moxiaoxiao 专业:统本电信0801 地点:3#楼北楼605 电子琴 一.设计目的: (1).培养综合运用知识的能力 (2).朋友查阅资料,使用工程设计标准及编写设计文档的能力. (3).掌握单片机应用系统的设计方法. (4).提高计算机绘图能力 二.设计任务: 利用DP51PROC实验系统上的定时器/计数器,按键和蜂鸣器单元。用单片机I/O 口线控制蜂鸣器发出不同的音调,程序检测按键状态,7个按键中某一键按下时,蜂鸣器对应标称音阶. 三.设计与调试环境 KEIL uVision2 是众多单片机应用开发软件中优秀的软件之一,它支持众多不同公司的MCS51 架构的芯片,它集编辑,编译,仿真等于一体,同时还支持,PLM ,汇编和 C 语言的程序设计,它的界面和常用的微软VC++的界面相似,界面友好,易学易用,在调试程序,软件仿真方面也有很强大的功能。 1:按下面的步骤建立一个项目: 图1-4 选取芯片 图1-5 新建程序文件 (1)点击图1-5 中的 3 保存新建的程序,也可以用菜单File-Save 或快捷键Ctrl+S 进行保存。因是新文件所以保存时会弹出类似图1-3 的文件操作窗口,我们把第一个程序命名为,保存在项目所在的目录中,这时程序单词有了不同的颜色,说明KEIL 的 C 语法检查生效了。如图1-6 鼠标在屏幕左边的Source Group1 文件夹图标上右击弹出菜单,在这里可以做项目中增加减少文件等操作。我们选“Add File t o Group ‘SourceGroup 1’”弹出文件窗口,选择刚刚保存的文件,按ADD 按钮,关闭文件窗,程序文件已加到项目中了。这时在Source Group1 文件夹图标左边出现了一个小+号说明,文件组中有了文件,点击它可以展开查看。 图1-6 把文件加入到项目文件组中 编译程序 (2)进入调试模式,软件窗口样式大致如图1-8 所示。图中1 为运行,当程序处于停止状态时才有效,2 为停止,程序处于运行状态时才有效。3 是复位,模拟芯片的复位,程序回到最开头处执行。按

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

电子电路综合设计实验报告 实验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 方波-三角波产生电路

北邮程序设计实验报告

程序设计实践 设 计 报 告 课题名称:邮件客户端学生姓名: 班级: 2 班内序号:16 学号: 2 日期:2014.6.4

1.课题概述 1.1课题目标和主要内容 本课题主要通过MFC的方式,利用SOCKET以及SMTP相关知识,来实现邮件(可携带附件)的定向发送,借此来复习和巩固C++编程的基本思想;学习SOCKET以及SMTP的相关知识,了解复杂网络应用程序的设计方法,并独立完成一个网络应用。 1.2系统的主要功能 1.邮件的发送(不携带附件) 2.邮件的发送(携带附件) 3.邮件接收 2. 系统设计 2.1 系统总体框架 程序的功能由MyEmailClientDlg.cpp,SMTP.cpp,MailMessage.cpp,Base64.cpp, MIMECode.cpp,MIMEContentAgent.cpp,MIMEMessage.cpp,AppOctetStream.cpp, MyEmailClient.cpp,StdAfx.cpp,TextPlain.cpp来实现。其中MIMECode.cpp, MIMEContentAgent.cpp,MIMEMessage.cpp, AppOctetStream.cpp, TextPlain.cpp来对MIME 协议进行封装,Base64.cpp来对Base64编码进行封装,SMTP.cpp是对SMTP协议进行封装,MailMessage.cpp是利用MIME协议对邮件内容的一个处理,最终通过MyEmailClientDlg.cpp 来实现邮件的发送的功能。 2.2 系统详细设计 [1] 模块划分图及描述 协议模块:包括网络应用程序中的各种协议,包括STMP协议,MIME协议等。 处理模块:主要实现对数据的进行编码以及解码。 实现模块:主要内容为邮件发送的具体步骤,相关按钮操作。 [2] 类关系图及描述 协议类:CSMTP, CTEXTPlai, CMIMECode,C MIMEContentAgent,C MIMEMessage, CAppOctetStream, CTextPlain.主要为协议中信息处理的中作用 编码类:Base64, MailMessage.主要为对邮件信息的处理

相关主题
文本预览
相关文档 最新文档