微机接口虚拟实验的研究
本文分析了目前微机接口实验模式存在的问题和不足;并根据该课程的具体特点,对微机接口虚拟实验的实现进行了研究;详细阐述了微机接口虚拟实验的作用以及虚拟实验和真实实验的互补。
关键词:微机接口;虚拟实验;真实实验;实验教学
1引言
“微机接口技术”是高等院校计算机专业的主要专业基础课程之一,也是许多理工科专业学生的一门必修课程。通过该课程的学习,学生可以深入了解微型计算机系统组成、工作原理及常规接口技术,掌握针对系统和接口的程序设计,为应用和开发微型计算机技术打下良好的基础。目前大部分高校的微机接口实验必须借助于专门硬件实验设备才可以进行,如图1所示,这种实验模式存在以下一些缺点:
(1) 由于受到经费的限制,学校所能提供的实验设备有限,在目前学生人数日益增多的情况下,很难满足每个学生拥有一台设备的要求,学生也不可能随时到实验室去熟悉实验设备,在
实验时学生经常会因对设备不熟悉,对实验内容准备不充分而收不到满意的实验效果,教学质量很难保证。
(2) 实验设备易损坏、老化,而且由于微型计算机发展迅速,实验设备更新换代往往跟不上微型计算机发展的速度,导致实验内容陈旧、不全面。如目前大多数高校该课程的使用教材和授课内容已经是以32位微处理器为背景,讲授32位微型计算机原理和接口技术,但配套的32位实验设备却鲜见。
(3) 微机接口实验通常是软件和硬件相接合,学生平时对计算机硬件的实践操作机会很少,若涉及较多的接插线和元器件出现错误,造成实验时间过长,学生排查错误困难,而且一旦出现差错易造成器件或设备的损坏和故障,影响了学生学习的主动性和积极性。
(4) 随着互联网的发展,基于网络的远程教学教育在教育领域中的影响越来越大。由于教学机构与学生在空间上分离,学生无法到学校实验室做具体的实验,这成为了制约远程教育质量的一个重要因素[1-2]。
鉴于以上情况,虚拟实验已成为当今研究的热点[3-7]。所谓虚拟实验是指在计算机系统中采用虚拟现实技术实现的各种虚拟实验环境,实验者可以像在真实的环境中一样完成各种预定的实验项目,所取得的学习或训练效果等价于甚至在某些情况下优于在真实环境中所取得的效果。近年来,虚拟实验得到了快速发展,但大部分集中在物理、化学类等学科,而微机接口等可编程类虚拟实验由于受技术的限制,发展相对缓慢。本文针对微机接口实验的具体特点,对微机接口虚拟实验的实现进行了研究,探讨了虚拟实验的作用以及真实实验和虚拟实验的互补关系。
2微机接口虚拟实验的实现
微机接口实验涉及到对特定的可编程接口芯片的编程[8],互动性是虚拟实验中的最大难点。如果仅仅让学生运行给定的实验程序和观察预先设置的实验结果,而不让他们自己亲自动手编程、调试和执行实验程序,通过程序运行控制设备工作,察看运行效果来检验程序正确性,根本达不到预想的实验效果,也不能提起学生对接口实验的兴趣。因此实现虚拟可编程实验必须根据实验程序执行后产生的指令流,虚拟实验设备实时动作以仿真真实设备。通过对接口实验仔细分析,可发现在微机接口实验中,用户对外设的控制完全是通过对接口芯片
的编程实现的,PC系列机中,CPU对I/O端口的访问又是通过IN/OUT指令完成的,因此可截获用户程序运行中对端口的操作序列(即IN/OUT指令流),然后根据这个端口操作序列让虚拟实验设备实时动作,对真实设备的真实运行结果进行模拟仿真。即构造虚拟实验的关键是让虚拟实验设备程序实时获得实验程序执行后的I/O指令流,即输入、输出指令的截获。
由于Windows 2000/XP操作系统中,普通应用程序对端口是不能直接用IN/OUT指令进行访问的,也不能使用STI,CLI中断允许和禁止指令[9],因此目前各高校微机接口实验程序的编程格式基本上仍是DOS格式,程序运行在Windows的虚拟86,即DOS虚拟机(VDM)环境中。虚拟86模式是保护模式下的一种特殊工作模式,实模式DOS程序可以不经任何修改地运行在此模式中,但DOS程序中任何对硬件访问的特权操作都会被系统截获。Windows 2000/XP操作系统提供的基于VDM的截获[1o],不需要对DOS实验程序做任何修改。VDM会将截获的DOS实验程序中对端口的I/O操作,路由到虚拟设备驱动程序(VDD),VDD再根据每种具体的操作来进行转发,可以直接访问硬件设备;也可以脱离实际的硬件,转发给虚拟实验设备程序,虚拟实验设备会根据用户的指令实时反馈,对真实设备的真实运行结果进行模拟仿真,例如发出声音、屏幕的显示发生变化等。虚拟实验系统模型图所图2所示。
根据微机接口实验的特点,接口实验虚拟化应采用虚实接合的设计思想,以最大限度地仿真真实的实验环境。“实”即原有的实验程序和开发工具、开发环境保持不变,不需要做任何改动。学生不需要重新熟悉专门的编程语言、新的开发环境,一切开发过程和真实环境中的相同。“虚”即将微机接口实验需要的专门实验设备虚拟化,以“软”代“硬”,编写程序对硬件实验设备的实验结果进行仿真,以此来构建一个虚拟实验设备。虚拟实验设备包含8254、8255、8250等虚拟接口芯片以及数码管、开关、发光二级管等虚拟外设。
3虚拟实验的作用
虚拟实验用纯软件的方法实现以“软”代“硬”,不仅比较有效地解决目前微机接口实验存在的一些问题和不足,在一些地方甚至优于真实的硬件实验,如不占用系统硬件资源,共享度高、成本低,可以不断增加新的实验内容等。虚拟实验的作用主要体现在以下几个方面:
(1) 课堂教学
“微机接口技术”是一门软、硬件相接合的课程。对于绝大多数学生来讲,课程中的很多知识都是抽象而难于理解的,普通的多媒体课件无法反映计算机程序执行的动态效果,硬件实验结果与其工作原理都难以用这类课件反映出来,从而达不到理想的教学效果,学生会觉得生涩难懂。虚拟实验可以将实验搬进教室,结合理论课在讲台上演示,从而解决理论教学和实验教学各自独立、相互分离的问题。学生可以很直观地看到动态的执行过程,明确了执行过程中相关硬件的工作情况,调动了学习积极性。例如图3是一个数码管8字左移程序运行时的显示状态。用户可以通过改变程序中的段选码和位选码,动态地改变数码管的显示。学生通过这一虚拟实验,不仅明白了和接口相关的基本概念,数码管的工作原理,而且深入理解了微机系统与外设采用无条件数据传送的基本原理,实践证明可达到了理想的教学效果,极大地提高了教学效率。
(2) 实验预习及指导
学生首先可通过虚拟实验,深入了解实验的原理、过程、结果。微机接口实验通常是软件和硬件相接合,硬件的虚拟化排除了实验中硬件故障的影响,学生可通过虚拟实验,方便地检查出程序的错误,编写出正确的实验程序,避免真实实验时间过长,排查错误困难的情况发生。
(2) 课后复习
学生在课后复习过程中,还会遇到很多关系到实验方面的内容,利用虚拟实验提供的虚拟环境,学生能够和做真实实验一样进行操作并得出实验结果。
(3) 设计性和综合性实验的开设
设计性和综合性实验是培养学生综合素质的有效途径,虚拟实验可提供大量的设计性和综合性的实验课题,课题的内容和深度可根据学生本人的兴趣与能力来选择。这些实验可以开拓学生视野,激发学生实验的兴趣,有助于学生创新能力的培养。
(4) 远程教育
在远程教育中,无法开展真实实验。虚拟实验的出现无疑为远程教育的实验问题提供了解决的方法。将做好的虚拟实验发布到学校的网站上,学生可以方便地下载虚拟实验软件,或将虚拟实验系统和网络系统紧密结合起来,建成WEB 虚拟实验室,则可以在相当程度上加强远程教育的实验环节,达到学习的目的。
(5) 更新教学观念
虚拟实验可以不受地点和时间的限制,学生可以根据教学进度和自身实际情况,自主选择实验内容,还可以多次重复实验,处于实验教学的主导地位,掌握了学习的主动权,激发了学习的兴趣。教师与学生、学生与学生之间可以平等地通过“协商”进行学习。
4结束语
微机接口虚拟实验与真实实验相比有其独特的优势,在实验教学中正发挥着越来越大的作用,它可使我们丰富实验教学内容,改进实验教学手段和方法。但虚拟实验与真实实验存在着本质的差别,是不可能完全替代实物实验的。一些在真实实验中出现的问题,在虚拟实验中并不出现。真实实验是虚拟实验的基础,实验结果是不可预测的。虚拟实验是对真实实验理科不好的女生学计算机行吗
的模拟,在模拟过程中丢失了许多真实事件的信息,实验过程中不完全的信息不利于对学生严谨求实的科学态度的培养,影响学生对微小变化和非正常信息的感受,不利于学生创新能力、动手能力和发现、解决问题能力的培养。因此在教学中,应发挥真实实验和虚拟实验各自的特点,将虚拟实验与真实实验有机地结合起来,两者互为补充,相辅相成。实践证明,将计算机虚拟实验与传统的真实实验相结合的实验方法是有效提高实验教学质量、效率及效果的好方法。
参 考 文 献
[1] 江诗林,吴泉源. 开展虚拟实验系统的研究和应用[J]. 计算机工程与科学,2002,(22):34-35.
[2] 李健苹. 远程教育实验教学的实施[J]. 重庆广播电视大学学报,2002,(1):11-13.
[3] 詹碧卿,超文,建生等. 现代远程教育教学模式探讨[J]. 中国远程教育,2002,(2):43-47.
[4] 陈传波,朱伟,刘乐善. 一个可编程虚拟实验平台的研究[J]. 计算机工程科学,2004,(7):77-78.
[5] 孙力娟等. 微型计算机原理与接口技术[M]. 北京:清华大学出版社,2007.
[6] 坎特. Windows WDM设备驱动程序开发指南[M]. 北京:机械工业出版社,2007.
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论