资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,基于,MATLAB的数字电路建模与仿真,MATLAB是美国The MathWorks公司开发的著名软件,原意是MatrixLaboratory(矩阵实验室)的缩写,是一种高效的工程计算机语言。它将概念设计,算法开发,建模仿真,实时实现于一体易于使用和集成环境。Simulink是MALAB的一个重要的分支产品。它是一个结合了框图界面和交互仿真能力的系统设计和仿真工具。Simulink模型采用方框图绘制来代替程序的编写,使系统编写具有可视化的功能,同事可以借助模拟示波器等虚拟设备直观的显示仿真动态结果。Simulink已成为动态系统建模,仿真方面应用最广泛的软件包之一。,1,数字电路的仿真方法和技巧,数字电路由若干个数字集成器件构造而成。根据逻辑功能不同特点,可以把数字电路分成组合逻辑和时序逻辑电路两大类。以下针对组合逻辑电路教学中,一位二进制加法器,到八位二进制加法器电路的设计和实现过程,simulink进行建模仿真。,2,组合电路常用模块,模块是建立Simulink模型的基本单元。用适当的方法把各种模块连接在一起就能够建立任何动态系统的模型。组合电路仿真常用模块在于Logic and Bit Operations字库中的Logic Operator模块。将其拖动到所建的untitled窗口中然后鼠标双击该模块弹出的Bolock Parameters: Logical Operator对话框,按Operator:栏后的黑三角来选择你所需要门电路的标识符,如:AND、OR、NAND、NOR、XOR、NOT中的一个之后按OK键确定。该模块中只有6种门电路,如图1所示。这些基本门电路来可以组成各种各样的组合逻辑电路如加法器、编码器、选择器、译码器等等。,3,在图2中的Constant是输出常数模块、Display是显示输入数值的模块、In1是输入模块,Out1是输出常数模块,它们分别在于Simulink库中sources和sinkis子库下。,4,仿真时例,在数字系统中,加法器是最基本的运算单元。任何二进制算术运算,一般都是按一定规则通过基本的加法操作来实现。全加器有三个输入端,二个输出端,其真值表如表-1所示。其中Ai、Bi分别是被加数、加数,Ci是低位进位,Si为本位全加和,Ci-1为本位向高位的进位。,由真值表可分别写出输出端Si和Ci的,逻辑表达式并化简得到以下表达式1。,根据表达式画出的全加器逻辑,电,路,如图3所示。,5,利用Simulink建立数字电路系统仿真模型,关键是对Simulink提供的功能模块(以上图1和图2所示)进行组建,即用适当的方式将各种模块连接在一起2。具体的操作时应注意以下两点: 在建模之前,应对模块和信号线有一个整体、清晰和仔细的安排,以便能减少建模时间; 及时对模块和信号线命名、及时对模型加标注,以增强模型的可读性。,6,建模的基本步骤为:第一步建立模块窗口然后根据原理图添加所需要的模块并放好位置,第二步设置模块的参数并修改模块名,第三步连线及仿真运行,连线方法是在移动鼠标到输出端,鼠标的箭头会变成十字形光标,这是点住鼠标左键,移动鼠标到另一个模块的输入端,当十字光标出现“重影”时,释放鼠标左键就完成了连接。如果两个模块不在同一水平线上,连线是一条折线。要用斜线表示,需要在连接时按住Shift键来实现,Ci,7,创建四位二进制加法器模型,根据需要,Simulink库中的Constant模块、Display模块、Mux模块、以及自建的add模块搭建成,图8所示四位二进制加法器模型。该模型需要9个Constant模块,其中命名为A3A0表示4位被加数A,假设其值设置为0011,命名为B3B0表示4位加数B,假设其值为1000,C表示进位输入假设为0。Mux模块,在Simulink节点下的Signal Routing模块库4中,他的主要目的是将最后的结果一起送到Display模块进行显示。需要显示的数字有:和的4位数字的值,以及和的首位进位的值,共需要5位数字,因此Mux模块中的Numberofinputs的参数值应设置为5。,模块参数设置好之后,用信号线将所有模块连接起来,将得到如图8所示的4位二进制加法器仿真模型。结果分析:从图中可以看出A=0011,B=1000,A+B=1011其中最高位(第5位)代表进位位。根据模型的仿真结果验证创建的模型电路是正确的。将该仿真电路封装成4位二进制自建模快,方法同上实现的模型图和模块图如图9所示。,8,
展开阅读全文