MAST建模的讲义 电源网.doc

  1. 1、本文档共26页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
MAST建模的讲义 电源网

MAST建模讲义 引言 所谓仿真,就是描述一个实际系统的数学模型的特征,对仿真器而言,系统的模型无非就是一系列的代数或微分方程(组)。MAST语言主要是用来创建模拟、数字或系统模型的,而用MAST语言建模实际上就是指定要被仿真的模型,它实际上就是要建立一系列的方程,因此用MAST语言建模的核心就是用线性(或非线性)的代数、微分方程(组)来描述对象的特征。它包括电、机械、光和流体等。 从上面的定义可以看出,Saber仿真器并不是单纯的一个电路模型仿真器,从理论上讲如果你能用MAST语言建立任何建模,通过Saber仿真器就能进行仿真,但在实际情况是它讲受系统硬件的限制。仿真器实际上要作的工作就是解方程。 既然Saber仿真器的主要工作就是解方程,那么可不可以将描述系统特征的数学方程用MATLAB来求解呢?因该说是可以的。但是有时建立一个系统的模型非常困难,特别是一些结构复杂的系统。用MAST建模时可以首先建立系统中元件的模型,然后将各个元件按照一定的要求连接起来就构成系统模型,因此在这种情况下描述系统模型方程由仿真器自动完成。 正如上所述,只要能写出描述对象特征的方程就能用MAST语言建模,因此MAST语言不仅可以建立模拟元件的模型,还可以建立数字元件的模型,对于数字模型是用元件在各离散时刻的离散值来描述的。 在MAST语言中,被Saber仿真器使用的最核心的单元就是模板(template),在创建模型中,模板是分层结构的。所谓分层结构就是在创建模板中可以引用其它模板。这样的结构有几个好处: 在你创建模板的过程中可以直接调用Saber库中元件模型,这样将大大的减少你编写模板的工作量。 对于你经常使用到的电路结构(该结构中可以包括其它电路结构),可以将其构成一个子系统,而其它模板可以调用这个子模板。 可以建立一个顶层模板,在该模板中调用系统中的其它所有模板,它只反映各模板之间的连接及各模板所需要传递的参数。该模板通常叫网表。这样在仿真中修改参数就很方便。 模板的命名。在这个问题上有两点需要注意,1、模板的扩展名必须是 .sin,即 templatename.sin。2、模板名必须以字母开头。 如果是用SPICE语言写的模板,Saber仿真器也可以对它进行仿真,但之前必须把它转换为Saber格式,用spitos来转换。 根据仿真对象的不同,所建模板的表现形式也不同,描述模板程序不同,构成模板的复杂程度不同,但作为模板它们都有一些共同的特征,首先它们都是由MAST语言写成的(Saber的模型可以由其它语言写,如VHDL,但那不是本课程的内容),其次是模板的结构具有相似性。与此相对应,在本部分内容中应注意MAST语言本身的特征以及模板的一些结构特征。 ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 模板的结构 一个模板可能有部分以下的一个或几个部分,也可能有以下的全部 Units definitions Connection point definitions Template header Header declarations { local declarations Parameters sections When statements Values section Control section Equations section } 在编写模板时,没有上面顺序的限制,可以按任意顺序编写,但有两点需特别注意,在使用一个量之前必须首先定义这个量,你定义的量的位置就决定了它是全局的或是局部的。如果你要在模板中引用文件,你可以在任何地方引用文件,关于文件的引用将在后面作简单介绍。但是为了增加程序的可读性,建议编写模板程序时采用上述顺序。另外,如果要调用程序,如果该文件为全局调用,建议调用句放在header declarations部分,如果该文件为局部调用,建议放在local declarations部分。 你的模板可能只有以上的某些部分,至于那些部分是你需要的则是根据你模型的需要。例如,顶层模板就不包括模板头,头定义以及函数体{ }。下面将分别介绍在模板中各部分的情况。如下例: c.c2 p:vcc m:out1 = c=normal(5000p,0.2) c.c3 p:vcc m:out2 = c=normal(5000p,0.2) c.c1 p:n4 m:n6 = c=normal(1000p,0.2) r.r1 p:out3 m:n8 = rnom=normal(10k,0.1) r.

文档评论(0)

130****9768 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档