如何从数据表构建 SPICE 模型?

电器工程 数据表 香料 造型
2022-01-12 18:06:05

这可能不是解决问题的理想论坛;如果论坛更适合该问题,请迁移。

我正在查看一个组件,我在网上查找 SPICE 模型的尝试都没有结果。但是,有该组件的数据表可供在线参考。组件的 SPICE 模型可能借鉴了它的数据表的内容......

那么,当数据表可供参考时,如何构建 SPICE 模型?我在看 LTSpice

4个回答

根据组件的不同,常用方法是为基本元件(晶体管、二极管)或更复杂的组件(如运算放大器、稳压器等 IC)使用 .MODEL 卡,您可以使用子电路模型(由基本的元素)或行为模型(使用公式来近似行为)

这很快就会变得非常复杂,复杂程度取决于您需要对组件进行仿真的准确程度,并且需要非常详细的组件类型知识,以便您了解哪些数据表参数很重要,它们如何转换为 SPICE 参数等。

有关您需要了解的参数类型的示例(至少其中一些),请在 LTSpice 帮助中查看 LTSpice->Circuit Elements->Bipolar Transistor 并查看 Gummel-Poon 参数。
尽管看起来很复杂,但您可以使用大多数默认值,只需更改 Bf(Beta)、Vje(be 电压)、Cje(基极发射极电容)、Cjc 等基本参数。查看各种模型会很有帮助LTSpice 附带的用于了解事物的方法。

该帮助提供了许多有用的信息,因此请仔细阅读。此外,“使用 PSPICE 进行电路仿真的指南”是一本不错的书,其中包含一些模型参数的讨论。此外,谷歌上有关模型的信息,你应该找到很多 - 例如,这里有一个关于 Gummel-Poon 模型以及如何使用它的优秀文档。

这是关于如何为 MOSFET 构建 .model 语句的非常好的教程:http ://www.simonbramble.co.uk/lt_spice/ltspice_lt_spice_tutorial_6.htm

只是在这里提供更多信息:创建组件模型有两种路径。一个使用.subsckt语句,另一个使用.model语句。

对于 MOSFET 之类的基本组件,最好使用.model语句。可以使用模板语句对 MOSFET 进行建模.model XXXX VDMOS(Rg= Rd=5 Rs=1 Vto= Kp= Cgdmax= Cgdmin= Cgs= Cjo= Is= Rb= ),其中参数RgRdRs可以从数据表和其他 spice 文件中确定。

一个示例是具有语句定义的模型的 Fairchild FDS6680A MOSFET .model FDS6680A VDMOS(Rg=3 Rd=5m Rs=1m Vto=2.2 Kp=63 Cgdmax=2n Cgdmin=1n Cgs=1.9n Cjo=1n Is=2.3p Rb=6m mfg=Fairchild Vds=30 Ron=15m Qg=27n)

在阅读了这些答案后,点击了几个链接,以及更深入的链接,一个完整的点击洞,我发现了很多信息,我将浏览它们作为更新的答案(为了我自己的文档目的; )

首先:您应该知道,这比这里的答案更受欢迎。此外,正如其他人已经评论过的那样,您的问题太笼统了我只会触及表面,列出一些基本的被动元素,这些元素没有太多文档记录,然后提供链接以进一步研究如何为您感兴趣的组件建模,因为这是一个巨大的主题,即使只是一个元素。


要在 SPICE 中为特定组件创建自己的模型,您需要弄清楚以下内容:

  1. Spice 如何对特定组件和可用参数进行建模
  2. 每个参数如何影响建模行为
  3. 如何将数据表中提供的信息与建模行为相关联

Spice 可用的模型定义元素

.MODEL -- 定义一个 SPICE 模型

Syntax: .model <modname> <type>[(<parameter list>)]

类型相关电路元件):

SW压控开关),CSW电流控制开关),URC均匀分布RC线),LTRA有损传输线),D二极管),NPNNPN双极晶体管),PNPPNP双极晶体管),NJFN沟道JFET模型),PJFP沟道JFET模型),NMOSN沟道MOSFET),PMOSP沟道MOSFET),NMFN沟道MESFET),PMFP沟道MESFET),VDMOS垂直双扩散功率MOSFET

