Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Архангелский ПСпице и Десигн Центер Ч1 1996

.pdf
Скачиваний:
91
Добавлен:
16.08.2013
Размер:
1.78 Mб
Скачать

3.2. Расчет по постоянному току

61

малая абсолютная погрешность в данном узле будет восприниматься как бесконечно большая относительная погрешность и расчет никогда не закончится. По этой причине задаются и абсолютные, и относительные погрешности, а в качестве результирующей принимается максимальная из них. Если обозначить x, δx и εx соответственно как абсолютную, относительную и результирующую погрешности напряжения или тока, то результирующая погрешность определяется соотношением εx=макс{ x, δx xi }, т.е. для малых по модулю значений переменных действует абсолютная погрешность, а для больших - относительная.

Погрешности в PSpice задаются опциями

RELTOL - относительная погрешность по току и напряжению (по умолчанию 0.001);

VNTOL - абсолютная погрешность по напряжению (в вольтах, по умолчанию 1мкВ);

ABSTOL - абсолютная погрешность по току (в амперах, по умолчанию 10-12 A).

Если значения погрешностей, принятые по умолчанию, пользователя не устраивают, он может задать необходимые значения с помощью оператора .OPTIONS (см. п. 3.9 и работу [3]). Например,

.OPTIONS RELTOL=1E-4, ABSTOL=1NA, VNTOL=10UV

Значения допустимых погрешностей должны выбираться исходя из свойств анализируемой схемы. Задавая погрешность по току, надо иметь ввиду, что в результате расчета к каждому узлу схемы может быть как бы подключен паразитный источник тока величиной до εi. Поэтому, если в схеме есть высокоомные узлы, в которых такой ток может создать заметный сдвиг напряжений, погрешности ABSTOL и RELTOL следует уменьшать. Если же схема мощная с высокими уровнями токов, то ABSTOL необходимо увеличивать так, чтобы величина ABSTOL была не менее, чем 10-9 от уровня тока. Аналогично, абсолютную погрешность по напряжению VNTOL надо уменьшать в схемах с уровнями сигналов миливольты и ниже и увеличивать в схемах с высокими уровнями напряжений (сотни вольт и киловольты) так, чтобы величина VNTOL была не менее, чем 10-9 от уровня напряжений.

Задавая допустимые погрешности, надо учитывать, что они, вообще говоря, не гарантируют точность расчета, поскольку, как видно из рис.

62

Виды анализа в PSpice

3.1 б, это погрешности на итерации, а не погрешности действительного корня уравнений. Например, контроль напряжений осуществляется по приращению U на итерации, но величина U может быть много меньшей, чем расстояние до истинного корня. Поэтому в ответственных случаях убедиться в точности полученного решения можно только одним путем: повторить расчет с уменьшенными на 1÷2 порядка допустимыми погрешностями и посмотреть, насколько изменятся результаты.

Остановимся теперь на вопросах сходимости метода, т.е. на возможности вообще получить приемлемое решение. Сам по себе метод Ньютона может расходиться. В этом случае вместо приближения к корню получается удаление от него и неограниченный рост погрешности от итерации к итерации. Чтобы этого не происходило, в методе Ньютона-Рафсона используется параметр t, который выбирается так, чтобы исключить увеличение узловых токов от итерации к итерации. Это гарантирует нерасходимость метода, но, к сожалению, не гарантирует его сходимости. Поэтому в PSpice используется дополнительно один из вариантов метода движущейся области сходимости. Он основан на предположении, что метод НьютонаРафсона сходится, если его начальная точка достаточно близка к корню. Вариант, используемый в PSpice, сводится к следующему. Сначала делается попытка рассчитать режим обычным путем. Если получить решение не удается, то источники питания уменьшаются в 4 раза и повторяется попытка расчета схемы. Если она опять заканчивается неудачей, источники питания уменьшаются еще в 4 раза и т.д. В конце концов обычно решение находится, поскольку при стремлении к нулю источников питания потенциалы всех узлов схемы также стремятся к нулю и это простое решение программа находит. Затем источники питания начинают аналогичным образом увеличиваться, и каждый раз в качестве исходной точки для метода Ньютона-Рафсона берется точка, рассчитанная для предыдущего значения источников питания. Если зависимость напряжений схемы от источников питания непрерывна, то эта точка достаточно близка к корню и решение находится. В конце концов питание достигает номинального значения и режим схемы оказывается посчитанным. На экране дисплея этот процесс изменения питания сопровождается сообщением:

