您好,欢迎访问三七文档
当前位置:首页 > 机械/制造/汽车 > 汽车理论 > 基于MATLAB的数字电路建模与仿真
第1期霍加·托和塔森:基于MATLAB的数字电路建模与仿真1基于MATLAB的数字电路建模与仿真霍加·托和塔森()摘要:关键词:中图分类号:TP391.9文献标识码:A文章编号:1673—999X(2010)01—0049—041引言数字电路是计算机类、电子信息类等本科专业的一门实践性较强的专业基础课,学好该课程对后续专业课程的学习至关重要.而运用计算机仿真软件是一种新的途径,不需要实验设备及元器件,它可以用计算机软件来建模仿真,验证一个数字电路的正确性和有效性,也可以通过仿真来模拟数字电路中逻辑关系的工作过程,并能动态地显示结果.MATLAB是美国TheMathWorks公司开发的著名软件,是MatrixLaboratory(矩阵实验室)的缩写,是一种高效的工程计算语言,它将概念设计、算法开发、建模仿真、实时实现于一体.Simulink是MATLAB一个重要的分支产品,它是一个结合了框图界面和交互仿真能力的系统设计和仿真工具.Simulink模型采用方框图绘制来代替程序的编写,使系统编写具有可视化的功能,同时可以借助模拟示波器等虚拟设备直观显示仿真动态结果.Simulink已成为动态系统建模、仿真方面应用昀广泛的软件包之一[1].2数字电路的仿真方法和技巧数字电路由若干数字集成器件构成,根据逻辑功能的不同特点,可以把数字电路分为组合逻辑电路和时序逻辑电路两大类[2].以下针对组合逻辑电路教学中一位二进制加法器到八位二进制加法器电路的设计与实现过程,用Simulink进行建模仿真.2.1组合电路常用模块模块是建立Simulink模型的基本单元,用适当的方法把各种模块连接在一起就能够建立任何动态系统的模型[2,3].组合电路仿真常用的模块是LogicandBitOperations子库中的LogicalOperator模块,将其拖动到所建的untitled窗口中,然后鼠标左键双击该模块弹出BolockParameters/LogicalOperator对话框,按Operator栏后的黑三角来选择所需要门电路的标识符,如:AND、OR、NAND、NOR、XOR、NOT中的一个,之后按OK键确定.该模块中只有6种门电路,如图1所示.这些基本门电路可以组成各种各样的组合逻辑电路,如加法器、编码器、选择器、译码器等.图1Simulink库中的门电路模块图2中的Constant是输出常数模块,Display是显示输入数值的模块,In1是输入模块,Out1是输出常数模块,它们分别在Simulink库中sources2010年3月伊犁师范学院学报(自然科学版)Mar.2010第1期JournalofYiliNormalUniversity(NaturalScienceEdition)No.1收稿日期:2009-03-20作者简介:霍加·托和塔森(1958—),男(哈萨克族),伊犁师范学院计算机科学系副教授,主要研究方向:信息处理、计算机硬件课程教学研究.50伊犁师范学院学报(自然科学版)2010年和sinkis子库下.图2Simulink库中的常用输入输出模块以上模块都可以进行拷贝、粘贴、删除、移动、改变模块的大小、调整模块的方向、模块名的显示与否、修改模块名、改变模块名的位置等操作,模块功能的选择一般由改变模块参数来实现[2].2.2仿真实例在数字系统中,加法器是昀基本的运算单元,任何二进制算术运算,一般都是按一定规则通过基本的加法操作来实现的.全加器有三个输入端,二个输出端,其真值表如表1所示.表1全加器真值表AiBiCi-1SiCi0000000110010100110111010101011100111111Si=AiBiCi;Ci=Ai(BiCi-1)+BiCi-1其中Ai、Bi分别是被加数、加数,Ci是低位进位,Si为本位全加和,Ci-1为本位向高位的进位.根据表达式画出的全加器逻辑原理图如图3所示.图3全加器逻辑原理图2.3建模方法利用Simulink建立数字电路系统仿真模型,关键是对Simulink提供的功能模块(以上图1和图2所示)进行组建,即用适当的方式将各种模块连接在一起[2].具体操作时应注意以下两点:(1)在建模之前,应对模块和信号线有一个整体、清晰和仔细的安排,以便减少建模时间;(2)及时对模块和信号线命名,及时对模型加标注,以增强模型的可读性.2.3.1建模的基本步骤为:第一步建立模块窗口,然后根据原理图添加所需要的模块并放好位置;第二步设置模块的参数并修改模块名;第三步连线及仿真运行.连线方法:移动鼠标到输出端,鼠标的箭头会变成十字形光标,这时点住鼠标左键,移动鼠标到另一个模块的输入端,当十字光标出现“重影”时,释放鼠标左键就完成了连接.如果两个模块不在同一水平线上,连线是一条折线,要用斜线表示,需要在连接时按住Shift键来实现[2,3].根据逻辑原理图3搭建的全加器仿真模型见图4.根据真值表设置Ai,Bi,Ci-1的值,运行后观察Display显示的Si和Ci的值跟真值表是否一致,仿真结果验证电路如图4所示,说明搭建的仿真电路是可行、正确的.现可以把仿真模型电路创建成自定义模块,封装前把图4的输入模块Constant换成In1模块,输出display换成Out1模块,然后就可以封装.首先使用范围框将要压缩成子系统的部分选中,包括模块和信号线,然后按EDIT菜单下的CreateSubSystem命令,或Ctrl+G快捷键来实现.创建自定义模块的好处是可以简化图形,减少功能模块的个数,另外也可以建立自己的模块库,为以后搭建数字仿真电路提供方便,全加器仿真后的模型、封装后的子模型、封装后的模块见图5、图6、图7.图4全加器仿真结果验证图第1期霍加·托和塔森:基于MATLAB的数字电路建模与仿真51图5全加器仿真模型图6封装后的子模型图7封装后的模块2.3.2利用Simulink库中的Constant模块、Display模块、Mux模块以及自建的add模块搭建成图8所示的四位二进制加法器模型,该模型需要9个Constant模块,其中A3~A0表示4位被加数A(其值设为0011),B3~B0表示4位加数B(其值设为1000),C表示进位输入(其值设为0).在Mux模块Simulink节点下的SignalRouting模块库中,将昀后的结果一起送到Display模块进行显示.需要显示的数字有4位数字和的值,以及和的首位进位的值,共需要5位数字,因此,Mux模块中的Numberofinputs的参数值应设为5.图8四位二进制加法器仿真模型模块参数设置完之后,用信号线将所有模块连接起来得到如图8所示的4位二进制加法器仿真模型.从图可以看出,A+B=1011,其中昀高位(第5位)代表进位位.根据模型的仿真结果验证创建的模型电路是正确的,将该仿真电路封装成4位二进制自建模快,方法同上,实现的模型图和模块图如图9所示.2.3.3用2个自建的4Badd模块、17个Constant模块、1个Display和1个Mux等模块可以搭接成图10所示的八位加法器模型.从仿真电路图可以看出,A是加数(现设置为A7~A0=01001001);B是被加数(现设置为B7~B0=01101010);C0是昀低进位位(现设置为0),Display的昀高位即第9位是高位进位位,本结果中没有高位进位Ci=0,A+B=10001010,因此,电路设计是可行而正确的.图9四位二进制加法器自建模块52伊犁师范学院学报(自然科学版)2010年图10八位二进制加法器仿真模型与结果显示3结束语仿真的基本思想是利用物理或数学的模型来模仿现实过程,通过以上的仿真和分析可以看出,应用MATLAB/Simulink进行数字电路仿真简单可行,教师可以把大部分精力集中在基本理论、基本电路和设计方法的讲解上,不仅讲授方便,而且形象生动,学生学习起来也比较轻松,便于接受[4].教师在教学过程中,还可以引导学生仿真课程中所要讲述的内容,从而更好地调动学生学习的积极性和主动性.在数字电路课程教学中引入MATLAB,不但丰富了教学的方法和手段,而且有效地提高了学生的学习兴趣,从而大大地提高了教学质量.另外,在电子技术中应用计算机仿真技术是一个有益的探索,让学生掌握一些计算机仿真技术,对他们以后的学习和提高创新能力也会有很大的帮助.数字电路的验证和调试是一件繁琐的工作,既费时费力又需要一些昂贵的仪器,如能较好地采用MATLAB附带的仿真工具Simulink进行数字电路设计、调试、仿真、验证,既可以使教师讲解更生动,也可使学生形象直观地看到电路仿真过程和运行结果,更容易被学生理解,而且能省时、省力,大大提高教学质量.参考文献:[1]DanielD.Gajsk.数字设计原理[M].北京:清华大学出版社,2004.133-160.[2]求是科技MATLAB7.0从入门到精通[M].北京:人民邮电出版社,2006.248-299.[3]张亮,王宝顺.MATLAB7.x系统建模与仿真[M].北京:人民邮电出版社,2006.97-109.[4]张猛,王晓峰.MATLAB环境下的数字电路仿真[J].长春大学学报,2005(2).[责任编辑:李广伟]DigitalCircuitModelingandSimulationBasedonMATLABHuojiaTuohetasen(DepartmentofComputerScience,YiliNormalUniversity,Yining,Xinjiang835000)Abstract:Somemethodsandskillsofemulationtool—simulinkwithMATLABindigitalcircuitapplicationsarepresentedinthearticle.Somedetailedemulationmethodsandinstancesaregiventoo.Asimpleandfeasiblemethodisprovidedfordesign,verificationanddebuggingofcompositelogiccircuitinteaching.Keywords:digitalcircuit;MATALAB;modeling;emulation
本文标题:基于MATLAB的数字电路建模与仿真
链接地址:https://www.777doc.com/doc-4777088 .html