Макромодели
Отдельные фрагменты цепи или схемы замещения компонентов имеет смысл оформлять в виде макромоделей (подсхем). Описание макромодели начинается директивой .SUBCKT и заканчивается директивой .ENDS. Между ними помещаются описания компонентов, входящих в состав макромодели:
.SUBCKT
<имя макромодели>
<список узлов>
+
[OPTIONAL:
<<узел интерфейса>
=
<значение по умолчанию>>
*
}
+
[PARAMS:
<имя параметра>
=
<значение>
*
}
+
[TEXT:
<<имя текстовой переменной>
-
<текст>>
*
] {описание компонентов}. ENDS [имя макромодели]
Ключевое слово OPTIONAL используется для спецификации одного или более необязательных узлов макромодели – указываются имя узла и его значение по умолчанию. Если при вызове макромодели эти узлы не указываются, используются их значения по умолчанию, что удобно для задания источников питания цифровых устройств; после ключевого слова PARAMS приводится список параметров, значения которых передаются из основной цепи в макромодель. После ключевого слова TEXT – текстовая переменная, передаваемая из описания основной цепи в описание макромодели (используется только при моделировании цифровых устройств). Между директивами .SUBCKT и .ENDS можно помещать описания других макромоделей и другие директивы. Приведем пример:
*
Макромодель ОУ К
140
УД
11
. Создана с помощью программы Model Editor
*
Соединения: неинвертирующий вход, инвертирующий вход,
*
источник положительного питания, источник отрицательного питания, выход
.subckt k140ud11
12345
c1
11
122.469E
-
12
c2
6
7
28.00E
-
12
;емкость внутренней коррекции
cee109942.
00E
-
12
dc
5
53
dx
de
54
5
dx
dip
90
91
dx
din
92
90
dx
dp43dx
egnd
99
0
poly(
2
) (
3.0
) (
4.0
)
0.5.5
fb
7
99
poly(
5
) vb vc ve vip vln
0
4.737E6
-
5E6
5E6
5E6
-
5E6
ga6011
122.639E
-
3
gem
06
10
99
83.51
E
-
9
lee
104dc1
.
400E
-
3
hlim900 vlim
1K
q1
11
213qx1
q2
12
1
14qx2
r2
6
9
100.0E3
rc1
3
11
378.9
rc23
12378.9
re1
1310341.9
re2
14
10341.9
ree
1099
142.8E3
ro1
8
5
30
ro2
7
99
40
rp
3
4
4.546E3
vb
9
0
dc
0
vc
3
53
dc
3
ve
54
4
dc
3
vlim
7
8
dc
0
vip
91
0
dc
25
vln
0
92
dc
25
.model dx D(ls
=
800.0E
-
18
); модель диода
.model qx1 NPN(ls
=
800.0E
-
18
Bf
=
150
); модель биполярного транзистора
.model qx2 NPN(ls
=
970.0E
-
18
Bf
=
320
)
.ends; конец описания макромодели
Вызов макромодели, т.е. включение ее в нужное место цепи, осуществляется предложением:
Xxxx
<список узлов>
<имя макромодели>
+
[PARAMS:
<<имя параметра>
=
<значение>>
*
}
+
[TEXT:
<<имя текста>
=
<текст>>
*
]
Например, описанная выше макромодель ОУ К140УД11 может быть включена в схему предложением:
X1 4015168K140UD11
Имена узлов, устройств и моделей в описании макромодели являются локальными. Поэтому в основной цепи и в макромодели можно использовать совпадающие имена. При-обращении в основной цепи к какому-нибудь имени макромодели применяют так называемые составные имена. Они образуются из имени макромодели и внутреннего имени, разделенных точкой. Например, конденсатор С2 макромодели X1 имеет составное имя X1.С2. При ссылке на компоненты макромоделей составные имена заключаются в квадратные скобки, например, V([XOP1.X3.R2]) – падение напряжения на резисторе R2, который входит в состав макромодели ХЗ, которая, в свою очередь, является составной частью макромодели операционного усилителя ХОР1.
В программе PSpice имеются встроенные макромодели операционного усилителя, компаратора напряжения, регулятора напряжения и стабилизатора напряжения, параметры которых рассчитываются специальной программой Model Editor по их паспортным данным (разд. 5.3). Кроме того, имеются макромодели оптоэлектронных приборов, тиристоров, кварцевых резонаторов и т.п., составляемые фирмами-производителями и отдельными пользователями.
Заметим, что использование встроенной модели ОУ при расчете схем, состоящих даже из небольшого количества ОУ, приводит к большим затратам машинного времени. Поэтому в тех случаях, когда не требуется высокая точность воспроизведения динамических характеристик ОУ, целесообразно применять упрощенные модели ОУ.
Описание макромодели можно поместить непосредственно в файл задания на моделирование или в библиотечный файл макромоделей ОУ, например с именем op.lib. Тогда для включения этого ОУ в схему необходимо сначала по директиве .LIB обеспечить доступ к этому файлу и затем указать номера узлов подключения макромодели:
.LIB D:\ORCAD\PSPICE\LIB\OP
.LIB X1 1718022925K140UD8A
При работе со схемным редактором PSpice Schematics библиотеки математических моделей компонентов подключаются по команде Analysis › Library and Include Files. Обратим внимание на механизм передачи параметров из описания основной схемы в описание макромодели и проиллюстрируем его на следующем примере. Рассмотрим фрагмент описания схемы:
Test
.param C
=
1p
LK
=
8m
.step param C Itet
5p
10p
X1
5
20
DL params: C
=
{C} L
=
{LK}
.subckt DL
1
2
params: C
=
0
LK
=
5m
R
=
1k
R1
1
2
{R}
C1
2
0
{C}
L1
1
2
{LK}
.ends DL
.
end
Здесь по директиве .SUBCKT определены параметры макромодели С и R и заданы их значения по умолчанию. При вызове макромодели X1 указаны значения параметра С, принимающего значения 5 и 10 пФ, и параметра LK = 8 мГн. Сопротивление резистора R1 по умолчанию принимает значение 1 кОм. Здесь специально подчеркнуто, что локальные и глобальные параметры могут принимать как совпадающие (С={С}), так и различные (L={LR}) обозначения.