7-分析类型

更新时间:2023-12-24 09:21:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

第7章 分析类型

7.1 介绍

Proteus中有13种基于图表的分析方法,每一种都展示了PROSPICE支持的各种电路分析的结果: 与示波器非常相似,模拟信号分析图用于绘制电压和/或电流随时间变化的图形。另外,包含几个探针值的表达式的图形也可以绘制,例如:电流乘以电压的表达式可以绘制即时功率的图形。 此类分析通常称之为瞬态分析。 与逻辑分析仪非常相似,用于绘制随时间变化的逻辑电平的图形。描记线可以通过单一的数据位或一条总线的二进制值来表示。 数字图表使用事件驱动的仿真方法来计算。 在同一个图表中包含模拟和数字信号。 绘制小信号电压或电流随频率变化的图形,也即是波特图,可以显示幅度和相位的变化。另外,通过使用表达式,可以绘制输入和输出阻抗图。 注意:图中的值是相对于指定输入激励源的增益值。 绘制稳态工作点的电压或电流随扫描变量变化的图形。与模拟分析类似,可以绘制由多个探针值构成的表示式的图形。 绘制一簇对应于扫描变量每一个值的频率图。 通过扫描一个或两个输入激励源来绘制特性曲线或曲线簇,并绘制稳态的电压和电流值。第一个激励源变量值为X轴,第二个激励源变量的每一个变化值将生成一条曲线。 输入或输出噪声电压随频率的变化图。也产生单个噪声贡献的列表。 绘制2次谐波和3次谐波的频谱图。也可以绘制互调失真图。 显示瞬态分析的谐波成分。类似于频谱分析仪。 执行瞬态分析,然后通过PC机的声卡播放结果。也可以把电路的输出生成Windows的WAV文件保存。 执行交互式仿真,在图表中显示结果。本分析方法可以让你结合交互式仿真和基于图表的仿真的优点。 执行数字仿真,然后把结果与先前保存的一系列结果相比较。特别用于制作软件测试工具,来对基于微控制器的应用进行测试。 模拟信号分析 数字信号分析 混合模式分析 频率分析 DC扫描分析 AC扫描分析 转移特性分析 噪声分析 失真分析 傅立叶分析 音频分析 交互式分析 一致性分析 此外,所有类型的分析都是从计算工作点开始的,也即是,在时刻0的所有节点的初始电压值、支路电流和态变数。关于工作点的帮助信息可以从ISIS中得到。

7.2 模拟信号瞬态分析

7.2.1概述

本类图表显示的图形与你在示波器上看到的一样。X轴显示时间,Y轴显示电压值或电流值。我们经常称此类分析为瞬态分析,因为它是发生在时域的。

瞬态分析也许是最经常用到的分析类型。所有你能够从真实示波器中测量到的数据都可以从模拟图表中测量得到。它可以用来检查电路是否正常工作,可以快速测量增益值,可以直观地看到已经失真的信号,可以测量流过电源或元器件的电流值等等。

7.2.2 计算方法

从学术上来说,本类分析与非线性节点分析有关,它使用了所有SPICE仿真器使用的计算方法。考虑到具体一个时刻,电路中的所有元器件都可以由电流源和/或电阻代替。这种安排可以通过根据欧姆定律和基尔霍夫定律建立的联立方程来描述,并通过高斯消除法来求解。每一次求得的解,包括电流源和电阻值,根据元件模型内部定义的规则进行调整,这个过程会一直重复,直到得到一个稳定的结果。

对于一个包含前导时间的仿真分析,有两个独立的阶段。先是计算电路的工作点――即在仿真一开始时电路的电压值。然后考虑前导时间对电路的影响,并对每一步进行重新计算(像前面说的迭代收敛)。每一步时间增量对于计算的稳定性是至关重要的,PROSPICE将在用户定义的门限内自动进行调整。对于快速变化的电路,如高速开关线驱动器相对于平滑变化的电路,需要较小的时间步长,也更费事。使用时间步控制和迭代解都会增加大量的计算,使瞬态分析相当地慢。

因为算法包含了迭代运算,所以结果有可能不会收敛。这种情况最经常发生在初始时间点,这意味着仿真不能在特定的时刻为工作点建立一个稳定的或唯一的一组值。偶尔也会出现在电路行为变得严重不可测的特定时刻。PROSPICE使用了一系列的技术去避免这类问题,但不可能完全避免。也即是说,基于Berkeley的SPICE3F5,你可以尽可能地得到你想要的。

7.2.3 使用模拟图表

模拟图表既可以只使用左边的Y轴,也可以使用左边和右边的Y轴。探针可以通过两种方式放置到特定的轴上:

选取然后拖动探针到图形的对应边上。