RES电阻)、CAP电容)、IND电感

注意:此列表可能不完整


基本被动(R,L,C)

  1. 电阻器:您可以定义/调整温度依赖性
  2. 电容器:您可以定义/调整温度依赖性电压依赖性
  3. 电感器:您可以定义/调整温度依赖性电流依赖性

温度依赖性 (R,L,C)

=========== ============================== ======= =======
   name      parameter                      units  default
=========== ============================== ======= =======
TC1          linear temperature coeff.      1/ºC     0.0 
TC2          quadratic temperature coeff.   1/ºC²    0.0 
T_MEASURED    override component temp.       ºC      27  
TNOM             (same as above)             ºC      27  
=========== ============================== ======= =======

这些系数被计算为温度因子乘数,如下所示:

温度系数计算

(\Delta T = \left(T_{amb} - T_{nom} \right ) \text{ , 默认 } T_{amb}=27\ TempFactor = 1+T_{c1} \cdot\Delta T+T_{c2 }\cdot(\Delta T)^2)

电阻器扩展温度建模

======= ============================== ======= =======
 name    parameter                      units  default
======= ============================== ======= =======
 TCE    exponential temperature coeff.   %/ºC    0.0 
======= ============================== ======= =======

扩展电阻温度因子方程

(TempFactor_{R} = TempFactor\cdot 1.01^{Tce\cdot\Delta T})

T_amb = 全球温度,默认为 27ºC 这可以在.TEMP运行中定义

.TEMP 10 20

例如,在直流扫描分析中扫描温度参数。

电阻器、电容器、电感器的值将计算如下:

应用的无源温度系数


电压依赖性 (C)

=========== ============================== ======= =======
   name      parameter                      units  default
=========== ============================== ======= =======
VC1          linear voltage coefficient      1/V     0.0 
VC2          quadratic voltage coefficient   1/V²    0.0 
=========== ============================== ======= =======

电容电压系数方程

(C = C\cdot \left(1+Vc1\cdot V_C+Vc2\cdot V_C^2\right))

电流依赖性 (L)

=========== ============================== ======= =======
   name      parameter                      units  default
=========== ============================== ======= =======
IL1          linear current coefficient      1/A     0.0 
IL2          quadratic current coefficient   1/A²    0.0 
=========== ============================== ======= =======

电感电流系数公式

(L = L\cdot \left(1+Il1\cdot I_L+Il2\cdot I_L^2\right))

初始值

如果在 .tran 分析中指定 了“UIC” (跳过初始操作点解决方案)选项,这只会对模拟产生影响。

在模型中,您还可以使用参数ic指定初始值,其值将定义电感器中的初始电流或电容器中的初始电压。它不适用于电阻。

初始值也可以使用.ic spice 指令在特定节点的一般上下文中设置。

寄生元素

电阻器 在这种情况下,定义一个子电路,如本问题/答案中所示的非理想电阻器的等效电路,对寄生元件进行建模。

R 寄生子电路 1 R 寄生子电路 2

适合您特定电阻器结构和应用的型号由您选择。

Vishay 关于薄膜片式电阻器的本应用说明中,它们提供了寄生参数变化的模型系数,具体取决于 smd 组件外壳尺寸(一种终端类型)。

电容器 LTSpice 具有以下寄生元件模型。

C 寄生等效香料模型

在 LTSpice 中,右键单击器件可以指定以下寄生组件:

Rser, Lser, Rpar, Cpar

要指定RLShunt,您需要(cntrl+右键单击)并向下滚动到 SpiceLine 或 SpiceLine2 并在其中手动输入。例如RLShunt=0.01

电感器 LTSpice 具有以下寄生元件模型。

l 寄生等效电路 spice

在 LTSpice 中,右键单击器件可以指定以下寄生组件:

Rser, Lser, Rpar, Cpar

