数字电路24译码器设计.docx
《数字电路24译码器设计.docx》由会员分享,可在线阅读,更多相关《数字电路24译码器设计.docx(10页珍藏版)》请在冰豆网上搜索。
数字电路24译码器设计
1绪论
1.1设计背景
在数字系统中,经常需要将一中代码转换为另一种代码,以满足特定的需求,完成这种功能的电路称为码转化电路。
译码器就属于其中一种。
而译码就是编码的逆过程,它的功能是将具有特定含义的二进制码转换成对应的有效输出信号,具有译码功能的的逻辑电路称为译码器。
而2-4译码器是唯一地址译码器,是将一系列的代码转换成与之一一对应有效的信号。
常用于计算机中对存储单元地址的译码,因此,设计2-4译码器具有很强的现实意义。
1.2matlab简介
MATLAB是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。
它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。
它主要由
MATLAB和Simulink两大部分组成。
本设计主要采用simulink进行设计与仿真。
Simulink是MATLAB最重要的组件之一,它提供一个动态系统建模、仿真和综合分析的集成环境。
在该环境中,无需大量书写程序,而只需要通过简单直观的鼠标操作,就可构造出复杂的系统。
Simulink具有适应面广、结构和流程清晰及仿真精细、贴近实际、效率高、灵活等优点,并基于以上优点Simulink已被广泛应用于控制理论和数字信号处理的复杂仿真和设计。
同时有大量的第三方软件和硬件可应用于或被要求应用于Simulink。
掌握这个软件的应用具有十分重要的意义。
2电路分析
2.12-4译码器功能分析
2-4译码器有2个输入端,4个输出端和一个使能端。
在使能端为有效电平时,对应每一组输入代码,只有其中一个输出端为有效电平,其余输出端则为相反电平。
输出信号可以是高电平有效,也可以是低电平有效。
具体来说,2输入变量,A1,A0共有4种不同状态组合,因而译码器有4个输出信号
0
3
并且输出为低电平有效,其真值表如表1所示
表12-4译码器真值表
输入
输出
A0A1
Y0
Y1
Y2
Y3
1
0
0
0
0
X
0
0
1
1
X
0
1
0
1
1
0
1
1
1
1
1
0
1
1
1
1
1
0
1
1
1
1
1
1
另外设置了使能控制器
,当其为1时,无论A1,A0为何种状态输出全为1,译码器处于非工作状态。
而当
为0时,对应的A1,A0的某种状态组合,其中只有一个输出为0,其余各输出量均为1.例如,A1A0=00,输出
0为0,
0
3均为1.由此可见,2-4译码器是通过输出端的逻辑电平以识别不同的代码。
而根据此,可写出其各输出端的逻辑表达式
0=
(1)
1=
(2)
2=
(3)
3=
(4)
2.22-4译码器逻辑图
由上面的分析可得2-4译码器的逻辑图
图22-4译码器逻辑图
3系统建模与仿真
3.1建模
在了解2-4译码器逻辑图与表达式后,可在simulink中建立模型并仿真。
首先对应电路的原理框图,利用框图在simulink的mdl文件里画出原理图,调整原理图里的每个模型的参数,使之符合所需的要求。
再进行连线,开始仿真,在scope和fftscope里面看波形是否符合预想标准。
2-4译码器的仿真模型如图3所示。
图32-4译码器仿真模型
如图3所示,constant表示
的值,为了使译码器能正常工作,将constant值设为1。
Pulsegenerator1与2是2输入端,表示A1,A0的电平显示,通过它们可以显示连续的脉冲,观察输出的波形。
通过设定00,01,10,11这四种情况,观察模型是否能正常工作。
再连线3个2输入与非门与4个三输入与非门。
最后的输出接scope,观察显示的波形。
3.2仿真波形
当使能端
为1时,仿真波形如图4所示
图4使能端
为高电平波形图
对应的输出波形如图5所示
图5对应使能端为高电平时输出波形
而当设定使能端为低电平,设定其2输入端的输入波形如下,含有11,01,10,00四种情况,如图6所示
图6输入端的输入波形
由Y0,Y1,Y2,Y3观察到的波形如图7所示
图7输出端的输出波形
4仿真结果分析
通过建立的模型,通过输入的波形可以检查模型是否符合预订设计要求,可以通过改变pulsegenerator的周期来实现不同的波形输入。
当使能端
=1时,如图4所示,由逻辑表达式分析可知,无论输入如何,对应的各输出Y0,Y1,Y2,Y3均为1。
对应的输出波形如图5所示,可以看出,对应的4个输出均为1,符合预期的要求。
当使能端
=0时,通过改变2个pulsegenerator的周期来控制A1,A0不同情况下的输入,如图6所示,周期性的输入为00,01,10,11,从而观察对应的输出波形。
由2-4译码器的逻辑表达式可求的在上述Y0,Y1,Y2,Y3输出情况下的输出顺序应为1110,1101,1011,0111,并作周期性变化。
与对应的输出波形图7相比较,完全符合上述要求,与预期结果相符的,模型完全正确,达到预期效果。
5小结与体会
MATLAB软件功能强大,本设计是运用MATLAB来设计2-4译码器电路,这只是它的一个简单的应用,MATLAB还在多方面有应用,如数学和计算算术发展模型;模拟仿真和原型;数据分析,开发和可视化;科学和工程图形;应用发展包括图形用户界面设计等方面。
由于时间问题,不能一一举例,只有自己在以后的学习中慢慢学习,自己探索,更好的掌握这款软件。
MATLAB语言是一种简单,高效,功能极强的高级语言,且具有强大的矩阵运算能力和极高的编程效率,这一方面使得MATLAB程序可以被高度向量化,另一方面使得程序易读易写。
MATLAB已变得非常普及。
通过这几天对MATLAB的学习,对其有了一个大致的认识并能简单的应用,解决一些简单的线性代数及电路问题,当然在今后的学习中,还会加强自己对这款软件的学习,应为这款软件应用太广,且自己对C语言会,而且有线性代数的基础,个人认为掌握MATLAB这款软件不是问题。
通过对MATLAB这款软件在以后的专业课学习中的应用很广泛,掌握好MATLAB,为以后的专业课学习将有很大的帮助。
通过基本设计电路介绍了如何应用MATLAB语言编程的方法来对电路进行分析和设计与仿真。
该方法不仅可以节约计算时间、方便地调试电路参数,而且还可以非常直观地观察和测量电路中的电压、电流和功率等物理量。
结论表明,MATLAB提供了高效简洁的编程方法,其强大而简易的绘图功能、矩阵和数组运算能力以及很强的扩充性,能充分满足基本电路分析、计算的需要,从而可以大大地提高计算精度和工作效率,在电路理论学科研究与工程实践中具有很好的应用价值。
参考文献
[1]X志勇,精通MATLAB6.5版。
航空航天大学,2003
[2]蒲俊,MATLAB6.0教学手册。
XX:
浦东电子,2002
[3]X志俭,MATLAB应用程序接口用户指南。
:
科学,2000
[4]飞思科技产品研发中心。
MATLAB7辅助控制系统设计与仿真。
:
电子工业,2005
[5]李国勇。
智能控制及其MATLAB实现。
:
电子工业,2005
[6]陈洪亮,王蔼.基本电路理论.XX科学技术文献.2002
[7]TheMathWorks.ParallelputingToolbox4.2,PerformParallelputationsonMulticoreputersandputerClusters[DB/OL].2006