Power supplies cut back to ... %.

3.2. Расчет по постоянному току

63

К сожалению, и этот метод не всегда дает возможность успешно рассчитать режим по постоянному току. Некоторые советы по поводу того, что делать в этих случаях, приведены в п. 3.2.5. А сейчас рассмотрим виды анализа по постоянному току в PSpice и соответствующие операторы входного языка.

3.2.2. РАСЧЕТ РАБОЧЕЙ ТОЧКИ

Расчет схемы по постоянному току осуществляется в PSpice в двух вариантах:

определение рабочей точки, т.е. расчет состояния схемы, являющегося исходным для других видов анализ - малосигнального, расчета переходных процессов и т.д.;

расчет зависимости постоянных напряжений и токов схемы от уровня какого-либо источника напряжения и тока.

Расчет рабочей точки осуществляется по умолчанию всегда, так как не рассчитав режим невозможно (во всяком случае для нелинейных схем) проводить никакой другой вид анализа. Даже если в задании на расчет схемы вообще не указано никаких видов анализа, расчет рабочей точки все равно осуществляется.

Следует различать две рабочие точки, которые могут быть разными: рабочая точка малосигнального анализа и начальная точка расчета переходных процессов. Первая из них, как указывалось выше, рассчитывается всегда. Вторая рассчитывается только в тех случаях, когда задан расчет переходных процессов. Различие между ними заключается в том, что для рабочей точки малосигнального анализа независимые источники напряжения и тока принимают значения, заданные в их описании по постоянному току (DC), а для начальной точки переходных процессов они получают значения, соответствующие описанным в их моделях сигналов в нулевой момент времени. Если сигналы в нулевой момент времени не совпадают со значениями, заданными для постоянного тока, то будут различаться и эти две рабочие точки.

В некоторых, сравнительно редких, случаях возникает необходимость запретить расчет начальной точки переходных процессов. Это прежде всего относится к схемам генераторов, работающих в автоколебательном режиме. Практически всегда в таких генераторах имеется точка неустойчивого равновесия, в которую реальная схема не попадает, а если даже и попадет, то вследствие любой флуктуации тока или напряжения немедленно выйдет из

64

Виды анализа в PSpice

нее. Но поскольку программа рассчитывает идеальную схему без каких-либо флуктуаций, то велика опасность, что в результате расчета по постоянному току схема окажется именно в этой точке равновесия, и в этом случае генерация не возникнет. Поэтому в PSpice предусмотрена возможность отменить расчет начальной точки переходных процессов. Это делается опцией UIC в операторе расчета переходного процесса .TRAN. Подробнее об этом будет сказано в п. 3.4.

По результатам расчета рабочей точки в листинге (файле с расширением

.OUT) печатаются таблица узловых потенциалов (NODE VOLTAGE), таблица токов независимых источников напряжения (VOLTAGE SOURCE CURRENTS) и полная рассеиваемая мощность (TOTAL POWER DISSIPATION). Например:

NODE

VOLTAGE NODE VOLTAGE

NODE VOLTAGE

NODE VOLTAGE

(

1)

4.0000

(

2)

.8883

(

3)

5.0000

(

4)

2.3760

(

5)

1.6039

(

6)

.8328

(

7)

-1.0000

(

8)

.0136

 

VOLTAGE SOURCE CURRENTS

 

 

 

 

 

 

 

NAME

CURRENT

 

 

 

 

 

 

 

VEC

 

-5.167E-02

 

 

 

 

 

 

 

V1

 

-1.833E-04

 

 

 

 

 

 

 

VIN

 

1.009E-12

 

 

 

 

 

 

TOTAL POWER DISSIPATION 2.59E-01 WATTS

Для получения более подробной информации о рабочей точке малосигнального анализа можно в файл задания на расчет схемы включить оператор .OP (OPERATING POINT). Тогда в листинге дополнительно будут распечатаны таблицы режимов всех нелинейных элементов схемы и их параметров в рабочей точке. Например, для биполярных транзисторов таблица может иметь вид:

