运算放大电路仿真(续)
今天接着前面blog的内容,可大家继续讨论放大电路的设计验证。前面的blog里留了一个问题:电阻R1,R2,R3,R4的有没有精度要求?如果有,则需要多高的精度,电路才能够稳定可靠的工作?在Saber中我们可以用MONTE-CARLO分析来验证电路对元器件的精度要求。设置R1、R2、R3、R4的容差(即精度误差)均为15%(正态分布-normal),对电路进行MOTE-CARLO分析。具体参数设置如下图所示: 该设置将按照正态分布在指定的精度范围内(15%)变化R1~R4 一百次,并对每一次变化的参数执行TR分析,分析结果如下图所示:
对上图所示的结果进行统计分析,得出统计结果如下图所示:
从上图可以看出,如果R1~R4电阻精度都为15%, 则电路可能出现放大失真的情况. 将R1~R4的精度改为5%。 再次进行MOTE-CARLO分析, 设置以前一致,分析结果如下图所示。
对上图所示结果进行统计分析,得出统计结果如下图所示:
从上图可以看出,当R1~R4精度为5%时,电路基本没有放大失真的情况。 问题: R1~R4的容差为多大时电路的交流输出vout的直流成分可以忽略(vout的平均值<0.1V)?有兴趣的网友可以试试?
To sleeto: 谢谢你的夸奖,不过俺有点凉飕飕的感觉,不是在骂俺吧。另外,我在单位查了查2006版本,发现新增的Design Example是需要在Sketch下安装的,因此也就没办法拷贝了。我看看能不能抽时间研究一下那几个例子,消化以后写成文档在blog上给大家贴出来。不过这需要时间,所以请耐心等待。 To srbighead: Saber最好的学习资料就是它自带的PDF文档,建议就从研究它自带的PDF文档开始学习。 To huiyong828: 问题解决了就好,至于你提出的问题,我没有看你的文档,不好解释,不过我认为原因应该不是你说的那样。 To laoyu: 问题解决了就好,其实你也可以将解决问题的过程写成文档贴出来,与大家一起共享,这样可能会让其他网友少走一些弯路。至于光藕建模,saber里有相关的template可以使用,不过搞懂其参数估计要非很多时间。所以建议你试试用CCCS代替光藕。毕竟,光藕的基本作用就是电流变换,只是利用了光进行隔离。
Sketch中Part Gallery工具的六点新变化
Saber软件在2005.09版本中,对原理图绘制软件Sketch中元器件管理工具Part Gallery 进行了很大的改变,我记得以前曾在论坛里发过一篇帖子进行介绍。最近抽空仔细研究了一下这个工具,发现变化还挺多,这里简单总结一下。这里先定义两个概念:老版本Part Gallery和新版本Part Gallery,老版本是指2005.09版本以前,而新版本是指2005.05以及最新的2006.06。 1.在新版Part Gallery中无法找到模型转换工具――Nspitos以及单位转换工具――unit Converter。这两个工具在老版本中的Tools菜单下可以调用,如下图所示:
仔细在2005.09版本下查找,发现两个工具被挪到Model Architect工具里的Tools菜单下。 2.在老版本的Part Gallery 中可以看到很多被选中的器件的附加信息,如所属目录,符号名称,模型名称以及所需要等license等;但在新版本中确无法直接看到,仔细观察,发现在其顶部有一个按钮,选中器件以后,按下该按钮就能看到这些附件信息了,如下图所示:
3.总觉得新版本的Part Gallery中符号预览窗口很小,很难看清楚符号。后来发现该窗口是可以缩放的,在该窗口上单击鼠标右键会弹出一个窗口,通过Size下面的一个命令就可以对窗口进行缩放了。如下图所示:
4.新版本的Part Gellery位置不是完全固定的,可以利用鼠标拖动它的位置。如下图所示:
5.新版本的Part Gallery支持元器件的直接拖拽功能,即在Part Gallery选中器件以后,按住鼠标左键不动,直接就可以将器件拽入原理图编辑区。 6. 喜欢老版本Part Gallery的网友,也可以通过修改一个设置,使得Part Gallery恢复原来老版本时的界面,在新版本Part Gallery的符号预览区旁边空白处单击鼠标右键,在弹出菜单里选择Preferences,在弹出的对话框中将Use latest User Interface(Post 2004.12)项取消,如下图所示:
这样就可以恢复到老版本的Part Gallery界面了。
在Saber中实现对CD4069数字器件的仿真
以前在论坛上曾经有网友抱怨,认为Saber里缺乏数字器件模型,比如CD4040、CD4069之类的,因此也就无法对带有这些器件的电路进行分析。其实不尽然,Saber软件的PartGallery里无法找到诸如CD4040或者CD4069之类的数字器件模型,并不意味着Saber软件就不能仿真这些数字器件的行为。Saber软件的PartGallery里Digital Block目录下,提供了各种功能的基础数字器件得template,如门电路、触发器、计数器,寄存器、MUX/DEMUX以及激励源等。这些template 完全可以用来仿真CD4040或者CD4069此类数字器件的数字行为。所欠缺的是如果这些数字器件和在电路中和模型器件(如电阻)相连,那上面这些template 将无法仿真数字器件的端口特性(如高低电平大小,驱动能力等)。这些所谓的‘端口特性’在Saber软件中是采用Hypermodel template来仿真的。关于Hypermodel的概念,有兴趣的网友可以去看看Saber软件自带的文档SaberUser.pdf,里面的Appendix D中有比较详细的描述。这里简单的举个例子,看看在Saber中如何实现对带有CD4069数字器件的电路实现仿真分析,电路图如下所示:
下面我们来看看如何为CD4069建模,首先,CD4069的在数字功能上是一个非门,因此我们可以用Saber软件中的inv_l4模型实现非门的数字功能。其次,CD4069属于 15V CMOS系列,因此Hypermodel接口选择RCA CD 15v,如下图所示:
接下来我们考虑如何使inv_l4模型具有CD4069的端口特性,而不紧紧只是满足RCA CD 15V 的工艺特性。描述RCA CD 15v 的Hypermodel 行为文件名字为cd15.shm,位于$SABER_HOME/template/hypermod 下,用文本编辑器 (Notepad之类的)打开该文件,搜索CD4069能够发现如下一行: CD4069UBD:adadadg dadadap:: cd40_ub 其中cd40_ub定义了CD4069的端口特性。然后在Sketch中对inv_l4对应的符号进行编辑,选择符号端口的Properties,并为每个端口加入SaberModelName属性,其值为cd40_ub,如下图所示:
这样就完成了CD4069的建模,此时电路图中的inv_l4已经具有了CD4069的数字行为和端口特性,完全可以用来仿真了。该电路的仿真结果我这里就不贴出来了,有兴趣的网友可以自己试试。
滤波器电路仿真
滤波电路在电路设计中会经常用到,一般分为有源滤波器和无源滤波器两种。今天介绍两个在Saber软件环境中实现对滤波电路进行分析验证的简单例子。设计如下图所示:
上图是一个简单的低通和高通的无源滤波电路, R1和C2构成低通滤波器,而C1和R2构成高通滤波电路。其中低通滤波器的转折频率为 FL=1/(2×π×R1×C2) = 3983.85Hz, 高通滤波器的转折频率为FH=1/(2×π×R1×C2) = 3983.85Hz。对于滤波器的分析,Saber软件环境中可以使用AC分析,直接绘制出滤波器电路在某一频段的幅频特性和相频特性,并可在Scope中利用测量工具,直接测出其频率转折点。在Sabersketch 中绘制该原理图, 然后选择AC分析, Start Frequency=1, End Frequency=100k。其分析结果如下图所示:
低通滤波器分析结果
高通滤波器分析结果 从上图可以看出, 仿真结果的低通滤波器转折频率FL=3974.4Hz,而高通滤波器的转折频率为FH=3987Hz,与计算结果基本相符。在看一个有源滤波器的例子,设计如下图所示:
上图是一个带阻滤波器,即陷阱滤波电路,陷阱中心频率约为 200Hz。 在Sabersketch 中绘制该原理图,然后选择AC分析, Start Frequency=1, End Frequency=10k。 其分析结果如下图所示:
从上图可以看到,仿真的陷阱中心频率为 FS=200.59Hz。 问题: 细心的网友会注意到,在有源滤波器的原理图电路中,所有的电阻值都是 1/(1256.4×1u), 1u对应的是电容值, 而1256.64 = 2×π×200,当需要将滤波器的中心陷阱频率改为400Hz时,可将所以电阻值改为 2513.27 = 2×π×400,而电容继续保持不变。这就提出了一个问题,能不能在Saber软件环境中将该电路做出一个固定的滤波模块,其陷阱中心频率可以通过参数进行设置,这样就能够在不同的电路中根据需要,使用这个模块了。有兴趣的网友可以自己试试,我会在以后的blog中介绍saber软件中上下层模块传递参数的方法。
今天接着滤波器设计的例子,介绍一下在Saber软件中如何实现上下层模块之间传递参数。将上次介绍的陷阱滤波器电路图进行修改,结果如下图所示:
如上图所示,将电容的参数设置为 c_val,电阻的参数设置为 1/(2*3.14159*{fn}*c_val), 其中c_val 代表电容值, fn代表陷阱滤波中心频率。 为这个电路建立相应的符号如下图所示(建立符号的方法可参考Saber软件的帮助文档)
并为该符号定义两个参数,c_val和fn,如下图所示:
这样,就可以在上层电路中直接使用符号代替电路,并通过设置参数,改变陷阱滤波器的性能。我们建立一个简单的测试电路对该符号以及参数进行测试,测试电路如下图所示:
如上图所示,设置fn=400,c_val 保持不变,对该电路进行AC分析,仿真结果如下图所示:
很多用过Saber的网友都会有这种感觉,就是Saber是一个非常吃硬盘空间的仿真工具。在仿真开关电源此类的非线性系统时,其仿真结果往往会占用大量的硬盘空间。今天就来和大家讨论一下如何为Saber的时域分析(TR)减负的问题。在Saber的Time-Domain Transient Analysis(即TR分析)对话框中,在Input/Output栏,有三种参数可以控制TR分析结果大小。它们分别是: 1. Signal List 2. Waveforms at pins 3. Data file 下面我们简单分析一下这几个参数的意义以及如何设置才能减少仿真数据。 1. Signal List---用来确定仿真结果仿真中带有哪些节点信号。其默认值是All Toplevel Singals,意思是在仿真结果文件中包含所有的顶层信号。其提供的第二项选择是All Signals,意思是在仿真结果中包含所有的信号(包括所有的底层信号)。在仿真过程中,我们往往不需要观测所有的节点信号变量,而只需要对部分信号进行分析,此时如果选择前面两个选项就会在仿真结果文件中附加很多我们不需要的信号,从而增大了仿真结果文件所占用的空间。因此,我们就可以利用 Signal List 提供的Browse Design 选项,手动的选择自己需要观测的信号,这样就能大大的节省仿真结果文件所占的空间。 2. Waveforms at Pins---用来确定仿真结果中节点信号变量的性质。Saber软件中用跨接变量(Across Variable)和贯通变量(Through Variable)来表示不同性质的节点信号。对于电系统而言,Across Variable 指节点电压,而Through Variable 指节点电流。当然,对于其他系统来说,这两个变量又有着不同的含义,比如对于机械系统,Across Variable 指位移或者角度,而Through Variable 指力。具体定义可参考saber的帮助文档。 这个设置默认的选项是 Across Variables Only,意思是在仿真结果文件中只包含 Across Variable,另外两个选项是 Through Variables Only和 Across and Through Variables。 如果选择cross and Through Variables就会在仿真结果文件中包含两种变量,此时将增大仿真结果文件所占用空间,因此在不需要同时观测两种性质信号时,可根据需要选择一种,这样就能节省仿真结果文件所占的空间。 3. Data File --- 这项设置对于节省仿真结果文件所占空间非常有用,它用来确定仿真过程中数据文件的名称。这里需要进行一点解释,Saber软件在TR分析的时候,除了根据Signal List 以及 Waveforms at Pins 设置产生相应的波形文件以外,还会将整个仿真过程中所有的仿真数据保存在一种数据文件中,这种数据文件的名称是由Data File 设置来确定的。这些数据文件通常用于以TR分析为基础的后续分析,比如Stress,Sensitivity等等,另外,Saber中还有一个功能叫做Extract,它可以从数据文件中抽取你需要观测的信号并生成波形文件,便于对一些在Signal List 中没有指定的信号进行观察。由于数据文件包含了所有的仿真数据,所有它需要占用非常大的硬盘空间,因此,当你确定不需要在TR分析之后做任何后续分析,也不需要在抽取任何信号的时候,就可以通过设置Data File,告诉仿真器不生成数据文件,从而大大节省了硬盘空间。具体方法是:将Data File 栏设置为下划线 " _ " 就可以了。(注意设置的时候双引号要去掉)
今天开始,为大家介绍一个开关电源仿真的实例。由于开关电源具有很强的非线性,并且经常是双环乃至多环反馈,因此无论用哪种仿真工具,对其进行仿真分析都是一件很困难的事情,相信用Saber进行开关电源分析的网友,也有过类似的经验。这个仿真实例中使用了TI的UC3844做为控制器,实现一个反激电路。验证电路源于TI公司的UC3844 数据手册(data sheet) 第七页所提供的反激变换器设计电路,如下图所示:
在SaberSketch根据对该原理图进行适当修改,具体修改情况如下: 1.输出由双路 ±12V/0.3A 的负载改为 24V/0.6A负载. 2.输出滤波电容C12/C13 由2200u 改为141u. C11 由4700u 改为3000u 3.去掉负载绕组供电的复杂滤波网络, 改为RC充电模式, 其中R=10, C=C2=100u. 4.将输出部分的滤波器由π 型改为 电容直接滤波. 5.去掉MOSFET (UFN833)的缓冲电路( SNUBBER). 6.对部分Saber中没有模型的器件进行替换: a. POWER MOSFET UFN833->mtp4n80e b. Current Sense R10=0.33->R10=0.55 c. Output Rectifier USD945->mbr2545ct UFS1002->ues704 d. T1采用 xfrl3 template 使用电感量控制变比, L1=1m, L2=10.7u, L3=216.7u, L4=66.9u. 在完成以上修改后,在各种负载条件下,对该电路进行仿真分析。 测试条件: Vacin = 117V, Vout = 5V/4A (Rload =1.25) Vout = 24V/0.6A (Rload=40) 分析结果如下:
如上图图所示,额定负载情况下,Vout = 5.0019V/23.933V。
如上图所示,额定负载情况下输出频率为: FOSC= 39.383KHz , 占空比D=0.26761, 输入直流电压Vdc=144.31V。 将上面两张图的测量结果带入反激电源的基本计算公式可以得到: Vo(24V) = Vin×(N2/N1)×D/(1-D) =144.31×Sqrt(1m/216.7u)×0.267/(1-0.267) ≈24.5V Vo(5V) = Vin×(N2/N1)×D/(1-D) =144.31×Sqrt(1m/10.7u)×0.267/(1- 0.267) ≈5.45V 考虑负边整流二级管压降等因素,计算与测量结果基本相符。 (未完待续)
今天接着昨天的内容,为大家贴几张电路中各个节点的波形。 额定负载情况下输出电压纹波电压波形。(如下图所示)
额定负载情况下MOSFET漏极和ISEN管脚电压波形。(如下图所示)
额定负载情况下变压器副边绕组波形。(如下图所示)
额定负载情况下反馈端(误差放大器)波形。(如下图所示)
(未完待续)
今天接着昨天的内容,来看看半载情况的的仿真结果,测试条件如下: Vacin = 117V Vout = 5V/2A (Rload =2.5) Vout = 24V/0.3A (Rload=80) 测试结果如下图所示:
如上图所示,测试结果为 Vout = 5.0976V/24.167V 接下来我们看看1/4负载情况下的仿真结果,测试条件如下: Vacin = 117V Vout = 5V/1A (Rload =5) Vout = 24V/0.2A (Rload=120) 测试结果如下图所示:
如上图所示,测试结果为Vout = 5.1493V/24.273V 结合所有的测试结果,得出输出精度如下所示: 负载情况 输出电压 精度 5V 24V 5V 24V 满载(Full Load) 5.0019 23.933 0.38% 0.28% 半载(Half Load) 5.0976 24.167 1.95% 0.69% 轻载(Light Load) 5.1493 24.273 2.98% 1.14% 下面我们再看看电源的工作效率,额定负载工作情况下效率如下图所示。
由上图可以看出,额定负载工作情况下效率: η= (14.321W+20.032W)/39.647W = 86.6%
To:YanW网友---你需要的模型写好了
To:huiyong828 关于Saber中磁性元件以及MCT工具的使用,我一直在准备写一份详细一点的文档,计划在9或10月的时候完成。 To:LAOYU SABER_DATA_PATH不是一个工具,而是一个环境变量,通过设置SABER_DATA_PATH,可以是saber找到用户自己建立的模型库, 关于使用这些saber中的环境变量,可以参考一下saber的帮助文档。 To:hedgepig 我一直没有收到你的来信,我新浪的邮箱由于垃圾邮件太多,所以很少去看。现在常用的一个邮箱是saberhome@163.com,你可以试试发到这个邮箱。 To:zp442 邮件已经收到,只是简单的看了看,但是一直没有抽出时间进行分析,最近一直比较忙,可能还有过一段时间,非常抱歉。 To:wzl000 我的博客只讨论如何使用软件的问题,关于软件下载之类的,请不要在我的博客中提,谢谢! To:gaoping561 关于如何在scope读取MATLAB数据,我以前曾经试过,肯定是可以的,不过当时的资料我现在都找不到了,另外,我现在手里也没有MATLAB工具,所以一时也没法试验了。 To:ldyoulixian Saber软件没有专门的学习书籍,可以多看看其自带的帮助文档。以前网博论坛上的曾经有网友提供Saber软件的中文培训资料,你可以去查查看。 To:lixiaoq 谢谢,我会坚持写下去的。
今天来简单谈谈Saber软件的仿真流程问题。利用Saber软件进行仿真分析主要有两种途径,一种是基于原理图进行仿真分析,另一种是基于网表进行仿真分析。前一种方法的基本过程如下: a.在SaberSketch中完成原理图录入工作; b.然后使用netlist命令为原理图产生相应的网表; c.在使用 simulate 命令将原理图所对应的网表文件加载到仿真器中,同时在Sketch中启动SaberGuide界面; d.在SaberGuide界面下设置所需要的仿真分析环境,并启动仿真; e.仿真结束以后利用CosmosScope工具对仿真结果进行分析处理。 在这种方法中,需要使用SaberSketch和CosmosScope两个工具,但从原理图开始,比较直观。所以,多数Saber的使用者都采用这种方法进行仿真分析。但它有一个不好的地方就是仿真分析设置和结果观察在两个工具中进行,在需要反复修改测试的情况下,需要在两个窗口间来回切换,比较麻烦。而另一种方法则正好能弥补它的不足。基于网表的分析基本过程如下: a. 启动SaberGuide环境,即平时大家所看到的Saber Simulator图标,并利用load design 命令加载需要仿真的网表文件; b. 在SaberGuide界面下设置所需要的仿真分析环境,并启动仿真; c. 仿真结束以后直接在SaberGuide环境下观察和分析仿真结果。 这种方法要比前一种少很多步骤,并可以在单一环境下实现对目标系统的仿真分析,使用效率很高。 但它由于使用网表为基础,很不直观,因此多用于电路系统结构已经稳定,只需要反复调试各种参数的情况;同时还需要使用者对Saber软件网表语法结构非常了解,以便在需要修改电路参数和结构的情况下,能够直接对网表文件进行编辑。今天来讨论一下如何在Sketch找到合适的器件。对一张原理图来讲,要完成对它的分析验证,首先是需要保证原理图中的各个元器件在Saber模型库中都有相应的模型;其次要保证在Sketch中绘制的原理图与原图的连接关系一致;再者就是根据目标系统的工作特点,设置并调整相应的分析参数。这三个条件都达到,应该能得到一个不错的分析结果。一张原理图中需要的模型涉及很多,但不管怎样,其所对应的模型正如我前面介绍的那样,只有template和component两种。对于需要设置参数template模型,需要去PartGallery中寻找;而component模型则直接可以利用PartGallery的search功能或者Parametric Search 工具进行进行查找。 对于template对应的模型,由于template是某一类元件的通用模型,因此我们要在PartGallery里按照器件分类去寻找,而PartGallery的库组织结构也正是按照类来划分的。以下面的PartGallery为例(对应版本是Saber2006.06,以前的版本会有一些区别)。 1158852028.partgallery1.jpg 在PartGallery中顶层目录按照大的应用领域和市场领域划分。比如Aerospace目录下主要包含与宇航工业相关的一些模型;Automotive目录下主要包括与汽车行业相关的一些模型;Power System 目录下主要包括与电源系统设计相关的模型。这种分类方法的一个目地就是,如果你确定自己的目标系统属于其中的一个,就可以直接在该目录下查找所有需要的模型了。当然,还有一种分类方法,就是按照技术领域分类。个人认为,这种分类方法对于搞技术的人来说更加直观和方便。在上面的图中直接左键单击MAST Parts Library 目录,就可以得到如下图所示的展开。 1158852291.partgallery2.jpg 从上图中看,就可以更为直观的按照技术领域寻找需要的template模型了。比如,要找电机之类的模型,可在Electro-Mechanical目录下找,要找机械负载模型,可在Mechanical目录下找,各种激励源或者参考地可在Sources,Power,Ground目录下找.各种模拟数字电路可在Electronics目录下找。 查找template模型的另一种方法是利用PartGalley的search功能。如下图所示: 1158852497.partgallery_search.jpg 在search栏里输入需要查找的关键字符就按回车就可以了,利用这个功能需要对saber的template模型命名规则有一些了解。基本上,saber中template模型的名字都与其英文术语多少有些关系。比如,gnd 代表参考地,resistor 代表电阻,capacitor 代表电容, switch 代表开关之类的。 同时,还可以通过Search Object 和 Search Match去修改search的规则和范围,提高search 的效率。这些选项的具体含义看参考saber的帮助文档。需要注意的是,通常情况下,不用去改变这两个选项。
1. 基本参数及其含义 前面曾经介绍过Saber的模型库主要有两类模型,一类是component,不需要设置的任何参数,可以直接使用;另一类是template,需要根据目标器件的特点设置各种参数以达到使用要求。无论是哪一类模型,都含有最基本的两个参数,一个是primitive,另一个是ref。primitive参数表明符号对应的模型名称,而ref参数是该模型在原理图中的唯一标识符,我想这个概念用过其他原理图编辑软件的网友,都应该能了解。如下图所示:
上图是sketch电阻模型的参数设置界面,可以通过在sketch中双击该器件符号启动该设置界面。图中primitive属性的值为r,表明该符号对应的模型名称为r,在saber安装目录的template目录下,会有一个r.sin文件,里面包含着名字为r的模型。图中ref参数的值为r1,这表明这个器件在该图中的唯一表示符是r1,即在同一张原理图上,不能再出现ref值为r1的电阻模型,否则sketch会报错。值得一提的是,这两个参数都是软件自动指定的,其中primitive参数一般不允许用户更改,所以为锁定状态(蓝色的锁表示锁定该属性),而ref参数可由用户修改,因此在修改ref参数的时候要注意,不要把该参数设置重复了。另外,框中黑点表示该属性名称及值在电路图中不可见,半绿半黑表示该属性的值在电路图中可见,全绿表示该属性名称及值在电路图中都可见。对于上图中的设置,则在电路图中有如下显示: 2. 获取参数含义的基本方法 至于模型中的其他参数,就需要用户根据自己的需要进行设置了,由于saber软件template非常多,而且每个template带的参数也不少,因此不可能一一介绍参数的含义。这里给出几种查找参数定义的方法: a. 在属性编辑器的下拉菜单中,选择Help>Help on Part,会启动Acrobat reader,并显示与模型相关的帮助文档。 b. 选中属性,在属性编辑器左下角的Help处会显示该属性的含义。 c. 在属性编辑器中选择Help>View Template,或者在电路图中,鼠标移至元件符号处,从右键快捷菜单中选择View Template,可以查看器件的MAST模板,在里面会有各种参数的解释。 3. 关于全局变量的设置 Saber软件提供了一种全局变量参数设置的方法。这种全局变量一旦设定以后,可以被整个原理图中所有元器件引用。该全局变量设置符号的名称为“Saber Include File”,可以利用它指定全局变量。有兴趣的网友可以去试试,但需要主要,元件的属性定义优先于全局变量定义的值。 4. 关于变量的分层传递 关于这个问题,我曾在我的博客文章《滤波器电路仿真》和《滤波器电路仿真续》中仔细介绍过,有兴趣的网友可以去查查看。
今天来谈谈sketch中如何布线的问题,这个问题不太复杂,在这里只是对布线方法和过程做一个简单的总结。 1. 如何开始一段布线? 先来看看如何在sketch中开始一段布线,通常有四种途径可以在sketch中开始一段布线: a. 将鼠标移至元件管脚处,图标变成十字架,表示鼠标已在管脚处,点击左键即可开始画线; b. 快捷键方式-按W键开始画线; c. 点击图标栏中的布线按钮开始画线; d. 选择Schematic>Create>Wire,或者从右键快捷菜单中选择Create>Wire命令开始画线; 2.如何控制走线方向? 要改变布线方向,在指定位置点击左键,然后可以继续画下一段线。在布线过程中,如果按Escape键可取消整个布线;如果双击鼠标左键,可完成这段布线;布线完成以后,如果左键单击选中这段线并Delete键,可删除这段布线。这里需要注意的是两个问题,一是sketch中默认的布线都是正交方式,如何绘制任意角度的线呢?二是在布线过程中,如果只想取消到上一个端点的布线而不是整根布线,该如何处理(注意:Escape键是取消整根布线)?布线时,在未结束布线前,点击鼠标右键,可弹出快捷菜单,菜单中的Any-Angle Segment命令可以实现任意角度布线,而Delete Previous Vertex命令可以删除先前的端点。 3.如何给连线命名? 画完连线后,可以给它命名,如果不命名,Sketch会自动为连线生成一个名字(如_n183)。虽然这样,但对于连线比较多的目标系统,还是建议针对关键节点进行命名,以便在scope中观察结果。给连线命名的方法如下: a. 将光标移至连线上,高亮显示红色,单击鼠标右键,在弹出菜单中选择Attributes命令; b. 操作显示连线属性框,在Name栏更改连线的名字,在Display栏选择是否sketch中显示连线名字; c. 在连线属性框中的左下脚的Apply 按钮即可。 需要注意的是,连线名称应用字母和数字构成切不能和Saber的命令或者MAST模板的保留字同名。另外,如果多个连线连到同一个点,只需命名一条连线,Sketch会将此命名应用到与其相连的其它连线。 4. 如何实现不直接连接但表示同一网络节点? 有时候,由于要绘制的原理图比较复杂,各种线相互交杂,使得阅读原理图非常不方便,这就需要一种不直接连接,但能表示为同一网络的方法以简化原理图。Sketch中只要两条连线名称相同,就被认为是相连的,因此可用命名相同连线名称的方法实现,但这种方法相对不够直观。另一种方法是使用页间连接器(Same Page Connector),其符号位于Parts Gallery的MAST Parts Library>Schematic Only>Connector,编辑其Name属性即可改变连线名称,通过页间连接器来定义连线名称,这样要更为直观一些。 5. 如何绘制一组线? 可以使用使用Bundle功能来绘制一组连线。在Sketch图标栏中选择bundle图标,如同画连线一样。要从bundle中添加或移走连线,仅连接或去除连到bundle上的连线即可。Sketch用附于bundle上的连线名来决定连线间的连接,连线名可以在电路图中直接编辑。要修改bundle的属性,高亮显示bundle,从右键快捷菜单中选择Attributes,或者双击bundle。
在Sketch中完成电路图后,就可以对设计进行仿真了。在开始今天仿真设置之前,建议对所绘制的原理图进行一次简单的检查。这一步是很有用,因为有很多仿真中出现的问题,都跟原理图有关系。检查的内容主要包括以下几个方面: 1. 原理图是否和目标系统一致,有没有连错线路,或者参数设置不对; 2. 如果是混合技术混合信号系统,各种接口设置是否正确; 3. 系统中有没有对地短路的节点; 4. 系统中有没有悬空的节点; 5. 如原理图分层次,确认当前的是不是顶层原理图。 在完成检查之后,可以通过在sketch中通过Design/Netlist 命令为原理图自动产生网表(关于网表和原理图的关系,以前已讨论过)。如果报错,则根据出错信息修改原理图,如果没有报错,则表明已生成网表,可继续调用 Design/Simulate将网表文件加载到仿真器当中,同时启动SaberGuide仿真环境设置界面(注意:此时仍在Sketch框架内,不过菜单和快捷按钮发生了变化)。如果一切正常,则会在右上角的状态栏上显示 Saber Ready或者 Simulator Ready(不同版本的区别),如果出错,则要根据出错信息修改原理图,并重复上述过程直至能够正常加载网表文件为止。到了这里,就进入了SaberGuide工具的管辖界内,可以开始仿真了。仿真的过程操作相对简单,通过快捷按钮或Analysis菜单下的相应命令启动所需进行分析的设置界面,根据要求进行设置,单击OK或者Apply按钮就可以开始仿真了。仿真结束以后,可以通过scope后者sketch中的probe工具观察仿真结果。 Saber软件提供的分析功能很多,每一种分析功能都有自己特定的应用领域。在这里不准备一一介绍,着重讨论一下4个基本也是最常用的分析功能,DC、DT、AC、TR。
1. 如何开始DT分析 a. 打开DT分析对话框(Analyses>Operating Point>DC Transfer) b. 设置DT分析面板的内容,Independence Source 和 Sweep range一定要设置,否则,就会出现lan_boy001网友在留言中提到的那种错误“Required Fields not Complete!!” c. 点击Apply按钮,执行DT分析。在默认情况下,成功的DT分析会创建一个与原理图文件同名尾缀为.dt.ai_pl的波形文件。 2. DT分析的一些有用设置。 DC分析的设置界面如下图所示。
在设置界面中有两个参数一定要进行设置。一个是Independence Source,它用于制定DT分析所扫描的独立源,其输入可以是系统中的任何一个独立激励源,如电气上的电压源、电流源,后者电磁系统的磁通源和磁势源等,但一定要是独立源,受控源不能作为其输入,可以通过点击旁边的箭头选择Browse Design,通过弹出的对话框进行选择并指定。另一个必须设置的参数是Sweep Range,它用于制定所扫描变化独立源的变化规则以及内容。系统默认的是变化规则是step by 模式,即所谓的步进模式,即从一个起始值开始按照固定的步长进行变化,到结束值为止。选择这种模式,下面的from 后面设置起始值,to后面设置结束值,by 后面设置步长。下面在来看看DT分析和后面要介绍的其他几种分析所共有的几个设置参数。一个是上图中的Plot After Analysis, 改参数用于确定在分析接受一个是否自动在Scope中打开分析结果文件以及打开的方式,默认设置的NO,不打开;可改选为Yes或者其它参数。在来看看Input Output标签栏的几个参数,Input Output 标签栏如下图所示:
其中常用的几个是Signal List,Include Signal Types以及Plot File和Data File参数。 Signal List栏用于设置分析结果文件中包含那些系统变量,它有一套固定的语法表达,这里就不仔细介绍了,只是简单看看它的设置菜单中的几个选项(单击旁边的箭头可弹出下拉菜单)。 a. All TopLevel Signals 表示所有顶层变量(默认值); b. All Signals 表示系统中的所有变量; c. Browse Design 可通过弹出的选择界面进行选择。 Include Signal Types用于设置分析结果文件中包含那种类型的系统变量。其中 a. Acoss Variables Only 只包含跨接变量; b. Throught Variables Only 只包含贯通变量; c. Acoss and Through Variables 包含跨接以及贯通变量; 通常情况下,Signal List 和Include Signal Types 需要配合使用。 Plot File 和Data File用于指定输出波形文件和数据文件的名字。关于这几个参数设置的定义以及使用,看参考我以前的博客文章《Saber中如何控制TR分析的仿真数据大小》。 3. 如何查看DT分析的结果。 在SaberGuide中有两种方法可以查看DT分析的结果,一种是通过SCOPE查看分析结果的波形文件,另一种是利用交叉探针(Probe)功能直接在原理图上查看分析结果波形。在SaberGuide用户界面内,选中一个系统节点并单击邮件,在弹出菜单中选择Probe即可显示改节点的波形。另外,在Scope中打开分析结果文件,选择需要观察的信号,并双击,也可在Scope中显示分析结果。 4. DT分析的意义。 DT分析的实际上是在用户指定的范围内,对独立电压(电流)源按照指定步长进行扫描变化,并计算系统的直流工作点。其基本功能还是计算系统的直流工作点。 5. DT分析的作用 DT分析常用于分析器件以及系统的各种直流特性,如BJT、MOSFET的转移特性等,如下图所示:
再比如,由运算放大器构成的电路的直流特性,如我以前的博客文章《带输出钳位功能的运算放大器》提到的例子。
1. 如何开始TR分析 a. 打开TR分析对话框(Analysis>Time-domain>Transient) b. 设置TR分析面板的内容,End Time 和 Time Step 一定要设置,否则,就无法进行仿真了。 c. 点击Apply按钮,执行TR分析。在默认情况下,成功的TR分析会创建一个与原理图文件同名尾缀为.tr.ai_pl的波形文件; 2. TR分析的一些有用设置。 TR分析的设置界面如下图所示。
在设置界面中有两个参数一定要进行设置。一个是End Time,它用于指定TR分析的结束时间,默认单位是秒。如果要看系统从0开始到50ms结束这期间的时域响应波形,可将End Time设置为50m(注意:这里没有s,Saber里所有的参数都已经带有默认单位了,不必输入,否则会报错)。 另外一个参数是Time Step,它用于指定TR分析中相邻计算点间重复的步长,由于Saber仿真器默认采用变步长算法,因此设置只会直接对第一个计算点有效,但由于它相当于一个基本步长的标尺,因此也会对后续的计算点步长产生影响。因此,Time Step的设置在TR中是非常重要的,其设置方法需要遵循一下几个基本原则: a. 设计中有关时间常数的1/10; b. 驱动源方波最小的上升沿或下降沿; c. 正弦驱动源输入周期的1/100; 当系统中存在多处上述情况时,取最小的值最为Time Step的值。TR分析中还有另外几个比较常用的参数,一个是Plot After Analysis,以前曾经介绍过,现在来看看它的几个选择项的含义: No:表示不自动在Scope中打开分析结果文件; Open Only:表示分析运行完后,自动在Scope中打开分析结果文件; Append:表示分析运行完后,保留当前的波形,再重新放置更新的波形; Replace:表示分析运行完后,用更新的波形替换当前的波形; 剩下的一些常用参数包括Signal List 以及Plot File、Data File等,其定义可使用方式与前面介绍的DT分析一致,具体情况可参考有关DT分析的博客文章《SaberGuide的使用(三)》。 3. 如何查看TR分析的结果。 在SaberGuide中有查看TR分析结果的方法和前面介绍的DT、AC分析一致,一种是通过SCOPE查看分析结果的波形文件,另一种是利用交叉探针(Probe)功能直接在原理图上查看分析结果波形。具体情况可参考前面关于DT分析的博客文章。 4. TR分析的意义。 TR分析把系统变量看成时间的函数,在指定工作点下对系统进行线性分析(缺省工作点是直流工作点分析(DC)的输出结果,由此可以看出,DC分析的重要性,不进行DC分析,TR分析就无法进行了),计算系统行为的时域响应。 5. TR分析的作用. 用于分析系统的时域响应特性。如下图所示:
6. 总结 在SaberGuide阶段,主要介绍了DC、DT、AC、TR四种基本分析,其中DC和DT主要用于分析系统的直流特性,AC主要用于分析系统的频域特性,而TR主要用于分析系统的时域特性。利用Saber软件进行各种设计应用的分析验证的过程中,主要是使用这四种基本分析,Saber中的其他类型分析也是以它们为基础的。
在SaberGuide中完成仿真之后,通常情况下要查看仿真的结果(否则,仿真也就没有意义了)。在Saber软件中,仿真结果通常有以下四种方式查看。 a. 通过Results>Back Annotation... 菜单命令将仿真结果反标回原理图(只有DC分析的结果能够进行反标); b. 通过Report Tool 以文字方式显示(注意:仅有部分分析可以通过报告方式查看结果,如DC); c. 通过 Probe 工具,在原理图上直接显示分析结果; d. 在Scope环境中观察分析结果; 几种方式中,以最后一种方法最为全面,在Scope中,不仅可以查看分析结果,更可以利用波形计算器(Waveform Calculator)和测量工具(Measurement Tool)对分析结果数据进行各种后处理,更加直观的将分析结果数据与设计指标联系在一起。 在Scope的全名叫做CosmosScope,它是一个功能非常强大的仿真结果数据后处理工具,它不仅可以观察Saber仿真器的仿真结果,还可以观察其他仿真器如HSPICE等工具的分析结果。Scope中用信号管理器(Signal Manager)来管理和显示各种分析结果文件的信号,其界面如下图所示:
在Scope中查看分析结果波形过程如下: a. 利用File>Open>PlotFiles… 命令将分析结果文件添加到信号管理器的列表中,也可在SaberGuide中进行仿真分析时,将分析设置对话框中的Plot After Analysis处指定为Yes-Open Only、Yes-Append Plots或Yes-Replace Plots 中的任意一个,则SaberGuide会自动在分析结束之后将结果文件加载到Scope中的信号管理器当中。关于这三个选项的区别,可参考以前的博客文章《SaberGuide的使用(五)》 b. 在信号管理里中右键双击鼠标打开分析结果文件对话框; c. 在分析结果文件对话框中,选择要进行观察的信号并双击,就可以在Scope中绘制出相关信号的分析结果波形; 关于放置信号波形,还有一个话题,就是如果在同一个坐标系下放置多个信号,其方法可参考以前的博客文章《Scope中如何将多个信号放置在同一坐标系中》。
1. 测量工具的基本介绍 在Scope中打开需要观察的信号波形以后,我们可以通过目测观察信号是否正常。这里提出了一个我个人认为进行仿真验证非常重要的观点,在仿真分析之前,一定要对目标系统的各个重要节点的信号波形有一个预判。否则在分析结束之后,出来的结果可能自己都无法确定正确与否,仿真也就没有任何意义了。目测分析波形只能大致确定系统是否按照所设计的进行运作,无法确定系统设计是否满足各种指标要求。那么,如何将分析结果与我们的设计指标进行比对呢?在Scope中提供了一个工具叫做测量工具(MeasurementTool),通过它可以对各种信号波形进行各种设计指标测量,其测量结果可以与设计指标进行比对,以确定设计是否满足要求。测量工具中内置了基于不同领域的各种测量方式,如下表所示的就是测量工具中与时域分析有关的测量方法:
2.测量工具的使用 a. 调用Tools>Measurement Too 命令即可打开测量工具对话框; b. 在Measurement选择需要进行何种测量; c. 点击Apply按钮开始测量,该操作执行对指定信号的测量并在图形中添加相关信息。如下图所示:
上面是这么说的:Saber?Sketch:aim.exe-应用程序错误.应用程序发生异常 unknown software exception(0x80000004),位置0x0012ee52.要终止程序,单击"确定"要调试程序,单击"取消"
估计是软件冲突吧,金山词霸是绝对不能同时打开的
今天接着昨天的内容继续讨论测量工具的使用。 3. 测量工具的一些有用设置 测量工具的设置界面如下图所示 测量工具的设置界面,随着在Measurement 处选择的测量方式不同而发生一些改变,但其中有两个参数是所有测量方式都适用的。一个是Signal,它用于指定要测量的信号。有两种方法可以用来指定要测量的信号,一种是点击Signal旁边的箭头按钮从结果列表中选择信号,另一种是从当前的图形中直接选择信号;另一个参数是Apply Measurement to,它用来控制测量的数据范围,它有两个选择项,一个是Entire Waveform,表示对整个波形进行测量;另一个是Visible X and Y range only,表示只测量当前图形中可见的X和Y的范围。 4. 测量结果的管理 在Scope中进行数据分析过程时,如果要查看某个测量,可用Measure Results管理界面,通过Graph>Measure Result或者在图形中双击测量结果可以调出测量结果管理界面,如下图所示: 测量结果管理界面的几个按钮的基本含义如下: Delete Measurement:删除从Graph中选择的测量 Delete All:删除Graph中所有的测量 Show All Values:显示所有的先前的测量 Hide All Values:隐藏所有的先前的测量
本文来源:https://www.2haoxitong.net/k/doc/ad4f2fc227fff705cc1755270722192e453658d1.html
文档为doc格式