通过“增加瞬态踪迹(Add Transient Trace)”对话框。

通常使用左右两边的Y轴去分离不同单位的踪迹。例如:如果要同时显示电压和电流踪迹,通常可以使用左边的Y轴显示电压,而右边的Y轴显示电流。也可以把数字探针放到模拟图表中,但混合图表更适合于此类应用。

使用瞬态分析图表分析模拟电路的步骤:

1. 为电路增加需要的激励源,驱动电路的输入端。

2. 在电路中放置探针,可以在电路中的各个节点放置,也可以在输出端放置。 3. 绘制模拟图表。

4. 把探针(如果需要,包括激励源)放入到图表中。

5. 编辑图表(用鼠标指向图表,然后按CTRL+E键,设置仿真停止时间、标签和需要

的控制属性)。

6. 开始仿真,可以从Graph菜单选择Simulate命令或使用空格键。

7.2.4定义模拟轨迹表达式

通常,我们只是把电压和电流探针加入到图表中,来观察电路的工作情况。但是不要忘了,我们也可以建立基于探针值的数学表达式来进行模拟瞬态分析。例如:我们在电路的输出端放置了电压和电流探针,把它们相乘,就可以得到这一点的输出功率图。

绘制输出功率图的步骤:

1. 在电路的输出端放置电压和电流探针。

2. 3. 4. 5. 6. 7. 打开“增加瞬态踪迹(Add Transient Trace)”,可以通过快捷键“CTRL+A”打开。 P1赋值为电压探针。 P2赋值为电流探针。 把表达式改为P1*P2。 单击“OK”按钮。 单击空格键开始仿真。

7.3 数字信号瞬态分析

7.3.1概述

数字图表正如逻辑分析仪一样,X轴显示时间,Y轴显示竖直信号堆,可以是单一信号,也可以是总线信号的二进制值。

7.3.2计算方法

数字瞬态分析使用事件驱动仿真技术进行计算。这与模拟瞬态分析不同之处在于,只有当电路元器件的状态发生改变时才进行计算。另外,只有离散的逻辑电平才会考虑,因此,这使得我们可以在更高级别对元器件的功能进行描述。例如:对于一个计数器,我们是把它作为一个寄存器值来考虑的,在每个时钟周期对它的值加1,而不是把它作为几百个晶体管来考虑。这使得对同一个电路,事件驱动的仿真比模拟仿真的速度快几个数量级。

引导入口

引导入口的作用是在正常仿真之前定义电路所有网络的初始状态。 通过以下几点定义引导入口:

所有连接到VCC和/或VDD网络的输入引脚被认为是高电平的。 所有连接到GND和/或VSS网络的输入引脚被认为是低电平的。

所有连接到与激励源相连的网络的输入引脚的初始态与激励源的INIT属性定义的一致。 所有剩下的引脚被初始化为不固定的电平。

所有模型都需要输入引脚电平进行检测,并依此设置输出引脚电平,当每个输出引脚设置完成,该引脚连接的网络的状态将会被重新计算。

当网络改变了状态,连接到该网络的模型将会被要求重新计算输出状态。这个过程会一直持续到出现新的稳定状态。

事件处理循环

紧跟着引导入口,DSIM开始进行仿真。仿真是通过一个循环来实现的,这个循环重复执行以下两步:

当前时间的所有状态改变事件顺序读完并应用到相应的网络上,这个过程将产生一组新的网络状态。

当一个网络改变了状态,所有连接到这个网络的模型将重新进行仿真运算。当它们的输出改变了状态,将产生新的事件,并放置到事件队列中。

当然,不同的模型在不同的时刻将产生处理到期的事件。DSIM内核因此必须为所有在每个循环周期尾产生的新事件进行排序。

另外值得注意的是,我们的原理图支持零延时的模型。在这种情况下,在同一个时间码产生的事件将会依据产生它的方法分批处理。

停止条件

仿真将在遇到以下情形时停止: ? 设定的停止时间到了。

? 事件队列是空的。这意味着电路达到一个恒定的状态。 ? 出现零延时的逻辑矛盾,导致当前时间停止前进。

? 系统错误,例如事件队列超出内存范围,一般不会出现这种情况,除非电路设计不

稳定,很可能是由于在电路的某些地方产生了高频(例如100MHz)振荡。

7.3.3使用数字图表

使用瞬态分析图表分析数字电路的步骤:

1. 为电路增加需要的激励源,驱动电路的输入端。

2. 在电路中放置探针,可以在电路中的各个节点放置,也可以在输出端放置。 3. 绘制模拟图表。

4. 把探针(如果需要,包括激励源)放入到图表中。

5. 编辑图表,设置合适的仿真停止时间,和图表的标题、控制参数等。

