Отдельные фрагменты цепи или схемы замещения компонентов имеет смысл оформлять в виде макромоделей (подсхем). Описание макромодели начинается директивой .SUBCKT и заканчивается директивой .ENDS. Между ними помещаются описания компонентов, входящих в состав макромодели:
.SUBCKT <имя макромодели> <список узлов>
+ [OPTIONAL:<< узел интерфейса> = <значение по умолчанию>>*}
+ [PARAMS:<имя параметра>=<значение>*}
+ [ТЕХТ:<<имя текстовой переменной> - <текст>>*]
{описание компонентов}
.ENDS [имя макромодели]
Ключевое слово OPTIONAL используется для спецификации одного или более необязательных узлов макромодели - указываются имя узла и его значение по умолчанию. Если при вызове макромодели эти узлы не указываются, используются их значения по умолчанию, что удобно для задания источников питания цифровых устройств; после ключевого слова PARAMS приводится список параметров, значения которых передаются из основной цепи в макромодель. После ключевого слова TEXT - текстовая переменная, передаваемая из описания основной цепи в описание макромодели (используется только при моделировании цифровых устройств). Между директивами .SUBCKT и .ENDS можно помещать описания других макромоделей и другие директивы. Приведем пример:
* Макромодель ОУ К140УД11. Создана с помощью программы Model Editor
* Соединения: неинвертирующий вход, инвертирующий вход,
* источник положительного питания, источник отрицательного питания, выход .subckt k140ud11 12345
с1 11 122.469Е-12
с2 6 7 28.00Е-12 ;емкость внутренней коррекции
сее109942.00Е-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 О 4.737Е6 -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.OE3
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; конец описания макромодели
Вызов макромодели, т.е. включение ее в нужное место цепи, осуществляется предложением
Хххх <список узлов> <имя макромодели>
+ [PARAMS:«имя параметра>= <значение>>*}
+ [ТЕХТ:<<имя текста>=<текст>>*]
Например, описанная выше макромодель ОУ К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 Х1 1718022925K140UD8A
При работе со схемным редактором PSpice Schematics библиотеки математических моделей компонентов подключаются по команде Analysis>Library and Include Files. Обратим внимание на механизм передачи параметров из описания основной схемы в описание макромодели и проиллюстрируем его на следующем примере. Рассмотрим фрагмент описания схемы:
Test
.param С=1р LK=8m
.step param С Itet 5p Юр
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 О {С}
L1 1 2 {LK}
.ends DL
.end
Здесь по директиве .SUBCKT определены параметры макромодели С и R и заданы их значения по умолчанию. При вызове макромодели X1 указаны значения параметра С, принимающего значения 5 и 10 пФ, и параметра LK = 8 мГн. Сопротивление резистора R1 по умолчанию принимает значение 1 кОм. Здесь специально подчеркнуто, что локальные и глобальные параметры могут принимать как совпадающие (С={С}), так и различные (L={LR}) обозначения.