(计算机应用技术专业论文)编程类虚拟实验中vpd模型的研究.pdf_第1页
(计算机应用技术专业论文)编程类虚拟实验中vpd模型的研究.pdf_第2页
(计算机应用技术专业论文)编程类虚拟实验中vpd模型的研究.pdf_第3页
(计算机应用技术专业论文)编程类虚拟实验中vpd模型的研究.pdf_第4页
(计算机应用技术专业论文)编程类虚拟实验中vpd模型的研究.pdf_第5页
已阅读5页,还剩57页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

华中科技大学硕士学位论文 摘要 在远程教育大力推广的今天,虚拟实验已被广泛应用于远程教育实验教学系统 中。由于计算机程序执行的动态效果和计算机硬件的时序变化关系较难仿真,从而很 难反映出硬件实验现象与其作用机理的相互关系,导致目前尚无个编程类硬件虚拟 实验能完全满足应用的需求。本课题在国家创新基金资助项目( 0 1 c 2 6 2 2 4 2 1 0 5 5 5 ) 的资 助下对编程类硬件虚拟实验进行了研究。 由于编程类实验是通过1 1 0 指令对外部设备进行控制的,因而本文提出了 自i ) 【爆 v m ,虚拟设备驱动程序和虚拟设备三个部分组成的v p d 模型。在v p d 模型中通过虚 拟设备驱动程序截获d o sv m 在w i n d o w s 环境下运行时执行的i o 指令实现d o sv m 与 虚拟设备之间的双向通信,从而实现了d o sv m 控制虚拟设备进行工作的功能,基本 满足了编程类硬件虚拟实验的需要。 , 出于有些编程类实验需要采用中断方式,并且因为中断处理的特殊性,使得v p d l 模型因不能触发用户中断服务程序的运行而不能满足实际的需要。通过深入分析 8 0 x 8 6 体系结构和w i n d o w s 9 x 中虚拟中断的机理,将v p d 模型改进为v p d 模型。v p d + 模型实现了虚拟设备支持中断的功能,进一步满足了编程类硬件虚拟实验的需要。 由于有些编程类实验是双机通信类实验,使得v p d 模型和v p d 模型都1 、能满足这 个需求。通过将v p d 模型演变为由d o sv m ( 发送) ,虚拟设备驱动程序,d o sv m ( 接 收) 和虚拟设备组成的v c t c 模型,解决了双机通信虚拟实验的问题。 v p d 模型以及由v p d 模型派生出的v p d + 模型,v c t c 模型可以全面满足编程类硬件 虚拟实验的需要。在v p d 模型的基础上,对虚拟实验指导教师的设计提出了一些设想。 结合我们当前所丌发的系统一“分御式虚拟实验环境构造及设计型实验支撑平 、 , 台”,用v p d 模型实现了接口技术虚拟实验环境。实例说明了v p d 模型的可行性。) 。 关键词:虚拟实验:可编程:虚拟殴备驱动程序:虚拟中断 华中科技大学硕士学位论文 a b s t r a c t t o d a y ,t h el o n g d i s t a n c ee d u c a t i o ni sw i d e l yp o p u l a r i z e d ,a n dt h ev ir t u a l e x p e r i m e n t i sa l s o w i d e l y u s e di n e x p e r i m e n t t e a c h i n go fl o n g d i s t a n c e e d u c a t i o n a st h ed y n a m i cr e s u l tw h i c hc o m p u t e r p r o g r a mc a r r i e so u t a n dt h e t i m es e q n e n c eo fc o m p u t e rh a r d w a r ep r o d u c e sa r ed i f f i c u l tt ob ee m u l a t e d t h e r e l a t j o nb e t w e e nh a r d w a r e e x p e r i m e n t p h e n o m e n o n a n dt h e i rin t e r a c t io n m e c h a n is mc a nn o tb er e f l e c t e d r h i sr e s u l t s t h a tt h e r ei sn ov i r t u a i p r o g r a m m a b l eh a r d w a r ee x p e r i m e n tt h a tc a nc o m p l e t e l ys a t i s f yp e o p l e u n d e rt h e s u p p o r to fn a t i o n a l i n n o v a t iv ef u n d p r o j e c t ( 0 1 c 2 6 2 2 4 2 1 0 5 5 5 ) ,w eh e g in t h e r e s e a r c ho fv i r t u a lp r o g r a m m a b l eh a r d w a r ee x p e r i m e n t i np r o g r a t l l i i l a b l ee x p e r i m e n t ,t h ep e r i p h e r a ld e v i c ei sc o n t r o l l e d b y i o i n s t r u c t i o n ,s o w e p u t f o r w a r dt h ev p d ( v i r t u a l p r o g r a m m a b l ed e v i c e ) w h i c h c o n s is t so fd o sv m ( d o sv i r t u a lm a c h i n e ) ,v i r t u a ld e v i c ed r i v e ra n dv i r t u s l d e v ic e i nv p dm o d e l ,t h r o u g hv i r t u a ld e v i c ed r i v e rc a t c h st h ei ojn s t r u c t i o n w h e nd o sv mr u n su n d e rw i n d o w s ,t h et w o d i r e c t i o nc o m m u n i c a t i o nb e t w e e nd o g v ma n dv i r t u a ld e v i c eisr e a l i z e d s od o sv mc a nc o n t r o lv i r t u a ld e v i c e t h is m o s t1ys a tis f yt h ev i r t u a lp r o g r a m m a b l ee x p e r i m e n t a ss o m e e x p e r i m e n t o fp r o g r a m m a b l eh a r d w a r e e x p e r i m e n t n e e d st 0u s e in t e r r u p ta n dt h ep r o c e s so fi n t e r r u p ti sm o r ep a r t i c u l a r ,t h ev p dm o d e lc a n t t r a n s m i tt h ec o n t r o lt oi s r ( i n t e r r u p ts e r v i c er o u t i n e ) t h i sm a k e st h e v p d m o d e lb e1 i m i t e d a f t e rd e e p l ya n a l y z e d8 0 x 8 6s y s t e ms t r u c t u r ea n dv i r u a l i n t e r r u p tm e c h a n i s mo fw i n d o w s 9 x ,t h ev p d m o d e li si m p r o v e dt ov p d + m o d e t h e v p d + m o d e im a k e st h ev i r t u a ld e v i c es u p p o r t t i n gi n t e r r u p t ,s ot h ev i r t u a l p r o g r a m m a b l eh a r d w a r ee x p e r i m e n t i sm o r es a t i s f i e d a ss o m e e x p e r i m e n t o f p r o g r a m m a b l e h a r d w a r e e x p e r i m e n t is t w o c o m p u t e r c o m m u n i c a ti o n ,t h e v p dm o d e la n dv p d + m o d e lc a nn o tm e e tits v i r t u a l p r o g r a m m a b l e h a r d w a r e e x p e r i m e n t t h r o u g he v o l v i n gv p d m o d e l in t o 华中科技大学硕士学位论文 v c t c ( v i r t u a lc o m m u n i c a t i o nb e t w e e nt w oc o m p u t e r ) m o d e lw h i c hc o n s i s to fd o s v m s e n d e r ,v i r t u a ld e v i c e d r i v e r ,d o sv mr e c e i v e ra n dv i r t u a l d e v i c e ,t h e v ir t u a l t w o c o m p u t e r c o m m u n i c a t i o ne x p e r i m e n ti sr e a l i z e d r h ev p dm o d e la n d i t sd e r i r e d m o d e l ( v p d + m o d e la n dv c t c m o d e l ) f u l l ys a t i s f yt h ev i r t u a l p r o g r a r a m a b l eh a r d w a r ee x p e r i m e n t w ep r e s u m et h ed e s i g no fv i r t u a l e x p e r i m e n tt e a c h e rb yv p dm o d e l 1 1 3t h e s y s t e m d i s t r i b u t ev i r t u a l l a b o r a t o r yb u i l d i n ga n dd e s i g n a b l e l a b o r a t o r yp 1 a t f o r m ,t h ev i r t u a l e x p e r i m e n te n v i r o n m e n to fi n t e r f a c ejs t e a i iz e db yv p dm o d e l i t p r o v e dt h a tt h ev p dm o d e l isu s e f u 1 k e y w o r d s :v i r t u a le x p e r i m e n t :p r o g r a m m a b l e :v i r t u a ld e v i c ed r iv e r :v ir t u a l i n t e r r u p t 儿i 华中科技大学硕士学位论文 1 绪论 1 1 课题背景 实验教学历来是教学工作中的重要环节,特别是对应用型人才的培养十分重要,实 验教学的效果直接影响教学质量。如何根据远程教育自身规律和特点进行实验教学提 高实验教学的质量,这是我们面临的一个新课题。 远程教育与传统教育存在较大的差别2 , 3 1 。随着科学技术的发展,特别是卫星技术、 数字通讯技术和因特网的广泛应用,给远程教育形式赋予了新的内容和生机。现代远 程教育运用计算机网络和多媒体技术,创造虚拟课章环境,打破传统教育的封闭性,跨 越时问和空r b j ,实现了实时或非实时的丌放教育。其中“自主学习”、“支助服务”、“烈 向通信”被认为是远程教育重新整合处于分离状态的教学行为的三种基本方式【”。远程 教育与传统教育主要区别在于:( 1 ) 远程教育中教师与学生处于准分离状态,即表现在 时空两个维度上的教与学行为间的分离,而传统教育是师生“面对面”。( 2 ) 两者所面 对的学生或教育对象不同。就我国目前情况看,远程教育的学习对象除传统教育中在 校学习者外还有大量成人业余学生以及为补充自己的知识而进修的人,这些学习者在 知识水平、学习目标、学习动力、学习方式上都存在一定的差别,传统教育中的受教 育者存在的差异没有这样大。( 3 ) 远程教育提倡以“自学为主”完成课程目标,传统教 育以教师面授为主。 传统实验教学中存在着较多问题与不足口】。传统实验教学目前的一般状况是:实验 教学是高校教学计划中的重要组成部分,是实践性教学中的一个重要环节。实验教学 通过观察一测量一分析等手段,辅助课堂理论教学实现理论和实践结合,从而帮助学 生更好理解所学知识,提高教学效果和学习质量。对多数专业而言,实验是所学知识 的验证更是技术的训练、设计能力和创新精神培养的重要途径。由于传统教育主要 采用以教师、课章为中心教学管理模式,沿用传统的实验手段,在一般情况下,这样 的模式在实验教学中还存在着一些问题与不足:( 1 ) 实验教学课程设置相对落后;( 2 ) 实验教学方法机械单一:( 3 ) 实验设备老化、陈旧;( 4 ) 实验教学学时不足:( j ) 学生重 视程度不够。 华中科技大学硕士学位论文 远程教育是信息技术高速发展而形成的新型教育模式,与传统的教学方式存在着 很大的差异,因此将以往的实验教学模式“生搬硬套”应用到远程教育中是行不通的。 我们必须探索出符合远程教育特征的新的实验教学模式,来保证实验教学的质量1 6 i 。下 面是两种远程教育实验教学模式。 1 充分利用计算机网络、双向视频系统、卫星电视通讯技术支持手段,开展远程 实验教学的模式,如图1 1 所示。 图1 1 远程实验教学系统框图 ( 1 ) i n t e r n e t 的实验教学手段。通过计算机网络与i n t e r n e t 的结合,建立省级的 多媒体网络化远程教育实验室,为教师与学生、学生与资源服务器之间、学生与学生 之间提供非实时的实验教学辅导途径。多媒体网络实验室是多媒体教学网的组成部分, 它创造了一个交互式、支持异地教学的实验环境。a 使用w w w 技术提供的b b s 、聊天室、 电子邮箱,以及i c q 的方式,师生之间、学生之间可进行针对实验环节问题进行相互 交流、讨论;特别是在综合性实验或设计性实验中,教师可将实验题目及具体要求传 给学生,学生按要求收集必要的资料( 包括理论、方法和条件等) ,将不懂的问题在b b s 2 华中科技大学硕士学位论文 上发表与同学讨论,然后拟定出实验的执行方案、步骤及记录表格,并将准备工作的 进展情况通过电子邮件反馈给教师,在教师指导下,经过反复讨论修改,最后进行小 组分工,在虚拟实验室根据实验要求独立完成实验,并根据实验现象,写出实验报告。 b 每位学生可通过i n t e r n e t 进入远程教学系统,直接访问网上资源服务器,根据课程 实验特点,获得多媒体辅助教学实验资料。 ( 2 ) 双向实时视频系统的实验教学手段。双向视频会议系统是将省级远程教学系统 通过数据通讯线路,连接多点视频控制器m c u 与市、区、县各分校的远程学习支持服 务中心视频会议系统相连,实现师生异地可视对话、学生异地讨论的远程教学与实验。 它维持了一种准面授的氛围,可以使教师在演示实验中与学生反馈的信息实时地双向 交流,充分调动学生观察实验、参与实验的积极性,从而加深对教学内容的理解,达 到较好的效果。 ( 3 ) 卫星电视系统的实验教学手段。卫星电视系统是将事先录制好的教学节目通过 地面卫星发送站,上传给卫星,然后通过卫星转发器将接收的信号转发给地面接收站, 完成信息的传送。利用卫星电视覆盖面宽的特点以及高校师资和实验设备的优势,将 无法开设的专业性较强的实验或危险性大( 不能进行当堂演示) 的实验以及实际的生 产过程等采用摄像的方式进行现场录制,制成实验录像带,通过卫星电视向学生播放, 各学习中心进行“按需实验教学”,一方面充实实验教学内容,另方面拓宽了学生的 知识面。 2 建立学习支持服务中心的实验教学资源的模式。 ( 1 ) 利用社会资源( 高校、科研单位、企业等) 建立区、市实验中心。作为学习支 持服务的实验中心是向学生提供真实实验环境的场所,学生在该中心能够亲自动手操 作实验。然而由于教育经费不足,使绝大多数学校只有数量有限的一些常规实验设备, 一些专业性强的课程无相应的实验条件,严重影响了学习的效果。为弥补不足,可与 高校、科研单位、企业联合,建立符合本地区实际的教学实验中心,充分利用高校、 科研单位等技术优势、闲置或不饱和的设备,提高其利用率解决学生实验的问题。 ( 2 ) 建立虚拟实验室。采用虚拟技术建立虚拟实验室,最早源于美国l a w r e n c e b e r k e r l y 实验室开发的虚拟青蛙解剖课程【8 】。它的出现为一些学科进行虚拟实验研究 打下了基础。用各种软件制作的多媒体课件来模拟实验的操作过程,对于远程教学来 3 华中科技大学硕士学位论文 说不失为一种好的方法。比如数字电路中涉及各种电路特性这些较抽象的知识时, 通常是让学生通过实验的手段加深理解。例如传统的实验在对单稳态电路进行测试, 首先搭接电路,然后改变电路的参数,测波形。由于学生对电路的特性不熟悉,仪器 使用不熟练,很难一次搭接成功并测试出结果,结果是否正确也很茫然,不能有效地 将实验结果与理论严格地结合起来。针对出现的问题,利用计算机的模拟性和仿真性 开发出虚拟实验室,让虚拟的教师教实验:实验包括元器件查询和模拟仿真实验操作 两部分。在资源库中设置了大量的教学大纲所要求实验的元器件供学生选用,并附有 每个器件、插脚的使用方法,虚拟教师指导学生先调器件画电路图,联接好电路,再 改变电路器件参数,改变输入信号参数,观察应有的测试结果,由此来判断电路连接 正确与否,参数选择是否合理。这样学生通过反复调用,观察实践,实验教学的难点 就迎刃而解了。由此可见开发高质量的计算机辅助实验软件对远程实验教学有着十分 重要的作用。教师在制作c a i 时针对学生的特点,精心安排和设计实验所表现的内容, 包含元件形状及性能提示讲解、演示说明、示范操作;对易出现故障和问题的地方, 有分析、指导、帮助;对学生提出一定要求,比如对遇到的问题及解决的分析和说明; 实验后的感想等。学习支持服务中心向学生提供软件资源( 学习辅导和咨询服务) 和 硬件资源的场所( 各种学习支助服务设施) 。学生可在家中或当地的学习支持服务中心 通过计算机网络进入远程教学实验中心的虚拟实验室,做由图像、动画、声音等多媒 体形式模拟的各种类型实验,或到区、市实验中心接受必要的实验实习指导。 ( 3 ) 实验内容的设计仓u 新。根据不同学科实验要求,从实验内容到实验形式都将进 行调整、补充、完善、创新并赋予新的内涵。从能够发挥学生主动性和探索性学习, 能够培养学生创新能力、创造意识和分析问题、解决问题能力,最终通过远程实验、 虚拟实验与实验中心的真实实验相结合学到知识,掌握技能,加深对所学理论的理解。 为了解决远程教育实验教学这一课题,我们在国家创新基余资助项目 ( 0 1 c 2 6 2 2 4 2 1 0 5 5 5 ) 的资助下,开展了对分布式虚拟实验环境构造及设计型实验平台的 研究。 在远程教育实验教学系统中包含有多门课程,各门课程由于自身的特点使得每门 课程的虚拟实验的实现又不尽相同。微型计算机接口技术课程的实验都涉及到对特 定的外设接口电路的接口芯片编程【”。由于计算机程序执行的动态效果较难仿真,导致 4 华中科技大学硕士学位论文 目前的接口技术虚拟实验还停留在计算机课件的水平。计算机课件作为一种先进的教 学手段,它利用图像、动画、声音等方法,使教学过程形象化,f 逐步受到各级各类 学校的重视,并且由于多媒体技术能够综合处理文本、图像、声音等多科一媒体,使学 生能够在较短时间内获得更多的信息,从而使传统的教学方法、教学内容、教学模式、 教育观念和教育思想都发生了重大的变化。但是,由于这类课件无法反映计算机硬件 组态的时序变化关系、无法反映硬件实验现象与其作用机理的相互关系,从而达不到 理想的实验教学效果。因此,本文对编程类硬件虚拟实验进行了研究。 1 2 相关概念 1 2 1 虚拟实验的基本概念 所谓虚拟实验,就是按照实验教学的基本要求,建立虚拟的工程实验环境,运用 各种虚拟实验仪器仪表和设备,对建立起来的实验模型进行实时仿真,构成新型的教 学实验。一些基础性实验,如物理实验、机械基础实验、电子技术实验、自动控制原 理与系统实验等,都可以采用虚拟的方法进行实验。虚拟实验的丌展,符合教学现代 化的要求,有利于受训人员素质的提高。同时,虚拟实验把设计环境和验证环境结合 起来,扩展了设计环境。虚拟实验与应用一般的计算机课件进行辅助教学有着实质性 的区别,虚拟实验应该为学员提供一个系统的完整的实验条件和环境【9 】。虚拟实验符合 以下血点基本要点: ( 1 ) 按照实验教学要求,提供非常逼真的工程实验环境。 ( 2 ) 在逼真的工程实验环境下,按有关实验要求,能对所要用到的仪器、相关的器 材任意使用、操作。 ( 3 ) 依据具体实验内容中的理论模型,或建立与教学内容相适应的实验教学模型, 采用计算机实时仿真技术,实施整个过程的仿真。 ( 4 ) 能对实验中产生的各种数据进行实时的记录、分析,然后自动产生实验报告。 ( 5 ) 要具有围绕实验教学所需要的其它辅助功能,如:实验目的、要求、实验内容 ( 即工作原理、原理电路等) 的讲解,以及实验仪器、设备使用的在线帮助等。 华中科技大学硕士学位论文 1 2 2 虚拟实验的特点 虚拟实验在教学实践中表现出以下几个特点: ( 1 ) 交互性和自主性】。虚拟实验与传统基础实验有个共同的要求,即都是按照实 验教学计划的实验大纲进行的。但虚拟实验与传统基础实验相比,有一个明显的区别, 那就是实验的模式是非固定的、动念的、具有良好的交互性和自主性。虚拟实验是计 算机仿真技术、多媒体技术等高新技术的有机组合应用,特别是多媒体计算机具有图 文并茂、丰富多彩的人机交互方式。因而,交互性是虚拟实验的显著特点。虚拟实验 项目的实验框架是不固定的,实验者可以依据实验大纲,根据自己的需要和兴趣,利 用实验模型库,自由搭接、组合、拆装实验框架,自行设计实验步骤和实验方法,表 现出实验者对实验的高度自主性,同时,实验者可以利用虚拟实验室所具有的丰富的 辅助功能,对实验仪器仪表、常规实验方法与步骤等进行自主学习、自主练习同样 也表现出实验者对实验的高度自主性。 ( 2 ) 开放性【l ”。虚拟实验通过计算机向用户开放。实验者可自由地进入或退出实验 系统具有良好的丌放性。虚拟实验的开放性表现为两个方面:一是资源丌放。虚拟 实验室储存了大量的实验模式、各种虚拟实验仪器仪表、各种实验器件或构件、各种 虚拟实验环境、各种实时仿真软件包等,实验者可根据自己的实验需要自由地选择使 用。二是虚拟实验室是一个开放的实验平台。实验者也可报据自己的实验需要,自行 构建实验环境、实验模块、实验仪器等,随意地增加虚拟实验室的各种“库”,使得虚 拟实验室是动态的,具有可持续发展性,从而使虚拟实验室具有良好的灵活性。 ( 3 ) 高效率 13 a 4 】。虚拟实验拓宽了教学实验的时空观,传统的教学实验一般因实验 室的空阳j 、实验仪器的组数、实验指导教师数量等的限制,实验只能分组进行,因而 学生实际用于实验的时间是有限的,接触实验设备和仪器的机会是很少的,从而使得 实验的使用效率很高,但学生受训效果很差,教学效果也不理想。但虚拟实验室是建 立在计算机上的,本身不受场地的限制。同时,虚拟实验室的虚拟仪器仪表和其它实 验设备是存储在计算机上的。因此在不同地域、不同用户可在各自的计算机上进行各 自的虚拟实验,拓宽了实验室的空间,增加受训人员的实验有效时数,提高了实验效 率。经过虚拟实验的先期训练,使学生的实验目的性、操作的熟练性等有了很大的提 6 华中科技大学硕士学位论文 高,再进入传统的实验室时的效率将大大提高。 1 3 国内外研究现状 实验按形式和内容可分为演示性、操作性、验证性、综合性、设计性和研究创新 性等类型【i 鄞。不同类型实验的实验目的、方法、特点和适用范围各不相同。 ( 1 ) 演示性实验:由教师操作,学生仔细观察,验证理论、说明原理和介绍方法; ( 2 ) 操作性实验:学生按要求,动手拆装和调试实验装置或上机操作、程序设计和 数据处理,掌握其基本原理和方法; ( 3 ) 验证性实验:按照实验教材( 或实验指导书) 的要求,由学生操作验证课堂所 学的理论,加深对基本理论、基本知识的理解,掌握基本的实验知识、实验方法和实 验技能、实验数据处理,撰写规范的实验报告; ( 4 ) 综合性实验:可以是学科内门或多门课程教学内容的综合,也可以是跨学科 的综合。运用多方面知识、多种实验方法,按照要求( 或自拟实验方案) 进行实验, 主要培养学生综合运用所学知识和实验方法、实验技能,分析、解决问题的能力; ( 5 ) 设计性实验:可以是实验方案的设计,也可以是系统的分析与设计。学生独立 完成从查阅资料、拟定实验方案、实验方法和步骤( 或系统的分析与设计) 、选择仪器 设备( 或自行设计、制作) 并实际操作运行,以完成实验的全过程,同时形成完整的 实验报告,主要培养学生组织能力和自主实验的能力; ( 6 ) 研究创新性实验:运用多学科知识、综合多学科内容,结合教师的科研项目, 使学生初步掌握科学思维方式和科学研究方法,学会撰写科研报告和有关论证报告, 培养学生创新能力。 所以,虚拟实验的研究也可分为6 种层次来进行。演示性虚拟实验的实现比较简 单,操作性虚拟实验的实现其次,设计性虚拟实验和研究创新性虚拟实验的实现比较 难。不同课程不同层次虚拟实验的研究可以满足不同的需要。并且,目前很多学校只 安排较多的验证性实验、演示性实验,而让学生亲自动手的设计性实验却很少丌设。 所以,如果能实现验证性虚拟实验和演示性虚拟实验,就己经满足了大部分的需求。 综合国内外虚拟实验的研究现状,发现国内的虚拟实验研究还处于萌芽阶段,国 外已经有很多大学进行了这方面的研究。总结他们所使用的技术,可以看出他们大多 7 华中科技大学硕士学位论文 可以划分下面几类。 1 3 1 使用j a v a 进行开发 j a v a 语言是最重要的种网上通用语言,使用它开发的程序具有两种层次上的可 移植性能,源代码级可移植性和二进制级可移植性,j v m ( j a v a 虚拟机) 的存在使得 这种可移植性成为了可能f 1 ”。另外i a v a 语言的下标检查机制和自动内存管理机制也 为其增加了较强的稳定性和安全性,这一点对于构建网上虚拟实验室系统来说也是非 常关键的。目前利用这种技术开发出来的系统有:普渡大学的交互式硬件实验系统、 北京大学的3 w n v l a b 系统等。 1 3 2 使用a c t i v e x 控件进行开发 a c t i v e x 技术允许不同软件开发的组件在网络上可以互相进行操作。a c t i v e x 使用 了微软的组件对象技术使得本地的组件可以和网络上的组件进行通信,使用a c t i v e x 进行丌发的另一个好处在于它的代码复用性,也就是说在虚拟实验室的丌发过程中, 一个实验仪器可以在多个实验环境中重复使用,这一点对于持续丌发过程尤为重要。 这种技术使得一个大的工程项目可以划分成小块的组件,也就相当于把复杂工程简单 为一个个组成部分,完成了每个组成部分之后集成起来就可以得到最终的项目。可以 丌发a c t i v e x 组件的环境有很多,其中丌发效率最高和最易上手使用的是v i s u a lb a s i c 。 利用a c t i v e x 技术丌发出来的系统有:大连理工大学的气相色谱仪,这个系统实现了 分析仪器和化学滴定分析实验平台,在国内一些高校内得到了应用| l ”。 1 3 3 使用v r m l 进行开发 v r m l 的第二代w e b 上的关键技术,是一种三维场景的描述性语言+ ,也是在 i n t e r n e t 网上实现虚拟现实的关键性技术砖】。它的基本原理是用文本信息描述三维场 景,在i n t e r n e t 网上传输,在本地机上由v r m l 的浏览器解释生成三维场景,解释生 成的标准规范即是v r m l 规范。j 下是这种思想使得在i n t e r a c t 上传输很少的数据,就 可以在w e b 上实现三维虚拟场景浏览成为可能。前面介绍的两种技术和v r m l 技术 8 华中科技大学硕士学位论文 之间的关键区别就在于v r m l 可以生成网络上的三维场景。虽然j a v a 技术现在支持 三维场景的创建,但是我们知道使用j a v a3 d 创建虚拟场景不是那么容易的事情,和 v r m l 相比它的丌发周期较长,也没有v r m l 技术那么成熟。用v r m l 实现与i n t e r n e t 虚拟现实交互有下面几个好处:丰富了媒体表现形式、协同工作角色的可视化管理、 改善了协同环境的用户界面、增强了协同环境的交互性。可见,将v r m l 融合到网上 虚拟实验室的丌发过程中,既可以增强表现力和用户的接受力,又可以实现较好的协 同工作虚拟化环境。 1 3 4 使用o u i c k t i m ev r 进行开发 q u i c k t i m e 的节果公司的一个重要产品,在q u i c k t i m e3 0 之后就开始支持 q u i c k t i m ev r 【l 。这是一种实景建模的虚拟现实技术,和传统的虚拟现实技术的不同 之处在于其实现平台只需p c 机,而不需要图形工作站或者数据手套等高额昂贵的硬件 设备支持。和传统影视媒体相比,传统影视媒体只能按照录制的顺序播放,参与者不 可改变其播放顺序缺乏交互性;而q t v r 技术使参与者可以自己控制体验的进程和顺 序,可以挑选自己感兴趣的环节而略过其他部分。和传统虚拟现实技术相比,q t v r 不需要特殊的硬件和附属设备,在普通的p c 机或m a c i n t o s h 机上即可实现虚拟现实的 效果。q t v r 可以应用照片、录象或数字图象来创建虚拟环境,这就不同于静止的c a d 或g 1 s 制作,使它较之传统的虚拟现实技术有着更高的真实感、更丰富的图象和更鲜 明的细节特征。和多媒体软件相比,多媒体在感知领域的应用不及v r 广泛,且多媒 体技术所操纵的对象都是二维的,q t v r 技术拥有比多媒体技术更强的真实感。 1 4 研究意义 微型计算机接口技术课程是一门实践性很强的技术技能课。微机应用系统和 微机化产品的丌发与研究实际上是微机接口电路的开发与研究。所以,掌握微机及接 j 技术已成为当代科研和工程技术人员应用和丌发微型计算机必不可少的基本技能 l i o l 。 在以往的传统教学实践中,实际实验效果并没有达到预期的实验教学目的2 ”。主 要问题是:( 1 ) 学生平时对计算机硬件的实践操作机会很少,初次涉及较多的接插线和 9 华中科技大学硕士学位论文 元器件常出现错误,造成实验时间过长,也给实验教师带来了很大的工作量;( 2 ) 由于 硬件实验,不象软件实验,旦出现差错易造成器件或设备的损坏和故障危险,给学 生带来了心理压力,严重挫伤了学生学习的主动性和积极性;( 3 ) 由于设备少学生多, 很难满足每个学生拥有一台设备;并且随着近几年大学扩招,社会上继续教育、成人 教育、函授教育的发展,授课对象群不断扩大,实验设备更加紧张;远程教育不断发 展,虽然它使更多的人有机会直接在家中接受教育,但不可能让每个受教育的人都将 实验设备购到家中。 微型计算机接口技术虚拟实验的解决可以解决上述问题,并且还可以解决如 下问题:( 1 ) 解决了计算机硬件理论教学与实验不同步的矛盾。在教学过程中,遇到了 用传统教学手段无法解决的些问题:接口芯片编程涉及特定的外设接口电路( 如步 进电机等) ,而这些特定设备无法进入课堂:大量的输入输出接口电路图难以通过传统 教学模式传递给学生;现有的教学软件缺乏良好的交互性及可扩展性,只能处理课件 中已设计好的教学实例。接口技术虚拟实验的出现可以较好的解决这些问题。( 2 ) 为编 程类硬件虚拟实验的实现提供了一个解决方案,为虚拟实验的研究提供了一条思路。 1 5 主要研究工作 本课题研究的是用v x d 技术实现编程类硬件虚拟实验的问题。通过对编程类实验 进行分析,并深入的研究i n t e l 公司的3 2 位微处理器体系结构和w i n d o w s 9 x 内核,设 计了v p d ( v i r t u a lp r o g r a m m a b l ed e v i c e ) 模型,并且以微型计算机接口技术课程 为例,利用v p d 模型实现了接口技术虚拟实验环境。 主要的研究内容包括:v p d 模型的设计;将v p d 模型改进为v p d + 模型,实现了 虚拟设备具有中断的功能;将v p d 模型演变为v c t c 模型,解决了虚拟双机通信的问 题;在v p d 模型的基础上,对虚拟实验指导教师的设计提出了自己的设想;最后用 v p d 模型实现了接口技术虚拟实验环境。 现把各章主要内容作介绍如下: 第一章为绪论,主要描述本课题的研究背景,相关概念,国内外研究现状以及课 题研究意义,最后介绍了主要研究工作。 第二章为编程类硬件虚拟实验技术的研究。分别对用编译器技术实现编程类硬件 l o 华中科技大学硕士学位论文 虚拟实验与用v x d 技术实现编程类硬件虚拟实验进行了研究,并决定采用v x d 技术 实现编程类硬件虚拟实验。 第三章是本文的核心部分。首先提出了v p d 模型,并阐述了其工作原理。为解决 编程类硬件虚拟实验中虚拟设备支持虚拟中断的功能,将v p d 模型改进为v p d + 模型。 为解决编程类硬件虚拟实验中虚拟双机通信的问题,将v p d 模型演变为v c t c 模 型。最后,在v p d 模型的基础上实现虚拟实验指导教师提出了一些设想。 第四章是v p d 模型的实现。以微型计算机接口技术课程为例,运用v p d 模 型实现了接口技术虚拟实验环境。整个虚拟实验环境的设计包括三大部分:集成丌发 环境( i d e ) 的设计,虚拟设备驱动程序的设计,虚拟设备库的设计。 第五章对接口技术虚拟实验环境进行了性能分析和性能测试。 第六章是小结。对本课题作总结,并进一步讨论了该课题的未来发展。 华中科技大学硕士学位论文 2 编程类硬件虚拟实验技术 目前,编程类课程的虚拟实验还停留在计算机课件阶段,基本上只能对给定的程 序,跟踪其执行的各个步骤和输出结果,而不能模拟学习者根据实验要求自行设计的 程序。它只能作为实验的一种形式与其他形式的实验互补。有两条技术路线可以实现 编程类硬件虚拟实验。( 1 ) 编译器技术路线。根据编程类实验的具体需求设计一个编译 器,对学习者编写的源程序进行编译,生成一个符合需求的目标代码;设计一个硬件 虚拟机,该虚拟机可以运行编译器生成的目标代码,并将结果动态显示在虚拟设备上。 从而完成编程类实验的仿真。( 2 ) 虚拟设备驱动程序技术路线。设计一个虚拟设备驱动 程序,虚拟设备驱动程序截获学习者编写的用户控制程序在运行时执行的i o 指令及 中断操作并把相关信息通过消息发送到虚拟设备,虚拟设备根据虚拟设备驱动程序传 送过来的消息进行相应的处理;虚拟设备驱动程序获取虚拟设备的相关状态信息和控 制信息并存储到虚拟设备驱动程序的虚拟端口表中。通过虚拟机,虚拟设备驱动程序, 虚拟设备的相互配合,实现编程类实验的仿真。下面分别对采用编译技术实现编程类 硬件虚拟实验与采用虚拟设备驱动程序技术实现编程类硬件虚拟实验进行研究。 2 1 编译器技术 用户在进行编程类实验时一般采用c 语言或汇编语言来编写控制程序,这就决定 了设计的编译器必须分别能够对c 语言和汇编语言进行编译。现以用c 语言设计用户 控制程序的虚拟实验过程为例来说明在设计编译器时要解决的问题。c 语占作为一种 高级编程语言,它的程序开发过程如图2 1 所示【2 0 】。 由图2 1 可以看出,实现编程类硬件虚拟实验的系统要包含进行以上程序开发所需 的各个功能模块。具体来说,有以下六个模块: ( 1 ) 文本编辑器模块:提供编辑用户c 或汇编源程序的功能: ( 2 ) 编译模块:可对c 源程序( 或汇编源程序) 进行编译( 或汇编) ,生成可重定位 的浮动目标码模块,并提供编译错误信息的显示和定位功能: f 3 ) 连接模块:负责连接用户程序的各个模块,生成最终可在虚拟机上执行的绝对 定位目标码文件。操作成功时,即可产生供调试模块使用的符号信息文件,否则提供 1 2 华中科技大学硕士学位论文 连接错误信息显示功能; 翌垫旦堡堕堕堡 列表文件 硬件虚拟机 | 兰| 2 1 典型c 程序虚拟实验开发流程 ( 4 ) 调试模块:在目标码己下装至虚拟机时,可对目标程序进行c 源程序级( 或汇 编级) 调试,并提供单步、断点、变量和寄存器观察等调试功能; ( 5 ) 运行模块:在目标码已下装至虚拟机并运行时,可控制虚拟设备产生预期的动 作,并能够接收从虚拟设备产生的输入信号,以决定程序的流程; 文本编辑器模块的设计显得相对简单,我们对此不作讨论。现在我们来分析编译 模块的设计需要解决的问题【2 ”。 图2 2 是编译模块的总体结构图。从图2 2 可以看出,该模块又可划分为6 个子模 块:库的处理、词法分析、文法处理、语法分析、语义分析、出错处理。其中,每个 模块都有自己的符号表管理程序( 或模块) 。编译模块采用多趟扫描编译法,预处理( 库 处理) 模块对用户c 源文件进行第一遍扫描,对库进行处理后生成一个新的源文件, 交给阔法分析模块进行处理,同时进行错误处理( 调用出错处理模块) ,其结果送给语 法分析模块。语法分析模块根掘文法处理模块生成的文法分析表,对词法分析的结果 进行处理,检测语法错误,如无语法错误,则将生成的中间文件交给语义分析模块处 理,最终生成中间数据格式文件。下面我们对各子模块进行详细说明。 1 3 华中科技大学硕士学位论文 幽2 2 编译模块的总体结构 预处理与词法分析子模块 2 2 】:进行编译预处理,是对源文件中所使用的标准库中 的变量和函数进行处理,生成新文件,为词法分析做好准备。词法分析的主要任务是 分析经过预处理的源程序,把它识别为具有独立意义的单词,并判别出它的相关属性, 再转换成长度统一的属性字,以供其它部分分析使用。 文法处理子模块【2 3 】:该子模块的功能是从文法文件中读取扩充的b n f 文法( 2 型 文法) ,将其转化成l l ( 1 ) 文法( 所谓l l ( 1 ) 文法就是指文法中每个非终结符的不同规 则具有不相交的s e l e c t 集) ,对其进行自顶向下的处理,生成分析表文件,供语法分 析模块使用。其关键是消除文法的左递归和回溯。主要工作有以下3 步:( 1 ) 转换成普 通文法。即对规则a := a 【ck 】,a := a ( b c ) ,a := a ck 进行等价转化,将扩充的b n f 文法展开。如对规则a := a 【ck ,转换成:a := ab ,b := ck ,b := e ;对规则a := a ( b c ) , 转换成:a := ac ,c := b c 。( 2 ) 转换成l l ( 1 ) 文法。使文法中的每一个非终结符都能推 出终结符;使文法中的每个符号都能由起始符推出;消除文法的左递归性。( 3 ) 生成分 析表。根据l l ( i ) 文法生成分析表。 语法处理子模块2 4 】:语法分析主要用来完成对源程序是否合乎语法的分析与判断, 其输入为来自词法分析的单词表。为了使该程序具有可扩展性,采用独立分析表的思 想f 即分析表独立于程序之外而存在,对于不同的文法可以产生各自的分析表,而程 1 4 华中科技大学硕士学位论文 序部分不需要改动) 。因而可以认为语法分析总体上分为两大部分:文法处理程序和 语法分析程序。本子模块采用l l ( i ) 分析方法进行分析,以词法分析产生的单词表为 输入流并以此构造输入栈。在分析过程中,分析器读取输入终结符与分析栈栈顶非终 结符,并由此查找分析表获得相应信息后修改输入流与分析栈,直至分析完毕。 语义处理与中间数据格式子模块f 2 5 】:语义分析模块根据c 文法,扫描语法分析模 块生成的中间文件,进行语义分析:同时进行静态错误检查,调用错误处理模块输出 相应的错误信息,若无错误,根据语义填写相应的数据表格,从而生成中i 白j 数据格式 文件。数据表格以单元为单位,c 中有两种设计单元:基本单元和辅助单元,各个设 计单元具有相对的独立性。一般来既,设计单元与中间数据格式单元是对应的,但是, 为保证中间数据格式单元中信息的完整性,有时需要增加其它设计单元中的信息。中 间数据以树型结构存放于链表中。各个设计单元作为主结点构成主链表,而每个设计 单元的信息构成子链表。中间数据文件的主要内容如下:( 1 ) 数据类型表,存放用户定 义的数据类型。( 2 ) 属性类型表,存放预定义或用户定义的属性类型。( 3 ) 属性表,存放 各种属性信息,它可以是预定义的,也可以是用户定义的。( 4 ) 标号表,存放用到的所 有标号。( 5 ) 指令表,存放各种语句的信息。 出错处理子模块【2 1 ,2 4 】:出错处理的功能是将库的处理、词法分析、语法分析、语 义处理中出现的错误进行整理,并将它们输出到屏幕的指定位置,以便于用

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论