Matlab/Simulink在“数字电路”中的应用

2018-04-27 12:27
无线互联科技 2018年8期
关键词:数字电路触发器示波器

何 松

(常州工学院 计算机信息工程学院,江苏 常州 213032)

Matlab是由美国The MathWorks公司开发的软件,是MatrixLaboratory(矩阵实验室)的缩写,一种高效的工程计算机语言。它集概念设计、算法开发、建模仿真、实时实现于一体,方便使用且适于集成环境。Matlab的一个重要的分支产品是Simulink,它结合了框图界面和交互仿真能力,是一种系统设计和仿真的工具。Simulink模型是用绘制方框图代替程序编写,使得系统编写具有了可视化的功能,同时也可借助模拟示波器等虚拟设备更加直观地显示仿真动态结果。Simulink也是目前动态系统建模、仿真等方面应用最为广泛的软件之一[1]。

“数字电路”课程是信息、电子类专业的一门专业基础课。数字电路由若干个数字集成器件构造而成。按照逻辑功能不同特点,可以分成组合逻辑、时序逻辑两大类电路。传统的课程实验中,大多采用实验箱,让学生搭建实验电路,操作简单。随着信息技术的发展,除了关注学生的动手操作能力,更加强调知识体系的分析和应用能力。如果能够较好地利用Matlab/Simulink方针技术,将可以使教师的讲解更加生动,学生也可以更加直观地看到电路运行时的波形变化,更加容易被学生理解,从而提高学习效率[2]。

1 仿真实例

本文以并行寄存器为例。设计中使用基本RS触发器设计一个2位并行寄存器。并行寄存器就是能够同时存储几个数据源数据的寄存器。Simulink中提供了基本RS触发器模块。首先在Matlab中运行Simulink,然后新建一个模型,将RS触发器的模块添加到模型中,通过在这个模块上右击鼠标,单击弹出菜单中的“Look Under Mask”(查看下封装下的电路)命令,可以看到这个模块内部电路。基本RS触发器模块及其内部电路如图1所示。

图1 基本RS触发器模块及内部电路

1.1 设计原理

触发器(Flip Flop)是一种可以存储电路状态的电子元件。最简单的是由两个或非门,两个输入端和两个输出端组成的RS触发器,逻辑符号如图2所示,状态转换如图3所示。

图2 RS触发器逻辑符号

图3 RS触发器状态转换

RS触发器的真值表如表1所示。

表1 RS触发器真值表

复杂一些的有带时钟(CLK)端和D(Data)端,当CLK端是高电平时跟随D端状态,当CLK端变为低电平的瞬间锁存信号。更常用的是两个简单D触发器相级联,在时钟下跳沿锁存信号的边缘D触发器,广泛应用于计数器、运算器、存储器等电子器件。

1.2 设计思路

设计一个两位并行寄存器需要2个基本RS触发器,而且这个寄存器要在同一个激励下,从输入端读入数据,存储一段时间后,在下个周期将信号输出,同时读入新的信号。这就需要将时钟源信号作为输入信号的控制端,由于输入信号R和S不能同时为1,所以通过一个非门将它们联系起来,迫使两个端口信号不同时为高电平[3-4]。

1.3 模块参数设置

用基本RS触发器构造并行寄存器,需要5个模块:RS触发器、时钟源、脉冲源、逻辑运算模块、示波器。搭建模型后,需要修改模块参数。RS触发器模块只有一个参数即触发器的初始状态,也就是Q端的初始值,默认值为0。时钟源模块的参数时钟周期,采用默认值2。4个逻辑运算模块均设置为2输入与非门。将脉冲源模块的Pulse Type选择Sample based,其他参数设置如表2所示。示波器输入端口改为5个,完成参数设计部分[5]。

表2 并行寄存器脉冲源参数设置

1.4 仿真结果

将各模块摆放合适,完成连线,仿真图如图4所示。仿真时间默认为10 s,开始仿真,通过示波器观察到输出波形,如图5所示。

图4 2位并行寄存器电路

图5 示波器输出结果

从波形上可以看出,当时钟源处于低电平时,触发器输出保持在时钟跳变前的数值,对于D1和D0输入的变化没有改变,而当时钟源处于高电平时,输入的信号全部送入输出端,这是一个不稳定的因素,也是电平触发的触发器的一个缺点。并且两个触发器完全独立工作,互不影响,这就是并行的特点。

2 结语

虽然Mat lab软件中还没有提供用于数字电路仿真的专用工具箱,但提供一些常用的模块,可以使用已有的模块,自行构建所需模块,组成一个小型的虚拟实验箱,来满足基本的教学需要,同时可以作为学生的课外学习或实验使用。

在未来的教学中,可以考虑将Matlab/Simulink和GUI部件相结合,对数字电路进行仿真运行,为数字电路教学提供另外一种很好的方法。GUI用户界面的融合,提高了仿真的效率,操作非常简便,使用者不需要掌握计算机语言,一切操作都可以在鼠标的点击和拖动下完成,而且具有可开发性。它为数字电路的实验教学提供了一种新的方式,也为数字电路的理论教学提供了一种辅助教学手段。

[参考文献]

[1]唐竞新.数字电子电路[M].北京:清华大学出版社,2003.

[2]潘晓明.基于Matlab数字电路建模与仿真[J].柳州师专学报,2007(4):128-129.

[3]张森,张正亮.Matlab仿真技术与实例教程[M].北京:机械工业出版社,2004.

[4]刘磊.Matlab在“数字电路”课程教学中的应用[J].电气电子教学学报,2008(5):79-81.

[5]陈怀琛.Matlab及在电子信息课程中的应用[M].北京:电子工业出版社,2003.

猜你喜欢
数字电路触发器示波器
基于数字电路的定时器的设计
MATLAB在数字电路教学中的应用
基于数字电路的密码锁设计与实现
一款教学示波器的Y通道设计与实现
主从JK触发器逻辑功能分析
数字电路实验的设计分析
可携带式虚拟双踪示波器
使用触发器,强化安全性
对触发器逻辑功能转换的分析
触发器逻辑功能转换的两种方法