Saber中文使用教程之软件仿真流程今天来简单谈谈Saber软件的仿真流程问题。利用Saber软件进行仿真分析主要有两种途径,一种是基于原理图进行仿真分析,另一种是基于网表进行仿真分析。前一种方法的基本过程如下:a.在SaberSketch中完成原理图录入工作;b.然后使用netlist命令为原理图产生相应的网表;c.在使用simulate命令将原理图所对应的网表文件加载到仿真器中,同时在Sketch中启动SaberGuide界面;d.在SaberGuide界面下设置所需要的仿真分析环境,并启动仿真;e.仿真结束以后利用CosmosScope工具对仿真结果进行分析处理。在这种方法中,需要使用SaberSketch和CosmosScope两个工具,但从原理图开始,比较直观。所以,多数Saber的使用者都采用这种方法进行仿真分析。但它有一个不好的地方就是仿真分析设置和结果观察在两个工具中进行,在需要反复修改测试的情况下,需要在两个窗口间来回切换,比较麻烦。而另一种方法则正好能弥补它的不足。基于网表的分析基本过程如下:a.启动SaberGuide环境,即平时大家所看到的SaberSimulator图标,并利用loaddesign命令加载需要仿真的网表文件;b.在SaberGuide界面下设置所需要的仿真分析环境,并启动仿真;c.仿真结束以后直接在SaberGuide环境下观察和分析仿真结果。这种方法要比前一种少很多步骤,并可以在单一环境下实现对目标系统的仿真分析,使用效率很高。但它由于使用网表为基础,很不直观,因此多用于电路系统结构已经稳定,只需要反复调试各种参数的情况;同时还需要使用者对Saber软件网表语法结构非常了解,以便在需要修改电路参数和结构的情况下,能够直接对网表文件进行编辑saber中文使用教程Saber/Simulink协同仿真接下来需要在Saber中定义输入输出接口以便进行协同仿真,具体过程如下1.启动Sketch并打开throttle_control_system.ai_sch文件,如下图所示:2.删除图中的throttle_controler符号,如下图所示:3在Sketch启动SaberSimulinkCosimTool,并在其界面中选择File/ImportSimulink命令,在弹出的对话框中选择throttle_controller_cosim.mdl文件,SaberSimulinkCosimTool会自动为该MATLAB模型建立相关Saber符号,如下图所示:注意:上图中左上方的CosimStepSize(s)栏可以设置Saber和SIMULINK数据同步的步长,默认值为1ms,根据系统时间常数来设置.4保存上一步创建的符号并利用Sketch中的Schematic/GetPart/BySymbolName命令将该符号放入第2步修改好的原理图中,完成连线后,将该图另存为throttle_control_system_cosim.ai_sch.Sketch的使用之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.在属性编辑器的下拉菜单中,选择HelpHelponPart,会启动Acrobatreader,并显示与模型相关的帮助文档。b.选中属性,在属性编辑器左下角的Help处会显示该属性的含义。c.在属性编辑器中选择HelpViewTemplate,或者在电路图中,鼠标移至元件符号处,从右键快捷菜单中选择ViewTemplate,可以查看器件的MAST模板,在里面会有各种参数的解释。3.关于全局变量的设置Saber软件提供了一种全局变量参数设置的方法。这种全局变量一旦设定以后,可以被整个原理图中所有元器件引用。该全局变量设置符号的名称为“SaberIncludeFile”,可以利用它指定全局变量。有兴趣的网友可以去试试,但需要主要,元件的属性定义优先于全局变量定义的值。4.关于变量的分层传递关于这个问题,我曾在我的博客文章《滤波器电路仿真》和《滤波器电路仿真续》中仔细介绍过,有兴趣的网友可以去查查看。Sketch的使用之选择和放置电路元件、设置元件参数、连线并设置网络节点名称今天讨论SaberSketch的使用。如果我们采样基于原理图的仿真方式,那么Sketch是我们在整个仿真过程中主要操作的一个界面。先来看看要完成一次仿真,在Sketch中需要做些什么工作。1.启动Sketch,新建一个原理图设计;(呵呵,有点废话)2.选择和放置电路元件;3.设置元件参数;4.连线并设置网络节点名称;5.对混合信号以及混合技术的情况下,对接口部分进行处理;6.新建符号并添加到原理图中(如果需要)7.添加图框;(如果需要)8.保存设计,退出或启动SaberGuide界面,开始仿真设置。这几个步骤中,着重介绍一些2、3、4。先来看看第二步选择和放置元件,关于如何放置元件,我想大家都会,在PartGalley里选中要放置的器件,双击鼠标左键就可以在原理图编辑界面中仿真一个符号了。新版的Saber中,支持鼠标的拖拽,即选中器件后,按住鼠标左键就可把元件拖入原理图编辑界面。下面主要介绍一下,如何在Sketch中找到需要的模型符号,在介绍这部分内容之前,先澄清几个概念,以便理解后面的一些过程。首先是符号和模型。对于仿真器而言,只能接受按固定语法描述的网表以及模型文件,无法理解符号以及由符号构成的原理图;而对于普通使用者而言,模型以及网表的语法过于抽象,不能直观的反映设计思想。为了解决这种矛盾,EDA工具中便有了符号和模型的概念。符号主要给人使用,用来编辑原理图;模型主要给仿真器(即计算机)用,用来建立数学方程。Saber中的符号和模型存在一一对应的关系,PartGallery中的每一个符号,都有一个模型与之对应。因此,用户在PartGellery中调用的符号就等于调用了模型,不过这种方式更为直观。需要注意的是,如果PartGallery中没有需要的模型符号,也就代表Saber的模型库中没有需要的模型,此时要想继续仿真,用户就必须自己提供(建模或者下载)模型并为模型建立相应的符号。另外,Saber软件中模型和网表问题的尾缀是一样的,都是*.sin,或许是因为它把网表也看成一个大的模型吧。另外两个需要了解的概念是模板(template)和器件(component)。Saber里的模型就分这两类。简单的说,模板(template)是基于某一类器件的通用模型,它需要用户根据需要设置各种参数以达到使用要求;而器件(component)是某一或者某一系列商用元件(如LM324)的模型,它无须用户进行任何设置,可直接使用。另外,Saber的component库分两种,DX库和SL库,后者比前者缺少容差和应力分析参数。Sketch的使用之sketch中布线天来谈谈sketch中如何布线的问题,这个问题不太复杂,在这里只是对布线方法和过程做一个简单的总结。1.如何开始一段布线?先来看看如何在sketch中开始一段布线,通常有四种途径可以在sketch中开始一段布线:a.将鼠标移至元件管脚处,图标变成十字架,表示鼠标已在管脚处,点击左键即可开始画线;b.快捷键方式-按W键开始画线;c.点击图标栏中的布线按钮开始画线;d.选择SchematicCreateWire,或者从右键快捷菜单中选择CreateWire命令开始画线;2.如何控制走线方向?要改变布线方向,在指定位置点击左键,然后可以继续画下一段线。在布线过程中,如果按Escape键可取消整个布线;如果双击鼠标左键,可完成这段布线;布线完成以后,如果左键单击选中这段线并Delete键,可删除这段布线。这里需要注意的是两个问题,一是sketch中默认的布线都是正交方式,如何绘制任意角度的线呢?二是在布线过程中,如果只想取消到上一个端点的布线而不是整根布线,该如何处理(注意:Escape键是取消整根布线)?布线时,在未结束布线前,点击鼠标右键,可弹出快捷菜单,菜单中的Any-AngleSegment命令可以实现任意角度布线,而DeletePreviousVertex命令可以删除先前的端点。3.如何给连线命名?画完连线后,可以给它命名,如果不命名,Sketch会自动为连线生成一个名字(如_n183)。虽然这样,但对于连线比较多的目标系统,还是建议针对关键节点进行命名,以便在scope中观察结果。给连线命名的方法如下:a.将光标移至连线上,高亮显示红色,单击鼠标右键,在弹出菜单中选择Attributes命令;b.操作显示连线属性框,在Name栏更改连线的名字,在Display栏选择是否sketch中显示连线名字;c.在连线属性框中的左下脚的Apply按钮即可。需要注意的是,连线名称应用字母和数字构成切不能和Saber的命令或者MAST模板的保留字同名。另外,如果多个连线连到同一个点,只需命名一条连线,Sketch会将此命名应用到与其相连的其它连线。4.如何实现不直接连接但表示同一网络节点?有时候,由于要绘制的原理图比较复杂,各种线相互交杂,使得阅读原理图非常不方便,这就需要一种不直接连接,但能表示为同一网络的方法以简化原理图。Sketch中只要两条连线名称相同,就被认为是相连的,因此可用命名相同连线名称的方法实现,但这种方法相对不够直观。另一种方法是使用页间连接器(SamePageConnector),其符号位于PartsGallery的MASTPartsLibrarySchematicOnlyConnector,编辑其Name属性即可改变连线名称,通过页间连接器来定义连线名称,这样要更为直观一些。5.如何绘制一组线?可以使用使用Bundle功能来绘制一组连线。在Sketch图标栏中选择bundle图标,如同画连线一样。要从bundle中添加或移走连线,仅连接或去除连到bundle上的连线即可。Sketch用附于bundle上的连线名来决定连线间的连接,连线名可以在电路图中直接编辑。要修改bundle的属性,高亮显示bundle,从右键快捷菜单中选择Attributes,或者双击bundle。