6. 从菜单调用“仿真图表”命令,或者使用空格键进行仿真。 注意:

? 激励源要使用数字激励源,特别要注意的是脉冲(Pulse)激励源是模拟的。

? 在数字网络中只能使用电压探针,如果使用电流探针,将会迫使PROSPICE进行

混合信号仿真分析,将会大大降低仿真速度。

7.3.4 数字数据的显示

一般的描绘线

所有DSIM仿真器的输出值使用以下六种数字状态: 状态类型 强高 弱高 浮动 冲突 弱低 强低 关键字 SHI WHI FLT CON WLO SLO 图形外观 高电平青色 高电平蓝色 中间电平白色 中间电平黄色 低电平蓝色 低电平青色 因此可以通过描绘线的颜色和位置来确定描绘线在具体时刻的状态,或者通过放大图表,把鼠标指向需要查看的位置,从而读出状态。另外,在描绘线标号的右端将显示鼠标所指处的逻辑电平。

总线描绘线

总线描绘线(通过在总线上放置电压探针)在交叉线的中间,显示了总线状态的16进

制值:

当总线的一位或者多位在中间状态时,总线描绘线也将处于中间状态。另外,当两边的交叉线太接近,没有空间显示十六进制值时,将会省略掉十六进制值,这时可以通过把鼠标指向该位置来显示。

7.4 混合模式瞬态分析

7.4.1 概述

混合图表可以在相同的时间轴(X轴)上同时显示数字信号描绘线和模拟信号波形。混合模式分析用于同时包含数字和模拟模型的电路分析中,而且这是唯一可用的方式。

7.4.2 计算方法

混合模式瞬态分析既包含了SPICE3F5的非线性节点分析方法,也包含了DSIM的事件驱动仿真分析方法。详细的实现细节非常复杂,但对基本的算法,可以简单地概括一下:

? 在仿真之前,对每一个网络进行分析,以确定该网络连接的是数字模型还是模拟模

型的器件。当某个网络使用模拟电压去驱动数字输入时,PROSPICE将自动插入ADC接口对象,当数字输出驱动模拟器件时,它将自动插入DAC接口对象。 当几个数字输入由同一个网络驱动时,将建立多个ADC接口对象,从而每个输出都可以模拟不同的逻辑转换电平和负载特性。类似地,虽然很少几个数字输出会同时驱动同一个模拟器件,但遇到此类情况时,也会建立多个DAC接口对象。 ? 建立工作点,将在下面详细描述建立过程。 ? 然后进行标准的模拟信号分析,直到当ADC输出的电压超过数字信号的转换阀值,

从而产生数字事件,此时模拟分析将被挂起,将进行数字仿真。

? 当数字仿真导致DAC接口对象输出的状态改变时,在开关时间内强制进行模拟仿

真。实际上,DAC的输出模拟了转换时间(上升或者下降),并且在这期间将模拟几个时间点。 建立工作点

混合模式仿真工作点的建立特别复杂,因为模拟电路的状态将影响数字器件,反之亦然。基本上,PROSPICE的处理过程如下:

? 初始条件(IC)值将应用到模拟和数字网络上。其它网络的开始电压假设为0。 ? 像标准的SPICE仿真一样,建立节点矩阵并进行运算。

? 在矩阵运算的每个重复过程中,数字电路根据ADC的变化不断重复进行计算。这

些变化通过几个数字模型进行传递,数字电路不断重复计算直到达到稳定状态。 ? DAC接口对象将根据数字电路状态变化而重新调整输出,如果数字电路没有达到

稳定状态,将会被忽略,因为它可能是一个瞬时的引用。

? 循环重复,直到找到一个稳定的状态,或者已经达到重复的限制。

7.4.3使用混合图表

混合图表的使用与模拟图表的使用完全一样。除了还需要添加数字探针。添加第一个数字探针时,要使用“添加探针对话框”。然后,就可以通过拖拉的方式添加数字探针和模拟探针。数字探针拉到图表的数字部分,模拟探针拉到图表的模拟部分。

7.5 频率分析

7.5.1 概述

通过频率分析,可以检查电路在不同频率上的行为。本类分析只考虑单一频率的行为,

而不像频谱分析一起考虑所有的频率。本类分析在效果上就像在输入端接上频率发生器,然后通过AC电压表去观察输出结果。可以检查信号幅度和相位。

频率分析产生电路的频率响应或者波特图。对于检查滤波器是不是像设计的那样工作或放大器在要求的频率范围内有没有正常工作时很有用。

频率分析图表也可以用来绘制电路在某个频率上的小信号输入和输出阻抗。

7.5.2 计算方法

