第一篇:网络仿真软件调研
网络仿真也被称为网络模拟,因为对各种网络仿真过程来说,其中也有 “模拟”的含义,即,网络仿真既可以取代真实的应用环境得出可靠的运行结果和数据,也可以模仿一个系统过程中的某些行为和特征。顾名思义,网络模拟,就是用计算机程序对通信网络进行模型化,通过程序的运行模仿通信网络的运行过程。那么,为什么要进行通信网络的仿真呢?
在网络迅速膨胀的今天,网络研究人员一方面要不断思考新的网络协议和算法,为网络发展做前瞻性的基础研究;另一方面也要研究如何利用和整合现有的资源,使网络达到最高效能。无论是哪一方面都需要对新的网络方案进行验证和分析。进行网络技术的研究一般有以下3种手段:
(1)分析方法,就是对所研究的对象和所依存的网络系统进行初步分析,根据一定的限定条件和合理假设,对研究对象和系统进行描述,抽象出研究对象的数学分析模型,利用数学分析模型对问题进行求解
(2)实验方法,就是设计出研究所需要的合理硬件和软件配置环境,建立测试床和实验室,在现实的网络上实现对网络协议、网络行为和网络性能的研究。
(3)仿真方法,应用网络仿真软件建立所研究的网络系统的模拟模型,在计算机上运行这个模型,并分析运行的输出结果。
然而,前两种方法都存在很大的局限性。分析方法的有效性和精确性受假设限制很大。当一个系统很复杂时,就无法用一些限制性假设来对系统进行详细描述。实验方法的局限性在于成本很高,重新配置或共享资源很难,运用起来不灵活。而仿真方法在很大程度上可以弥补前两种方法的不足。仿真方法可以根据需要设计所需的网络模型,用相对较少的时间和费用了解网络在不同条件下的各种特性,获取网络研究的丰富有效的数据。网络仿真无疑提供了一个方便、高效的验证和分析方法,因此网络仿真技术在现代通信网络设计和研究中的作用正变得越来越大。
对几款主流网络仿真软件的评价
当前有许多优秀的网络仿真软件,其中有 Opnet、NS2、Matlab等,这为网络研究人员提供了很好的网络仿真平台。主流的网络仿真软件都采用了离散事件模拟技术,并提供了丰富的网络仿真模型库和高级语言编程接口,这无疑提高了仿真软件的灵活性和使用方便性。下面将对各种主流的网络仿真软件进行简要评价。
OPNET Modeler
OPNET Modeler是OPNET Technology公司的四个系列网络仿真软件产品的其中之一,它主要面向的用户为网络设计专业人士,能够满足大型复杂网络的仿真需要。OPNET Modeler有如下特点:
(1)提供三层建模机制,最底层为Process模型,以状态机来描述协议;其次为Node模型,由相应的协议模型构成,反映设备特性;最上层为网络模型。三层模型和实际的网络、设备、协议层次完全对应,全面反映了网络的相关特性;
(2)提供了一个比较齐全的的基本模型库,包括:路由器、交换机、服务器、客户机、ATM设备、DSL设备、ISDN设备等等。同时,OPNET Technology公司会对不同的企业用户提供附加的专用模型库,但需另外付费;
(3)采用离散事件驱动的模拟机理(discrete event driven),与时间驱动相比,计算效率得到很大提高。
(4)采用混合建模机制,把基于包的分析方法和基于统计的数学建模方法结合起来,既可得到非常细节的模拟结果,又大大提高了仿真效率。
(5)OPNET具有丰富的统计量收集和分析功能。它可以直接收集常用的各个网络层次的性能统计参数,能够方便地编制和输出仿真报告。
(6)提供了和网管系统、流量监测系统的接口,能够方便的利用现有的拓扑和流量数据建立仿真模型,同时还可对仿真结果进行验证。
NS
2NS2(Network Simulator, version 2)是一种面向对象的网络仿真器,本质上是一个离散事件模拟器。NS2由UC Berkeley开发而成。它本身有一个虚拟时钟,所有的仿真都由离散事件驱动的。目前NS2可以用于仿真各种不同的IP网,已经实现的一些仿真有:网络传输协议,比如TCP和UDP;业务源流量产生器,比如FTP、Telnet、Web CBR和VBR;路由队列管理机制,比如Droptai、RED和CBQ;路由算法,比如Dijkstra等。NS2也为进行局域网的仿真而实现了多播以及一些MAC子层协议。
NS2使用C++和Otcl作为开发语言。NS可以说是Otcl的脚本解释器,它包含仿真事件调度器、网络组件对象库以及网络构建模型库等。事件调度器计算仿真时间,并且激活事件队列中的当前事件,执行一些相关的事件,网络组件通过传递分组来相互通信,但这并不耗费仿真时间。所有需要花费仿真时间来处理分组的网络组件都必须要使用事件调度器。它先为这个分组发出一个事件,然后等待这个事件被调度回来之后,才能做下一步的处理工作。事件调度器的另一个用处就是计时。NS是用Otcl和C++编写的。由于效率的原因,NS将数据通道和控制通道的实现相分离。为了减少分组和事件的处理时间,事件调度器和数据通道上的基本网络组件对象都使用C++写出并编译的,这些对象通过映射对Otcl解释器可见。
当仿真完成以后,NS将会产生一个或多个基于文本的跟踪文件。只要在Tcl脚本中加入一些简单的语句,这些文件中就会包含详细的跟踪信息。这些数据可以用于下一步的分析处理,也可以使用NAM将整个仿真过程展示出来。Matlab
MATLAB软件是由美国Mathworks公司推出的用于数值计算和图形处理的科学计算系统环境。MATLAB是英文MATrix LABoratory(矩阵实验室)的缩写。MATLAB环境下,用户集成了程序设计、数值计算、图形绘制、输入输出、文件管理等各项功能。MATLAB提供了一个人机交互的数学系统环境,该系统的基本数据结构是矩阵,在生成矩陈对象时,不要求作明确的维数说明。与利用C
语言或FORTRAN 语言作数值计算的程序设计相比,利用MATLAB可以节省大量的编程时间。
MTALAB系统由五个主要部分组成:
(1)MATALB语言体系。MATLAB是高层次的矩阵/数组语言。具有条件控制、函数调用、数据结构、输入输出、面向对象等程序语言特性。利用它既可以进行小规模端程,完成算法设计和算法实验的基本任务,也可以进行大规模编程,开发复杂的应用程序。
(2)MATLAB工作环境包括管理工作空间中的变量据输入输出的方式和方法,以及开发、调试、管理M文件的各种工具。
(3)图形图像系统。这是MATLAB图形系统的基础,包括完成2D和3D数据图示、图像处理、动画生成、图形显示等功能的高层MATLAB命令,也包括用户对图形图像等对象进行特征控制的低层MATLAB命令,以及开发GUI应用程序的各种工具。
(4)MATLAB数学函数库。这是对MATLAB使用的各种数学算法的总称。包括各种初等函数的算法,也包括矩阵运算、矩阵分析等高层次数学算法等。
(5)MATLAB应用程序接口。这是MATLAB为用户提供的一个函数库,使得用户能够在MATLAB环境中使用C程序或FORTRAN程序,包括从MATLAB中调用程序(如动态链接库),读写MAT文件的功能。
由此可见,MATLAB是一个功能十分强大的系统,是集数值计算、图形管理、程序开发为一体的环境。除此之外,MATLAB还具有很强的功能扩展能力,与它的主系统一起,可以配备各种各样的工具箱,以完成一些特定的任务。CASSAP
CASSAP是美国Synopsys(新思科技)公司开发了一款仿真软件,主要应用于数字信号处理和网络通信领域,它可以在概念、体系结构、算法三个层次上实现
仿真。CASSAP采用了数据流驱动仿真器,它比基于时钟周期的仿真器速度提高了8-16倍。CASSAP提供了1000多个高层模块,并可对其中所需模块自动生成行为级或RTL级VHDL,也可生成各种风格的DSP代码,供DSP处理器作软件实现。CASSAP可广泛应用于需分析和评估算法、实现方式的数字传输系统,如通讯、图像、多媒体等,并提供了针对GSM、CDMA、DECT等标准的专用开发平台。
SPW
SPW仿真软件是Cadence公司的产品,它提供了面向电子系统的模块化设计、仿真及实施环境,是进行算法开发,滤波器设计,C代码生成,硬 /软件结构联合设计和硬件综合的理想环境。SPW的一个显著特点是他提供了HDS接口和Matlab接口。Matlab里面的很多模型可以直接调入 SPW,然后利用HDS生成C语言仿真代码或者是HDL语言仿真代码。SPW通常可以应用于无线和有线载波通信、多媒体和网络设计与分析等领域。
比较分析
通过对NS2和Opnet Modeler的操作和数据观察结果的对比,我们可以从软件功能和操作易用性两个方面对这两个软件进行分析。
在软件功能方面,Opnet Modeler做的比较完备,可以对分组的到达时间分布、分组长度分布,网络节点类型和链路类型等进行很详细的设置,而且可以通过不同厂家提供的网络设备和应用场景来设计自己的仿真环境,用户也可以方便的选择库中已有的网络拓扑结构。而NS2在这方面的选择不如Opnet Modeler丰富,只能根据实际仿真的环境通过脚本建立逻辑的网络结构,而查看结果需要其他软件的辅助。
在操作易用性方面,Opnet Modeler的优越性是毋庸置疑的,因为它可以使用比较少的操作就可以得到比较详尽和真实的仿真结果。而NS2则要通过编写脚本和C++代码来实现网络仿真,而且用这种方式建立复杂的网络结果则变的非常困难。
当然,NS2是自由软件,免费,这是与OPNET相比最大的优势,而且,作为用户,可以相对比较容易地对NS2进行功能扩展。
总结
本文通过对5款当前主流网络仿真软件的简要分析,介绍了网络仿真的概念和当前网络仿真软件的技术特点和应用范围;并通过在NS2和Opnet Modeler对同一个网络结构进行仿真的过程给读者提供了网络仿真过程的感性认识。网络仿真提供了从设想到实现的桥梁,因此它是一个计算机网络设计与分析过程中的一个重要环节。
第二篇:机电仿真软件介绍
天度机电仿真软件
一、学习模式:
1、课件内容学习:机电一体化概述检测与传感器步进及伺服电机机械传动,控制系统,接口技术,伺服系统
2、元器件(电器和仪表)学习:70多个电气、仪表3D模型及性能参数,关键机电器件提供爆炸图展示:
A电气:控制盘柜、直流电源、单相交流电源、三相交流电源、保险丝、单排空开、双排空开、三排空开、蓝色钮子开关、红色钮子开关、绿色方形按钮、红色方形按钮、常闭按钮、常开按钮、转换开关、旋转开关、行程开关、三菱交流接触器西门子交流接触器、交流接触器、变压器、开关电源、热继、电机、电抗、电流互感器、电流表、东元TECO变频器、伟创变频器、3色灯、指示灯-红、指示灯-黄、指示灯-蓝、接地端子、魏德米勒接线端子、接线端子、盘柜风扇、电笔等
B仪表和元件:PLC、中间继电器、时间继电器,带底座时间继电器、调节阀、气压阀、截止阀,蝶阀、针型阀、单线圈电磁阀、双线圈电磁阀,智能式变送器、亚德客接近开关、接近开关PNP,接近开关NPN朗鸿接近开关、压力表、单减压过滤器、减压过滤器
二、仿真接线:
学生参照老师设定的电气原理图,从元器件库中拖入对应的3D元器件到元器件库中,按电路图要求,进行命名,参数设置,接线,系统会进行操作计时,提交后系统对操作结果进行检测判断。
7个机电典型电路接线自动判断检测功能:自耦降压起动,双重互锁正反转控制,时间继电器控制,生产机械行程控制电路,具有过载保护的正转控制,接触器星形三角形控制,接触器控制的双速电动机调速电路。
三、PLC编程:仿真三菱(FX2N系列)PLC编程,通过编辑工具,可编辑修改或载入PLC程序,PLC程序能够进行仿真运行,运行时具有输入输出状态指示。支持PLC程序与指令表间切换,支持PLC信息状态仿真测试
四、理论考核:
1、试卷管理:老师可对考场进行管理、试卷编辑和试卷审核,可以从题库里自由选择各类型题目,设置分数,并组成试卷,在指定的时间和考场对指定的学员进行考试。最后对学生提交的试卷进行自动评分,并对试卷考核结果进行综合分析。
2、题库管理题型包括填空题、单选题、多选题、判断题、问答题和实验题,老师可以导入或导出各种题型的题目,或者直接在平台上进行添加。并对各个题型进行归类。
3、自我考核:
老师可以选择课后练习题,让学生进行课后自我考核,系统自动评分,老师可以随时了解学生每堂课学习和复习的情况。
第三篇:Digsilent仿真软件优缺点分析
Digsilent仿真软件优缺点分析
1.digsilent仿真软件优点
1.1功能强大
DIgSILENT/PowerFactory软件包含了几乎常用的所有电力系统分析的功能,如潮流、短路计算、机电暂态及电磁暂态计算、谐波分析、小干扰稳定分析等。
DIgSILENT/PowerFactory软件能够实现的功能有:
1、AC/DC潮流计算分析
DIgSILENT/PowerFactory可以描述复杂的单相和三相AC系统及各种交直流混合系统。潮流求解过程提供了3 种方法以供选择:经典的牛顿—拉夫逊算法、牛顿—拉夫逊电流迭代法和线性方程法(直接将所有模型作线性化处理)。在进行潮流计算的同时,DIgSILENT/PowerFactory 还有变电站控制、网络控制和变压器分接头调整控制可供选择。仿真结果可查看过载元件,可在图中以不同颜色显示对各元件的电压和负荷大小,仿真结果直观,便于对潮流结果进行分析。
2、故障分析
DIgSILENT/PowerFactory故障分析功能既可以分别根据IEC 909、IEEE std141/ ANSI e37.5 以及德国的VDE102/ 103 标准进行,也可以根据DIgSILENT/PowerFactory自身所提供的综合故障分析(General Fault Analysis-GFA)方法进行。DIgSILENT/PowerFactory故障分析功能支持几乎所有的故障类型(包括复故障分析)。
3、动态仿真
DIgSILENT/PowerFactory软件提供的仿真语言(DIgSILENT Simulation Language – DSL),使用户可以自定义模型:任何类型的静态/动态的多输入/多输出模型,例如电压控制器、PSS 等。该软件既可以进行短期(电磁)暂态仿真,也可以进行中期(机电)暂态仿真和长期暂态仿真。DIgSILENT/PowerFactory几乎可以仿真各种类型的故障。仿真过程中的
任何变量(包括DSL 所提供的)都可以被观察,并可将其通过虚拟表计功能(VirtualInstrument-VI)绘制成曲线图。此曲线图可以被保留,以便于与其他仿真过程进行比较。
4、谐波分析
DIgSILENT/PowerFactory可以模拟各种谐波电流源和电压源,并提供计及集肤效应和内在自感的与频率相关的元件模型。在综合考虑网络中所有元件后,计算出三相谐波电压和电流的分布(非平衡谐波潮流),确定和分析谐波失真系数,并以合适的步长绘制网络频率响应图。
5、保护分析
DIgSILENT/PowerFactory多额外的原件如CT、VT、继电器等,同时还允许用户自定义保护方案。所有这些保护元件在静态、暂态情况下都能够使用。在所有可能的仿真模式如潮流分析、故障分析、机电暂态和电磁暂态等情况下这些保护元件都能够响应。
6、可靠性分析
DIgSILENT/PowerFactory提供的可靠性计算将系统充裕性和安全性进行了综合考虑,主要包括三个方面:预想事故分析、发电可靠性估计和网络可靠性估计。
7、最优潮流计算
最优潮流计算是对基本潮流计算的有效补充。最优潮流计算主要采用内点法,并提供了多种约束条件和控制手段,其考虑的目标函数主要有最小网损、最小燃料费用、最大利润及最小区域交换潮流。
8、配网优化
DIgSILENT/PowerFactory能够实现以下三种优化功能:电容器选址优化、解环点优化、电缆补强优化。电容器最优选址用于确定电容器在安装至配网时的最优位置、型号以及容量,使用梯度搜索或Tabu搜索方法。解环点优化能够在满足电网电压和负荷要求的同时通过改变网络拓扑最小化网损。电缆补强优化能够对过载电缆实现最经济有效的升级,针对给定的电缆成本和电压跌落限值能够自动选出相应的电缆。
9、低压网络分析
DIgSILENT/PowerFactory的低压网络分析使用户能够实现:根据连接到某一线路上的用户数量来定义负荷、考虑负荷的多样性、在进行潮流计算时考虑负荷多样性并计算电压最大跌落值和最大支路电流、自动进行电缆补强、电压跌落和电缆负载率分析等。低压网络分析是DIgSILENT/PowerFactory软件的标准特征之一。
1.2数据兼容性好
(1)可与PSSE/E和PSS/U等电力系统仿真软件的数据进行转换。(2)可以通过Excel进行数据的输入和输出。
选择―编辑计算相关对象‖,再选择相应的元件,可对电网拓扑中元件的参数人工地进行大面积修改。如图1-1所示,电网有888个低压负荷,可通过excel表对基本参数中的一列或者几列参数进行修改。潮流计算后的各节点电压标幺值也可进行拷贝。有助于配电网潮流计算和分析。
图1-1 电网低压负荷基本参数
(3)可与matlab进行联合仿真。1)新建一个block
2)在classification中选中matlab m_file 选项,并连接.m 文件(在调用m文件时应注意输入和输出变量要对应)如图1-2所示。
图1-2 2.digsilent仿真软件缺点
(1)在配电网潮流计算时,同一网络拓扑中各节点的负荷是不断变化的,对同一拓扑进行多次重复仿真时,人工修改网络中各元件的参数工作量很大,需要让仿真软件自动调用和修改各元件的参数。digsilent访问数据的方式有两种,1)通过图形用户界面;2)通过数据管理器,如图1-3中内容所示。数据能以dz的格式导出,dz文件其他软件不能直接读取和修改里面的数据。对自动读取数据进行重复仿真带来困难。
图1-3 digsilent数据结构基本概念
3现正在解决的问题
3.1每个时刻各负荷的参数如何调用
以低压配电网为例,进行准动态仿真,时间周期为一天,同一条线路分别以8小时为步长,3小时为步长和15分钟为步长进行准动态仿真,一天中某线路负荷率的变化曲线如图3-1所示。既然一天中某条线路的负荷是一条曲线,那么每个时刻该线路的负荷大小是变化的,而不是一个定值,那么各负荷不同时刻的参数存放在哪里,以什么格式存储的,是怎么调用的?
图3-1 某线路一天中不同时刻负荷率变化曲线 3.2负荷参数设置框图中电压实际值为什么不会发生变化
以节点2616为例,改变这条馈线上其他节点负荷的大小,该节点的电压应该是会发生相应的改变的,如图3-2所示,是三次改变馈线上其他负荷的大小时,该节点的电压标幺值。但是在该节点处负荷的参数设置框中,显示的当前实际电压值一直是0.4kv,不发生改变。如图3-3所示。
图3-2 改变馈线负荷时节点2616的电压标幺值
图3-3 负荷参数设置框图
第四篇:emu8086仿真软件的应用
EMU8086 仿真软件在《微机原理》课程教学中的应用
姓名: 专业: 学号:
摘要:微机原理与接口技术课程的主要内容是微机系统的工作原理。《微机原理与接口技术》作为计算机专业及其相关专业的一门基础课,其重要性是不言而喻的,若在该门课程的教学中能灵活运用Emu8086仿真软件进行演示及实验教学,则能让学生直观地理解的工作原理和工作过程,提高学生的学习兴趣,较好地解决了微机原理课程教学中存在的难题。在实际的教学中,实验设备昂贵,造成实验环节比重过少,不能充分发挥学习者的创造性和能动性。而实践证明,做中学是一种非常高效的现代教育理论,做中学理论即“从活动中学”和“从经验中学”。本文介绍一些基于仿真软件 Emu8086 的虚拟微机系统实验,使学习者容易达到做中学的目的。简单介绍Emu8086功能,Emu8086的使用使得汇编语言程序的编译、执行变得更加直观和清晰,有助于提高初学者的学习兴趣。针对微机原理学习中存在的问题,提出了用EMU8086仿真软件来解决的办法,并介绍了EMU8086的用法和一些指令常识,并通过两个实例说明了该软件在汇编程序设计和接口技术方面的应用。
关键词:微机原理;EMU8086;应用
正文:
一、软件介绍
Emu8086是Windows平台的一款80x86CPU模拟。Emu8086为8086 microprocessor emulator(8086微处理器模拟器),它是Windows平台的一款80x86CPU模拟器,可以用于8086CPU的模拟运行。Emu8086便是输入80X86汇编语言的并模拟其真实CPU工作的软件,不过这里的模拟并不是100%的和真实一模一样,比如遇到中止的机器码,模拟器不会中止退出,只会提醒输入代码程序halt。同样,由于是模拟的,那么模拟器中的内存大小、CPU频率等实际问题也是理想化的(可以自己设定,毕竟环境是模拟的嘛),而不是实际的。总而言之,由于它是一个模拟器,所以它提供了一个模拟的环境,可以使用汇编语言,并提供了一系列的功能可以了解CPU的实际工作
《微机原理》课程是目前高校计算机专业及其相关专业学生必修的一门专业基础课,是学生学习后续课程、毕业设计和今后工作的重要技术基础。该课程的任务是以美国Intel公司生产的16位 CPU8086 为主线,介绍微型计算机的硬件结构、工作原理、汇编语言程序设计方法及微型计算机的接口技术[1]。由于该门课程对实践动手能力要求高,涉及的信息量大、知识点多、教学内容较抽象,学生普遍反映该门课很难学。
二、运用方法
1.在开始菜单选在它的图标,或者直接运行Emu8086.EXE。
2.在"FILE"菜单中选择"SAMPLE"。
3.点击"Compile and Emulate"按纽(或者按快捷键F5)。
4.点击"Single Step"按纽(或者按快捷键F8),可以查看代码如何运行。通用寄存器。
三、EMU8086与微机原理的衔接
在汇编中,EMU8086是必要使用的软件,对于微机原理中的所有指令都支持,在8086CPU有8个通用寄存器,每一个寄存器都有自己的名称:
1、AX 累加寄存器(分为 AH / AL)。2、BX 基址寄存器(分为 BH / BL)。
3、CX 计数寄存器(分为 CH / CL)。
4、DX 数据寄存器(分为 DH / DL)。
5、SI 源变址寄存器
6、DI 目的变址寄存器。
7、BP 基址指针寄存器。
8、SP 堆栈寄存器。
1、寄存器 编程中,各通用寄存器的具体用途是由自己决定的。寄存器的主要目的是保存数值(变量)。上面提到的寄存器是16位的,4个通用寄存器(AX, BX, CX, DX)在使用时分为两个8位寄存器。当修改其中任意8位值,整个16位寄存器的值同样改变。同样对于其他的3个寄存器,“H”表示高8位,“L”表示低8位。寄存器在CPU内部,访问中它们速度远远超过内存。因为,访问内存需要经过系统总线,所以时间要长一些。而访问寄存器中的数据几乎不需要时间。于是,编程中,应当尽量在寄存器中保存数据。虽然寄存器很小,并且这些寄存器都有具体用途,但他们依然是存放计算中临时数据的好地方。
段寄存器
2、CS 代码段寄存器,用来存放当前正在运行的指令 DS 数据段寄存器,用来存放当前运行程序所用的数据 ES 附加段寄存器,由自己决定用途 SS 堆栈段寄存器,指出堆栈所在区域。而由两个寄存器生成的地址被称为有效地址。
但是默认下,BX, SI 及 DI 与 DS协同工作,BP SP 与 SS 寄存器协同工作。其余的通用寄存器不能形成有效地址。同样,尽管BX可以形成有效地址,但是BH BL不能!IP 始终同CS 协同工作,指出当前执行的指令。Flags Register 完成一次数学运算后,由CPU自动修改,通过它可以得到当前结果类型,也可以作为跳转语句条件。
3、寻址方式,可以通过下面的四个寄存器来寻址 BX, SI, DI, BP。通过计算[]符号中的值,我们可以访问到不同内存单元的值。偏移量可以是一个立即数或者是一个变量的偏移,或者二者兼备。偏移量可以在[]符号里面或者外面。偏移量是一个有符号数,可以是正数或者负数。默认下,DS 寄存器应用在除了BP寄存器之外的所有物理地址计算中,寄存器是和SS寄存器一起工作的。
4、调用中断,中断是一系列功能调用。比如,在打印机上输出一个字符,只需要简单的操作它将完成所有的事情。另外还有控制磁盘和其他硬件工作的中断。这些功能调用称作软件中断。不同的硬件同样可以触发中断,这些中断称作硬件中断。在调用一个中断的子功能之前,需要设置AH寄存器。每一个中断最多可
以拥有256个子功能。一般情况下使用AH寄存器,但是一些情况下可能使用另外的寄存器。通常,其他的寄存器是用来传递数据和参数的。
5、控制程序,控制程序走向是非常重要的事情,它是你的程序根据条件作出判断,跳转到相应的位值。无条件跳转控制程序转向的最基本的指令是JMP。
四、实例应用
实例 1:EMU8086 用于汇编程序设计的典型实例:用汇编程序实现将表达式5+10-1 的结果 14 用二进制形式(00001110)在屏幕上显示出来。
分析:本程序通过 8086CPU 内的寄存器及加法指令ADD减法指令 SUB 可方便地实现表达式的计算,再通过调用 21H 中断将结果对应的二进制数的每一位显示出来。利用EMU8086仿真软件可通过模拟的方式快速地进行编译、调试及运行,实现表达式结果的显示。操作过程如下:
(1)打开 EMU8086,在用户工作区输入源程序。
code segment
assume cs:code
start: mov al,5
mov bl,10
add bl,al
sub bl,1
mov cx,8
print: mov ah,2
mov dl,'0'
test bl,10000000b
jz zero
mov dl,'1'
zero: int 21h
shl bl,1
loop print
mov dl,'b'
int 21h
mov ah,0
int 16h
code ends
end start
(2)将输入的源程序存盘,然后点击Emulate按钮,EMU8086自动完成对源程序的编译、连接,若有错则给出错误信息。正确连接后,自动进入到指令的调试界面。
(3)在该窗口单击 single step 按钮可方便地观察到指令单步执行后 CPU 内部所有通用寄存、段寄存器、标志寄存器和算术逻辑单元ALU 中的值和数据的传递,还可看到汇编后生成的机器码及每条指令在内存中所占存储单元的物理地址,非常形象直观地展示了 CPU 工作的状态变化和工作原理。用户也可以单击 run 按钮运行该汇编程序。
实例2:CPU与外设间的信息交换是通过接口来实现的,EMU8086内置用java,visual basic等编程语言编写的虚拟外设,CPU对它们的访问可通过图1交通灯示意图
端口地址来进行。如EMU8086内置的外设交通灯,其端口地址为4,对应图1中十字路口东西南北四个方向的红绿黄共12 盏灯,通过对交通灯端口送l6位控制字控制相应灯的开或关,控制字的低12位对应图1中12盏灯,高4位无实际意义全置为0,对低12位的相应位置1可设置对应的灯为开,置0为关。现要求编程实现先让4个方向的红灯全亮,然后让南北方向绿灯全亮,让南北方向车辆可通行,同时东西方向的红灯全亮,禁止东西方向车辆通行,E述状态延时5秒后,交换为南北红灯全亮而东西方向绿灯全亮,再南北绿灯亮东西红灯亮,这样循环往复,实现对十字路口的交通控制。
该程序源代码如下:
#start=Trafic—
Lights.exe#
mov,all—
red
out 4,ax
mov si,offset situation
next:
mov ax,[si]
out 4,ax
mov CX,4Ch ; ~ C4B40h =
5,000,000
mov dx,4B40h
UlOV ah,86h
int 15h
add si,2 ;next situation
cmp si,sit_
end
jb next
mov si,offset situation
jmp next
; FEDC— BA98_
7654_ 3210
situation dw 0000_
001 1
_
0000_ 1 100b
sl dw 0000
_ 01 10—
1001— —
1010b
s2 dw 0000_ 1000_
01 10_
0001b
s3 dw 0000_
1000_ 01 10_
0001b
s4 dw 0000_
0100—101_
001 lb
sit— end=$
all—
red equ 0000_ 0010_ 0100_
1001b
在EMU8086用户工作区录入源码并运行后
总结:
基于 EMU8086 可完成多项微机原理及接口实验,主要有汇编语言、并行 I/O 接口、硬件中断、软盘读写、系统启动代码、操作系统等实验。虚拟的外设主要有五位七段数码管、并行接口打印机、移动障碍物机器人、并口数据收发器、步进电机、温度控制模型。其中汇编语言、并行 I/O 接口、硬件中断是信息类本科生基本的学习内容,数码管、电机等外设是实验中典型的外设。通过这些基本接口和外设,可辅助学生学习微机原理及接口技术。较复杂的接口和外设可组合出不同的拓展实验,提高学生的综合应用能力。这些接口和外设所对应的实验在 4.08 版本中验证通过。
EMU8086 的工作界面为很简洁,它能模拟真实微处理器工作的每一步骤,通过单步调试显示指令执行后 CPU 内部寄存器、存储器、堆栈、变量和标志寄存器的当前值,操作简单直观,通过它我们可以很快掌握汇编程序设计和接口技术等知识。在实验过程中也是我们学习到了很多知识,很多课堂上不是很了解的知识也得到了清晰地理解。与实验室里的星研比较,EMU8086有着很大的优势,在编译、运行的步骤上尤为简单。因此实验过程中,我们一直用的是EMU8086来编写实验代码,然后进行相应的分析,很少用到星研。
致谢:
在微机原理课程的学习过程中,丁老师给我们细心讲解了一个个重要的知识点,并为我们一一解答了我们学习过程中遇到的问题及疑惑。因此在本学期结束之际,再三感谢丁老师给予我及同学们在学习上的帮助和支持!
参考文献:
[1] DAVID C.Virtualization for Windows:A Technology Over-view
[EB/OL].(2009-08-03).http:///writing/white_ papers.php.[2] 孙 卫.虚拟技术综述[J].数字图书馆论坛,2009(7):34-38.[3] 谷兆麟.基于 EMU8086 的微机系统的辅助学习方法[J].天津工程师范
学院学报,2006,16(4):26-27.[4] 戴梅鄂.微型计算机原理及接口技术[M].4 版.北京:清华大学出版社,2003:1-20.[5]周荷琴,吴秀清 微型计算机原理与接口技术.合肥:中国科技大学出版社,2008
第五篇:ADS_版图仿真软件经验总结
1、momentum求解模式有:常规mode(MW mode)和RF mode,其中RF mode适用于频率较低时,仿真速度较快。两种mode的切换在momentum RF菜单的enable RF mode和disable RF mode。
2、momentum中substrate的设置:分为介质层(substrate layer)的设置和金属层(metallization)的设置。介质层的设置比较简单,在金属层的设置中采用映射(map)的概念,将layout中画的各个层(比如cond,cond2,resi,hole等)映射到电路板中具体的金属层中。每个层的属性可以为strip(带状线)或slot(开槽线),还有一种是过孔(via),过孔层应将其映射到对应的两个金属层之间的介质层中。
3、momentum中options preference的常用设置:网格(Grid)的间距和显示,端口(port)和地(ground)在layout中的显示大小,layout窗口背景色(background color),丝印层文字的显示大小,layout的单位(unit)等。基本上我就只用到这些,不过还有很多其他的设置。
4、在 momentum RF菜单的Post processing->Visualization中可以观看所建模型的3D效果图,并可以直观的看电流的分布,S参数等。不过这个3D操作起来还是没有HFSS爽
5、momentum网格剖分(mesh):可以对不同层,不同的单元(primitive)进行不同规格的网格剖分,以节省仿真时间。
6、momentum S parameter仿真中的频率扫描:这里需要注意的是选择自适应(adaptive)扫描(AFS:adaptive frequency Sweep)时,将生成两个数据文件,一个是以 layout名字_mom 命名的文件,其中只包含所设置的频率扫描点,在显示时默认显示这些点的连线,也可以修改trace options只让他显示扫描的几个点,还有一个以 layout名字_mom _a命名,这里除了上述频点以外,还内插了很多频点。而且在一段频段内扫描的同时,还可以对其中感兴趣的频点(single)进行仿真。如果要看远场辐射,只能进行单频点仿真,再选择Post processing->Radiation Pattern.7、momentum中port的设置:port一般默认设置为single,因为对于扫描的各个频点,每个port会需要额外的二分之一波长的空间,因此如果没有足够的空间,软件会把single自动变为internal。每个port进过port editor设置以后都会在layout中出现一条白色的校准线(calibrate line)。port还有差分,共模,参考地等类型,其中差分和共模需要成对出现,在port的associate port number中设定成对的端口号
8、ADS原理图和layout联合仿真的几种方法:
第一种方法是通过look alike,在layout的momentum的component->creat/update中进行设置,包括其在原理图中显示的大小(size),基板(substrate)设置等。的其中需要注意的是momentum中只能绘制微带线,带状线之类能用于矩量法剖分的元件,而对带封装的电阻,电容,电感等其他器件不能在layout中进行矩量法仿真,我在仿真一个滤波器的时候将电感电容加在一起进行矩量法仿真,结果完全不对,估计是软件将电感电容也进行剖分了,而不是调用其S参数。layout中绘制的应该就像一块没有焊接任何元件的电路板,需要通过look alike调进原理图,再在每个焊点连上各种元件,进行仿真。其中需要在layout的每个元件的焊点都加上port。通过look alike 既可以对无源,有源电路进行仿真,还能考虑到连线,布局的分布参数效应,这正是ADS的强大所在,我刚发现这一功能的时候曾经相当激动,呵呵
第二种方法是通过SNP,在data item中的SNP控件可以导入layout仿真所得到的S参数模型,格式为xxx.ds。不过这个只适用于layout图中不用连接电阻,电容等元件的情况下,所以我更喜欢第一种。
9、momentum绘制导线或各种其他形状是可以点击insert->cordinate entry,通过输入坐标,使得绘制更加精确
10、momentum中元件的参数设置和参数优化:这部分至今没有搞明白,感觉momentum的参数设置相当麻烦。待以后继续学习,这方面懂的人麻烦多多赐教啊。