《(2.3)--课外拓展资料之一(3)Proteus SM帮助文档单片机原理及应用.pdf》由会员分享,可在线阅读,更多相关《(2.3)--课外拓展资料之一(3)Proteus SM帮助文档单片机原理及应用.pdf(180页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、1目录目录第第 1 章章 介绍介绍.101.1 关于 PROTEUS VSM.101.2 关于本文档.10第第 2 章章 使用指南使用指南.112.1 交互式仿真指南.112.1.1 介绍.112.1.2 绘制电路图.112.1.3 编写程序.122.2 基于图表的仿真.152.2.1 介绍.152.2.2 开始.152.2.3 激励源.162.2.4 探针.172.2.5 图表.172.2.6 仿真.172.2.7 测量.182.2.8 使用电流探针.182.2.9 频率分析.182.2.10 扫描变量分析.192.2.11 噪声分析.19第第 3 章章 交互式仿真交互式仿真.213.1 基
2、本技能.213.1.1 仿真控制按钮.213.1.2 指示及执行.213.1.3 建立一个交互式仿真.223.2 测量.243.2.1 概况.243.2.2 动画效果.243.2.3 指示和显示参数信息.263.2.4 虚拟仪器.273.3 动态步进控制.273.3.1 概况.273.3.2 仿真帧率.273.3.3 帧步进时间.283.3.4 单步时间.2823.4 亮点和提示.283.4.1 电路时间尺度.283.4.2 电压范围.283.4.3 接地.293.4.4 高阻抗点.29第第 4 章章 虚拟仪器虚拟仪器.304.1 虚拟示波器.304.1.1 总述.304.1.2 示波器的使用
3、.314.1.3 使用模式.314.1.4 示波器的触发.324.1.5 输入耦合.324.2 逻辑分析仪.324.2.1 概况.324.2.2 使用逻辑分析仪.334.2.3 缩放和全局显示.344.2.4 测量.344.3 虚拟信号发生器.344.3.1 总述.344.3.2 使用信号发生器.354.3.3 使用 AM、FM 调制输入.354.4 模式发生器.364.4.1 总述.364.4.2 使用模式发生器.364.4.3 模式发生器的引脚说明.374.4.4 时钟模式.384.4.5 触发模式.384.4.6 外部保持.404.4.7 附加功能.404.5 定时/计数器.424.5.
4、1 概述.424.5.2 使用定时器.434.5.3 使用频率计算模式.434.5.4 使用计数器.444.6 虚拟终端.444.6.1 概述.444.6.2 使用虚拟终端.454.6.3 MAX232 模型.464.7 I2C 调试器.474.7.1 概述.474.7.2 器件引脚界面说明.4734.7.3 I2C 调试窗口.474.7.4 发送和接收数据.494.7.5 模型的特性.504.7.6 语法参考.504.8 SPI 调试器.504.8.1 简述.504.8.2 原理图部件:.514.8.3 SPI 调试窗口.514.8.4 模型的特性.534.8.5 使用 SPI 调试器.54
5、4.9 电压表和电流表.55第第 5 章章 微处理器仿真微处理器仿真.565.1 基于 Proteus VSM 源代码调试.565.1.1 概述.565.1.2 源代码窗口.565.1.3 支持的仿真文件格式.585.1.4 单步执行.595.1.5 使用断点.605.1.6 变量窗口.605.1.7 多个 CPU 仿真.625.2 源代码控制系统.635.2.1 概述.635.2.2 创建源代码文件.635.2.3 在源代码上工作.635.2.4 安装第三方目标代码生成工具.645.2.5 使用 MAKE 程序.645.2.6 使用第三方源代码编辑器.655.2.7 使用第三方 IDE.65
6、5.2.8 调试工具.665.3 观测窗口.705.3.1 给观测窗口增加项目.705.3.2 观测点条件.715.4 断点触发.725.4.1 建立硬件断点.725.4.2 电压断点触发(RTVBREAK).735.4.3 电流断点触发(RTIBREAK).735.4.4 数字断点触发(RTDBREAK).735.4.5 电压监测器(RTVMON).745.4.6 电流监测器(RTIMON).74第第 6 章章 基于图表的仿真基于图表的仿真.756.1 介绍.7546.2 建立一个基于图表的仿真.756.2.1 概况.756.2.2 绘制电路.756.2.3 放置探针和发生器.756.2.4
7、 放置图表.766.2.5 在图表中添加轨迹.776.2.6 仿真过程.776.3 图表对象.786.3.1 概况.786.3.2 当前图表.786.3.3 放置图表.786.3.4 编辑图表.786.3.5 在图表中添加轨迹.786.3.6 添加曲线命令对话框.796.3.7 图表轨迹编辑.806.3.8 改变轨迹的顺序或颜色.806.3.9 手工 Y 轴设置.806.4 仿真过程.816.4.1 命令驱动仿真.816.4.2 执行仿真.816.4.3 仿真开始后发生的事件.82第第 7 章章 分析类型分析类型.847.1 介绍.847.2 模拟信号瞬态分析.857.2.1 概述.857.2
8、.2 计算方法.857.2.3 使用模拟图表.857.2.4 定义模拟轨迹表达式.877.3 数字信号瞬态分析.877.3.1 概述.877.3.2 计算方法.877.3.3 使用数字图表.897.3.4 数字数据的显示.897.4 混合模式瞬态分析.907.4.1 概述.907.4.2 计算方法.907.4.3 使用混合图表.917.5 频率分析.917.5.1 概述.917.5.2 计算方法.917.5.3 使用频率图表.9157.6 DC 扫描分析.937.6.1 概述.937.6.2 计算方法.947.6.3 使用 DC 扫描分析图表.947.7 AC 扫描分析.957.7.1 概述.
9、957.7.2 计算方法.957.7.3 使用 AC 扫描图表.957.8 DC 转移曲线分析.967.8.1 概述.967.8.2 计算方法.967.8.3 使用 AC 扫描图表.977.9 噪声分析.987.9.1 概述.987.9.2 计算方法.987.9.3 使用噪声分析图表.997.10 失真分析.997.10.1 概述.997.10.2 计算方法.997.10.3 使用失真分析图表.1007.11 傅立叶分析.1007.11.1 概述.1007.11.2 分析方法.1007.11.3 使用傅立叶分析图表.1017.12 音频分析.1017.12.1 概述.1017.12.2 分析方
10、法.1017.12.3 使用音频分析图表.1017.13 交互式分析.1027.13.1 概述.1027.13.2 计算方法.1027.13.3 使用交互式分析图表.1027.14 数字一致性分析.1037.14.1 概述.1037.14.2 分析方法.1037.14.3 使用数字一致性分析图表.103第第 8 章章 激励源和探针激励源和探针.1078.1 激励源.1078.1.1 概述.1078.1.2 放置激励源.1078.1.3 编辑激励源.10868.1.4 直流激励源.1088.1.5 正弦激励源.1088.1.6 脉冲激励源.1098.1.7 指数激励源.1098.1.8 单频率调
11、频激励源.1108.1.9 分段线性激励源.1108.1.10 文件激励源.1118.1.11 音频激励源.1128.1.12 数字激励源.1128.2 探针.1138.2.1 概述.1138.2.2 探针放置.1138.2.3 探针设置.113第第 9 章章 脚本化信号源脚本化信号源.1149.1 前言.1149.2 创建、编辑及调试 EasyHDL 脚本.1159.3 程序结构.1199.4 语法图解析.1209.5 使用 EASYHDL 规定模拟信号.1219.5.1 声明输出.1219.5.2 程序流.1219.5.3 规定输出转换.1239.6 使用 EASYHDL 规定数字信号.1
12、249.6.1 声明输出.1249.6.2 程序流.1249.6.3 规定输出转换.1259.7 变量.1269.7.1 变量声明.1269.7.2 数据类型.1279.7.3 字符串类型.1279.7.4 BOOL 及 PIN 类型.1279.7.5 节点类型.1289.7.6 指定变量.1299.8 表达式.1309.8.1 操作符.1309.8.2 值.1319.8.3 函数.1329.9 系统常量及变量.1339.9.1 数据常量.1339.9.2 事件 ID 常量.1339.9.3 网络状态常量.13479.9.4 PIN 及 BOOL Pin 活动常量.1349.9.5 TDSCA
13、LE 系统变量.1349.9.6 RANDOM 系统变量.1349.9.7 REALTIME 及 EVTTIME 系统变量.1359.10 命令参考.1359.10.1ABORT 命令.1359.10.2ALIAS 命令.1359.10.3 BREAK 命令.1369.10.4 CALLBACK 命令.1379.10.5 CONTINUE 命令.1389.10.6 DATA 命令.1389.10.7 END 命令.1399.10.8 FOR.TO.STEP.NEXT 命令.1399.10.9 GOTO 命令.1409.10.10 IF.ELIF.ELSE.ENDIF 命令.1419.10.11
14、 MAP ON.ENDMAP 命令.1429.10.12 ON BOOT.ENDON 命令.1439.10.13 ON EVENT.ENDON 命令.1449.10.14 ON TIMER.ENDON 命令.1459.10.15 PRINT 命令.1469.10.16 READ 命令.1469.10.17 REM 命令.1479.10.18 REPEAT.UNTIL 命令.1479.10.19 RESTORE 命令.1489.10.20 SEED 命令.1499.10.21 SLEEP 命令.1499.10.22 SWITCH.ENDSW 命令.1509.10.23 TIMER 命令.1519
15、.10.24 WAIT 命令.1529.10.25 WHILE.WEND 命令.152第第 10 章章 SPICE 模型的应用模型的应用.15410.1 前言.15410.2 使用一个 SPICE 模型(模型卡).15510.3 SPICE 模型库.15510.4*SPICE 脚本.15610.5 模型仿真失败的处理.156第第 11 章章 进阶进阶.15811.1 温度模型.15811.2 固化模型数据.15811.3 地和电源范围.15811.3.1 为什么需要一个地.158811.3.2 电源.15911.4 初始条件.16011.4.1 前言.16011.4.2 设定一个网络的初始条件
16、.16111.4.3 设定器件的初始条件.16111.4.4 NS(NODESET)属性.16111.4.5 PRECHARGE 属性.16211.5 数字仿真范例.16211.5.1 九态逻辑.16211.5.2 不确定状态.16311.5.3 浮空输入行为.16311.5.4 毛刺的处理.16311.6 混合模式接口模型(ITFMOD).16511.6.1 概述.16511.6.2 使用 ITFMOD 属性.16611.7 录音机和电路分区.16711.7.1 概述.16711.7.2 单个部分的仿真.16711.7.3 录音机对象.16811.7.4 录音机模式.16811.8 仿真控制
17、属性.16911.8.1 概述.16911.8.2 误差属性.16911.8.3 MOSFET 属性.17011.8.4 迭代属性.17011.8.5 温度属性.17011.8.6 数字仿真器属性.17011.9 仿真模型的类型.17111.9.1 如何描述器件含有模型.17111.9.2 原型模型(Primitive Models).17211.9.3 原理图型模型(Schematic Models).17211.9.4 VSM 模型(VSM Models).17311.9.5 SPICE 模型(SPICE Models).17311.10 如何提高交互仿真的速度.17411.10.1 前言
18、.17411.10.2 使用数字的电阻和二极管模型.17411.10.3 优化外部 RAM 和 ROM 的访问.176第第 12 章章 错误处理错误处理.17812.1 仿真日志.17812.2 网络表错误.17812.3 链接错误.178912.4 分区错误.17912.5 电源范围定义错误.17912.6 仿真错误.17912.7 收敛问题.17910介绍介绍关于关于 PROTEUS VSM传统的电路仿真是一个非交互性事件,网络表需人工准备,得到的仿真结果也仅仅是大量的数字代码,最多可以得到用符号构成的伪图形输出来显示电压和电流的波形。现在的原理图输入及图形输出都已经有了标准可循,但是仿真
19、的过程仍然是一个非交互的过程绘制电路,运行并得到一些仿真输出结果。如果你测试的电路是一个静态过程的话,这是一个非常好的方式;比如 1MHZ 的振荡器。然而现在的很多设计是交互式的过程,比如说一个报警器,(当键盘上有错误的 PIN 输入时,报警器能进行报警工作)。这种仿真是没有办法实现的。现在教育圈一直在进行一个尝试,就是将电路像现实一样做交互式仿真。其中最大的困难是用于交互的动态器件很难建模。现在只有一些简单的模型,比如开关、灯、电机等,在专业电路设计中这些模型还远远满足不了要求。再者,电路仿真缺少许多的信息,比如核心器件数字模型中的定时信息。PROTEUS VSM 很好的提供了解决方案。它基
20、于工业标准 SPICE3F5,含有动态器件的高级混合电路仿真器。另外还提供一个结构,用户可以据此创建动态模型。很多种类的动态模型无需编程直接建模。有了动态模型,使用者可以像实际设计一样对电路进行交互式仿真。PROTEUS 有一大批仿真模型,包含现在主流的处理器、一系列接近现实元件的动态模型(比如LCD、LED 显示,键盘,RS232 终端等)。这样,使用者无需架构硬件电路及仿真设备,直接设计的单片机系统,编写程序,运行仿真,减少产品的开发周期。现在的 PC 的处理能力已经得到了飞速发展。一个 300MHZ 的奔腾 II 的 PC 可以实时的仿真一个简单的单片机系统。当然有些稍微复杂一些的设计对
21、仿真环境要求苛刻一些,这时使用者应清楚仿真与现实实时性的差别。如果你注重实时性,你可以购买一个 2GHz 双核 PC 机。但是这仍然不足以能完全实时交互仿真。关于本文档关于本文档这个手册包括一些背景知识及操作指南。帮助使用者更快的掌握 VSM 仿真。PROTEUS VSM 有两种仿真方式:交互式仿真和基于图表仿真。一般来说,交互式仿真主要用来验证设计电路是否正常工作。高级图形仿真主要用来测量一些电路细节。当然设计中也可以同时使用两种仿真方式。手册中有一些例子,使用者可以按照说明按部就班来学习软件的基本使用。注:对于 VSM 模型构建,在 VSM SOFTWARE DEVELOPMENT KIT
22、(SDK)中有详细的说明,它作为一个在线资源提供给正版用户。11使用指南使用指南交互式仿真指南交互式仿真指南介绍介绍这个指南通过制作一个例子,展示怎样使用 PROTEUS VSM 进行交互式仿真。其中的重点是动态器件的使用及 ISIS 编辑器源码调试,ISIS 的一些基本操作在 ISIS 帮助手册中有详细的说明。这个电路是一个交通灯控制系统,使用的芯片是 PIC16F84。原理图如下:这个原理图可以在 PROTEUS 安装文件夹下的 SamplesTutorials下找到,也可以直接手工绘制。绘制电路图绘制电路图1 放置元件:放置元件:新建一个原理图设计,选择 component 模式按钮,再
23、点击对象选择窗口上的P钮进入元件库中。在 KEYWORD 对话框中输入关键词,比如说输入 TRAFFIC,在结果窗口就会显示查找的结果,双击查询结果,对应元件就会添加到对象选择列表当中。用同样的方法添加PIC16F84。当把原理图所有的元件的都选择添加好以后,将元件摆放到原理图编辑窗口当中,其中TRAFFIC LIGHTS 放置两次,PIC 放置一次。(选中元件,其呈高亮状态,在预览窗口将出现元件预览。)122 移动和旋转:移动和旋转:移动:将鼠标移到元件上,右键单击(元件呈高亮状态),按住鼠标左键并移动元件,松开左键,元件位置就确定下来。注意一点,这时元件还处于选取状态,再点击左键,元件再次
24、放置。旋转:右键选中元件,元件呈高亮状态,再在旋转按钮框中点击一种旋转方式,元件就会以 90 度进行旋转。缩放及捕捉:缩放:在 VIEW 菜单下含有四种缩放方式:按 F6 或单击 ZOOM IN 按钮,鼠标所在周围放大。按 F7 或单击 ZOOM OUT 按钮,鼠标所在周围缩小。按 F8 或单击 ZOOM ALL 按钮,返回整张设计图。单击 ZOOM TOAREA,可以选择一部分进行放大。按住 SHIFT 键并用鼠标左键拖曳一个框,释放 SHIFT 键后就会放大到所选区域。捕捉:ISIS 中有一个强大个功能是实时捕捉。当鼠标靠近引脚时,系统会自动进行捕捉。极大的方便原理图的绘制。该功能在 To
25、ol Manu 中,默认是打开的。3 连线:连线:导线绘制过程:1 选中连线模式:导线还是总线;2 点击起点及终点,系统自动拉出导线。3 导线复制:双击起点,系统走出和上一条导线相同的轨迹。4 对导线进行拖曳,调整导线位置。编写程序编写程序1 程序编辑程序编辑PROTEUS 自带多种汇编编辑编译系统,使用编辑环境输入下列 PIC 汇编源代码:LISTp=16F84;PIC16F844 is the target processor#include P16F84.INC;Include header fileCBLOCK 0 x10;Temporary storageStatel1,l2ENDC
26、org0;Start up vector.gotosetports;Go to start up code.org4;Interrupt vector.haltgotohalt;Sit in endless loop and do nothing.setportsclrw;Zero in to W.13movwfPORTA;Ensure PORTAis zero before we enable it.movwfPORTB;Ensure PORTB is zero before we enable it.bsfSTATUS,RP0;Select Bank 1clrw;Mask for all
27、bits as outputs.movwfTRISB;Set TRISB register.bcfSTATUS,RP0;Reselect Bank 0.initialiseclrw;Initial state.movwfstate;Set it.loopcallgetmask;Convert state to bitmask.movwfPORTB;Write it to port.incfstate,W;Increment state in to W.andlw0 x04;Wrap it around.movwfstate;Put it back in to memory.callwait;W
28、ait:-)gotoloop;And loop:-);Function to return bitmask for output port for current state.;The top nibble contains the bits for one set of lights and the;lower nibble the bits for the other set.Bit 1 is red,2 is amber;and bit three is green.Bit four is not used.getmaskmovfstate,W;Get state in to W.add
29、wfPCL,F;Add offset in W to PCL to calc.goto.retlw0 x41;state=0 is Green and Red.retlw0 x23;state=1 is Amber and Red/Amberretlw0 x14;state=3 is Redand Greenretlw0 x32;state=4 is Red/Amber andAmber.;Function using two loops to achieve a delay.waitmovlw5movwfl1w1callwait2decfszl1gotow1returnwait2clrfl2
30、w2decfszl2gotow2returnEND注意:上面的程序故意设置了一些错误的代码,以便后面调试使用。142 链接编译源文件链接编译源文件编辑好源程序后,进行源程序链接编译工作,整个过程如下:1 点击 SOURCE MENU 菜单下 ADD/REMUVE SOURCE FILE,在代码生成工具下拉菜单选择 MPASM,新建一个汇编程序,导入刚才编好的 TL.ASM 汇编文件。2 单击 SOURCE 菜单下 BUILD ALL 命令,如果程序没有错误,MPASM 会生成 HEX 格式的文件。3 编辑处理器属性中的 PROGRAM 属性,将生成的 HEX 文件添加到该对话框中。*这样我们就
31、完成了程序的编辑编译以及和处理器模型的连接。3 调试程序调试程序a Simulating the Circuit(仿真电路仿真电路)点击仿真盘框中的运行按钮。电路进入仿真状态,观察电路运行效果,你会发现开始一个交通灯是绿色而一个交通灯为红色,此后交通灯再也不会改变显示状态,这说明是程序存在 BUG,需要经过调试改正。bDebugging Mode(调试模式调试模式)按 CTRL+F12 或点击暂停或单步使电路从仿真状态切换到调试状态。在默认设置下系统会弹出两个窗口,一个是源程序调试窗口,另一个是寄存器窗口。另外一些调试窗口可以通过 DEBUG 菜单选出显示;其中使用者可以直接在 WATCH W
32、INDOW 中添加自己比较关心的变量进行实时监测。程序执行到某处,在该行程序的最多边会有一个红色的箭头出现,这行程序呈处于高亮状态。c Setting a Breakpoint(断点设置)(断点设置)观察程序可以发现它以一个重复周期循环。因此我们首先在循环的起点设置一个断点是个好主意。用鼠标使该行(地址 000E)高亮,然后按 F9 就可以设置断点。然后按 F12 使程序运行。你就可以从 Status Bar 看到执行到数字断点的消息以及程序计数器(PC)地址。这和我们设置的第一个断点的地址是对应的。在 Debug 菜单下有一系列的调试键,但是多数时候我们用 F11 来单步运行程序。现在单击
33、F11并注意左边的红色箭头下移到下一条指令。我们所做的是运行到“clrw”指令并停下。通过观察寄存器窗口的 W 寄存器并注意它的值被清零,你可以校验指令的运行。现在我们需要做的,是决定我们希望下一条指令做什么,并测试实际上做了没有。例如,下一条指令将吧“w”寄存器的内容传送到端口 A,端口 A 应该被清零。运行这个指令并检查寄存器窗口可知实际就是这样执行的。继续这个线索直至到达我们设置的第二个断点,你可以注意到两个端口都被清零为输出(如 TRISB 寄存器所命令的那样),状态变量正确地被设为 0。由于这是个函数调用,我们可以使用 Stepping Over 选项跳过函数(通过单击 F10 键)
34、,但是为了完整我们单步运行每条指令。在这里单击 F11 就跳到 getmask 函数的第一条指令。向前单步执行我们看到传送指令成功执行,我们落在正确的位置,为查表添加 0 偏移值。当我们返回主程序后,15我们得到期望的屏蔽值。继续单步执行把屏蔽值写到端口,我们可以在原理图上看到正确的结果。再次单步执行,在寄存器窗口 W 寄存器的值加 1,显然状态也成功地加 1。单步执行,程序设计为增加到 3 后绕回 0。就像在 Watch Window 看到那样,这并没有按照应有的方式运行。为了在下一循环中正确地设置屏蔽值,状态在这里应该清楚地被加 1。dFinding the Bug(查找(查找 Bug)仔
35、细地分析就暴露了问题的原因是和 4 相与而不是 3。我们希望的状态是 0,1,2,3 任何这些数与 4 相与都是 0。这就是为什么我们运行仿真时交通灯没有变化。解决方法很简单,就是把错误指令改为和 3 相与而非 4。这意味着状态增加到 3 也就是 W 寄存器增加到 4 时状态返回到 0。另一种简单的解决办法是当“W”寄存器到 4 时把它清零。通过这个 ProteusVSM 调试技术的小例子说明了基本的技巧,还有更多的功能可用。建议你参考“源代码调试”一节以获得更加详细的资料。基于图表的仿真基于图表的仿真介绍介绍以一个放大电路的例子,展示怎样使用 PROTEUS VSM 做基于图形的仿真,基本过
36、程:1 放置图表、探针及激励源。2 运行仿真。3 用图表显示仿真结果。4 对图形做测量分析。开始开始下图是我们准备仿真的基于 741 的音频放大电路,图中 741 工作在单 5V 供电的非正常状态。反馈电阻 R3 和 R4 决定了其增益为 10。R1、R2 和 C1 作为偏置器件,在反相端设置了虚地基准,并对信号去耦。这里,我们先对这个电路做瞬态分析。瞬态分析是一种最常用的分析。在给顶激励信号的情况下,计算电路的时域响应,图表显示随时间变化的电压电流值。这种分析是非常有用的,它提供一个电路的大量的信息。其他的分析也可以以瞬态分析作为参照。16激励源激励源测试这个电路,需要合适的输入。PROTE
37、US 带的激励源可以提供所需要的信号。点击 GENERATOR 按钮,对象选择器中会列出支持的激励源。对于这个电路,我们需要一个脉冲发生器。选择脉冲的类型,在编辑窗口中选择放置位置,点击左键确认,再进行连线。激励源的操作和 ISIS 的元件操作是一样的,在选取放置时也可以进行编辑、移动、旋转、删除等操作;另外,激励源可以放置在已经存在的导线上,也可以放置好后再连线;在连线时激励源终端名称会自动命名。最后,编辑激励源,得到想要的脉冲(此处设置高电平为 10mV,脉冲宽度为 0.5S)。*在 ISIS 手册中的 Generators and Probes 对各种激励源有一个详细的介绍。在原理图中激
38、励源的数目17是没有限制的。探针探针输入使用激励源,在需要监测的地方放置探针。在工具栏中选中探针类型(本例选用的是电压探针),放置在连线上,也可以放置好后再连线。探针放置和 PROTEUS 中的其他元件是一样的,在选中探针后,可以进行编辑、移动、旋转等操作。图表图表图表在仿真中起了一个非常重要的作用:它不仅是一个显示媒介,还起着仿真中约束条件的作用。通过多个不同类型的图表(电压、数字、阻抗等)得到不同的测试图形,对电路进行不同侧面的分析。做瞬态分析需要一个模拟图表(取名模拟是为了与数字图表区分)。混合模式图表可以同时做模拟和数字的分析。放置图表过程:放置图表过程:在工具栏中选择 GRAPH 按
39、钮,对像选择器显示分析的图形列表。选择 ANALOGUE 类型,在编辑窗口中鼠标左键拖拽出一个合适大小的图表窗口。你也可以像往常那样选中图表、对它进行大小和位置调整。在图表中添加激励及探针,有三种方式:1 选中探针/激励,将其拖曳进图表当中,系统会自动识别出添加的探针/激励。对于模拟分析,图线可能分别对应于左或右坐标,探针/激励要加在靠近坐标的一侧。2 使用 GRAPH 菜单中 ADD TRACE 命令,在对话框中探针选项中选择探针。(如果有多个图表,当前图表指的是选中的图表)。3 如果在原理图中已经有选中的探针,使用 ADD TRACE 命令时,系统会快速添加探针/激励。在开始仿真前,有必要
40、设定仿真时间,ISIS 会捕捉仿真时间内的波形。在此例中,电路输入是10KHZ 的方波(周期为 100us),在图表编辑窗口中有 START、STOP 时间选项,将其中默认的 STOP1S 改为 100us。仿真仿真使用 GRAPH 菜单下的的 SIMULATE 命令(或使用快捷方式 SPACE)进行仿真,图表生成仿真18曲线。仿真初始时间默认为 0,截止时间可以自己设置,在仿真中途可以按 ESC 退出。仿真日志包含了最后一次仿真的信息。可以用 GraphViewLog 或按 CTRL+V 查看。仿真日志提供了一些图线上无法表示的一些有用信息。测量测量在图表未选中状态下,左键单击图表绿色标题栏
41、,图表窗口最大化。图线的颜色与对应的标签颜色一致。要详细测量多条图线中的一条,可以将其标号拖曳到右边,此时,右坐标的刻度会更精细,图线也会被放大。此例中测量两个量:电压增益增益对应的时间差这些量都是通过坐标线来做的:每一个图表都可以设置两条坐标线,第一条是绿色基准坐标线,用左键直接点击产生;第二条是红色参考坐标线,用 CTRL+左键显示。坐标线出现后,可以在图表下方读出即时量值及电压增益、时间差等。使用电流探针使用电流探针使用电流探针测量电路中流向 R4 的小电流。电流探针和电压探针使用基本相似,但有一个小差别,就是电流探针有方向,放置探针时,其方向应该和实际电流方向呈水平状态,如果是垂直的话
42、会产生错误。选择电流探针按钮,调整好方向,置于流向 R4 的导线上,仿真运行后,我们可以看到反馈电流为 9.1*10e-8A,是符合整个运放电路设计要求的。频率分析频率分析除了瞬时分析,应用在模拟电路场合还有其他好几种图表。它们的使用方法一样。频率分析就是其中一种,频率分析的作用是分析电路在不同频率工作状态下电路的运行情况。在 PROTEUS 频率分析图表中,X 轴表示频率,两个 Y 轴表示幅值和相位。频率分析过程频率分析过程1 放置频率分析图表在工具箱中选择 SIMULATION GRAPH 按钮,在对象选择器中列出仿真分析图表。选择 FREQUENCY 仿真图形。在编辑窗口,按住左键,拖拽
43、出图表。2 添加探针由于频率分析图表有两个 Y 轴,左边表示频率,右边为相位,所以选择电压探针后,得19在左右两边都添加,才能同时显示出幅相特性曲线。在 PROTEUS 中幅相参考值的设定是通过 REFERENCE GENERATROR 来进行。一个参考激励源是 0dB(1 伏)、0 度。任何存在的激励源都可以指定为参考激励源,指定以后,电路中其他的激励源在频率分析过程中可以忽略不计。在这个电路当中,设定 IN 激励为参考,将其拖入图表当中。3 对图表属性进行编辑,在此例中,图表默认设置可以满足要求,无需做任何更改。4 按空格键运行仿真,观察得到的曲线,分析得到可用的频率范围是 50HZ 到
44、20KHZ。扫描变量分析扫描变量分析在 ISIS 中可以进行 DC 扫描和 AC 扫描。DC 扫描可以观察电路元器件参数值在使用者定义范围内发生变化时对应电路工作状态(电压或电流)的影响。AC 扫描显示的是元件参数发生变化时对电路频率特性的影响。由于两种扫描分析方法相似,这里我们只进行 DC Sweep。输入偏置电阻 R1 和 R2 影响着流入U1 的微小电流。DC Sweep 用来分析它们的值如何影响偏置点。在编辑窗空白处画出 DC Sweep 图表。将 U1(POS IP)探针选中并拖入图表。编辑图表,设置扫描变量名、起始值、终止值以及扫描步长。这里我们设置电阻值从 100k 到 5M。R
45、1 和 R2 的阻值也要从原来 470k 修改为 X,注意到图表中扫描变量也是 X。这样就可以运行仿真进行扫描分析了。同样地可以进行 AC Sweep 分析,比如分析在 50Hz 上分析这些电阻值变化对低频特性的影响。噪声分析噪声分析电阻或半导体元器件会产生温度噪声。ISIS 系统提供噪声分析,对每个器件产生的噪声计算出平方和,结果相对于噪声带宽呈现在图线上。噪声分析的一些特性:噪声分析的一些特性:仿真时间和电压探针数目存在比例关系。电流探针被忽略,不进行噪声分析。在仿真日志中会产生大量的仿真信息。PROSPICE 同时计算输入和输出噪声。对于前者,需要通过添加参考激励来建立一个参考量。这样就
46、能得出每个输出探针对应的等效输入噪声。在 741 这个电路中,我们先把 R1、R2 阻值还原为 470 千欧。添加噪声图表到原理图中,添加参考激励源,再添加电压探针(这里我们只关注输出噪声,所以只添加输出探针)。我们需要设置输入参考为输入激励 IN。在 Edit Noise Graph 对话框中,显示的单位是 dB。如果使用这个选项,那么0dB 等价于 1 伏。运行仿真。在最大化的图表中可以看到噪声分析的结果非常小(本例中是 pV 级)。在生成的仿真日志当中,除了电路总噪声外,还有每个独立单元产生噪声的列表,事实上多数单元都位于运放内部。在 Edit Noise Graph 对话框中选择 Lo
47、g Spectral Contributions 选项,可以获得更多的日志数据,20表示每个器件在每个频率点产生的噪声。21交互式仿真交互式仿真基本技能基本技能仿真控制按钮仿真控制按钮交互式仿真通过上图中的一组按钮控制,它们位于编辑窗口的右下方。如果控制按钮没有显示,可以从 GRAPH 菜单中 CIRCUITANIMATION OPTION 进行设置。按钮包含四个:1 PLAY:用来开始仿真。2 STEP:用来步进仿真。步进时间由 Animated Circuit Configuration 对话框设置。3 PAUSE:用来暂停仿真。(也可以通过 PC 键盘上的 PAUSE 按键暂停)4 ST
48、OP:用来停止实时仿真。(也可以通过 PC 键盘上 SHIFT-BREAK 停止)使用者可以设置仿真步进时间,通过相关设置可以更好的观察电路变化的细节。注意一点,单步按钮并不是指程序的单步执行,而仅表示一段时间内电路变化。在仿真过程当中,在状态栏中显示电路仿真时间及平均 CPU 负荷。如果 CPU 能力不足以进行实时仿真,CPU 负荷会显示 100%。如果没有错误,电路会按照设置的帧率自动进行仿真工作。指示及执行指示及执行除了常规的电子元件,交互式仿真还需使用到动态器件。这些动态器件包含一组图形状态,两种方式:指示及执行。INDICATORS(指示)显示电路参数变化时的图形状态,而 ACTUA
49、TORS(执行)允许用户决定状态并修改一些电路的参数。ACTUATORS 可以通过一个小红圈控制,通过鼠标点击来控制,也可以直接通过鼠标滚轮来确22定位置是否合适。建立一个交互式仿真建立一个交互式仿真在 ISIS 中绘制一个原理图,整个过程如下:1 在元件库中选择需要的元器件。通过库浏览器选择有仿真功能的元器件2 在对象选择窗口中左键选中元件,在编辑窗口中放置元件。在 ISIS 中放置元件3 选中元件,左键单击调出属性窗口,编辑属性。仿真前在 ISIS 中编辑元件属性4 处理器源代码调试:自带汇编器编译的代码可以在 PROTEUS VSM 的 SOURCE 菜单下调出源码,其他可以通过装载第三
50、方 IDE 生成的调试代码(COF,ELF,HEX 等)进行源码调试235 原理图连线6。删除:右键单击元件,从下拉菜单中选择删除元件。6 移动:选中元件,按住左键移动。8点击暂停键,仿真暂停,仿真时间归零。9在使用虚拟仪器、处理器 VSM 模型时,在仿真时 DEBUG 菜单下会多出若干命令,使用者可以添加自己关心的窗口进行观测。24测量测量概况概况在交互式仿真中可以运用下列测量方法:1 仿真效果2 指示操作参数信息3 电压/电流探针4 虚拟仪器动画效果动画效果就像电路中使用的动态器件一样,动画效果也可以帮助使用者学习电路的动作。这些选项可以通过 SYSTEM 菜单下的 SETANIMATIO