频率分析先进行电路工作计算,然后把所有的有源器件用线性模型代替。有源器件的内部电容是在工作点上计算得到的,并假设在工作电压波动的时候不会变化。所有的激励源,除了频率参考激励源(见下面)之外,都使用它们的内阻代替,这将使电源线能有效地连接在一起。

频率分析使用复数执行线性计算。关键频率将从开始频率到最后频率根据事件增量逐渐增强。频率分析的线性特性使得它比瞬态分析快很多,虽然它使用了复数进行计算。

必须注意的是,频率分析把电路假设为线性的,这意味着,在输入端加纯正弦信号,在所有的频率上,输出也必定是纯正弦信号。当然,没有任何实际的器件是纯线性的,但是有很多器件都非常接近线性,而适用于本类分析。也有些电路并非都是线性的,例如带施密特触发输入端的线中继器。对于非线性电路,“频率响应”没有实际的数学意义,所以在任何频率上进行仿真都不会产生有意义的结果。如果对此类电路的频域响应感兴趣,就应该使用傅立叶分析方法。

7.5.3 使用频率图表

为了计算输出的正弦信号的幅度,必须在输入端加入一个参考的正弦信号。PROSPICE将会自动进行这个操作,但必须要知道电路的输入端是哪个。所以必须要对每个频率分析图表设置一个“参考激励源”,指示仿真器在哪里加入参考信号。这里有三种方法去进行设置:

? 使用“编辑频率图表”对话框的“参考”字段去选择输入激励源。这个激励源可以

是任何一个单脚的激励源,也可以是ASIMMDLS库中的FREQREF原型。

? 拖曳模拟激励源到频率分析图表中。

?

使用“Add Trace”对话框添加参考激励源。

FREQREF仿真原型在定义一个新的模型时,经常用来驱动新模型的内部电路。如在麦克风模型中,当需要考虑模型其它部分的作用时,要包含一个明确指定的激励源作为参考。

第二和第三种方法比较经常使用。拖拉一个激励源到频率分析图表与到瞬态分析图表有所不同,到瞬态分析图表是添加一个激励源探针,而到频率分析图表是把激励源作为电路的参考点。这个激励源不一定是正弦激励源,直流、脉冲和PWLIN激励源也一样能正常工作。如果想把激励源作为一个探针来添加,可以通过“Add Trace”对话框来进行。

参考激励源的幅值总是为1伏,相位总是为0度。参考激励源的内阻与第一处定义的激励源的一致。它是用于dB计算,即0dB=1V。ISIS会限制一个非常小的值(-200dB)去代替log(0)。

频率分析图表有左右两个Y轴。左边的Y轴是用于显示被探测信号的幅值,右边的Y轴是用于显示相位。如果拖拉探针到图表的左边,它将显示幅值,如果拖拉探针到图表的右边,将显示相位。X轴用于显示参考激励源的频率。在频率分析图表中总是使用对数尺度,左边的Y轴可以显示dBs或正常的单位,右边的Y轴总是使用度为单位。

使用频率响应分析电路的步骤: 1. 在需要测试的节点放置探针。 2. 绘制频率分析图表。

3. 把探针添加到图表中。左边是幅值,右边是相位。对同一个探针可以同时分析幅值

和相位。

4. 编辑图表(用鼠标指向图表,然后按CTRL+E键)设置仿真开始、停止频率、标签

和需要的控制属性。

5. 按下空格键调用PROSPICE进行仿真。

例子ZIN.DSN和ZOUT.DSN显示了怎样使用表达式进行输入和输出阻抗分析。

7.6 DC扫描分析

7.6.1 概述

通过DC扫描分析,可以看到电路参数的改变会怎样影响电路的工作。这是通过PROSPICE仿真器的属性表达式评估(Property Expression Evaluation)来实现。扫描图表分析定义了一个变量,可以在用户定义范围内以平均的步距进行扫描。扫描变量可以是电路的任何属性,例如电阻值、晶体管的放大系数,甚至是电路的温度。

DC扫描曲线显示了探测点随扫描变量变化时稳态的电压或电流。它可以用来绘制电路的DC传输特性曲线,只要把激励源的值作为扫描变量,也可以绘制电路在某个工作点下,元器件参数变化对电路影响的曲线。

7.6.2 计算方法

在DC扫描中,PROSPICE会在寻找电路的工作点,然后增加扫描变量进行计算中循环。PROSPICE会重复计算步与步之间所有的变量值,所以扫描变量会经常被使用,基于扫描变量的变量也可以使用。所有的电路初始化参数都会在每次重新计算工作点时使用。

7.6.3使用DC扫描分析图表

与模拟瞬态分析类似,可以使用两个Y轴进行分析。X轴显示的是扫描变量值。可以使用追踪表达式(Trace expressions)。当选择步数时,记住仿真的时间只是大概与步数成正比。

