1、 “元件”的电子电路CAI课件的构思与实现摘要:本文介绍了向用户提供元件库和电路编辑器,用户可构建并仿真运行任意电路,观察电路运作过程和原理,取得运行结果的电子电路CAI软件的设计思想与方法。实现该方法须采用计算机仿真技术。最后介绍了一个CAI课件实例。关键词:元件CAI计算机仿真电路识别数学模型Conception and Realization of Courseware Electronic Circuit CAIBased on “Component”Abstract: This article is an introduction of the conception and meth
2、od of designing electronic circuit CAI software, which provides users with component library and editor,and users can design and simulation any circuit, observe the process and theory of circuits and obtain the results of simulation. To realize this method, the technique of computer simulation is ne
3、eded. At the end of this article, a CAI courseware example is included.Key Words: ComponentCAI computer-simulation circuit-recognition mathematics-model在大力倡导全新教育观念、教学方法、教学内容及教学手段,全面推行素质教育的今天,作为代表先进教学方法及手段的CAI在现代教学中的重要地位和作用,已是不争的事实。近年来,在大家的共同努力下,越来越多的CAI课件被开发出来,并具体应用,收到了很好的教学效果。如何开发出真正质量高、实用性强、效果好的CA
4、I课件,不论是在设计理念上还是在技术实现方法上,仍是摆在我们面前的一个重要课题。本文就高校电子电路类课程(包括模拟电子线路、数字逻辑电路、电路分析、微机原理与应用等)的CAI软件的设计思想和实现方法等相关问题进行讨论。一、设计思想我们接触到的一些CAI课件存在的问题是:1. 课件仅能向用户提供数量有限且内容固定的电路,缺乏开放性和灵活性;2. 某些课件几乎就是某一特定教科书的简单翻版,未能充分发挥计算机的效能、缺乏资源共享性和生动性;3. 用户不能有效地参与,不能充分发挥学生的主观能动性、想象力和创造力,缺乏交互性。我们发现,电子电路类课程的共性是:课程主要内容是对电路的构成和工作原理进行分析
5、和介绍,而任何电路都是由电子元件按一定方式连接而成的。根据上述特点,基于“元件”的CAI软件的设计思想是:不仅向用户提供大量典型电路,而且向用户提供元件库,用户利用元件库及图形编辑器可随心所欲的构造任意电路,并作仿真运行演示,从而观察电路的工作原理及工作过程,突出培养学生的创新能力。从技术实现的角度看,这种程序设计思想要求采用计算机仿真技术。用上述设计思想开发的软件,不是以某一特定教材为蓝本的课件或电子教案,而是一个某课程普遍适用的基于教学的电路模拟与仿真软件。由于课件向用户提供了电路编辑手段,用户具有电路构造权,因此这种CAI软件实际上是一个集计算机辅助教学、辅助设计、辅助分析于一体的多功能
6、软件。具体地讲,这种基于“元件”的具有仿真功能的CAI课件有如下优点:1. 可仿真演示电路的工作原理和工作过程,观察电路的运作过程及每个元件状态的变化细节。2. 由于用户可编辑和构造电路,故软件可仿真演示学生感兴趣的任意电路。3. 软件能生动、形象、直观、准确地展现电路状态的变化过程,这种直观形象的仿真演示能取得包括做实验在内的其他手段几乎无法取得的效果。4. 能充分发挥学生的主观能动性和想象力、创造力。5. 验证电路功能,做虚拟实验。由于元件库中的每个“元件”都以其真实元件逻辑功能的数学模型加以描述,所以对电路的仿真结果和实际电路的结果是一致的。6. 可提高电路设计效率,缩短设计周期,并可避
7、免因元器件、电路板等质量问题而导致的得不到电路结果的非人为因素的影响。二、实现方法1. 功能模块的开发由于软件允许用户自行设计构造电路,并采用了计算机仿真技术,所以不可避免地涉及到了元件库模块、电路图编辑器模块、电路识别软件、电路仿真运行及环境支持模块等多个功能模块的开发。 元件库模块确定元件库的所有元件,并建立数学模型。数学模型是计算机仿真的基础和依据。例如在我们开发的数字逻辑电路CAI元件库中的JK触发器,我们已知其特征方程为:。如果现在用LastState表示Qn,用NewState表示Qn+1,则在VB6中可用一函数来表示JK触发器的逻辑功能(特征方程):Function NewSta
8、te(J As Boolean,K As Boolean,LastState As Boolean) As Boolean NewState=(J And (Not LastState) Or (Not K) And LastState)End Function 电路图编辑器模块 应向用户提供一个类似Protel中的Schedit电路原理图编辑器,编辑功能应丰富完善,使用户能够方便快捷地编辑电路图。 电路识别软件模块 该模块用于用户在电路编辑过程中或完成后,确定构成电路图的各元件间的相互连接关系。该模块的成功与否直接关系到电路仿真功能是否能实现,从而关系到整个软件的成败,所以该模块是整个软件的
9、核心内容之一,也是软件的技术难点所在。一个对元件结构模型科学合理的描述和元件登记方法是解决问题的前提和条件。我们在数字逻辑电路CAI中对元件结构有如下描述:Type ComponentRecComponentType As Byte 元件类别Direction As Byte元件放置方向PositionX As Byte在绘图区的X坐标值PositionY As Byte 在绘图区的Y坐标值 NextComponentPtr(20) As Integer 本元件的下级元件 PinsInfo As String*20 元件管脚信息Value As Byte 元件的值Text As String*
10、20 附属文字信息 End Type对用户在编辑环境中放置的元件用ComponentRec结构型数据的动态数组进行登记:Public Conponent() As ComponentRec 定义结构型动态数组 电路仿真运行及环境支持模块 在电路识别及参数配置完成后即可作仿真运行了。仿真运行的过程是从输入信号加到电路输入端开始,逐级向后推进直到输出端,整个过程完全模拟真实电路的工作情况,只是将电路的工作速度降低若干个数量级,方便用户观察分析。该模块还应提供仿真运行所必需的支持环境,如运行参数的设置、仿真速度、线型、色彩配置等。2. 软件的组织结构我们上面讨论了构成一个CAI软件的几大主要模块,然
11、而一个完整的程序还应具备一些相应的辅助功能。这些功能模块之间的相互关系如图所示。原理图编辑器磁盘文件参数配置及 数据处理模块电路识 别模块实例文件仿真演示模块数学模型元件库运行支持环境图软件的组织结构3. 电路的仿真运行过程 通过上述讨论,从图我们已经知道,用户所编辑构造的一个电路,需经过电路识别、参数配置和数据处理后才能作仿真运行。在仿真过程中,系统并不能事先确定某个元件或器件的下一个状态,而是根据该器件当时的输入信号和自身的逻辑功能(数学模型)在仿真过程中动态确定的。仍以数字逻辑电路CAI为例,仿真运行流程图如图所示。开始获取电路输入参数输入端仿真取得所连下级所有元件YY是输出端吗NN读取
12、元件输入端状态元件的原状态数学模型决定元件新状态输出端仿真根据元件新状态确定 下级连线的新状态输出真值表画真值表NY输出表达式画逻辑表达式画波形图输出波形图NYN仿真结束吗YN结束图数字逻辑电路CAI的仿真运行流程图我们知道,对于时序逻辑电路,电路(或元件)的次态是原态和输入的函数,如JK触发器,有:。由图可见,元件的新状态是由该元件的当前输入信号、描述该元件逻辑功能的数学模型和元件的原状态几者共同决定的。三、实例简介基于上述思想和方法,笔者结合多年教学经验,通过几年的努力,成功研制开发了数字逻辑电路CAI课件。该课件功能较强,内容丰富完善,使用方便灵活,具有很好的交互式人机界面,能充分体现计
13、算机辅助教学的先进性、科学性、生动性和趣味性,多达几千机时的实际使用和学术交流的反馈意见均表明:使用该课件能取得较传统教学方法更好的教学效果。数字逻辑电路CAI课件的主要功能特性和技术指标如下:l 元件库包含所有门电路、触发器和常用的74系列中规模集成电路等几十种不同的元器件,足以满足教学中可能遇到的任何电路。l 类似Protel中的Schedit电路原理图编辑器,电路设计随心所欲。l 可仿真演示任意电路的工作原理和过程,并同步生成真值表、逻辑函数表达式和波形图。l 内置教材中二百个典型电路,引用简便快捷。l 具有波形序列模式、同步真值表及表达式模式、一次性初值模式和连续时钟模式等四种仿真运行
14、模式。l 电路的运行仿真过程形象生动。l 参数调整方便快捷,有些参数甚至可在仿真过程中动态调节。l 虚拟现实灵活直观,使用该课件做虚拟实验可得到和真实实验完全相同的结果。l 易学易用、界面友好、方便自学,且帮助系统丰富完善。l 软件平台:Windows95/98/2000/NT。l 一个电路含元件数量:32768个。l 真值表输入变量个数:6变量;输出端个数:10。l 逻辑函数表达式数量:10。l 波形图输入波形数量:10;输出波形数量:10。数字逻辑电路CAI课件已由清华大学出版社于2000年12月正式出版发行。该课件于98年12月获航空工业总公司所属院校 CAI 课件及电教教材专项评比一等
15、奖。总之,这种基于“元件”的CAI软件设计思想和方法,可使我们对CAI软件进行较为深度的开发,从而产生更高质量和更具实用价值的CAI课件,在教学改革中发挥更大的作用。参考文献:1 王本颜、方蕴昌.数据结构技术. 清华大学出版社,19882 Noel Jerke.Visual Basic API程序设计. 机械工业出版社,19973 Microsoft Corporation.Visual Basic 6.0 Language Reference,1998 通讯地址:成都航空职业技术学院电子工程系 联 系 人:邱寄帆 邮政编码:610061 电话:028-85218799(H) E Mail: jillga .