- •Лабораторная работа № 2 компьютерное моделирование в ltspice
- •1. Основные приемы работы в схемотехническом редакторе lTspice
- •2. Пример создания схемы и выполнения анализа в программе lTspice
- •3. Содержание отчета
- •4. Варианты задания
- •Ток независимого источника i1 изменяется в пределах от 10 мкс до 100 мкс с приращением 10 мкс.
3. Содержание отчета
1. Цель и краткое описание работы.
2. Расчетное задание
3. Подробное изложение расчета, результаты расчета.
4. Схема эксперимента
5 Результаты эксперимента
6. Объяснение результатов эксперимента и сравнение с результатами расчетов.
7. Выводы по текущему эксперименту.
8. Заключение, обобщающее результаты работы.
4. Варианты задания
По данным, представленным в Таблице, найти:
частоту , при которой амплитуда напряжения на выходе будет составлять а от амплитуды напряжения на входе;
На данной частоте определить сдвиг фаз между выходным и входным напряжениями.
Таблица
№ варианта |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
№ схемы |
1 |
2 |
3 |
4 |
1 |
2 |
3 |
4 |
3 |
2 |
1 |
С, пФ |
100 |
200 |
|
|
300 |
400 |
|
|
|
800 |
1000 |
L, мГн |
|
|
25 |
12 |
|
|
30 |
15 |
72 |
|
|
R, КОм |
2 |
5 |
2 |
5 |
10 |
25 |
10 |
25 |
0,5 |
1 |
0,5 |
а |
0,5 |
0,7 |
0,5 |
0,7 |
0,75 |
0,85 |
0,75 |
0,85 |
0,72 |
0,55 |
0,75 |
№ варианта |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
№ схемы |
5 |
6 |
7 |
8 |
5 |
6 |
7 |
8 |
7 |
6 |
5 |
С, пФ |
100 |
200 |
|
|
300 |
400 |
|
|
|
800 |
1000 |
L, мГн |
|
|
25 |
12 |
|
|
30 |
15 |
72 |
|
|
R1, КОм |
2 |
0,5 |
2 |
0,5 |
2 |
0,5 |
2 |
1 |
2,5 |
1 |
5 |
R2, КОм |
0,5 |
4 |
1 |
2 |
0,5 |
4 |
0,5 |
2 |
0,5 |
5 |
1 |
а |
0,5 |
0,3 |
0,5 |
0,5 |
0,75 |
0,85 |
0,75 |
0,85 |
0,72 |
0,55 |
0,75 |
Литература
Сохор Ю.Н. Моделирование устройств в LTSPICE\SWCAD: Учебно-методическое пособие. Псковск. гос. политехн. ин-т. - Псков: Издательство ППИ, 2008. - 165 с.
Ушаков П.А. Цепи и сигналы электросвязи: учебник для студентов СПО/ П.А. Ушаков. – М.: Изд. центр «Академия», 2010. – 352 с.
Приложение
Основы языка описания схем Spice
Учитывая, что язык Spice является де факто стандартом для описания схем в большинстве модулей схемотехнического моделирования, имеет смысл познакомиться с основными конструкциями языка, с помощью которых производится ввод схемы и задания на моделирование.
Следует заметить, что в настоящее время эти операции осуществляются с помощью графических редакторов и не требуют для работы знания языка описания. Однако изучение основных конструкций языка, во-первых, дает знание принципов построения современного языка описания, а во-вторых, в LTSpice директивы управления заданием и параметры моделей можно непосредственно вводить в специальное окно, что обеспечивает гибкость работы с редактором.
Описание компонентов
Параметры компонентов указываются двумя способами: непосредственно в предложении, описывающем включение компонента в схему, и с помощью директивы .MODEL.
Резисторы описываются предложением
Rxxx n1 n2 <value> [tc=tc1, tc2, ...] [temp=<value>]
Параметры модели резистора:
-
Параметр
Описание
tc1
Линейный температурный коэффициент сопротивления
tc2
Квадратичный температурный коэффициент сопротивления
tc3
Кубический температурный коэффициент сопротивления
temp
Рабочая температура элемента
Директивы, помещенные в квадратные скобки, являются необязательными, т.е. если их не будет, то сопротивление резистора будет равно величине <value>, указанной после номеров узлов при температуре, заданной по умолчанию (T0 = 27). В том случае, если значения температурных коэффициентов tc1, tc2,…и рабочая температура будут заданы, то сопротивление будет определяться из выражения
R = <value>*(1. + dt*tc1 + dt2*tc2 + dt3*tc3 + ...),
где dt – разница между рабочей температурой резистора и Т0.
Здесь ххх — произвольная алфавитно-цифровая последовательность общей длиной не более 7 символов, которая пишется слитно с символом R и вместе с ним образует имя компонента. Например:
RGEN 1 2 5К ; резистор с номиналом 5 Ком, включенный между узлами 1 и 2
Заметим, что символ " ; " может быть использован для начала комментария в линии.
Конденсаторы описываются предложением
Cххх n1 n2 <capacitance> [ic=<value>] [Rser=<value>]
+ [Lser=<value>] [Rpar=<value>] [Cpar=<value>]
+ [m=<value>] [RLshunt=<value>] [temp=<value>]
где параметры Rser, Lser, Rpar, Cpar, RLshunt позволяют учесть паразитные параметры конденсатора, эквивалентная схема которого изображена на рис. П1, а.
Параметры модели конденсатора:
-
Параметр
Описание
Rser
Эквивалентное последовательное сопротивление
Lser
Эквивалентная последовательная индуктивность
Rpar
Эквивалентное параллельное сопротивление
Cpar
Эквивалентная параллельная емкость
RLshunt
Эквивалентные потери в Lser
m
Number of parallel units
temp
Рабочая температура элемента
ic
Начальное напряжение
Индуктивности описываются предложением
Lxxx n+ n- <inductance> [ic=<value>] +
+ [Rser=<value>] [Rpar=<value>]
+ [Cpar=<value>] [m=<value>] [temp=<value>]
К
ак
и в случае конденсатора, параметры Rser,
Rpar, Cpar, позволяют
учесть паразитные параметры катушки
индуктивности, эквивалентная схема
которой изображена на рис. П1,
б.
Параметры модели индуктивности:
-
Параметр
Описание
Rser
Эквивалентное последовательное сопротивление
Rpar
Эквивалентное параллельное сопротивление
Cpar
Эквивалентная параллельная емкость
m
Число параллельных единиц
ic
Начальный ток через индуктивность
tc1
Линейный температурный коэффициент индуктивности
Tc1
Квадратичный температурный коэффициент индуктивности
temp
Рабочая температура
Взаимная индуктивность описывается предложением
Kxxx L1 L2 [L3 ...] <coefficient>
Здесь L1 и L2 имена индуктивностей в схеме. Параметром взаимной индуктивности является <coefficient>, который должен лежать в диапазоне от 1 до 1.
Строка
K1 L1 L2 L3 L4 1.
эквивалентна шести строкам
K1 L1 L2 1.
K2 L2 L3 1.
K3 L3 L4 1.
K4 L1 L3 1.
K5 L2 L4 1.
K6 L1 L4 1.
Ключи, управляемые напряжением или током, используются при расчете переходных процессов.
Ключ, управляемый напряжением, описывается предложением
Sxxx n1 n2 nc+ nc- <model> [on,off]
Управляющий источник напряжения включается между узлами nc+ и nc- и управляет сопротивлением между узлами n1 и n2. При этом поведение ключа определяется по директиве .model.
Пример:
S1 out 0 in 0 MySwitch
.model MySwitch SW(Ron=.1 Roff=1Meg Vt=0 Vh=-.5
+ Lser=10n Vser=.6)
Параметры модели ключа, управляемого напряжением:
Параметр |
Описание |
размерность |
По умолчанию |
Vt |
Пороговое напряжение |
В |
0. |
Vh |
Напряжение гистерезиса |
В |
0. |
Ron |
Сопротивление замкнутого ключа |
Ом |
1. |
Roff |
Сопротивление разомкнутого ключа |
Ом |
106 |
Lser |
Последовательная индуктивность |
Гн |
0. |
Vser |
Остаточное напряжение |
В |
0. |
Ilimit |
Максимальный ток |
A |
|
В зависимости от величины напряжения гистерезиса Vh ключ может иметь три режима управления. Если Vh равно нулю, то ключ либо разомкнут, либо замкнут в зависимости от того, превышает ли входное напряжение пороговое напряжение Vt.
Если Vh положительное, то ключ обладает свойством гистерезиса, как если бы он был управляемым триггером Шмитта с точками переключения в моменты, когда управляющее напряжение достигает величин (Vt – Vh) и (Vt + Vh).
Если Vh отрицательное, то ключ будет плавно переключаться пока величина управляющего напряжение находится в диапазоне (Vt – Vh) и (Vt + Vh).
Ключ, управляемый током, описывается предложением
Wxxx n1 n2 Vnam <model> [on,off]
Сопротивление между узлами n1 и n2 зависит от тока, протекающего через источник Vnam. При этом поведение ключа определяется по директиве .model.
Пример:
W1 out 0 Vsense MySwitch
Vsense a b 0
.model MySwitch CSW(Ron=.1 Roff=1Meg It=0 Ih=-.5)
Параметры модели ключа, управляемого током:
Параметр |
Описание |
размерность |
По умолчанию |
It |
Пороговый ток |
В |
0. |
Ih |
Ток гистерезиса |
В |
0. |
Ron |
Сопротивление замкнутого ключа |
Ом |
1. |
Roff |
Сопротивление разомкнутого ключа |
Ом |
106 |
В зависимости от величины тока гистерезиса Ih ключ может иметь такие же три режима управления, как и для ключа, управляемого напряжением. Только границы переключения определяются токами Ih и Ih.
Ключ, управляемый во времени, реализуется путем подключения к ключу, управляемому током или напряжением, источника переменного во времени сигнала.
Независимые источники напряжения V описываются предложением
V
xxx
n+ n- <voltage> [AC=<amplitude>]
+ [Rser=<value>] [Cpar=<value>]
Если директива АС не задана, то этот элемент задает постоянное напряжение между узлами n+ и n-. Для анализа схемы в частотной области (на переменном токе) необходимо ввести директиву АС и указать параметр <amplitude> на анализируемой частоте. Для учета реальных свойств источника можно ввести в его эквивалентную схему (рис. П2) последовательное сопротивление и параллельный конденсатор.
При анализе переходных процессов задаются описанные ниже виды временных зависимостей.
Импульсная функция описывается предложением
Vxxx n+ n- PULSE(V1 V2 Tdelay Trise Tfall Ton
+ Tperiod Ncycles)
Параметры модели источника PULSE:
Параметр |
описание |
размерность |
Voff |
Начальная амплитуда |
В |
Von |
Амплитуда импульса |
В |
Tdelay |
Задержка |
с |
Tr |
Длительность фронта |
с |
Tf |
Длительность среза |
с |
Ton |
Длительность импульса |
с |
Tperiod |
Период |
с |
Ncycles |
Число циклов колебания |
|
Пример:
VP 12 0 PULSE(0 1 0 1m 1m 100m 250m 10) ; генератор импульсной последовательности, генерирующий 10 импульсов длительностью 100 мс, с периодом 250 мс, имеющих длительности фронтов по 1 мс.
Синусоидальная функция описывается предложением
Vxxx n+ n- SINE(Voffset Vamp Freq Td Theta Phi Ncycles)
Параметры модели источника SINE:
Параметр |
Описание |
размерность |
Voffset |
Постоянная составляющая |
В |
Vamp |
Амплитуда |
В |
Freq |
Частота |
Гц |
Td |
Задержка |
с |
Theta |
Коэффициент затухания |
1/с |
Phi |
Фаза |
градусы |
Ncycles |
Число циклов |
|
До момента Td или до завершения Ncycles выходное напряжение определяется выражением
Voffset+Vamp*sin(pi*Phi/180)
После этого выходное напряжение вычисляется по формуле
Voffset+Vamp*exp( (time Td)*Theta)*sin(2*pi*Freq*
+ (time Td)+pi*Phi/180)
Экспоненциальная функция имеет следующий синтаксис:
Vxxx n+ n- EXP(V1 V2 Td1 Tau1 Td2 Tau2)
Параметры модели источника EХР:
Параметр |
Описание |
размерность |
V1 |
Начальное напряжение |
В |
V2 |
Амплитуда импульса |
В |
Td1 |
начало переднего фронта |
c |
Tau1 |
Постоянная времени переднего фронта |
c |
Td2 |
Начало заднего фронта |
c |
Tau2 |
Постоянная времени заднего фронта |
c |
До момента времени Td1 выходное напряжение равно V1. В интервале от Td1 до Td2 напряжение задается выражением
V1+(V2-V1)*(1-exp(-(time-Td1)/Tau1)).
После Td2 напряжение определяется выражением
V1+(V2-V1)*(1 - exp(-(time - Td1)/Tau1))
+(V1-V2)*(1 - exp(-(time - Td2)/Tau2)).
Пример:
V5 1 0 EXP (1 5 1u 4u 5u 2u) ; Генератор импульса, форма которого изображена на рис. 18.3, а.
Синусоидальная функция с частотной модуляцией задается предложением
Vxxx n+ n- SFFM(Voff Vamp Fcar MDI Fsig)
Параметры модели источника SFFM:
Параметр |
Описание |
размерность |
Voff |
постоянная составляющая |
В |
Vamp |
Амплитуда |
В |
Fcar |
Частота несущего колебания |
Гц |
MDI |
Индекс модуляции |
- |
Fsig |
Частота модулирующего колебания |
Гц |
Форма напряжения определяется выражением
Voff+Vamp*sin((2.*pi*Fcar*time)+MDI*sin(2.*pi*Fsig*time))
Кусочно-линейная функция задается предложением
V
xxx
n+ n- PWL(t1 v1 t2 v2 t3 v3...)
Здесь (t1 v1), (t2 v2),… координаты точек, через которые проходит функция. Соседние точки соединяются прямыми линиями.
Пример:
V3 2 5 PWL(0 0 0.1 1 0.15 0.5 0.2 0.5 0.25 0); генерирует сигнал, форма которого изображена на рис. 18.3, б.
Зависимые источники тока и напряжения могут быть как линейными, так и нелинейными. Рассмотрим описание всех четырех типов зависимых источников: ИНУН, ИНУТ, ИТУН, ИТУТ.
Линейный источник напряжения, управляемый напряжением описывается простым предложением
Exxx n+ n- nc+ nc- <gain>
Выходное напряжение между узлами n+ и n- определяется напряжением независимого источника, включенного между узлами nc+ и nc-, умноженным на управляющий коэффициент <gain>.
Нелинейный ИНУН можно описать предложением
Exxx n+ n- value={<expression>}
Здесь {<expression>} – выражение, включающее символы арифметических операций, логические функции и стандартные математические функции, перечень которых можно найти в LtspiceHelp.
Пример:
ESIGNAL 2 0 value={50m*sin(6.28*100k*time)+V(3,4)}
Линейный источник напряжения, управляемый током описывается предложением
Hxxx n+ n- <Vnam> <transresistance>
Напряжение на выходе этого источника между узлами n+ n- определяется как произведение величины тока, протекающего через источник Vnam, на параметр <transresistance>, имеющий размерность сопротивления.
Для нелинейного ИНУТ используется запись
Hxxx n+ n- value={<expression>}
Линейный источник тока, управляемый напряжением описывается предложением
Gxxx n+ n- nc+ nc- <gain>
Выходной ток между узлами n+ и n- определяется напряжением независимого источника, включенного между узлами nc+ и nc-, умноженным на управляющий коэффициент <gain>.
Нелинейный ИТУН можно описать предложением
Gxxx n+ n- value={<expression>}
Наконец, линейный источник тока, управляемый током описывается предложением
Fxxx n+ n- <Vnam> <gain>
Ток на выходе этого источника между узлами n+ n- определяется как произведение величины тока, протекающего через источник Vnam, умноженному на параметр <gain>.
Нелинейный ИТУТ можно описать предложением
Fxxx n+ n- value={<expression>}
Полупроводниковые приборы, математические модели которых встроены в программу LTspice, описываются большим количеством параметров, определяемых с помощью оператора .MODEL. Оператор .MODEL можно поместить в описание анализируемой схемы или в файл библиотеки, доступ к которому осуществляется с помощью оператора .LIB. Описание конкретного полупроводникового прибора содержит его имя, номера узлов подключения, имя модели и коэффициент кратности аrea, с помощью которого имитируется параллельное включение нескольких одинаковых приборов.
Диод описывается предложением
Dxxx anode cathode <model> [area]
+ [off] [m=<val>] [temp=<value>]
Для описания характеристик диода требуется директива .model, в которой задаются необходимые параметры модели. Параметры, которые явно не указаны в модели задаются по умолчанию.
Для моделирования можно использовать два типа моделей. Первая – представляет собой упрощенную идеализированную модель, в которой ВАХ диода разбивается на три участка и каждый участок аппроксимируется прямой линией (см. гл. 12).
Параметры модели этого типа диодов:
Параметры |
Описание |
Размерность |
По умолчанию |
Ron |
Сопротивление прямой проводимости |
Ом |
1. |
Roff |
Сопротивление при обратном смещении |
Ом |
106 |
Vfwd |
Напряжение открывания диода |
В |
0. |
Vrev |
Напряжение пробоя диода |
В |
. |
Rrev |
Сопротивление на участке пробоя |
Ом |
Ron |
Ilimit |
Максимальный прямой ток диода |
A |
. |
Revilimit |
Максимальный ток при пробое |
A |
. |
Epsilon |
Ширина квадратичного участка прямой ветви ВАХ |
В |
0. |
Revepsilon |
Ширина квадратичного участка обратной ветви ВАХ |
В |
0. |
Параметры Ilimit (revIlimit) характеризуют нелинейность прямого и обратного участков ВАХ. Для перехода от прямой линии к линии предельного тока используется функция tanh(). Параметры epsilon и revepsilon задают характер перехода между участками ВАХ при прямом и обратном включениях.
Эта модель используется если в модели задан хотя бы один из параметров Ron, Roff, Vfwd, Vrev или Rrev.
Пример:
D1 SW OUT MyIdealDiode
.model MyIdealDiode D(Ron=.1 Roff=1Meg Vfwd=.4)
D2 SW OUT dio2
Вторая модель является стандартной Berkeley SPICE моделью полупроводникового диода и задается списком параметров, перечень и описание которых можно найти в LTspiceHelp.
Пример:
.model dio2 D(Is=1e-10)
Биполярный транзистор описывается предложением
Qxxx Collector Base Emitter [Substrate Node]
+ model [area] [off] [IC=<Vbe, Vce>] [temp=<T>]
Для описания характеристик транзистора требуется директива .model, в которой задаются необходимые параметры модели. Параметры, которые явно не указаны в модели, задаются по умолчанию.
Пример:
Q1 C B E MyNPNmodel
.model MyNPNmodel NPN(Bf=75)
В этой директиве после имени модели следует имя типа NPN или PNP, указывающей на полярность транзистора. Параметр area определяет число транзисторов с заданными параметрами, включенных параллельно.
Модель биполярного транзистора представляет собой адаптированную модель Гуммеля и Пуна, перечень и описание параметров которой можно найти в LTspiceHelp.
Полевой транзистор с управляющим р-п-переходом описывается предложением
Jxxx D G S <model> [area] [off] [IC=Vds, Vgs] [temp=T]
Для описания характеристик транзистора также требуется директива .model, в которой задаются необходимые параметры модели.
Пример:
J1 0 in out MyJFETmodel
.model MyJFETmodel NJF(Lambda=.001)
имя типа NJF или PJF указывает на полярность транзистора.
МОП транзистор в составе интегральной схемы описывается предложением
Mxxx Nd Ng Ns Nb <model> [m=<value>] [L=<len>]
+ [W=<width>] [AD=<area>] [AS=<area>]
+ [PD=<perim>] [PS=<perim>] [NRD=<value>]
+ [NRS=<value>] [off] [IC=<Vds, Vgs, Vbs>]
+ [temp=<T>]
Этот прибор имеет четыре вывода: сток (Nd), затвор (Ng), исток (NS) и подложку (Nb). L и W – длина и ширина канала (м), AD и AS – площади диффузионных областей стока и истока (м2); PD and PS – периметры областей стока и истока (м2), NRD и NRS обозначают число квадратов областей стока и истока; OFF указывает на начальные условия при расчете режима работы транзистора по постоянному току; начальные условия при расчете переходного режима транзистора определяются параметром IC=<Vds, Vgs, Vbs>.
Электрические параметры модели определяются по директиве .model или берутся по умолчанию.
Пример:
M1 Nd Ng Ns 0 MyMOSFET
.model MyMOSFET NMOS(KP=.001)
Имя типа NMOS или РMOS определяет тип канала (п-канальный или р-канальный).
В программе LTspice имеется 7 уровней моделей МОП транзисторов, отличающихся степенью учета реальных характеристик транзистора. Описание моделей разных уровней приведено в LTspiceHelp.
3.2. Директивы управления заданием на моделирование
После описания всех элементов схемы необходимо выбрать вид анализа и задать параметры, которые будут определять режимы анализа. В программе LTspice можно выполнить следующие виды анализа:
расчет частотных характеристик (linearized small signal AC),
многовариантный анализ по постоянному току (DC sweep),
анализ внутренних шумов (noise),
расчет режима цепи по постоянному току (DC operating point),
расчет малосигнальных передаточных функций (small signal DC transfer function)
расчет переходных процессов (transient analysis).
При формировании задания на моделирование, по крайней мере, один из этих режимов должен быть назначен.
Рассмотрим наиболее часто используемые виды анализа.
Расчет частотных характеристик. Они рассчитываются по директиве
.ac <oct, dec, lin> <Nsteps> <StartFreq> <EndFreq>
где StartFreq и EndFreq – начало и конец частотного диапазона, на котором рассчитывается частотная характеристика тока или напряжения в схеме. Число расчетных точек Nsteps распределяется по диапазону в соответствии с выбранным ключевым словом:
Ключевое слово |
Nsteps |
Oct |
Число точек на октаву |
Dec |
Число точек на декаду |
Lin |
Общее число точек равномерно распределенных между началом и концом частотного диапазона |
Расчет частотных характеристик производится после расчета режима по постоянному току и линеаризации характеристик нелинейных компонентов (это делается автоматически, никаких дополнительных директив не требуется).
Этот режим используется при анализе электрических цепей, фильтров, при анализе стабильности и шумов.
Многовариантный расчет режима по постоянному току проводится при вариации одного или нескольких параметров схемы по директиве
.dc <srcnam> <Vstart> <Vstop> <Vincr>
+ [<srcnam2> <Vstart2> <Vstop2> <Vincr2>]
Здесь <srcnam> независимый источник напряжения или тока, параметр которого меняется от значения <Vstart> до значения <Vstop> с шагом <Vincr>.
В нижеследующем примере записана программа расчета и сохранения данных для семейства выходных ВАХ МОП транзистора:
* Example .dc sweep ; комментарий
M1 2 1 0 0 nbsim ; описан МОП транзистор
Vgs 1 0 3.5 ; описан источник напряжения Uзатвор-сток
Vds 2 0 3.5 ; описан источник напряжения Uисток-сток
.dc Vds 3.5 0 -0.05 Vgs 0 3.5 0.5 ; указаны диапазоны изменения параметров источников
.model nbsim NMOS Level=7 ; описана модель МОП транзистора
.save I(Vds) ; директива, по которой сохраняются только данные для тока стока транзистора.
.end
Этот режим используется для расчета и построения ВАХ полупроводниковых приборов, заданных в виде моделей, и амплитудных характеристик усилителей.
Расчет переходного процесса выполняется по директиве
.TRAN <Tstep> <Tstop> [Tstart [dTmax]] [modifiers]
или
.TRAN <Tstop> [modifiers]
Переходные процессы всегда рассчитываются с момента t = 0 до момента <Tstop>. Перед началом расчета переходных процессов рассчитывается режим по постоянному току. Шаг интегрирования выбирается автоматически. Результаты вычислений выводятся в виде таблиц или графиков с интервалом времени, задаваемым параметром <Tstep> (применяется квадратичная интерполяция между дискретными отсчетами). Если задан параметр Tstart, то результаты расчетов выводятся только на интервале времени от t = 0 до указанного значения. Максимальное значение шага интегрирования устанавливается параметром dTmax; если он не указан, то максимальный шаг интегрирования устанавливается равным <Tstop>/50. Режим по постоянному току определяет начальные условия для расчета переходных процессов. Это связано с тем, что значения источников сигнала в момент t = 0 могут отличаться от их постоянных составляющих.
Для видоизменения режима расчета переходного процесса или вывода данных используются дополнительные опции (modifiers), к которым относятся: UIC, steady, nodiscard, startup, step.
Например, если в конце директивы .TRAN указать параметр UIC (Use Initial Conditions – использовать начальные условия), то расчет режима по постоянному току отменяется. При этом начальные значения напряжений на емкостях и токов через индуктивности указываются в опциях вида IС = ..., включенных в описания конденсаторов и индуктивностей, а начальные значения узловых потенциалов указываются в директиве .IС.
Вспомогательные директивы помогают организовать процесс вычисления и вывода необходимых данных в определенном формате. Рассмотрим некоторые из них.
Функции, определяемые пользователем, задаются по директиве
.func <name>([args]) {<expression>}
Имя функции назначает пользователь.
Пример:
.func Pythag(x,y) {sqrt(x*x+y*y)}
Здесь Pythag – имя функции; х, у – аргументы; sqrt(x*x+y*y) – выражение, определяющее длину вектора по двум его проекциям.
Пример применения директивы в программе:
.func Pythag (x,y) {sqrt(x*x+y*y)}
.param u=100 v=600
V1 5 0 pulse(0 1 0 1n 1n .5µ 1µ)
R1 5 4 { Pythag (u,v/3)}
C1 4 0 100p
.tran 3µ
.end
Программа описывает расчет переходного процесса для интегрирующей RС-цепи при подаче на ее вход последовательности прямоугольных импульсов. По директиве .param задаются значения переменных u и v, которые затем используются как аргументы функции Pythag, при расчете номинала резистора R1. Полезность такого подхода состоит в том, что программа остается неизменной при любых параметрах u и v.
Глобальные параметры задаются директивой
.PARAM <имя параметра> = <expression>...
Пример:
.PARAM VPOWER = 5
.PARAM z=1/(pi*10kHz*5k)
Пример использования директивы . PAPAM в задании параметров подсхемы (subcircuit)
*Описание схемы
.param x=2*y z=1k*tan(pi/4+.1)
X1 1 2 0 divider top=x bot=z
V1 1 0 pulse(0 1 0 .5µ .5µ 0 1µ)
* Описание подсхемы
.subckt divider n1 n2 n3
r1 n1 n2 {top}
r2 n2 n3 {bot}
.ends
В первой части программы описана схема, включающая источник сигнала и некоторый функциональный блок Х1 с тремя выводами и внутренними параметрами top=x и bot=z, значения которых определяются по директиве .param. Во второй части программы дается описание функционального блока Х1 как подсхемы (subcircuit), из которого мы узнаем, что Х1 представляет собой схему резистивного делителя. В данном конкретном случае этот абстрактный делитель включен между узлами 1 2 0 конкретной схемы, а его параметры определяются во внешней программе, в которую он вызван.
Вариация параметров назначается по директиве .STEP. По этой директиве анализ производится столько раз, сколько значений варьируемого параметра записано в директиве. В качестве варьируемых параметров могут быть температура, параметры моделей элементов, глобальные параметры или параметры независимых источников. Шаг изменения параметров может быть линейным, логарифмическим или может задаваться список значений параметров.
Пример 1: .step oct v1 1 20 5
Напряжение источника V1 меняется в пределах от 1 до 20 по логарифмическому закону по 5 значений на октаву.
Пример 2: .step I1 10u 100u 10u