**** BIPOLAR JUNCTION TRANSISTORS

NAME

Q1

Q2

Q3

Q4

MODEL

QNPN

QNPN

QNPN

QNPN

IB

1.25E-03

2.77E-03

-2.97E-13

5.25E-04

IC

4.25E-02

4.99E-03

1.31E-12

-5.57E-03

VBE

8.33E-01

8.33E-01

-1.62E+00

-2.62E+00

VBC -5.55E-02

8.19E-01

-2.62E+00

7.72E-01

VCE

8.88E-01

1.36E-02

1.00E+00

-3.40E+00

BETADC 3.39E+01

1.80E+00

-4.40E+00

-1.06E+01

GM

1.43E+00

2.48E-01

-1.35E-14

-1.95E-01

RPI

2.21E+01

3.84E+01

6.56E+13

6.56E+13

 

 

 

3.2. Расчет по постоянному току

65

RX

1.00E+01

1.00E+01

1.00E+01

1.00E+01

 

RO

1.74E+03

1.45E+00

9.53E+11

5.13E+00

 

CBE

1.73E-10

1.07E-10

3.24E-12

2.84E-12

 

CBC

2.37E-12

1.46E-08

1.43E-12

3.75E-09

 

CBX

0.00E+00

0.00E+00

0.00E+00

0.00E+00

 

CJS

0.00E+00

0.00E+00

0.00E+00

0.00E+00

 

BETAAC 3.16E+01

9.54E+00

-8.86E-01

-1.28E+13

 

FT

1.29E+09

2.68E+06

-4.60E-04

-8.28E+06

 

Пользуясь этой информацией можно для всех биполярных транзисторов схемы узнать их режимы: базовый и коллекторный токи IB и IC, а также напряжения база-эмиттер, база-коллектор, коллектор-эмиттер - VBE, VBC, VCE. Подобная информация позволяет оценить, в каком режиме находится каждый транзистор: в приведенном примере транзистор Q1 работает в нормальной активной области (VBE>0, VBC<0) при токе коллектора 42,5 мА,

транзистор Q2 насыщен (VBE>0, VBC>0), Q3 заперт (VBE<0, VBC<0), Q4 - в

инверсном включении (VBE<0, VBC>0). Подобный анализ незаменим, в частности, при отладке задания на расчет, поскольку позволяет быстро найти ошибки в схеме. Поэтому на этапе отладки можно рекомендовать всегда использовать оператор .OP.

Помимо режима в таблице содержатся параметры транзисторов в рабочей точке, в частности коэффициенты передачи базового тока (по постоянному и переменному току - BETADC и BETAAC), емкости база-эмиттер - CBE, базаколлектор - CBC и CBX (см. п. 4.2.1) и коллектор-подложка - CJS. Параметр BETAAC имеет смысл только для транзистора, работающего в нормальной активной области (в примере - транзистор Q1). Параметр BETADC равен отношению коллекторного и базового токов и имеет смысл как в нормальной активной области, так и в насыщении (в этом случае он позволяет оценить степень насыщения).

Для диодов аналогичная таблица имеет, например, такой вид:

**** DIODES

 

NAME

D1

D2

MODEL

KD512A

KD512A

ID

4.21E-03

1.36E-03

VD

7.71E-01

7.16E-01

REQ

6.14E+00

1.90E+01

CAP

1.58E-10

5.22E-11

В ней приводится режим (ID - ток, VD - напряжение диода), дифференциальное сопротивление REQ и емкость CAP в рабочей точке.

66

Виды анализа в PSpice

Особо следует сказать о расчете рабочей точки в многостабильных схемах, например в триггерах. В результате расчета такая схема может оказаться не в том состоянии, которое желательно пользователю. В этих случаях возможны два подхода: либо задать такие входные сигналы, которые обеспечат расчет именно требуемого состояния, либо воспользоваться описанными ниже возможностями задания начальных условий для расчета по постоянному току.

3.2.3. ЗАДАНИЕ НАЧАЛЬНЫХ УСЛОВИЙ

Задание начальных условий при расчете схемы по постоянному току может преследовать три цели.

1.Сокращение или, вообще, ликвидация затрат времени на расчет режима при повторных анализах схемы.