*除非严格指定,否则 Rser 默认为 1mΩ。这允许 LTspice 将电感集成为诺顿等效电路,而不是戴维南等效电路,以减小电路线性化矩阵的大小。

定义模型

要定义模型,请创建一个 spice 指令并将其放在工作表上:

.model myR res(Tnom=150 Tc2=-19u)

然后将模型输入到电阻器上的“SpiceModel”字段(通过 ctrl 鼠标右键单击)。相同的程序适用于所有组件


定义非线性行为

这些陈述与无源的模型定义不兼容。输入它们而不是组件值,因为表达式定义了该值的行为。

电阻器

R=<expression>                , defines resistance (R<>0 to avoid problems)
R=limit(1,100k,V(1,2)*I(V1))  , result is kept between 1Ω and 100kΩ

电容器

Q=<expression>      , defines capacitance ('x' is Capacitors voltage)
Q=1u*x              , defines a 1uF capacitor
Q=x*if(x>3,1n,400p) , a more complex relationship

更多信息在这里

电感器

LTspice 中有两种形式的非线性电感器可用。基本的如下:

Flux=<expression> , defines the inductance ('x' is Inductors current)
Flux=1m*x         , defines a 1mH inductor
Flux=1m*tanh(5*x) , a more complex relationship

其他非线性行为尝试对核心进行建模,使用以下参数定义滞后回路:

====== ========================= ===============
 Name      Description                Units
====== ========================= ===============
  Hc     Coercive force          Amp-turns/meter 
  Br     Remnant flux density        Tesla
  Bs     Saturation flux density     Tesla
------ ------------------------- ----------------
     Mechanical dimensions of the core
------ ------------------------- ----------------
  Lm    Magnetic Length(excl.gap)    meters
  Lg     Length of gap               meters
  A      Cross sectional area        meters²
  N      Number of turns               -
====== ========================= ===============

L 磁芯滞后模型

更多信息在这里


第2步 :

现在您已经了解了如何对几个组件进行建模,现在您必须查看数据表并了解可以使用什么来最好地根据您的需要对组件进行建模。

当提供图表时,这是一个很好的选择和计算无源行为等效电路的读物。

第 3 步:

在 spice 模拟运行中使用测试设置生成曲线并调整参数值以拟合曲线。


我正在添加一个关于 MOSFET 的部分,因为它是您最初尝试建模的组件,而我曾经也是。

MOSFET

LTspice 中有两种根本不同类型的 MOSFET,单片 MOSFET 和新的垂直双扩散功率 MOSFET 模型。

功率 MOSFET 是当前感兴趣的领域,被建模为垂直双扩散功率 MOSFET:VDMOS

最低要求模型参数

=========== ===========================================
 Parameter     Description 
=========== ===========================================
  Rg         Gate ohmic resistance 
  Rd         Drain ohmic resistance (this is NOT RDSon 
             but the resistance of the bond wire) 
  Rs         Source ohmic resistance. 
  Vto        Zero-bias threshold voltage. 
  Kp –       Transconductance coefficient 
  Lambda     Change in drain current with Vds 
  Cgdmax     Maximum gate to drain capacitance. 
  Cgdmin     Minimum gate to drain capacitance. 
  Cgs        Gate to source capacitance. 
  Cjo        Parasitic diode capacitance. 
  Is         Parasitic diode saturation current. 
  Rb         Body diode resistance. 
=========== ===========================================

Ian Hegglun 发表的多篇论文对如何将模型与数据表关联起来进行了广泛且非常好的建模。有用于调整曲线的测试设置以及要下载的 zip 文件。

MOSFET:从曲线和数据表中提取 VDMOS 参数


从数据表中追踪曲线的资源


资料来源:

您需要清楚组件的含义。Spice 本机模拟晶体管电路元件,可以插入您自己的“C”模型(并非所有版本都可以这样做),但您必须了解 SPICE 如何正确制作模型。对于更大更复杂的设备,您可以使用宏模型,或者更现代的趋势是使用 Verilog-A。