Архангелский ПСпице и Десигн Центер Ч1 1996
.pdf3.6 Расчет разброса параметров |
121 |
Рис. 3.10. Результаты статистического расчета
3.7. МНОГОВАРИАНТНЫЙ АНАЛИЗ
Многовариантный анализ подразумевает многократный расчет схемы при изменяющихся параметрах компонентов или сигналов. Несколько операторов многовариантного анализа уже были рассмотрены: это - оператор .DC (п. 3.2.5), осуществляющий многовариантный анализ по постоянному току, и операторы расчета разброса параметров - .WCASE (п. 3.6.3) и .MC (п. 3.6.4). Ниже рассмотрены другие операторы многовариантного анализа. Основной из них - оператор .STEP, который может записываться в следующих форматах:
1).STEP [LIN] <переменная-аргумент> <начальное значение> +<конечное значение> <приращение>
2).STEP <шкала> <переменная-аргумент> <начальное значение> +<конечное значение> <число точек>
где <шкала> = OCT или DEC.
3) .STEP <переменная-аргумент> LIST <список значений>
Оператор задает многовариантный расчет схемы с изменением от варианта к варианту некоторого аргумента - переменной (параметра) схемы. При этом для каждого значения аргумента выполняются все указанные в задании виды анализа схемы. Результаты расчетов, заданные операторами .PRINT и .PLOT, выводятся отдельными таблицами и графиками для каждого значения
122 |
Виды анализа в PSpice |
аргумента. В PROBE можно построить как отдельные кривые для каждого значения аргумента, так и семейства кривых.
В качестве аргумента может фигурировать
источник напряжения или тока:
в качестве спецификации <переменная-аргумент> задается имя независимого источника напряжения или тока, например, V1, IIN;
параметр модели:
спецификация <переменная-аргумент> задается в формате <вид модели> <имя модели>(<имя параметра>), например:
RES MR1(R) - коэффициент пропорциональности R модели резистора с именем MR1;
NPN MQ(IS) - параметр IS модели npn-транзистора с именем MQ; Нельзя использовать в качестве аргумента параметры L и W для МДПтранзисторов (но можно LD и WD) и любые температурные параметры, такие, как TC1, TC2 для резистора и т.д.;
температура:
спецификация <переменная-аргумент> задается ключевым словом TEMP, для каждого изменения температуры программа пересчитывает все температурно-зависимые параметры моделей;
глобальный параметр:
спецификация <переменная-аргумент> задается в формате PARAM <имя параметра>; например, PARAM RNOM, если RNOM был объявлен глобальным параметром с помощью оператора .PARAM; для каждого изменения параметра программа пересчитывает все зависимые от него математические выражения.
Для форм оператора .STEP 1 и 2 изменение аргумента происходит в пределах <начальное значение> ÷ <конечное значение>. При этом <начальное значение> может задаваться как меньше, так и больше, чем <конечное значение>. Соответственно аргумент в процессе вычислений будет нарастать или убывать. Независимо от этого <приращение> и <число точек> задаются всегда положительными.
Характер изменения аргумента задается спецификациями, определяющими шкалу и шаг по аргументу.
LIN - линейное изменение аргумента. Само слово LIN при этом может быть опущено, <приращение> - шаг по аргументу.
DEC - логарифмическое изменение аргумента по декадам. При этом <число точек> - число точек на декаду Nт. Значения аргумента в
соседних точках отличаются друг от друга в постоянное число раз, равное 101 (NT − 1) .
3.7 Многовариантный анализ |
123 |
OCT - логарифмическое изменение аргумента по октавам. При этом <число точек> - число точек на октаву Nт. Значения аргумента в
соседних точках отличаются друг от друга в постоянное число раз, равное 81 (NT −1) .
LIST - аргумент принимает значения, перечисленные в спецификации <список значений>.
Приведем примеры использования оператора .STEP:
1).STEP V1 0v 10v 1v
2)R1 1 6 MR1 5K
R2 5 6 MR1 10K
.MODEL MR1 RES(R=1)
.STEP LIN RES MR1(R) 0.9 1.1 0.1
3).PARAM RNOM=1 R1 1 6 {RNOM*5} R2 5 6 {RNOM*10}
.STEP LIN PARAM RNOM 0.9 1.1 0.1
4).PARAM A=1
V1 1 0 SIN(0 {A} 100khz)
.STEP PARAM A LIST (1 2)
5).STEP DEC NPN MQ(IS) 1E-18 1E-14 5
6).STEP TEMP LIST -60 0 27 80
Впервом примере напряжение источника V1 меняется линейно от 0 до 10
Вс шагом 1 В. Во втором примере линейно меняется параметр R модели
MR1 резистора. При этом согласованно меняются в пределах 0.9 ÷ 1.1 от номинала сопротивления R1 и R2, поскольку оба они описываются одной моделью. В третьем примере аналогичная задача решается другим путем - введением глобального параметра RNOM и изменением его оператором
.STEP. В четвертом примере варьируется амплитуда синусоидального сигнала. В пятом примере в логарифмическом масштабе меняется тепловой ток IS модели MQ биполярного npn-транзистора. В шестом примере изменяется температура в соответствии с заданным списком значений.
В PSpice имеется еще один оператор многовариантного анализа - .TEMP, который записывается в формате:
.TEMP <список значений>
Оператор .TEMP устанавливает значения температуры, при которых проводится анализ. Значения температуры берутся в градусах Цельсия. Если
124 |
Виды анализа в PSpice |
в списке дается несколько значений, то все виды анализа, указанные в задании, проводятся для каждого значения температуры, т.е. осуществляется многовариантный анализ.
При пересчетах параметров для разных температур предполагается, что параметры всех моделей были рассчитаны при номинальной температуре TNOM (может задаваться опцией TNOM в операторе .OPTIONS, по умолчанию TNOM=27 °C).
Если оператор .TEMP в задании отсутствует, то схема рассчитывается при температуре TNOM.
Примеры оператора .TEMP:
.TEMP 125
.TEMP 0 27 125 -60
Первый пример задает температуру, при которой будет считаться схема, равной 125 °C. Во втором примере задается многовариантный анализ при 4-х значениях температур.
Операторы .STEP и .TEMP изменяют параметры элементов схемы. Но параметры могут изменяться и другими операторами: .DC, .MC, .WCASE. Чтобы в подобных случаях не возникало недоразумений, в PSpice принято правило: нельзя совмещать в одном задании операторы .STEP, .DC, .TEMP,
.MC, .WCASE, изменяющие одни и те же параметры. Например, можно совместить в задании оператор .МС и оператор .STEP, изменяющий напряжение какого-либо источника. Но эти операторы нельзя объединить, если .STEP изменяет параметры резистора. Точно так же нельзя совмещать
.STEP и .DC, изменяющие один и тот же параметр, .TEMP и .STEP, изменяющий температуру и т.д.
В заключение отметим, что во время многовариантного анализа можно использовать оператор .SAVEBIAS, позволяющий запоминать состояние схемы по постоянному току при некотором заданном значении аргумента. Подробнее об этом сказано в работе [3].
3.8. ОПЕРАТОРЫ ВЫДАЧИ РЕЗУЛЬТАТОВ РАСЧЕТА
3.9 Операторы выдачи результатов расчета |
125 |
Результаты расчета могут просматриваться в виде таблиц и квазиграфиков в выходном файле .OUT или в виде графиков с помощью постпроцессора PROBE. Для печати некоторых результатов расчета не нужны никакие дополнительные операторы. Это относится к результатам анализа Фурье, расчета чувствительности, расчета разброса параметров и некоторых других видов анализа. Для печати результатов других видов анализа надо задавать специальные операторы.
Основной способ обработки результатов расчета в PSpice - работа с графиками в постпроцессоре PROBE. Задание на подготовку данных для PROBE осуществляется оператором .PROBE, имеющим формат:
.PROBE[/CSDF] [<список выходных переменных>]
Например:
.PROBE
.PROBE/CSDF
.PROBE V(3) V(R1)
Оператор обеспечивает запись результатов различных видов анализа (DC расчета, частотного анализа, анализа шумов, расчета переходных процессов) в файл данных для постпроцессора PROBE. При многовариантном расчете в файл для постпроцессора заносятся результаты всех вариантов указанных видов анализа. Этот файл в версиях PSpice, ниже пятой, имеет имя PROBE.DAT, а начиная с пятой версии его имя совпадает с именем входного файла задания и имеет расширение .DAT. Обычно это бинарный файл. Если же оператор .PROBE записан с опцией /CSDF (см. пример 2), то создается текстовый файл в формате Common Simulation Data Format. Его расширение в этом случае .TXT. Этот файл имеет больший объем и использовать его имеет смысл только при необходимости пересылок между разными семействами вычислительных машин, если почему-то не удается переслать бинарный файл.
Если в операторе .PROBE отсутствует <список выходных переменных> (см. примеры 1 и 2), то в файл заносятся все токи, напряжения и цифровые сигналы схемы. Это очень удобно, так как в этом случае с PROBE можно работать как с осциллографом, наблюдая сигналы в любой точке схемы. Особенно это относится к пакету Design Center, в котором на экране одновременно можно наблюдать и изображение схемы, и графики постпроцессора PROBE. Однако для больших схем при большом числе шагов
126 |
Виды анализа в PSpice |
вразличных видах анализа объем файла может оказаться слишком большим и создадутся трудности с его размещением на диске. В этих случаях в оператор .PROBE следует включить <список выходных переменных> и тогда
вPROBE можно строить графики только тех переменных, которые включены
всписок. Впрочем, помимо этих переменных в файл всегда заносятся (в PSpice 5) плотности шума INOISE, ONOISE и кривые B(H) магнитных сердечников. Так что эти переменные можно не включать в список.
Данные для печати в выходной файл .OUT заносятся при наличии в задании операторов .PRINT - печать таблиц и .PLOT - печать квазиграфиков. Надо отметить, что эти операторы в значительной степени потеряли свое значение после того, как в пакете PSpice появился постпроцессор PROBE. Особенно это относится к оператору .PLOT, поскольку квазиграфики потеряли смысл при наличии настоящих графиков в PROBE. В связи с этим операторы .PRINT и .PLOT будут рассмотрены очень кратко. Полные сведения о них содержатся в работе [3].
Формат оператора .PRINT:
.PRINT <вид анализа> <список выходных переменных> ,
где <вид анализа> = DC, или AC, или NOISE, или TRAN. Например:
.PRINT TRAN V(3) V(2,3) IC(Q2) I(VCC)
.PRINT AC VM(3) VP(R1) V([RESET]) IR(R5) VDB(5)
.PRINT NOISE INOISE ONOISE DB(INOISE) DB(ONOISE)
Оператор задает печать в виде таблицы в выходном файле .OUT результатов анализов: DC, переходного процесса, частотного анализа, анализа шумов.
В файле задания может быть несколько операторов .PRINT, относящихся как к одному, так и к разным видам анализа. Каждый оператор .PRINT - это отдельная таблица. Печатаемые переменные перечисляются в спецификации <список выходных переменных>.
Число переменных в таблице неограничено. Если значения всех переменных не помещаются в таблице в одну строку, таблица автоматически разбивается на несколько. Ширина одной колонки в таблице определяется заданным числом значащих цифр (опция NUMDGT в операторе .OPTIONS, по умолчанию NUMDGT=4). Число колонок в строке определяется шириной колонки и допустимой длиной строки (задается опцией WIDTH в операторе
.OPTIONS или оператором .WIDTH OUT, по умолчанию 80 символов - ширина стандартного экрана дисплея). Соответственно при значениях по
3.9 Операторы выдачи результатов расчета |
127 |
умолчанию NUMDGT и длины строки число колонок в строке не превышает шести, учитывая и колонку аргумента.
Аргумент таблицы печатается в первой колонке. В качестве аргумента принимается: для DC анализа - переменная оператора .DC, для частотного анализа и анализа шумов - частота, для переходных процессов - время. Диапазон изменения аргумента и шаг аргумента в таблице определяются оператором соответствующего вида анализа. Ниже приведен пример фрагмента печати таблицы:
TIME |
V(1) |
V(4,5) |
IC(Q1) |
0.000E+00 |
0.000E+00 |
-1.621E+01 |
7.477E-06 |
1.000E-06 |
6.283E-07 |
-1.633E+01 |
7.477E-06 |
2.000E-06 |
1.257E-06 |
-1.646E+01 |
7.477E-06 |
3.000E-06 |
1.885E-06 |
-1.658E+01 |
7.477E-06 |
Оператор .PLOT имеет формат:
.PLOT <вид анализа> <список выходных переменных> + [(<нижний предел>,<верхний предел>)]
где <вид анализа> =DC, или AC, или NOISE, или TRAN. Например:
.PLOT DC V(3) V(2,3) V(R1)
.PLOT TRAN V(3) V(R1) V([RESET]) (0, 5v)
Оператор позволяет вывести графики результатов анализа в выходной файл .OUT. Форма печати квазиграфическая, т.е. в текстовом выходном файле кривые изображаются символами. Смотреть такие графики на экране практически невозможно, поскольку ось аргументов у них расположена вертикально. Да и при распечатке выходного файла графики не очень выразительные.
В файле задания может быть несколько операторов .PLOT, относящихся как к одному и тому же виду анализа, так и к разным видам. Каждый оператор .PLOT - это отдельный график. На графике может быть не более восьми кривых, имена которых перечисляются в спецификации <список выходных переменных>. Аргументами графиков являются: для DC анализа - переменная оператора .DC, для частотного анализа и анализа шумов - частота, для переходных процессов - время. Диапазон изменения аргумента и шаг по оси X соответствуют всему диапазону изменения и шагу, указанным в операторе соответствующего вида анализа. Масштаб по оси Y устанавливается по умолчанию в зависимости от диапазона изменения выходных переменных. Масштаб по оси Y для частотного анализа всегда
128 |
Виды анализа в PSpice |
логарифмический. Если диапазон изменения разных выходных переменных существенно различен, то вводится несколько осей Y, соответствующих различным переменным. Если автоматический выбор масштаба не устраивает, то масштаб оси Y может быть задан в операторе спецификацией (<нижний предел>,<верхний предел>), помещенной в конце оператора.
Начиная с PSpice 5 введен еще один оператор, позволяющий выводить информацию на экран в процессе расчета. Это очень удобно, поскольку позволяет следить за ходом расчета и оперативно реагировать, если возникли какие-то сложности, схема начала работать не так, как ожидалось, расчет недопустимо замедлился и т.п. Оператор вывода информации на экран -
.WATCH. Он имеет формат:
.WATCH <вид анализа> <выходная переменная> + [<нижний предел> <верхний предел>] ...,
где <вид анализа> - DC, или AC, или TRAN.
В операторе может быть указано до трех переменных типа напряжений и токов. Их значения выводятся в предпоследней строке экрана в процессе счета. Для каждой переменной может быть задан диапазон изменения <нижний предел> - <верхний предел>. В этом случае программа контролирует данную переменную и, если ее значения вышли из заданных пределов, выдается звуковой сигнал и расчет приостанавливается.
Например, оператор
.WATCH TRAN V(5) -10 10 IC(Q1)
задает вывод на экран в процессе расчета переходного процесса потенциала узла 5 и коллекторного тока транзистора Q1. При этом для потенциала узла 5 установлен диапазон изменений от -10 до 10 В.
Если контролируемая переменная вышла за пределы диапазона и расчет приостановился, на экран выдается сообщение, которое для приведенного выше примера может иметь вид:
Watch alarm in Transient Analysis at TIME 33.71E-12 for V(5) * Analysis Paused *
<C> Continue the analysis <E> Exit from PSpice
Если в ответ нажать клавишу “C”, расчет будет продолжен и в дальнейшем контроль значений данной переменной не будет проводиться. При нажатии клавиш “E” или Esc расчет прервется.
3.9 Операторы выдачи результатов расчета |
129 |
В задании может быть несколько операторов .WATCH для разных видов анализа. Использование этих операторов очень полезно при длительных расчетах, так как позволяет контролировать ход вычислений и остановиться, если достигнут интересующий уровень сигнала или если схема работает неправильно и сигнал вышел из разумных пределов.
3.9. ЗАДАНИЕ ОПЦИЙ
Опции, определяющие условия расчета и выдачи результатов, задаются оператором .OPTIONS, имеющим формат:
.OPTIONS <имя опции> [ = <значение>] ...