绘制电路的传输函数的步骤:

1. 添加DC激励源到电路的输入端,设置它的值为变量X。

2. 放置一个或多个探针到电路的输出端。 3. 绘制DC扫描图表,添加探针到图表。 4. 编辑图表(CTRL+’E’),设置输入扫描变量的开始和停止值 ,设置扫描变量为X。

5. 按下空格键调用PROSPICE。

6. 如果放大图表后,结果看上去是脱节的或有角的,请在“Edit DC Sweep Graph”对

话框中增加步数。

绘制电路参数变化的步骤:

1. 绘制原理图,添加探针和激励源到电路中。

2. 编辑需要改变参数的元件,把它的值设置为都变量X的表达式,可以设置一个或多

个元件。

3. 绘制DC扫描图表。添加探针到图表中。 4. 编辑图表,依照上一个例子设置扫描参数。 5. 按下空格键调用PROSPICE。

提示:Proteus中所有的对话框都可以通过“Point and shoot”接口和对话框窗口右上角的问号来得到快速的帮助提示。

7.7 AC扫描分析

7.7.1 概述

本类分析将为扫描变量的每一个不同值建立一簇频率响应曲线。 AC扫描图表主要用于测试一个元器件变化对电路频率响应的影响。

7.7.2 计算方法

本分析方法与通常计算频率响应完全一样,对扫描变量的每个取值进行频率响应计算。因此也要满足线性电路的约束。

7.7.3 使用AC扫描图表

像频率分析一样,左边和右边的Y轴分别显示的是增益和相位。当然也要定义一个激励源作为参考点,用于计算增益。

电路参数变化对频率响应的影响:

1. 绘制原理图

2. 编辑要测试的元器件,设置属性值包含扫描变量X,可以设置一个或多个元器

件。

3. 绘制AC扫描图表,添加探针到图表中。 4. 添加激励源到电路输入端。

5. 拖拉电路输入端的激励源到图表中,作为参考激励源。

6. 编辑图表(CTRL+E),设置扫描参数,设置频率参数到需要测试的频率上。

7. 按下空格键,调用PROSPICE进行仿真。

7.8 DC转移曲线分析

7.8.1 概述

本类图表特别用于测试半导体器件,产生特性曲线簇,当然也偶尔会用于其它用途。每条曲线都绘制了根据指定输入激励源变化时的一组电压或电流工作点。另外一个激励源值的变化用于产生一簇曲线。

7.8.2 计算方法

本类分析方法与DC扫描分析类似,但这里可以使用两个变量进行扫描。先找到激励源初始值时的工作点,然后第一个变量一步步在指定范围内增加,绘制一条曲线。在第一个变量的每一个扫描过程完成后,第二个扫描变量增加,用于绘制另一条曲线。

7.8.3 使用AC扫描图表

与模拟瞬态分析一样,可以使用左右两边的Y轴。X轴显示的是第一个扫描变量,每一条曲线对应第二个变量的扫描值。在这里也可以使用变量表达式进行扫描。

绘制晶体管转移特性曲线的步骤:

1. 绘制类似于下同的电路。

Q1(B)是电流源,Q1(C)是电压源,Q1(D)是需要测试的集电极电流。 2. 绘制转移特性图表,添加探针Q1(D)到图表中。

3. 编辑图表(CRTL+E)。

4. 指定Source 1为Q1(C),Source 2为Q1(B)。 5. 设置电压和电流范围在合理的范围内,如Q1(C)为0到10V,Q1(B)为100uA到

1mA。

6. 调整Q1(B)的步数,使用中间的间隔比较合理,应该注意,绘制出的曲线将比

设定的步数多一条,因为一步有两个离散值。 7. 单击OK,关闭对话框,然后进行仿真。

7.9 噪声分析

7.9.1 概述

SPICE仿真器可以模拟电阻和半导体器件中产生的热噪声。电路中在某个频率范围内独立的噪声成分由电压探针收集到一起。噪声电压,归一化为噪声带宽的平方根,可以绘制相对于频率的图谱。噪声图表描绘线的单位总是V/Hz。

将计算两种类型的噪声――输出噪声和等效输入噪声。计算等效输入噪声将对噪声和输入信号或输入噪声进行比较。输入噪声代表了输入端的噪声水平,将在输出端产生噪声,考虑电路在特定频率的增益。

放置探针到左轴将显示输出噪声,而放置探针到右轴将显示等效输入噪声。 噪声分析可能会产生特别小的值(在纳伏在数量级),因此,可以选择用dB来显示结

果。

警告:正确噪声模型的电路调用IC宏模型是没有任何保证的,因为这些模型可能使用线性控制源仅仅是去模拟器件的基本行为。

