Отдельные фрагменты цепи или схемы замещения компонентов имеет смысл оформлять в виде макромоделей (подсхем). Описание макромодели начинается директивой .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}) обозначения.