APP下载

Matlab在数字电路与逻辑设计课堂教学中的应用

2017-04-10张成

课程教育研究·新教师教学 2016年10期
关键词:数字电路

张成

摘要:针对传统数字电子技术中课堂教学内容较为枯燥,学生们感性认识较差等问题,通过Matlab/Simulink仿真工具提供的基本数字模块和自定义的数字模块,实现对基本时序逻辑单元——同步RS触发器的仿真,从而很方便地验证同步RS触发器电路设计的正确性,令学生更直观地实现数字时序电路的分析、調试与仿真,为提高学生的实际操作能力打下基础。

关键词:数字电路,Matlab/Simulink仿真,同步RS触发器

中图分类号:TN702 文献标识码:B

1. 引言

数字电路与逻辑设计课程[1]是工科电子信息类与电气工程类专业的专业基础课,对学习后续相关专业课起着不可替代的作用。该门课程的教学一般包含理论教学、实验教学和课程设计等教学环节。通常情况下,完成一定内容的理论教学后,再安排相关实验课程,在实验板上搭建具体的硬件电路或专用的数字电路实验仪器进行测试、修改和完善。但是,这些方法往往面临连线多、易于出现错误或需要反复调试,难以排查错误等问题,这种教学方式会导致学生对所学内容的感性认知较差,从而较低对课堂理论教学的积极性。因此,引入虚拟仿真软件势在必行。

Matlab[2]集算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括Matlab和Simulink[3]两大部分,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等诸多领域。

针对目前课堂教学的问题,采用Matlab/ Simulink仿真工具进行数字电路的调试、仿真与验证,可以有效避免传统方法的容易出现的各种缺点,同时还能在省时、省力的条件下使课堂的讲解更加生动,更易被学生理解。因此,本文通过同步RS触发器为例介绍Matlab软件实现数字电路仿真的方法。

2. 电路设计与仿真

数字电路按照功能划分,可以分为组合逻辑电路和时序逻辑电路。二者之间最重要的区别是时序电路中通常还需要对数据进行存储,这一功能通常是由触发器来实现的。触发器是时序逻辑电路的基本逻辑部件,它有两个稳定的逻辑状态,即状态0和状态1。根据输入端信号的不同,触发器可具有置0、置1、状态保持等功能。当输入信号消失后,触发器的状态能够保持不变。因此,触发器具有实现1位二值信号的记忆的功能。

触发器可以按照逻辑功能的不同,分为同步RS触发器、JK触发器、D触发器和T触发器等。其中同步RS触发器是学习其它触发器的基础,因此,下面将介绍如何用Matlab/Simulink仿真工具实现同步RS触发器的相关功能。

2.1 基本原理

由与非门组成的同步RS触发器的电路图如图1所示,其真值表如表1所示。

其中, 是约束条件,表示 和 不能同时为0。

2.2 仿真实现

由于同步RS触发器的功能和组合逻辑电路的学习相比差异较大,不易于学生的理解,因此,在课堂学习的过程中通过Simulink软件模拟同步RS触发器,从而强化学生对同步RS触发器功能的理解。同步RS触发器的仿真步骤如下:

首先,添加模块。在Matlab软件中运行Simulink模块,再打开模块浏览器,再采用Simulink模块库中的标准模块来构建同步RS触发器模型。鉴于激活模块需要放到Subsystem中的设计区域中,因此先将Connections模块库中的Subsystem功能模块复制到设计区域内,再进入Subsystem的设计区域进行设计。

具体而言,通过4个与非逻辑(NAND模块)组成。同时,还需要在反馈的位置加上两个加法器产生初始值。从而避免产生代数环的错误。另外,还在同步RS触发器的前端添加一个功能激活(enable)模块,使其成为具有时能端的同步RS触发器。

选用Simulink中的logical operator模块和pulse generator模块,并设置各个模块的参数,再将不同的模块通过信号线连接起来,建立同步RS触发器的Simulink仿真模型,其内部结构如图2所示。

输入端R和S接Constant模块,enable接pulse generator,输出数据被导入到Matlab的workspace空间,然后方便调用Matlab的函数显示相应的结果,时序仿真结果如图3所示。

在图3中,其中‘R input和‘S input分别表示R和S端的信号输入。‘enable表示时钟脉冲,‘Q output和‘Q-inverse output分别表示输出信号 和 。

3. 结束语

综上所述,随着电子技术的高速发展,数字电路的形式日趋复杂化,仅依靠传统的课堂教学模式已经逐渐不能满足新技术人才的发展要求。故应利用多种新技术和传统的课堂教学方式相结合,本文采用Matlab/Simulink软件进行仿真:一方面可以弥补课堂教学的不足,加深学生对课堂所讲的概念与工作原理等理论知识的理解;另一方面,也可以克服通过电路元件搭建实验电路带来的不便,如实验室元器件品种、规模、数量的不足,仪器的陈旧老化,实验板电路的单调等问题,电路出现故障后难以调试等问题,不利于学生的创新设计。因此,利用Matlab/Simulink软件进行仿真在日常数字电路与逻辑设计课堂教学中发挥着越来越重要的作用。

参考文献

[1] 王毓银,沈明山. 数字电路逻辑设计[M]. 高等教育出版社, 2006.

[2] 张德丰,丁伟雄,雷晓平. MATLAB 程序设计与综合应用[M]. 清华大学出版社, 2012.

[3] 钟麟,王峰. MATLAB 仿真技术与应用教程[M]. 国防工业出版社, 2004.

[4] 朱莉. Matlab 环境下的数字电路建模和仿真[J]. 电脑知识与技术, 2011, 7(30):7496-7497.

猜你喜欢

数字电路
疫情期间EWB在数字电路中的应用
探究数字电路设计中的抗干扰问题
数字电路在线故障检测技术研究
数字电路课程的翻转课堂教学及调研
数字电路的翻转课堂教学
数字电路教学中如何培养学生的创新能力
微课在高职院校《数字电路》教学中的应用探究
微课在《数字电路》项目化课程中的设计探索
基于数字逻辑电路实现的闪光灯控制板
EDA技术与数电课程教学结合的探讨