7.9.2 计算方法

像通常一样,先计算电路的工作点,然后修改电路模型以正确地合计噪声分量。在噪声分析过程中(除了计算工作点时),除了输入参考激励源,其它所有的激励源都将被忽略。因为没有办法知道,在分析完成后,将查看哪个探针,PROSPICE仿真器将为电路中的每个电压探针计算热噪声,包括与激励源和录音机有关的探针。不支持噪声电流,因此PROSPICE将忽略所有的电流探针。在噪声分析过程中,每个探针都将进行单独的仿真,因此仿真的时间大约与放置的电压探针数量成正比。

7.9.3 使用噪声分析图表

当使用噪声分析图表时,要记住外部电磁场引起的噪声是没有模型的,不能进行仿真。在很多情况下,输入端的噪声是最关键的,对系统的性能有决定性的影响。

如果使用录音机把电路分割成几块,必须很清楚一点,就是PROSPICE仿真器只考虑电流的分割。孤立的噪声图虽然也很有用,但必须去掉录音机,才能观察整个电路的等效噪声。

为了确定电路的噪声源,系统自动把独立的噪声电压被记录仿真日志中。轮流考虑每个探针,然后给出每个元件的噪声分量。这些分量通过计算得到,并以平方值的形式显示出来。这个过程在开始和结束频率上进行。如果电路中有大量的探针,将会得到大量数据。

进行噪声分析的步骤:

1. 绘制噪声分析图表,并进行编辑,设置频率范围和输入参考激励源。 2. 添加电压探针到电路的输出端或者其它节点,然后把它们拖进图表中。 3. 按下空格键去调用PROSPICE仿真器。

4. 如果要降低噪声电平,检查仿真日志(CTRL+V),确定噪声源。

7.10 失真分析

7.10.1 概述

失真分析确定了被测试电路产生的失真谐波的电平。这些失真谐波是单频率信号或互调信号的2次和3次谐波。

失真是由电路传输函数的非线性引起的,如果一个电路只是由线性器件(电阻、电容、电感、线性控制源),是不会产生任何的失真的。SPICE失真分析图表可以对二极管、双极型晶体管,JFET和MOSFET的模型的失真情况进行分析。

警告:正确失真模型的电路调用IC宏模型是没有任何保证的,因为这些模型可能使用线性控制源仅仅是去模拟器件的基本行为。

类似的信息可以通过使用傅立叶分析得到,但失真分析也可以显示当基频变化时,失真是怎样变化的。

7.10.2 计算方法

本类分析是基于电路中器件的小信号模型的,因此,第一步要计算电路的工作点。每一个非线性器件的模型随对输入基频得到的分量,对相应的谐波产生复杂的失真。这些谐波在输出信号中的程度将决定图表中的值。这个过程会在指定的频率范围内不断重复。事实上,本类分析数学方法特别复杂,调用了泰勒级数的构造和处理过程,去表达器件的非线性。

注意,因为这里使用了复数,所以分析产生了每个谐波的幅度和相位信息。

对于单频率的谐波失真,图表中将绘制两条曲线,一条是2次谐波的,另一条是3次谐波。

对于互调失真,使用了两个输入频率,在基频(F1)和第二个频率(F2)站定一个比例参数。图表中将显示三条曲线F1+F2,F1-F2和2F1-F2,显示互调的结果。

选择比例F2/F1时要小心,否则会出现奇怪现象。例如:当F2/F1为0.5时,F1-F2的值是F2,而F1-F2的曲线图将变得没有任何意义,因为与第二个基频相同。通常,应该选择一个无理数,如F2/F1=49/100,可能会更好点。

注意:这里有一个限制条件:F2/F1<1。

7.10.3 使用失真分析图表

失真分析图表在左轴显示的是谐波的幅度,右边显示的是相位。测试频率(F1)绘制到X轴上。

对于谐波失真分析(单输入频率为F1),会为每个探测点绘制两条曲线,分别是2F1和3F1。

对于互调失真分析(两个输入频率(F1和F2)),会为每个探测点绘制三条曲线,分别是F1+F2、F1-F2和2F1-F2。

在上面两种情形中,可以把鼠标指向相应的曲线,而把曲线分辨出来。当前所指的曲线的信息会显示在状态栏的右手边。

7.11 傅立叶分析

7.11.1 概述

傅立叶分析是把时域数据转换为频域数据的过程,转换的结果类似于把示波器用频谱分析仪代替。在分析信号的谐波成分时非常有用,可以用来寻找特殊部分的失真,当然还有其

它诸多用途。

7.11.2 分析方法

