摘要
逻辑电路与单片机课程是高校电子和计算机相关专业学生的必修课程。然而,在电路仿真实验领域长期由国外软件垄断。随着国家级虚拟仿真实验教学中心的建设,自主研发逻辑电路与单片机的虚拟实验系统成了一项紧迫的任务。目前我国开展的远程教育仍以理论学习为主,难以开展实验实践课程。另外一些高校虽然有设备开展逻辑电路与单片机课程,但是在进行仿真时只能使用单机版软件,教师无法及时跟踪学生的学习情况,如果能将教学平台搬到网上,将会提高相应课程的教学效果。与此同时,单片机等实验需要多种软件,学生同时需要学习几种新的软件,给老师和学生都带来了不便。
目前国内部分高校和研宄机构推出了网络版的数字电路虚拟实验,但是在进行复杂电路仿真时会出现缓慢甚至错误的情况。在单片机实验方面还缺少成熟的虚拟实验平台产品。虚拟实验研宄室现有的基于网络的逻辑电路和单片机实验釆用了将C++程序嵌入Java虚拟机的方法,运行速度受到影响,并且还需要配合其他软件进行指令编译。
为了解决上述问题,本文提出了一种采用Java语言开发的,基于Web的逻辑电路与单片机的虚拟实验系统设计方法和实现方式。本文对逻辑电路和单片机实验进行了研宄,提出了数学建模和仿真算法。釆用了 MVC体系结构模式的软件架构,通过迭代的方式进行软件开发。建立了适合逻辑电路仿真的状态表,通过传递消息队列的方式完成元件模块和消息模块的设计。
在设计单片机部分通过分成单片机内核组成、单片机指令设计、用户交互方式、导入hex文件的方式实现,使本系统能独立完成单片机实验内容。为了提高仿真速度,本系统釆用多线程并发的方式,借助于Java支持的原生线程池,实现软件内核的事件处理机制和多线程的交互过程。
最后,由两个典型实验来验证本系统仿真的正确性。
关键词:逻辑电路 单片机 虚拟实验 模块 多线程
Abstract
Logic circuit and single-chip computer courses is the required course for students majoring in electronics and computer related. However, the field of circuit simulation experiment is the monopoly of foreign software. With the construction of the national virtual simulation experiment teaching center, independent research and development logic circuit and single-chip microcomputer system has become a pressing task. At present the remote education in our country is given priority with theoretical study, still hard to carry out experimental practice curriculum. And although there are some college equipment to carry out the logic circuit and MCU course, but stand-alone version can only be used by the simulation software, teachers can not timely tracking students learning situation. If it will be moved to online teaching platform, the course will improve the teaching effect. At the same time, some experiments, like MCU experiment, need a variety of software. Students must learn several new software at the same time. It brought inconvenience to the teacher and students.
At present the online virtual digital circuit experiments are launched by universities and research institutions, but slowly even error occurs on complex circuit simulation. In respect of single-chip virtual experiment is lack of mature cross-platform product. The existing logic circuit and the experiment that based on network by our virtual laboratory embedded the C++ program in Java virtual machine. Running speed of this method is affected. And other software is needed to complete compilation.
In order to solve the above problems, logic circuit and single-chip microcomputer system design method is proposed and implemented in this paper, using Java language development and based on Web. By studying the logic circuit simulation, this paper propose a mathematical modeling and simulation algorithm. Using the MVC architecture pattern of software architecture, software development completed by the way of iterative process. The status table about logic circuit simulation status is completed. The component modules and messaging module design through the way of message queue.
Kernel part in the design of single-chip microcomputer by dividing into the single-chip computer, single-chip microcomputer instruction design,user interaction, import the hex file, make this system can independently complete MCU experiment content. In order to improve the simulation speed,the system adopts multi-thread concurrent manner,with the help of the Java support native thread pool, implementing software kernel event handling mechanism and the interaction process of multithreading. Finally, two typical experiment used to verify the correctness of the system simulation.
KEY WORDS logic circuit,microcomputer, virtual experiment, module, multi-thread
数字逻辑电路及其相关课程是各大高等院校电子类和计算机相关专业学生必修的专业基础课,教育部也强调了课程的性质是“电子技术方面入门性质的技术基础课” 。开展数字逻辑电路理论学习的同时,进行相关实验也是必不可少的。由于学校经费有限,往往2个学生或多个学生在一个实验台上进行操作,合作完成实验内容。学生水平参差不齐,有些学生还没领会到实验要点,别的学生已经将实验做完了。因此,通过虚拟实验系统进行软件仿真能很好地提高教学质量,帮助学生更牢固地掌握相关知识点。
单片机相关课程是高等院校本科、专科,高职高专及大中专工业自动化、电子信息、通信工程、机械等专业和计算机专业及其他各类工科类专业都要开展的课程。
就目前国内的实验教学而言,单片机实验可以分为两种,一种是用含有单片机的专用试验箱进行硬件的实验,另一种是用软件仿真的方式进行实验。两种方式有利有弊,用单片机实验箱进行硬件实验最为直观,但是容易因为学生的不当操作烧毁片子,甚至引发事故。进行软件仿真能在减少事故发生的同时让学生得到相应的仿真结果。但是,目前国外软件价格昂贵,例如Multisim售价高达人民币2万多元,Proteus Platinum Edition售价更是将近7千美元,令许多学校望而却步。而且国外相关软件并不是专门用于实验教学的,对教学方式的支持力度有限。因此,设计并完成单片机虚拟实验可以与国外软件在教学市场上一较高下。
网络系统与网络文化北京市重点实验室已经在虚拟实验教学方面进行了多年的探索,己经有了丰富的开发经验,发布了 OWVlab系列的虚拟实验系统,其中包括开放式虚拟仿真实验教学管理平台、计算机网络课程虚拟实验系统、数字信号处理虚拟实验系统、电路课程虚拟实验系统、通信原理虚拟实验系统等。依托于实验室的基础,对现有基于单线程的逻辑电路虚拟实验系统进行改进,并且加入单片机模块,使得单片机实验在一个软件中完成,将能把更多的实验纳入虚拟实验系统。
复杂的操作系统使用环境使得Java技术自1996年第一次发布以来就引起人们的极大兴趣。Java可以撰写跨平台应用软件的特点让软件的通用性得到提高。基于Java的虚拟实验系统可以让用户从不同的操作系统中运行,对虚拟实验室建设的依赖性降到最低。
在国内,高校中进行仿真实验多以使用国外软件为核心,如以Proteus和Keil为实验工具,自己设计具体实验流程为辅助进行。这些仿真实验的创新点在于实验设计及实验流程的创新,其中介绍了采用创建虚拟实验室,用Keil C51程序编写软件,用Proteus绘制仿真电路,完成A/D转换等单片机与数字电路的实验。这样虽然能进行相关实验,但是缺乏对于实验工具的深入研宄。同时,在一些电路虚拟实验中釆用Java混合其他编程语言的方法,如C和C++的混合编程。这样的方法的缺点是丧失平台可移植性,并且电路仿真方式调用Spice组件时会影响数字电路仿真速度。随着2012年《教育部关于全面提高高等教育质量的若干意见》的出台和落实,高校实验课程建设有了新的发展。文件中提出来启发式、探宄式、讨论式、参与式教学等一些创新教育教学方法。加大对实验的投入,提出加快科研成果的转化,让更多学生能够进行相关课程的实验,使得学生的动手能力得到提高。2014年,有100个高等院校实验室入选首批国家级虚拟仿真实验教学中心,其中,有关电路仿真的教学实验中心有:北京邮电大学的电子信息虚拟仿真实验教学中心,华北电力大学的电力工业全过程仿真实验教学中心,东南大学的机电综合虚拟仿真实验教学中心,电子科技大学的电子与通信系统虚拟仿真实验教学中心,西安电子科技大学的电子信息与通信虚拟仿真实验教学中心,解放军理工大学通信与电子信息虚拟仿真实验教学中心。伴随着这些虚拟仿真实验教学中心的建设,国内的仿真软件也将得到发展。
虚拟实验室在一些国家已十分普及,他们非常重视虚拟实验室的研宄,并已将虚拟实验室列入其科研发展的战略规划。许多大学都已组建了面向教育的虚拟实验室。例如,加泰罗尼亚开放大学是一所完全虚拟的大学,在该大学中无法进行面对面的课堂教学,依然可以利用虚拟实验技术进行计算机网络实验。通过对过去11年的虚拟实验室教学效果的问卷调查,用于加泰罗尼亚开放大学思科网络技术学院VNLab结构得到验证。文献中主要介绍了计算机网络虚拟实验的实现,计算机网络与数字电路的实验相似,都需要通过各个节点信息的流动,仿真获得最后的结果。然而,计算机网络实验的结果呈现是以文字呈现的,而逻辑电路与单片机系统中实验结果需要用图像展示。昆士兰大学用虚拟实验技术及HTML5技术建立了药理学世界,用于药理学教学。HTML5技术可以将简单的图形显示得很漂亮,但是要在HTML5中进行大数据量的仿真实验却是很困难的。因此在选择虚拟实验展示时是否采用HTML5技术需要进一步研究。印度信息技术协会也提出了虚拟实验室的构建方案——DISCOVIR。DISCOVIR是异步虚拟实验系统,运用了以下多禾中技术:Flash and Actionscript、Java2D and JavaSD、Javascript and Libraries、Php、Scribble and Scheme。如果按照文章中的混合多种技术建立虚拟实验室的方法需要很大的工作量,开发多门课程时也不能很好的复用先前开发的课程。因此,我们在开发虚拟实验系统时选择只用Java语言,增大通用性的同时也为后续实验的幵发提供方便。Norihiro Fujii教授也提出来在数字电路实验中运用远程实验的方法。在Norihiro Fujii教授的文章中阐述了远程教育技术开展FPGA实验的系统设计,提出了 FPGA实验系统的工作流程,这能够给我们设计新的电路虚拟实验系统提供帮助。
一些国外知名软件企业研发的软件功能强大,元器件覆盖全面,但是对于学生实验方面有所缺陷。而且,软件多是单机版,价格昂贵,部署复杂,教师与学生对于实验结果的沟通交流无法在软件内实现。
就虚拟实验的发展来看,随着我国乃至世界上各个国家加大对虚拟实验的投入,许多虚拟实验软件逐渐完成Web化的过程,在高校实验平台的建设中取系单一的单机版仿真软件,在不久的将来就能实现。
逻辑电路与单片机的虚拟实验系统是在参考国内外许多实验方案的基础上进行重新设计与研究的。许多虚拟实验室方案是基于Multisim、Proteus建设的,这些软件强大的功能将提供给老师学生优质的产品体验。然而,通过体验这搜敎件,我们也可以找到软件中存在不少问题,这也给教师的授课带来不便,尤其是很难与国外软件工程师进行沟通来改进现有软件,使得教师实验计划需要被迫改变。进行自主设计研发虚拟实验系统可以避免这个问题,使教学质量得到提高。本课题将首先调研国外单机版软件的功能,建模方式,寻找突破点,并实现在Web上可以顺利进行所有预先设计好的实验。
Java语言开发逻辑电路与单片机的虚拟实验系统设计:
Proteus界面图
WAVE 6000界面图
MVC架构模式功能设计
迭代与发布版本完整度
目录
第一章 绪论
1.1 研究意义
1.2 逻辑电路与单片机的研究现状和发展趋势
1.3 主要研究内容
1.4 论文结构安排
第二章 仿真软件研究
2.1 电路仿真软件
2.1.1 Proteus
2.1.2 Multisim
2.1.3 PSpice
2.2 单片机
2.3 单片机仿真软件
2.3.1 WAVE 6000
2.3.2 MedWin
2.3.3 Kei I C51
2.4 本章小结
第三章 仿真软件设计框
3.1 逻辑电路和单片机仿真软件整体框架设计
3.2 电路+消息传递过程
3.3 元件模块消息模块
3.3.1 元件模块
3.3.2 消息模块
3.4 系统的整合
3.5 本章小结
第四章软件内部逻辑处理
4.1 数字电路的内部逻辑
4.1.1 简单的元件组成
4.1.2 时序逻辑部分
4.2 单片机内核部分
4.2.1 单片机内核
4.2.2 指令的设计
4.2.3 CLI 控制
4.2.4 导入hex文件
4.3 多线程并发
4.3.1 事件处理机制
4.3.2 多线程的实现
4.3.3 多程交互流程
4.4 本章小结
第五章 逻辑电路与单片机的虚拟实验案例
5.1 端口I/O实验
5.2 跳器实验
5.3 本章小结
第六章 总结与展望
参考文献
致谢
(如您需要查看本篇毕业设计全文,请您联系客服索取)