2.Расчет в многостабильных схемах именно того варианта статического режима, который требуется.

3.Повышение сходимости в тех случаях, когда рассчитать статический режим обычным образом не получается.

Прежде, чем обсуждать способы решения сформулированных задач, рассмотрим способы задания начальных условий, используемые в PSpice.

Первый вариант задания начальных условий осуществляется оператором

.IC, имеющим вид:

.IC <V(<узел>) = <значение> > ...

Например:

.IC V(2)=3.4 V(102)=0 V(3)=-1V.

Оператор .IC применяется для задания потенциалов отдельных (или всех) узлов в начальной точке. Каждое <значение>, указываемое в операторе, - это напряжение, задаваемое в <узел> во время вычисления рабочей точки. Напряжение задается через сопротивление 0.002 Ом, что обеспечивает практически точно заданное значение напряжения в данном узле. После завершения расчета по постоянному току при дальнейших вычислениях (малосигнальном анализе, расчете переходных процессов) узел "освобождается" от этого источника напряжения. Надо отметить, что результаты расчета режима при использовании оператора .IC, вообще говоря, могут быть неправильными, если заданные в этом операторе значения напряжений отличаются от истинных.

3.2. Расчет по постоянному току

67

Второй вариант задания начальных условий осуществляется оператором

.NODESET, имеющим вид:

.NODESET <V(<узел>) = <значение> >...

Например:

.NODESET V(2)=3.4 V(102)=0 V(3)=-1V

Оператор .NODESET обеспечивает в начале расчета рабочей точки подключение к соответствующим узлам источников напряжения с величиной, равной заданному значению, через малые сопротивления 0,002 Ом. В этом отношении он действует так же, как оператор .IC. Но в отличие от оператора .IC оператор NODESET фиксирует указанные напряжения в узлах только на первой стадии расчета. После того, как проведен расчет с этими подключенными источниками напряжения, источники убираются и расчет повторяется из точки, полученной на первой стадии. Таким образом, оператор .NODESET позволяет всегда получить правильный результат, чего нельзя сказать об операторе .IC.

Третий вариант задания начальных условий, разрешенный только начиная с PSpice 5, осуществляется оператором .LOADBIAS, имеющим вид:

.LOADBIAS “<имя файла>

Например:

.LOADBIAS “DC”

68

Виды анализа в PSpice

Оператор загружает потенциалы узлов схемы из внешнего текстового файла, который может содержать комментарии и оператор .NODESET или оператор .IC. Соответственно загруженные потенциалы используются при расчете рабочей так же, как в описанных операторах .IC или .NODESET.

Четвертый вариант связан с заданием начальных условий на реактивностях: напряжений на емкостях и токов индуктивностей. Этот вариант относится только к заданию начальной точки для переходных процессов. Начальные условия задаются опцией IC в операторах описания емкостей и индуктивностей (см. п. 2.3.2 и работу [3]). Если эти опции заданы и к тому же в операторе задания переходного процесса задана опция UIC (см. п. 3.4 и оператор .TRAN в пособии [3]), то расчет начальной точки отменяется и в качестве нее берутся значения, заданные в опциях IC, в

операторах .IC и .LOADBIAS.

К рассмотренным вариантам задания начальных условий примыкает еще один оператор, введенный только начиная с PSpice 5 и нередко использующийся совместно с перечисленными выше - оператор запоминания режима по постоянному току .SAVEBIAS. Формат этого оператора в простейшем случае, применимом к рассматриваемым нами задачам, имеет вид (подробнее об этом операторе см. в работе [3]):

.SAVEBIAS “<имя файла>” OP.

Например:

.SAVEBIAS “F1” OP

Оператор запоминает потенциалы всех узлов схемы в текстовом файле с заданным именем. В файле содержатся комментарии, поясняющие условия создания файла (дату, время, схему, вид анализа, температуру), и оператор

.NODESET с перечислением всех потенциалов. Например, этот файл может иметь вид:

**************************************************************************

*PSpice Bias Point Save File from:

*CIRCUIT: "OPAMP01.CIR"

*TITLE: "*opamp01 operational amplifier "macromodel" subcircuit"*

*DATE OF RUN: 04/17/95