傅立叶分析先执行瞬态分析,然后对结果数据进行快速傅立叶变换。这个过程调用了在时域进行数据的离散采样的命令,即依据奈奎斯特准则进行。简单来说,就是可以观察到的最高频率是采样频率的一半。然而,可能会出现其它令人误解的结果,因为,容易把采样频率与输入信号的谐波频率混淆,谐波频率高于采样频率的一半。为了使这种可能最小化,可以对输入FFT的数据使用各种类型的窗口滤波。

7.11.3 使用傅立叶分析图表

在这个例子里,需要先绘制一个电路图,与用于瞬态分析时的一样,除了把瞬态分析图表用傅立叶分析图表代替。当然,也可以同时使用两种图表。 使用傅立叶分析分析信号的频率成分:

1. 像瞬态分析中一样绘制电路图。

2. 绘制傅立叶分析图表,拖曳探针到图表中。

3. 选择开始和停止时间、频率/分辨率的值以适合所分析的信号。如果可能,选择时

间间隔(time interval)和频率分辨率对应到所分析信号的基频。 4. 按下空格键调用PROSPICE进行仿真。

7.12 音频分析

7.12.1 概述

Proteus VSM集成了一系列的特性让你可以“听”到你的电路的输出结果(当然你必须安装了声卡)。主要的部件是音频分析图表。它与模拟分析基本上是一样的,只不过在模拟分析以后,会从分析结果的时域数据中生成一个Windows的WAV文件,然后用声卡播放出来。

WAV文件可以导出给其它应用程序使用。

7.12.2 分析方法

音频分析与模拟分析基本上是一样的,只不过在模拟分析以后,数据以标准的PC采样率(11025、22050或44100Hz)进行重新采样,然后调用标准的Windows函数写成WAV格式的数据,最后调用命令去播放WAV文件。

7.12.3 使用音频分析图表

在这个例子中,需要先绘制一个电路图,与用于瞬态分析时的一样,除了把瞬态分析图表用音频分析图表代替。当然,也可以同时使用两种图表。

进行音频分析的步骤: 1. 绘制电路图。

2. 绘制音频分析图表,拖拉电路输出端的探针到图表中

3. 选择开始、停止时间和循环时间,以产生合理的波形长度,并且符合真实仿真的最

小值。通过分析1毫秒的数据,然后循环1000次,建立1秒时间的音频比完全分析1秒的数据要快很多。

4. 选择采样分辨率和速率,以适合信号的特性。建议使用16位的分辨率,否则你会

产生一个大文件,导致磁盘空间不足。大多数的PC机的声卡并不会因为使用44.1KHz的采样率而声音得到改善。所以完全没必要使用44.1KHz的采样率。 5. 按下空格键调用PROSPICE进行仿真。

6. 按下CTRL-SPACE可以进行重放,而不进行重新仿真。

可以导出音频数据到.WAV文件中,如果需要,可以导入到其它设计图中(通过音频激励源)。

7.13 交互式分析

7.13.1 概述

交互式分析图表集合了交互式仿真和图表分析的优点。交互式分析在交互式仿真环境下进行,但它可以把结果记录,并像瞬态分析图表一样显示出来。 这种分析方法在检查某个控制操作时非常有用,可以把它想像成是存储示波器和逻辑分析仪的集合体。

7.13.2 计算方法

计算方法与混合模式瞬态分析的完全一样,只是仿真分析是在互动的模式下进行。因此,电路中开关、键盘和其它可动作器件的操作会影响结果。仿真会依照动画时间步(Animation Timestep)定义的速度进行,而不是使用可以达到的最大速度。

? 必须清楚,此类仿真会捕捉到大量的数据。如果处理器使用真实的速度运行,每秒

会产生数百万的事件,将这些事件显示在图表中,将占用几兆的存储量,特别是当你探测数据或地址总线的时候,将更加明显。如果ISIS载入的数据超过20或30MB时,可能很快就让系统崩溃。 如果在相对短的时间里,不可能捕捉到需要的数据,最好使用逻辑分析仪进行分析。 ? 像正常的互动仿真一样,不支持电路的多部分仿真,所有的没有设置成播放模式的

录音机对象将会自动从电路中移除。

7.13.3 使用交互式分析图表

通常你会使用互动分析图表去测试一个在进行互动仿真时,发现当进行某部分的控制操作时,发生了奇怪的事情。在下面这个例子里,你可以使用虚拟仪器去观察,但是在某些情形下,有必要捕捉结果,用图表显示出来,然后再慢慢研究它。

进行互动分析的步骤:

1. 添加探针到节点。

2. 绘制互动分析图表,把探针拖进图表中。

3. 编辑图表属性,选择合适的开始和停止时间。注意,PROSPICE为了减少数据

量,将不会在开始时间之前捕捉数据。

4. 在原理图中设置所有的互动控制到合适的初始状态。

