PSpice仿真中收敛问题研究

时间:2022-10-10 01:14:05

PSpice仿真中收敛问题研究

摘 要:pspice是一个全功能的仿真工具,随着版本的不断革新,可以实现严格的电路模拟和电路优化,并成为工业标准工具。目前所有的电路仿真工具在进行直流分析和瞬态分析时都会遇到不收敛的问题。PSpice虽然已经采用了最可靠的算法,但仍未能杜绝不收敛问题。从仿真器采用的算法出发,分析不收敛产生的原因,针对各种原因提出相应的处理方法,最后通过一个存在收敛问题的实际电路,应用文中提及的方法解决了不收敛的问题,证明该文研究的处理方法的有效性和可行性。

关键词:电路仿真;电子设计自动化;PSpice;收敛问题

中图分类号:TN710文献标识码:A

文章编号:1004373X(2008)2002403

Investigation in PSpice Convergence Problem

WU Shaoqin1,SONG Ning2

(1.School of Electronic Engineering and Photoelectricity Technology,Nanjing University of Science and Technology,Nanjing,210094,China;

2.Automotive Engineering Research Institute,Nanjing Automobile Group Corperation,Nanjing,210028,China)

Abstract:PSpice is a entirely functional simulation tool.With the reforming of edition,PSpice can realize strict circuit simulation and circuit optimization.So PSpice has been becoming a normative industry tool.At present,all circuit simulation tools meet to convergence problem in DC analysis and transient analysis.PSpice also doesn′t avoid nonconvergence problem,although it has been adopted the reliable arithmetic.This paper analyzes the reasons of nonconvergengce,and gives some methods to solve.The convergence process in simulation is illustrated by a simulation example.It proves that the methods in this paper are effective and doable.

Keywords:circuit simulation;electronic design automation;PSpice;convergence problem

1 引 言

用于模拟电路仿真的SPice(Simulation Program with integrated circuit emphasis)软件是1972年由美国加州大学伯克利分校利用FORTRAN语言开发而成的。为了能在PC机上运行,MicroSim公司在1983年SPice 2G.6版本的基础上推出PSpice仿真器。PSpice仿真器经过不断的革新,到2007年已发展到16.0版本,它不是一般意义的教学演示软件,而是为严肃的模拟设计而特性化的仿真器\。

在使用仿真器进行DC分析和瞬态分析时,经常会遇到电路设计完全正确,却无法得到仿真结果的情况,也就是不会运行到所设定的终止条件,同时输出文件会给出出错信息,这就是程序不收敛的问题。该问题是执行仿真中最难解决的问题之一。PSpice程序虽然采用了最可靠的算法,但仍不能完全避免不收敛现象的发生。本文就这一难点问题提供一些可供参考的方法。

2 发生不收敛问题的原因

在分析过程中不收敛的根本原因是因为软件在电路分析时都是将电路的电流电压问题转换为方程组来求解,这些方程组分为线性方程组和非线性方程组。线性方程组可以采用直接消元法、高斯消元法和LU分解法等,非线性方程组更多的使用迭代法。而迭代法不可避免的会产生不收敛的问题。

以PSpice中使用最普遍的牛顿-拉夫逊(N-R)迭代法为例来说明。对于某一非线性方程f(x)=0,N-R迭代关系式为:

xk+1=xk-f(x)f′(x)(1)

当给定一个恰当迭代初值x0后,代入式(1)进行迭代,产生一个迭代序列{xk+1},直到xk+1和xk之间差的绝对值小于某个给定的允许误差ε为止。N-R迭代过程的几何解释如图1所示,首次迭代时k=0,xk=x0即为迭代初值,由x0求x1,再x1求x2,…,得到序列|xk+1|,最后收敛于真值x*。判断迭代结束的依据是2次x值之间的差小于给定误差ε,或者是迭代次数超过规定的最大迭代次数。

由此可见,迭代过程出现不收敛的情况有以下几类:一是初值选取不恰当,如图1所示,若将迭代初值选为x′,则迭代收敛于x*的概率就很低;二是迭代次数过长,如果规定的迭代次数为30次,但是实际迭代30次时还未到达真值x*,迭代被迫中止,也同样造成不收敛;三是规定的误差精度过高,也同样会造成迭代次数溢出,造成不收敛。要消除不收敛情况就必须从这3类情况入手。

图1 N-R迭代过程的几何解释

3 处理不收敛问题的对策

3.1 设置适当的初值

PSpice提供了3种方法,在绘制电路图的过程中同时设置好相应的初始条件。

(1) 采用IC符号。

(2) 采用NODESET符号。

(3) 设置电容和电感元件的IC属性。

IC是Initial Condition的缩写。在电路符号库Special.olb中,IC1和IC2两个符号如图2所示,用于设置电路中不同节点处的偏置条件。在电路图中放置IC符号的方法与放置元器件图形符号的方法相同。在PSpice运行过程中,实际上是在连有IC符号的节点处附加有1个内阻为0.000 2 Ω的电压源,电压源值即为IC符号的设置值。

NODESET符号也是在Special.olb符号库中,如图3所示。其使用方法与IC符号类似。但这两类符号的作用有根本的区别。它不像IC符号那样用于指定节点处的直流偏置解,它的作用只是在迭代求解直流偏置解时,指定单个节点或两个节点之间的初始条件值,即在求解直流偏置解进行初始迭代时,这些节点处的初始条件取为NODESET符号的设置值,以帮助收敛。

图2 IC符号

图3 NODESET符号

电容和电感元件的初始值可以在元件的属性设置项中名为IC的项进行设置。该设置在所有的直流偏置求解计算过程中均起作用。对电容,IC属性的设置相当于在求解时与电容并联一个串联电阻为0.002 Ω的电压源。对电感,相当于与电感串联一个恒流源,而与恒流源并联一个1 GΩ的电阻。

上一篇:高校机房科学管理解决方案 下一篇:税收筹划在建筑施工企业中的应用