*TIME OF RUN: 21:46:45

*ANALYSIS: "Small Signal Bias Point (OP)"

*TEMP: 27.0*

**************************************************************************

.NODESET

+V(1) = 100.00000E-06

+V(2) = 0.00000000

3.2. Расчет по постоянному току

69

+ V(3) = 15.00000000

........................................................................................................

Файл, запомненный оператором .SAVEBIAS при следующих расчетах может быть прочитан оператором .LOADBIAS.

Теперь рассмотрим некоторые пути решения указанных в начале данного раздела задач. Первая из них связана с сокращением затрат времени на расчет по постоянному току при повторных анализах схемы. Пусть, например, в процессе проектирования схемы она многократно рассчитывается с различными сигналами и при различных значениях реактивных компонентов - емкостей или индуктивностей. В этих случаях статический режим схемы во всех расчетах остается одинаковым. Тогда для экономии времени на расчет статического режима (а это время для некоторых схем достаточно большое) можно воспользоваться следующим приемом. При первом расчете схемы в задание включается оператор .SAVEBIAS и статический режим запоминается в некотором файле. А при последующих расчетах оператор .SAVEBIAS исключается и вместо него включается оператор .LOADBIAS. В результате затраты на расчет режима существенно сокращаются. Если в схеме рассчитывается переходной процесс, то при этом в оператор .TRAN целесообразно включить опцию UIC, которая вообще исключит расчет начальной точки.

Описанным приемом можно сократить затраты времени на расчет по постоянному току и в тех случаях, когда от одного к другому варианту расчета режим изменяется, но не кардинально (например, в результате небольших изменений параметров резисторов или транзисторов). Конечно, в этих случаях нельзя пользоваться опцией UIC, полностью исключающей расчет по постоянному току.

Вторая из указанных в начале данного пункта задач - расчет заданного варианта режима в многостабильных схемах, может быть решена использованием оператора .NODESET, в котором задаются начальные напряжения одного или более узлов. Например, в схеме триггера можно задать этим оператором низкий потенциал одного из выходов, не заботясь о точном значении этого потенциала. Поскольку оператор .NODESET действует только на первой итерации, режим в итоге будет посчитан верный, причем почти наверняка (но без полной гарантии) тот вариант режима, который соответствует логическому сигналу “0” на выходе, указанном в

.NODESET.

Третья из указанных задач - улучшение сходимости алгоритмов, будет подробно рассмотрена в п.3.2.6.

70

Виды анализа в PSpice

3.2.4. DC АНАЛИЗ

Расчет зависимости режима по состоянному току от какой-то переменной, принимаемой в качестве аргумента, осуществляется оператором .DC. Этот оператор может быть записан в одной из следующих форм:

1).DC [LIN] <переменная - аргумент> <начальное значение>

+<конечное значение> <приращение>

+[<описание для следующего аргумента>]

2).DC <шкала> <переменная - аргумент> <начальное значение>

+<конечное значение> <Nт>

+[<описание для следующего аргумента>],

где <шкала>=DEC или OCT

3).DC <переменная - аргумент> LIST <список значений>

+[<описание для следующего аргумента>]

Впервых двух формах <переменная - аргумент> изменяется в пределах

<начальное значение>÷<конечное значение>. Первая форма оператора задает линейное изменение аргумента (LIN подразумевается по умолчанию) с заданным приращением от точки к точке. Например, оператор

.DC VIN -.25 .25 .05

задает линейное изменение напряжения источника VIN с -0.25 В по 0.25 В с шагом 0.05 В.

Оператор

.DC LIN I2 -2mA 5mA 0.1mA

задает аналогичное линейное изменение тока источника I2.

Вторая форма оператора задает логарифмический масштаб изменения аргумента по декадам (шкала DEC) или октавам (шкала OCT). При этом задается Nт - число точек соответственно на декаду или октаву. Например, оператор

.DC DEC NPN QFAST(IS) 1E-18 1E-14 5

задает логарифмическое изменение параметра IS модели QFAST биполярного транзистора типа NPN в пределах 10-18÷10-14 А с вычислением пяти точек на декаду. Естественно, что при логарифмическом масштабе <начальное значение> и <конечное значение> должны быть положительными.