5. 准备进行任何的互动操作,然后按下空格键。你必须在第4步设置的时间内操

作动态器件。如果很难做到,你既可以增加停止时间,也可以减少每帧的时间步(Timestep Per Frame)的设置项。

7.14 数字一致性分析

7.14.1概述

一致性分析把一组数字仿真结果与另外一组进行比较。这是对修改前后的两个电路的工作是否一致的快速检查方法,用来证明修改后的电路没有出现意想不到的副作用。这种分析方法特别适用于基于微控制器的电路,当固件程序改变后,需要对整个电路进行重新测试。

7.14.2分析方法

除了能把两组结果数据存储到图表中,其它的计算方法与数字瞬态分析一致。这里把这两组数据称为测试数据和参考数据。

一致与不一致是通过在第一条描绘线的每个边沿对测试数据和参考数据进行比较得到的。这里把这条描绘线称为控制线,它以不同的颜色显示在图表中,以区别于其它描绘线。更加重要的是,测试数据和参考数据的边沿不必要一致。这意味着在结果数据中的绝对时间的改变并不是不一致的体现。这特别是在基于微处理器的电路中,任何代码的改变都会影响到事件的绝对时间。在这种情形下,控制线可以由代码来生成,从被测试程序的入口到出口。

7.14.3使用数字一致性分析图表

通常,一致性分析用于测试策略的一部分,可用于测试仿真模型,但最常用于测试嵌入式系统。在下面这个简单的例子里,将详细描述使用一致性分析图表测试555单稳态触发器电路的操作过程。

被测试电路包含了U1、R1和C2,上图显示了经典的555单稳态触发器的连接图。电路在1ms的时候被数字脉冲激励源触发,输出波形显示在上图的模拟瞬态分析图表中。为了测试电路是否正确工作,先考虑以下几个因素:

? 输出在触发脉冲前是低电平的。

? 输出在触发脉冲跳到低电平后,很快将跳到高电平。 ? 输出在触发脉冲回到高电平后,仍然维持在高电平。 ? 输出维持在高电平大约1.5ms。

? 在经历上述时间后,输出回到低电平。 为了通过一致性分析图表达到上述结果,需要在触发脉冲信号的每个边沿转换时,和输出信号的每个边沿对输出信号进行采样。可以通过为最后两国采样点选择间隔,而为单稳态触发器的延时时间设置一个容差。

可以通过一系列的数字脉冲激励源,把它们的输出通过或门连接在一起,而达到这个效果。每个脉冲激励源的脉冲宽度决定了每个意料中的事件的时间容差。例如,第三个脉冲激励源设置在2.4ms到2.6ms之间触发,将给输出脉冲提供+/-100us的时间容差。

注意,可以使用数字时钟或模式激励源去产生控制信号;使用简单的时钟信号将满足大多数的应用,它会在有规律的时间间隔进行检验。

通常的操作过程总结如下: 进行一致性分析的步骤:

1. 确定想进行测试的部件和时间。

2. 设计一个测试原理图,可以产生想要检验的输出和控制信号。

3. 绘制一致性分析图表,像数字分析图表一样进行设置,并确保控制信号轨迹是在

图表的最顶端。

4. 运行仿真,检验结果是不是像意想的那样,控制轨迹的转变时间是不是在想要的

时间点上。

5. 编辑一致性分析图表,按下“保存结果”按钮,这将会把当前显示的结果变为参

考结果数据。这将以暗淡的颜色显示,当重新进行仿真时,图表将对任何新的结果与它进行比较。

6. 保存设计,它将用来检验新数据。

假设因为元件的缺乏,R1和C2的值必须要改变。如果把C2改为100nf,R1改为15k,这个电路还能像以前一样工作吗?实验的结果如下图所示:

显然,答案是否定的,输出脉冲变短了,在仿真日志(simulation log)中可以找到以下信息:

Comparing Results…

Data mismatch at time 2.40m in trace 'Output'. Data signatures were 'L' and 'H'. Conformance analysis FAILED.

注意:图表的光标指向了第一个出现差异的时间2.4ms 事实上,有三种方法可以调用一致性分析:

? 使用通常的方法重新仿真图表,例如:通过按下空格键或者使用“Graph”菜

单中的“Simulate Graph”命令。

? 使用“Graph”菜单中的“Conformance Analysis command”命令,这将对设计

中的所有一致性图表重新仿真,然后报告任何的错误。

? 高级用户使用-使用命令行,输入:

ISIS /V

将像第二种方法一样进行整体一致性分析。如果有任何一个图表仿真失败,ISIS将显示错误level 1。这允许通过批处理文件自动进行多个测试。

本文来源:https://www.bwwdw.com/article/9h35.html

Top