МИФИ
Московский государственный инженерно-физический институт (технический университет)
УЧЕБНО - МЕТОДИЧЕСКИЙ КОМПЛЕКС МЕТОДИКА АВТОМАТИЗИРОВАННОГО ПРОЕКТИРОВАНИЯ ИНТЕГРАЛЬНЫХ СХЕМ И ЭЛЕКТРОННОЙ АППАРАТУРЫ НА ПЕРСОНАЛЬНЫХ КОМПЬЮТЕРАХ ЧАСТЬ 1 СХЕМОТЕХНИЧЕСКОЕ ПРОЕКТИРОВАНИЕ
АРХАНГЕЛЬСКИЙ А. Я.
PSPICE И DESIGN CENTER ЧАСТЬ 1 СХЕМОТЕХНИЧЕСКОЕ МОДЕЛИРОВАНИЕ МОДЕЛИ ЭЛЕМЕНТОВ МАКРОМОДЕЛИРОВАНИЕ
ГОСУДАРСТВЕННЫЙ КОМИТЕТ РОССИЙСКОЙ ФЕДЕРАЦИИ ПО ВЫСШЕМУ ОБРАЗОВАНИЮ __________________________________________________________________________________________ _ МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ ИНЖЕНЕРНО-ФИЗИЧЕСКИЙ ИНСТИТУТ (ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ) _________________________________________________________
УЧЕБНО-МЕТОДИЧЕСКИЙ КОМПЛЕКС МЕТОДИКА АВТОМАТИЗИРОВАННОГО ПРОЕКТИРОВАНИЯ ИНТЕГРАЛЬНЫХ СХЕМ И ЭЛЕКТРОННОЙ АППАРАТУРЫ НА ПЕРСОНАЛЬНЫХ КОМПЬЮТЕРАХ ЧАСТЬ 1 СХЕМОТЕХНИЧЕСКОЕ ПРОЕКТИРОВАНИЕ
А. Я. АРХАНГЕЛЬСКИЙ
PSpice и Design Center Часть 1 СХЕМОТЕХНИЧЕСКОЕ МОДЕЛИРОВАНИЕ. МОДЕЛИ ЭЛЕМЕНТОВ. МАКРОМОДЕЛИРОВАНИЕ
Рекомендовано к изданию редсоветом института в качестве учебного пособия
Москва 1996
УДК 621.382.82.001 А Архангельский А.Я. PSpice и Design Center. В 2-х ч. Часть 1. Схемотехническое моделирование. Модели элементов. Макромодели-рование. Учебное пособие. М.: МИФИ, 1996, 236 с.
Пособие является частью учебно-методического комплекса “Методика автоматизированного проектирования интегральных схем и электронной аппаратуры на персональных компьютерах. Часть 1. Схемотехническое проектирование”. В учебном пособии рассмотрена методика схемотехнического моделирования с помощью пакетов программ PSpice и Design Center различных версий: от PSpice 4 до Design Center 6.0 и 6.2. В первой части пособия приведены сведения о входном языке, о различных видах анализа, об основных моделях элементов. Подробно рассмотрены способы построения макромоделей аналоговых электронных устройств. Дана методика решения различных задач схемотехнического проектирования. Изложение методики проектирования опирается на справочный материал, содержащийся в справочном пособии, входящем в комплекс. Во второй части пособия будет рассмотрено моделирование цифровых и аналогоцифровых устройств. Будет дано описание ряда вспомогательных программ, входящих в PSpice и Design Center: графического постпроцессора PROBE, программы идентификации параметров моделей PARTS, графического ввода схем с помощью редактора SCHEMATICS и редакторов других пакетов (P-CAD и OrCAD). Пособие предназначено для студентов радиотехнических и других смежных специальностей (электроника, микроэлектроника, вычислительная техника, автоматика и т.п.), связанных с разработкой электронной аппаратуры, средств автоматики и вычислительной техники. Может быть полезно также для аспирантов, инженеров и исследователей соответствующих специальностей. Рецензент проф. МАИ, зав.каф. САПР В.Н. Ильин.
ISBN 5-7262-0010-1 А 2304030000 − 012 без объявл. 1К 9(03) − 96
© А.Я. Архангельский, 1996 © Московский государственный инженерно-физический институт (технический университет), 1996
СОДЕРЖАНИЕ Введение ............................................................................................
5
1. Функциональные возможности и структура PSpice .............. 1. Общее описание моделирующей программы .......................... 1. 1. Структура пакета PSpice и основные информационные файлы 2. ..................................................................................... 1. Запуск программ на счет ......................................................... 3.
9 9 11 17
2. Описание схемы на входном языке программы PSpice ...... 2. Синтаксис входного языка ...................................................... 1. 2. Подготовка схемы к расчету .................................................... 2. 2.2.1. Подготовка эскиза принципиальной схемы .................. 2.2.2. Обозначения узлов ...................................................... 2.2.3. Обозначения элементов .............................................. 2.2.4. Выбор моделей элементов и задание их параметров .. 2.2.5. Использование подсхем .............................................. 2. Описание элементов схемы .................................................... 3. 2.3.1. Операторы описания элементов и моделей ................. 2.3.2. Пассивные двухполюсники R, C, L ............................... 2.3.3. Пассивные многополюсники К и Т ............................... 2.3.4. Полупроводниковые приборы ...................................... 2.3.5. Независимые источники напряжения и тока ................ 2.3.6. Зависимые источники напряжения и тока (простые формы описания) ......................................................... 2.3.7. Глобальные параметры ................................................ 2.3.8. Математические выражения ........................................ 2.3.9. Зависимые источники напряжения и тока (дополнительные формы описания) ............................. 2. Подсхемы ................................................................................ 4. 2. Библиотеки ............................................................................. 5.
26 26
3. Виды анализа в PSpice ............................................................... 3. Описание переменных в информации об анализе ................... 1. 3. Расчет по постоянному току .................................................... 2. 3.2.1. Метод расчета, его точность и сходимость .................. 3.2.2. Расчет рабочей точки .................................................. 3.2.3. Задание начальных условий ........................................
55 55
28 28 30 31 31 33 35 35 36 37 38 39 40 42 43 45 49 51
57 57 61 64
6
ВВЕДЕНИЕ 3.2.4. DC анализ .................................................................... 3.2.5. Проблемы сходимости вычислений ............................. 3. Малосигнальный анализ ..........................................................
68 72 76
3.3.1. Частотный анализ ........................................................ 3.3.2. Расчет передаточных функций по постоянному току .... 3.3.3. Анализ чувствительности по постоянному току............. 3.3.4. Анализ шумов .............................................................. 3. Расчет переходных процессов ................................................
77 78 81 85 88
3. Анализ Фурье ..........................................................................
95
3. Расчет разброса параметров ..................................................
98
3.
4. 5. 6. 3.6.1. Общие сведения о разбросе параметров и методах его расчета ................................................................. 3.6.2. Описание разброса параметров компонентов в PSpice 3.6.3. Детерминированные методы и расчет наихудшего случая .......................................................................... 3.6.4. Статистический расчет по методу Монте-Карло .......... 3. Многовариантный анализ ........................................................
98 104 110 122 129
7. 3. Операторы выдачи результатов расчета ..................................
133
3. Задание опций ........................................................................
137
4. Модели элементов ....................................................................... 4. Модель диода ......................................................................... 1. 4. Модель биполярного транзистора ........................................... 2. 4.2.1. Эквивалентная схема модели ...................................... 4.2.2. Погрешности и область адекватности модели ............. 4. Полевые и МДП транзисторы .................................................. 3. 4. Резисторы, конденсаторы, индуктивности, межсоединения .... 4. 4. Дроссели, трансформаторы .................................................... 5. 4. Модели источников сигналов .................................................. 6.
141 141
5. Макромоделирование .................................................................. 5. Назначение и принципы построения макромоделей ................ 1. 5. Моделирование нелинейных двухполюсников ......................... 2. 5. Моделирование линейных многополюсников .......................... 3.
173 173
8. 9.
145 145 153 156 162 168 172
175 183
ВВЕДЕНИЕ
7
5. Макромодель операционного усилителя программы PARTS ....
188
5. Макромодель компаратора напряжения программы PARTS .....
192
5. Формальные макромодели аналоговых устройств ...................
196
5.6.1. Структура макромоделей ............................................. 5.6.2. Входные и выходные характеристики .......................... 5.6.3. Линейные искажения ................................................... 5.6.4. Нелинейные искажения ............................................... 5. Макромодели электронных ключей и реле ..............................
196 197 203 209 217
5. Моделирование радиационных эффектов ...............................
221
5. Моделирование тепловых процессов ......................................
226
4. 5. 6.
7. 8. 9. Литература ..........................................................................................
233
8
ВВЕДЕНИЕ
ВВЕДЕНИЕ Пакет программ PSpice фирмы MicroSim Corp. (США) является самым популярным в мире пакетом, используемым на персональных компьютерах для схемотехнического моделирования электронной аппаратуры. Основная моделирующая программа пакета относится к семейству SPICE (Simulation Program with Integrated Circuit Emphasis). Первая программа этого семейства, получившая широкое распространение, - SPICE-2, созданная в Калифорнийском университете Беркли в начале 70-х годов. Она довольно быстро стала завоевывать популярность, тесня своих не очень многочисленных в то время конкурентов, прежде всего программу NAP-2. К достоинствам SPICE-2, обеспечившим ее успех, можно отнести хорошие (точные) модели компонентов и высокую скорость моделирования при удовлетворительной надежности. С конца 70-х годов за усовершенствование SPICE наряду с разработчиками ее первой версии взялись многие фирмы - разработчики систем автоматизации проектирования (САПР) интегральных схем. Были созданы PSpice (MicroSim), PRESISE (Electrical Engineering Software), HSPICE (Meta-Software), MSPICE (Mentor Graphics), CSPICE (Intergraph) и др. Совершенствовались модели, модифицировались алгоритмы, изменялся язык, на котором писались программы (сначала - Фортран, позднее - Си), расширялись функциональные возможности и техническая база (сейчас программы этого семейства используются практически на любых типах ЭВМ). В 1986 г. в Университете Беркли создан новый вариант программы - SPICE-3 и на ее основе фирмами также разработан ряд программ: SPICET (Analog Design Tools), LSPICE (Silicon Compiler Systems) и др. Так как каждая из фирм, выпустивших программы на основе SPICE, продолжает их совершенствовать и разрабатывать новые версии, семейство этих программ растет. SPICE стала своеобразным эталоном программ схемотехнического моделирования, так что все программы этого типа (даже совершенно оригинальные, никак не связанные со SPICE) стали называть спайсо-подобными. Популярность различных версий SPICE привела к тому, что производители полупроводниковых приборов и интегральных схем прилагают к выпускаемой ими продукции параметры моделей и макромодели для SPICE. Поэтому SPICE имеет в настоящее время огромные библиотеки моделей, что позволяет рассчитывать самые разнообразные схемы на компонентах всех ведущих фирм мира. И те, кто пытается выйти на западный рынок со своими разработками аналоговых схем, должны приложить к ним макромодели для SPICE - иначе с ними не
ВВЕДЕНИЕ
9
будут разговаривать. Научные публикации по схемотехнике также нередко сопровождаются текстами описаний соответствующих схем для SPICE. Справедливости ради надо отметить, что наряду с программами на основе SPICE используются и другие программы этого класса, например Micro Cap (Spectrum Software) - удобная в пользовании, но менее мощная, чем SPICE, или SABER (Analogy) - мощный пакет, превосходящий в некоторых отношениях программы семейства SPICE по быстродействию и возможностям. И все-таки SPICE сохраняет свою популярность. Поэтому большинство разработанных в мире САПР или непосредственно включают в себя программы семейства SPICE, или предусматривают трансляцию своих данных во входной язык SPICE. Разработано также много программ, обслуживающих SPICE, в частности экспертных систем, помогающих пользователю в моделировании. И даже оригинальные моделирующие программы вынуждены считаться с популярностью SPICE и брать за основу входной язык и форматы выходных данных SPICE. Пакет PSpice наиболее распространенный из программ семейства SPICE для персональных компьютеров. Первая версия этой программы создана в 1984 г. и с тех пор PSpice постоянно развивается. В состав PSpice наряду с моделирующей программой входит графический постпроцессор Probe, позволяющий обрабатывать результаты расчета в графической форме. Включены в PSpice также программа идентификации параметров моделей элементов Parts, редактор входных воздействий StmEd и ряд других программ. Начиная с версии 3, введена возможность, помимо схемотехнического моделирования, осуществления расчета некоторых классов аналого-цифровых схем с помощью внешних программ логического моделирования. С четвертой версии стало возможно в рамках самой программы PSpice проводить расчет не очень сложных цифровых и аналого-цифровых схем. Эти возможности существенно расширены в версии 5. В 1990 г. появилась первая версия пакета нового поколения Design Center, основанного на 5-й версии PSpice. В 1994 г. выпущена следующая его версия Design Center 6.0. Design Center помимо традиционных для PSpice программ имеет также графический препроцессор Schematics, позволяющий рисовать принципиальные схемы, и программу синтеза фильтров: аналоговых и на переключаемых конденсаторах. Существенно расширены возможности моделирования цифровых схем. В 1995 г. появилась версия Design Center 6.2. Это уже интегрированный программный комплекс, позволяющий проектировать сложные аналоговые, цифровые и аналого-цифровые устройства. В него наряду с моделирующей программой PSpice входит программа логического моделирования PLogic, а также программы: PLSyn - синтез программируемых логических устройств и автоматический выбор
10
ВВЕДЕНИЕ
элементной базы; PSpice Optimizer - интерактивная параметрическая оптимизация схем; Polaris - программа анализа топологии печатных плат, позволяющая с помощью моделирующих программ учесть паразитные параметры, перекрестные помехи, отражения, задержки; Filter Synthesys интерактивный синтез и анализ активных и пассивных фильтров; PCBoard - проектирование печатных плат. В настоящее время PSpice и Design Center могут работать практически на любых персональных компьютерах и рабочих станциях. Все сказанное не оставляет сомнений, что обучение методам схемотехничекого моделирования целесообразно проводить на основе одной из версий PSpice. Помимо своей популярности PSpice подходит для этих целей еще и потому, что предъявляет минимальные требования к вычислительной технике и может использоваться даже на самых слабых PC XT/AT. Фактически единственное предъявляемое требование - наличие математического сопроцессора. В данном учебном пособии, как и во всем учебно-методическом комплексе, рассматриваются параллельно две версии - PSpice 4 и PSpice 5, а также их дальнейшее развитие - система Design Center версий 5.4 и 6.0. Design Center во многом удобнее, чем PSpice, особенно в варианте, предназначенном для работы в среде Windows. Design Center имеет еще и то преимущество, что демонстрационная версия (Evaluation Version) этой системы не требует решения сложных вопросов, связанных с лицензированием, и в то же время ее мощности хватает для расчета несложных схем в процессе обучения. Однако актуальность более ранних версий с точки зрения обучения сохраняется. Это связано с тем, что, хотя наиболее ранняя из рассматриваемых версий - PSpice 4 слабее последующих, но она требует наименьших затрат памяти, что с учетом ограниченных возможностей технических средств в ряде вузов может быть решающим фактором. С другой стороны, при использовании некоторых современных версий Design Center в учебных локальных сетях на слабых персональных компьютерах возникают определенные сложности. Таким образом, в зависимости от имеющихся технических возможностей обучение может проводится на разных версиях программ. А с точки зрения овладения пакетом PSpice все версии примерно одинаковы, кроме, конечно, наличия в Design Center графического препроцессора, который рассматривается отдельно. Таким образом, научившись работать на одной версии, пользователь не испытает сложностей в переходе на другую, более совершенную. Варианты версий, указываемые после точки, например PSpice 4.3, PSpice 4.3a и т.п., мало отличаются друг от друга. Поэтому в дальнейшем изложении этими незначительными отличиями пренебрегается. Если в изложении какого-либо вопроса не указывается конкретная версия, значит имеются ввиду все версии.
ВВЕДЕНИЕ
11
Вопросам применения PSpice и Design Center при проектировании электронной аппаратуры посвящены многие отечественные и зарубежные публикации в периодических изданиях. Неплохое изложение возможностей PSpice 4 содержится в работе [1]. В настоящем пособии обобщены известные публикации, а также многолетний опыт автора по обучению как пользоваться пакетами PSpice и Design Center, накопленный в МИФИ, и опыт использования этих пакетов в реальном проектировании. Первая часть данного учебного пособия содержит общее описание программ пакетов PSpice и Design Center, описание входного языка программы схемотехнического моделирования, используемых в ней моделей, методики моделирования схем различных классов. Моделирование цифровых и аналого-цифровых схем, идентификация моделей, работа с графическими редакторами и оболочками PSpice и Design Center изложены во второй части пособия [2]. Детальное описание отдельных операторов, систем параметров моделей, структуры некоторых файлов, диагностических сообщений перенесено в справочное пособие [3]. Это позволило при изложении материала не отвлекаться на отдельные детали, сосредоточившись на принципиальных методических вопросах работы с программами. В то же время овладение пакетом PSpice требует параллельного изучения данного учебного пособия и справочного пособия [3]. Методика применения PSpice в расчетах аналоговых устройств подробнее рассмотрена в лабораторном практикуме[4].
1. Ф У Н К Ц И О Н А Л Ь Н Ы Е В О З М О Ж Н О С Т И И СТРУКТУРА PSPICE 1.1. ОБЩЕЕ ОПИСАНИЕ МОДЕЛИРУЮЩЕЙ ПРОГРАММЫ Моделирующая программа PSpice позволяет моделировать электронную аппаратуру, состоящую их следующих элементов (в скобках даны буквенные обозначения этих элементов во входном языке PSpice): резисторы (R), конденсаторы (C), индуктивности (L), независимые источники напряжения (V) и тока (I), диоды (D), биполярные транзисторы (Q), МОП-транзисторы (M), полевые транзисторы с управляющим р-n переходом (J), арсенидгалиевые полевые транзисторы (B), взаимосвязанные индуктивности и трансформаторы (K), линии задержки (T), ключи, управляемые напряжением (S) и током (W). Имеются также широкие возможности по созданию макромоделей различных устройств, т.е. моделей, упрощенным образом описывающих поведение целого устройства или его фрагмента. При построении макромоделей широко используются такие элементы, как зависимые источники: источники тока, зависящие от напряжения (G) и тока (F), и источники напряжения, зависящие от напряжения (E) и тока (H). Моделирование производится на электрическом уровне: рассчитываются токи и напряжения. Однако PSpice позволяет также в некоторых пределах осуществлять логическое моделирование несложных (а последние версии программы - и сложных) цифровых схем и смешанное электро-логическое моделирование аналого-цифровых схем, включая цифровые элементы (U) и их входные (N) и выходные (O) интерфейсы. При описании моделируемого устройства можно широко использовать подсхемы (SUBCKT), подразумевая под ними повторяющиеся фрагменты схемы или, например, макромодели. При описании подсхемы обозначаются как самостоятельные элементы схемы (X). Это позволяет во многих случаях существенно сокращать описание схемы и использовать созданную один раз подсхему при моделировании различных устройств. Параметры моделей элементов и подсхемы могут содержаться в библиотечных файлах. Использование готовых библиотек снимает с каждого конкретного пользователя тяжелую заботу об идентификации параметров
1.1. Общее описание моделирующей программы
13
моделей элементов и о разработке макромоделей типовых узлов, таких, например, как интегральные операционные усилители. Создание макромоделей позволяет расширить область применения PSpice и моделировать устройства, содержащие помимо электронных элементов различные датчики, исполнительные механизмы и т.п. Таким образом, с помощью PSpice можно моделировать устройства автоматики, системы управления, измерительные устройства и, пользуясь электрическими аналогиями, практически любые не слишком сложные объекты, описываемые системами обыкновенных дифференциальных уравнений. Максимальная сложность моделируемой схемы зависит от версии PSpice и от используемой вычислительной техники. Для версий ниже 4 или для персональных компьютеров с операционной системой MS DOS и с оперативной памятью 1 Мбайт схема может содержать не более 150 элементов. Применение операционных систем с виртуальной памятью (OS/2 для РС или аналогичные для VAX и рабочих станций) позволяет обойти ограничение на сложность схемы, но ценой значительного (в 5-20 раз) замедления расчета из-за постоянного обмена информацией между оперативной памятью и диском. Начиная с версии 4.04 PSpice позволяет использовать расширенную память и в этом случае сложность анализируемых схем может быть существенно увеличена (особенно в версии 5). Однако, надо иметь в виду, что реальные ограничения связаны не только с памятью, но и с затратами машинного времени на моделирование, которые для сложной схемы и при не очень высоком быстродействии компьютера могут стать непомерно большими. PSpice позволяет проводить следующие основные виды анализа (в скобках указаны соответствующие операторы входного языка): ♦ расчет рабочей точки с подробной распечаткой режимов элементов (.OP); ♦ расчет по постоянному току зависимостей режима схемы от величины входных сигналов, параметров моделей, температуры (.DC); ♦ частотный анализ (.AC); ♦ анализ шумов (.NOISE); ♦ анализ чувствительности по постоянному току (.SENS); ♦ расчет передаточных малосигнальных функций (.TF); ♦ расчет переходных процессов (.TRAN); ♦ фурье-преобразование результатов расчета переходных процессов (.FOUR); ♦ расчет схемы на наихудший случай с учетом разброса параметров элементов (.WCASE); ♦ статистический анализ разброса параметров методом Монте-Карло (.MC);
14
1. Функциональные возможности и структура PSpice
♦ расчет зависимостей характеристик схемы от параметров моделей элементов и от температуры (.STEP). 1.2. СТРУКТУРА ПАКЕТА PSPICE И ОСНОВНЫЕ ИНФОРМАЦИОННЫЕ ФАЙЛЫ Моделирующая программа является основной программой пакета. Загрузочный файл ее - PSPICE1.EXE. В Design Center у моделирующей программы могут быть и другие имена: PSPICE.EXE или WPSPICE.EXE (в варианте для Windows). Кроме того, моделирующая программа может содержать ряд оверлейных файлов, расширяющих ее возможности и делающих доступными те или иные опции: ♦ поведенческое моделирование аналоговых элементов (Analog Behavional Modeling), очень удобное при создании макромоделей; ♦ расчет разброса параметров схемы методами Монте-Карло и на наихудший случай; ♦ цифровое моделирование, позволяющее включать в моделируемую схему не очень сложные цифровые элементы; ♦ использование цифровых файлов, позволяющих обмениваться информацией с внешними программами логического моделирования и таким образом осуществлять смешанное моделирование некоторых классов аналого-цифровых схем; ♦ возможность видоизменять модели элементов путем модификации соответствующих процедур (файлы исходных текстов процедур на языке Си). К моделирующей программе, начиная с PSpice 5, относятся также вспомогательные файлы PSPICE.IFF и PSPICE.DEV. Помимо основной моделирующей программы в состав пакета PSpice входят: ♦ постпроцессор графической обработки результатов моделирования Probe (файлы PROBE.EXE, PROBE.DEV, PROBE.MSG, PROBE.DSP); ♦ программа идентификации параметров моделей элементов Parts (файлы PARTS.EXE, PARTS.HLP, PARTS.DEV, PARTS.MSG); ♦ редактор входных сигналов StmEd (файлы STMED.EXE, STMED.HLP, STMED.MSG); ♦ управляющая оболочка: PSHELL для PSpice (файлы PS.EXE, PSHELL.EXE, PSpice.HLP) или PSCHED для Design Center для Windows (файлы PSCHED.EXE, PDESIGN.EXE, PSCHED.HLP ); оболочка
1.2. Структура пакета PSpice и основные информационные файлы
15
PSCHED включает в себя графический препроцессор SHEMATICS для изображения схем; ♦ программа SETUPDEV.EXE, формирующая рассмотренные далее файлы настройки .DEV (эта программа введена только начиная с PSpice 5); ♦ вспомогательные программы редактирования библиотек для Design Center (файлы MODTOMDT.EXE, LC.EXE, LX.EXE); ♦ программа синтеза фильтров FILTER DESIGN (только в Design Center, в настоящем пособии не рассматривается). Помимо указанных файлов, в состав пакета могут входить файлы библиотек подсхем и параметров моделей, обычно имеющие расширение .LIB, и ряд других файлов. Кроме того, в Design Center в зависимости от версии может быть еще ряд других программ. Все указанные файлы могут размещаться в одной или нескольких директориях на любом диске. Лучше их размещать не в той директории, в которой работают пользователи, а еще лучше на диске, защищенном от случайного стирания. Для облегчения запуска программ полезно загрузочные модули размещать в директории, путь к которой установлен в файле AUTOEXEC.BAT. Это условие обязательно для оверлейных файлов; иначе их придется копировать в текущую директорию, из которой идет работа, чтобы программа Pspice1 смогла их найти. Программы пакета обмениваются друг с другом файлами. Упрощенная схема обмена показана на рис.1.1. На ней не приведены только управляющая оболочка и графический препроцессор, которые взаимодействуют со всеми остальными программами. Файлы, указанные на схеме, используются в любых версиях PSpice. Помимо них в PSpice 5 и Design Center используются еще некоторые файлы, о которых будет сказано позднее. А пока рассмотрим подробнее назначение основных файлов и программ. Исходным является текстовый файл .CIR, который содержит описание моделируемой схемы и задание на моделирование (расширение .CIR принято программой PSpice по умолчанию, но может задаваться и любым другим). Этот файл готовится с помощью любого текстового редактора, в частности редактором, входящим в состав оболочки PCHELL. Другой путь подготовки входного файла - использование какого-либо графического редактора. В Design Center -это SCHEMATICS, но могут использоваться и редакторы других систем: P-CAD, OrCAD, MICRO CAP.
16
1. Функциональные возможности и структура PSpice
Рис. 1.1. Программы и основные информационные файлы пакета PSpice
Применение графического редактора позволяет сделать изображение схемы, а затем оттранслировать его во входной файл PSpice. Этот путь нагляден (особенно при использовании SCHEMATICS) и удобен для документирования результатов проектирования. Наличие изображения схемы очень помогает при отладке заданий, обработке результатов моделирования, внесении изменений в схему. Но он более трудоемок, чем прямое составление и редактирование текстового файла. Поэтому опытные проектировщики все-таки предпочитают работать с текстовыми файлами, используя графические препроцессоры только для первичного ввода схемы и документирования. А все изменения схемы в процессе работы проводят чаше непосредственно в текстовом файле, что намного быстрее. Файл .CIR является входным также для программы StmEd, которая позволяет наглядно увидеть форму описанных в нем входных сигналов схемы и отредактировать эти описания. Файл .CIR подается на вход программы Pspice1, которая моделирует заданную схему. Если при описании схемы были ссылки на библиотеки параметров моделей и подсхем (текстовые файлы с расширением .LIB по умолчанию), то в процессе моделирования Pspice1 использует библиотечные файлы. Если ранее к данному файлу .LIB не было обращения, то PSpice анализирует библиотечный файл и создает для него
1.2. Структура пакета PSpice и основные информационные файлы
17
индексный файл .IND в той же директории, где расположен библиотечный файл (эта директория не должна быть закрыта для записи). Наличие индексного файла позволяет Pspice1 при последующих расчетах очень быстро находить требуемые параметры и подсхемы независимо от размера библиотеки. Библиотечные файлы создаются и пополняются любым текстовым редактором или программой Parts. Она позволяет рассчитать параметры моделей по справочным или экспериментальным данным и получить текстовый файл с описанием модели (расширение по умолчанию .MOD), который далее можно включить в библиотечный файл. Результатом работы PSpice является текстовый файл .OUT ( имя входного файла). Файл .OUT содержит описание моделировавшейся схемы и результаты расчета в виде таблиц и квази-графиков. Если PSpice обнаружил во входном файле .CIR ошибки, то информация об этих ошибках также содержится в файле .OUT. Просмотрев этот файл любым текстовым редактором, можно понять суть этих ошибок и исправить их в файле .CIR. Если моделирование прошло нормально, то просмотрев результаты расчета можно при желании отредактировать их и вывести на принтер. Если во входном файле содержался специальный оператор .PROBE (см. п. 3.8), то Pspice1 создает бинарный файл с расширением .DAT для графического построцессора Probe. В версиях PSpice ниже 5.0 имя этого файла всегда PROBE.DAT. В версиях PSpice 5 имя его совпадает с именем входного файла: .DAT. Файл для Probe может иметь и расширение .TXT, если во входном файле оператор .PROBE задан с опцией CSDF. В этом случае это - не бинарный, а текстовый файл. Файлы, предназначенные для Probe подаются на вход этого постпроцессора, который позволяет построить и исследовать графики, являющиеся результатом расчета. На практике основная информация о результатах моделирования получается именно с помощью Probe, а не просмотром файла .OUT. Теперь остановимся на некоторых вспомогательных файлах. Программы Probe, Parts, StmEd имеют настройку на конкретные технические параметры компьютера. Соответствующую информацию они черпают из текстовых файлов с расширением .DEV: PROBE.DEV, PARTS.DEV, STMED.DEV. Вместо этих трех файлов достаточно иметь один из них. В PSpice 5 вместо этих файлов может быть файл PSpice.DEV. Файлы .DEV состоят из двух строк, указывающих тип дисплея и тип устройства для получения твердой копии (принтера или плоттера): Display = < имя дисплея > Hard-copy = < имя порта>,
18
1. Функциональные возможности и структура PSpice
Для IBM PC имя дисплея может быть: AT&T, Generic EGA, IBM, IBMClr, IBMEGA, IBMEGAMono, IBMCGA, IBMVGA, IBMVGA, IBM8514, Hercules, T3100, Text. При указании имени Text работа программ не зависит от типа дисплея, но графики выводятся символами (квази-графики), что, конечно, менее наглядно. В качестве имени порта для IBM PC могут указываться: LPT1, LPT2, LPT3 (в зависимости от того, к какому порту подключено усторойство), COM1, COM2, PRN (обычно тождественно COM1), FILE. Если указано имя FILE, то информация выводится не в порт, а в файл (его имя программа спросит в необходимый момент), причем в таком виде, что в дальнейшем для получения твердой копии его достаточно скопировать на соответствующий принтер или плоттер обычной командой COPY. В качестве имени печатающего устройства можно задавать типы устройств: CITON, CITON132, EPSON, EPSON132, EPSONLQ, HI, HP, HPLJ, IBMCLR, MLJ, NEC, NEC132, NECClr, NECClr132, Okidata, Okidata132, PRINTRONIX, TOSHIBA, TOSHIBA132, TEXT, TEXT132 и ряд других типов. Указание TEXT и TEXT132 означает вывод на прибор без графики, т.е. вывод графиков символами (соответственно 80 и 132 символа в ширину). В остальных случаях добавление к имени цифр 132 означает ширину графика 13.2" вместо 8". Например, если на компьютере стоит дисплей VGA и принтер Epson FX80 или Epson FX100, то файл PROBE.DEV может иметь вид Display = IBMVGA Hard-copy = LPT1, EPSON А для вывода графической информации в файл для последующего получения ряда копий можно заготовить другой файл, назвав его, например, INFILE.DAT и заменив вторую строку: Hard-copy = FILE,EPSON В соответствующих случаях этот файл можно подключать к программам вместо PROBE.DEV. Текстовые файлы типа .LOG (см. рис.1.1) могут генерироваться программами, если их запустить с соответствующей опцией /L (см. п. 1.3). В них запоминаются в текстовом виде все операции, которые производил пользователь в сеансе работы с программой. Если в дальнейшем запустить ту же программу с опцией /C (см. п. 1.3) и передать в нее этот файл в качестве командного (.CMD на рис.1.1), то программа автоматически повторит те же
1.2. Структура пакета PSpice и основные информационные файлы
19
операции. Таким образом, при решении идентичных задач можно избежать повторения каждый раз одних и тех же операций. Команды в файлах .LOG и .CMD отображаются своими именами или их первыми буквами. Нажатие клавиш Enter, стрелка вверх, стрелка вниз отражаются соответственно командами "@CR", "@DWN", "@UP". Файл .LOG при преобразовании его в файл .CMD можно отредактировать в текстовом редакторе, добавив или убрав какие-то команды. В частности, для улучшения читабельности файла в него можно добавить пустые строки и строки комментариев, начинающиеся с символа "*". Можно также добавить команды "Pause", которые при выполнении командного файла вызовут остановы, необходимые, чтобы, например, рассмотреть построенные графики. Нажатие любой клавиши прервет паузу и выполнение командного файла продолжится. Начиная с PSpice 5 программы Probe, Parts, StmEd допускают настройку цветов пользователем. Параметры настройки хранятся в файле PSpice.CLR. При отсутствии этого файла цвета устанавливаются по умолчанию: фон черный, передний план (надписи, координатные оси) и курсор графиков белый, курсор “мыши” - ярко белый, графики шести цветов - зеленый, красный, голубой, желтый, ярко красный, ярко синий. Если пользователь, работая с Probe, задал другие цвета, то они помещаются в текстовый файл PSpice.CLR в виде строк: N - задание числа различных цветов графиков; B - задание цвета фона; F - задание цвета переднего плана; C - задание цвета курсора графиков; M - задание цвета курсора “мыши”; T - задание цвета графика с номером n. В этих строках задается в зависимости от версии PSpice либо номером от 0 до 63 в соответствии со стандартом EGA, либо тремя числами от 0 до 63, отражающими относительную интенсивность в данном цвете трех основных цветов: красного, зеленого и синего. Среди других файлов, используемых только начиная с PSpice 5, следует указать файлы с расширениями: .CBK - предшествующие варианты файлов .CIR, сохраняемые текстовым редактором оболочки; .CFG - параметры конфигурации для некоторых версий PSpice; .GF - целевые функции, используемые Probe при обработке графиков; .JED - файлы программирования логических матриц;
20
1. Функциональные возможности и структура PSpice
.MDT -
двоичные файлы параметров моделей, программой Parts; .PBK - предшествующие версии файлов PROBE.DEV; .TIM - текстовые файлы вывода данных из Probe; .TMP - бинарные файлы вывода данных из Probe и некоторые другие.
создаваемые
1.3. ЗАПУСК ПРОГРАММ НА СЧЕТ Одна из возможностей работы с программами пакета PSpice использование управляющей оболочки. Для запуска оболочки достаточно выполнить команду (во всем дальнейшем изложении элементы команды, заключенные в квадратные скобки, необязательны): для PSpice PS [-M] [[.CIR]] для Design Center PSCHED [[.SCH]] Опция -М указывается только для монохромных дисплеев. Имя входного файла может не указываться - тогда нужный файл загружается из меню оболочки. Таким образом, в простейшем случае для запуска оболочки можно выполнить просто команду PS или PSCHED. Затем из оболочки с помощью меню можно выполнять любые операции с программами пакета. Подробнее работа с оболочками PSpice и Design Center рассматривается в работе [2]. Надо, однако, отметить, что большинство пользователей предпочитают работать с программами пакета PSpice непосредственно, без оболочки, что во многих отношениях проще и удобнее. Запуск моделирующей программы PSPICE1.ЕХЕ осуществляется командой PSPICE1 [[.CIR]] + [[.OUT]] + [[.DAT]] [] (для Design Center вместо PSPICE1 вызывается PSpice или WPSPICE). По умолчанию расширение входного файла .CIR, имя выходного файла совпадает с именем входного и имеет расширение .OUT, имя файла для построцессора: Probe для версий PSpice 4 или совпадает с именем входного
1.3. Запуск программ на счет
21
файла для версий PSpice 5. Его расширение в обоих случаях .DAT. Таким образом, для PSpice 4 эквивалентны следующие команды: PSPICE1 F1 PSPICE1 F1.CIR PSPICE1 F1.CIR F1 PSPICE1 F1.CIR F1.OUT PROBE.DAT Если же задать команду PSPICE1 F1 F2 F1.DAT, то выходной файл будет иметь имя F2.OUT, а файл для построцессора F1.DAT. Рассмотрим теперь работу с PSpice в MS DOS. Если не задано в командной строке, то можно указать имена файлов, отвечая на вопросы программы: You may use <enter> alone to exit PSpice (Вы можете покинуть PSpice, нажав <enter>) Input file name [.CIR]? .. (Имя входного файла [.CIR]?) Output file name [...OUT]? (Имя выходного файла [....OUT]?) Если во время этого диалога или в командной строке указан файл, который PSpice не может найти, появляется текст: Unable to read from ... Either: (Невозможно читать из файла ... Или) 1) The file name is misspelled, or (ошибочное имя файла, или) 2) The file does not exist, or (файл не существует, или) 3) It exists in a different directory, or (он существует в другой директории, или) 4) The file has nothing in it. (файл пустой.) Try again. (Попытайтесь снова.) После этого программа переходит к указанному ранее диалогу. Из возможных опций имеет смысл отметить одну - /D0, подавляющую вывод информации PSpice на экран. Эта опция может быть полезна, если PSpice запускается из какой-то другой программы, и нежелательно, чтобы
22
1. Функциональные возможности и структура PSpice
PSpice изменял изображение на экране. Полезна эта опция может быть и при счете коротких задач, когда время активизации дисплея соизмеримо со временем счета. После выполнения команды запуска программа загружается в память и начинается счет. Экран при этом имеет вид, представленный на рис.1.2. В средней части экрана высвечивается сообщение о том, что делает в данный момент программа, а в нижней - цифры, позволяющие оценить ход расчета и узнать, какая часть задачи выполнена. В PSpice 5 имеется также возможность наблюдать на экране в процессе счета до трех переменных (см. работу [3], оператор .WATCH). Это позволяет следить за ходом расчета. PSpice Electrical Circuit Simulator Version 4.03A, January 1990 (C) Copyright 1986 - 1990 by MicroSim Corporation Unauthorized copying of this program is prohibited
This program distributed by: Micro Central, Inc. 55 Reid Street South River NJ 08882
Simulating circuit: EXAMPLE1 - An Illustration of PSpice Capabilities In file EXAMPLE1.CIR Writing results to EXAMPLE1.OUT Temperature = 35.0 Monte Carlo NOMINAL Transient Analysis
Time step = 20.00E-09
Time = 607.8E-09
End = 1.000E-06
Рис. 1.2. Экран при работе с PSpice
Возможности вмешательства в процессе счета зависят от версии программы. В PSpice 4 нажатие клавиш Esc или Ctrl-C прерывает вычисления. Затем можно просмотреть в выходных файлах результаты просчитанной к этому моменту части задачи. Но продолжить расчет
1.3. Запуск программ на счет
23
прерванной задачи невозможно. В PSpice 5 нажатие любой клавиши вызывает паузу и появление на экране текста: * Analysis Paused * Continue the analysis <E> Exit from Pspice
(Анализ приостановлен) (Продолжение расчета) (Выход из Pspice)
В ответ можно нажать “E” и закончить расчет, или нажать “C” и продолжить вычисления (если, например, нажатие клавиши, вызвавшее паузу, было случайным). В некоторых версиях PSpice при наличии расширенной памяти во время паузы предлагается также альтернатива
Probe and resume(Запуск Probe и возврат в PSpice) Выбрав эту альтернативу можно просмотреть в Probe полученные к этому моменту графики и затем вернуться в PSpice для продолжения расчета.
Рис. 1.3. Экран PSpice при работе с Design Center
Теперь остановимся на особенностях работы с PSpice пакетов Design Center в Windows. В этом случае экран при работе программы имеет вид, представленный на рис. 1.3. Основное отличие от описанного ранее заключается в постоянном присутствии на экране меню, содержащего разделы File, Font, Colors, Display, Help. Раздел File имеет подразделы
24
1. Функциональные возможности и структура PSpice
Open
-
открытие нового файла .CIR (это позволяет задать входной файл, если он не был задан в командной строке); Terminate Simulation - прерывание расчета; Save Window Configuration - сохранение конфигурации окна PSpice; при последующих вызовах PSpice окно будет того же размера и будет расположено так же, как в момент выполнения этой команды; Exit - завершение работы PSpice. Раздел меню Fonts позволяет выбрать шрифт техста на экране. Раздел Colors дает возможность изменить цвет и фон текста и сообщений об ошибках. Для этого, войдя в раздел Colors и в один из его подразделов надо задать в пределах 0 - 255 относительную интенсивность каждого из основных цветов: красного (Red), зеленого (Green), синего (Blue). Раздел меню Display позволяет выбрать частоту обновления надписей на экране в процессе счета. Раздел имеет подразделы: Immediate немедленный вывод каждого шага; Fast частый вывод; Slow редкий вывод. Частый вывод на экран может приводить к мельканию цифр и, главное, частое обращение к экрану затягивает время расчета. Раздел меню Help дает информацию об используемой версии PSpice. Запуск графического постпроцессора Probe осуществляется командой PROBE [][[.DAT]] Если файл не указан, по умолчанию предполагается файл PROBE.DAT. Опции могут быть следующие: /C - задает командный файл .CMD (см. п. 1.2); /D - задает имя и путь к файлу .DEV (см. п. 1.2), если он имеет нестандартное имя или расположен в директории, путь к которой не установлен; /L задает генерацию логического файла .LOG (см. п. 1.2); /M [] задает файл .MAC с макросами (см. работу [2], п. 3); по умолчанию его имя PROBE.MAC; /S [] задает имя файла .DSP, содержащего спасенные ранее параметры экрана (см. [2],
1.3. Запуск программ на счет
25
главу 3); по умолчанию имя этого файла PROBE.DSP; /G [] задает имя файла .GF с описанием целевой функции для обработки графика (только начиная с PSpice 5). Имя файла может отделяться от опции пробелом или записываться без пробела. Примеры команд: PROBE PROBE F1.DAT PROBE /D C:\PSPICE\PROBE.DEV /L F1.CMD F1.DAT Поскольку работа с какой-либо проектируемой схемой обычно заключается в многократных поочередных запусках Pspice1 и Probe, можно упростить работу, создав, например, следующий командный файл: IF EXIST %1.DAT DEL %1.DAT PSPICE1 %1.CIR %1.OUT %1.DAT IF EXIST %1.DAT PROBE, назвав его, например, PSP.BAT и запускать командой PSР . Можно включить в этот файл еще строки, обращающиеся к какому-либо текстовому редактору для редактирования входного файла и для просмотра файла .OUT. Алгоритм работы командного файла может быть следующим. Шаг 1. Если существует файл .DAT, то стереть его (это гарантирует в дальнейшем от ошибочного просмотра старого файла). Шаг 2. Запустить программу Pspice1.EXE, передав в нее имя исходного файла .CIR. Шаг 3. Если образовался файл .DAT (т.е. программа просчитала задачу), то запуск Probe и затем уход на шаг 5. Шаг 4. Запуск текстового редактора с передачей в него файла с расширением .OUT (этот шаг выполняется, если Pspice1 обнаружил ошибки в исходном файле и не провел расчета, что и вызвало отсутствие файла .DAT; в этом случае надо смотреть выходной файл .OUT).
26
1. Функциональные возможности и структура PSpice
Шаг 5.
Запуск текстового редактора с передачей в него файла задания для внесения каких-то изменений в этот файл. Уход на шаг 1. В командном файле полезно также предусмотреть возможность в любой момент прервать его выполнение при необходимости сделать какие-то нестандартные действия. Подобный файл может иметь, например, такой вид (условно считается, что используется некоторый текстовый редактор EDITOR.EXE): @ECHO OFF :BEGIN IF EXIST %1.DAT DEL %1.DAT PSPICE1 %1.CIR %1.OUT %1.DAT IF NOT EXIST %1.DAT GOTO OUT CLS ECHO ЗАДАЧА ПОСЧИТАНА ECHO --------------------ECHO ПРОСМОТР ГРАФИКОВ ECHO _______________________________________________ ECHO ЕСЛИ ХОТИТЕ ПРЕРВАТЬ ВЫПОЛНЕНИЕ, НАЖМИТЕ Ctrl-C PAUSE PROBE.EXE %1.DAT GOTO CIR :OUT CLS ECHO ОБНАРУЖЕНЫ ОШИБКИ В ЗАДАНИИ !!!! ECHO -----------------------------------ECHO ПРОСМОТР ФАЙЛА "%1.OUT" ECHO _______________________________________________ ECHO ЕСЛИ ХОТИТЕ ПРЕРВАТЬ ВЫПОЛНЕНИЕ, НАЖМИТЕ Ctrl-C PAUSE EDITOR.EXE %1.OUT :CIR CLS ECHO ВНЕСЕНИЕ ИЗМЕНЕНИЙ В ФАЙЛ ЗАДАНИЯ "%1.CIR" ECHO _______________________________________________ ECHO ЕСЛИ ХОТИТЕ ПРЕРВАТЬ ВЫПОЛНЕНИЕ, НАЖМИТЕ Ctrl-C PAUSE
1.3. Запуск программ на счет
27
EDITOR.EXE %1.CIR CLS ECHO НОВЫЙ ПРОСЧЕТ СХЕМЫ ECHO _______________________________________________ ECHO ЕСЛИ ХОТИТЕ ПРЕРВАТЬ ВЫПОЛНЕНИЕ, НАЖМИТЕ Ctrl-C PAUSE GOTO BEGIN Конечно, содержание файла, т.е программу работы, можно менять по своему усмотрению. Например, если вся работа идет с одним и тем же файлом задания, можно прямо указать соответствующее имя вместо символов %1, которые означают, что имя берется из командной строки. Тогда запуск программы сведется просто к команде PSP.BAT. Запуск программы идентификации параметров моделей Parts осуществляется командой PARTS [], где допускаются описанные выше опции /C, /D, /L. Запуск программы графического редактора входных сигналов StmEd осуществляется командой STMED [][[.CIR]], где допускаются рассмотренные выше опции /C, /D, /L, а также опция /M указывающая на монохромный дисплей.
2. О П И С А Н И Е С Х Е М Ы Н А В Х О Д Н О М Я З Ы К Е ПРОГРАММЫ PSPICE 2.1. СИНТАКСИС ВХОДНОГО ЯЗЫКА Входной файл, имеющий обычно расширение .CIR, создается с помощью текстового редактора или трансляцией изображения схемы, сделанного графическим редактором. При написании файла заглавные и строчные буквы считаются эквивалентными (в версиях ниже 4. должны использоваться только заглавные буквы). Русские буквы программой не воспринимаются. Впрочем, можно писать комментарии и на русском языке, но надо иметь в виду, что эти тексты в выходном файле .OUT исчезнут. Каждый оператор входного языка пишется с новой строки и может занимать несколько строк. Признак продолжения оператора - символ "+" в начале очередной строки. Операнды внутри оператора могут разделяться любым количеством пробелов, символом табуляции, запятыми или круглыми скобками. Таким образом, приведенные ниже формы записи одного и того же оператора эквивалентны: R1 5 7 1K или R1,5,7,1K или R1 (5 7) 1K или R1 (5,7) 1K . Воспринимаемая программой длина строки - 80 символов. С помощью оператора .WIDTH (см. работу [3]) она может быть увеличена до 132 символов. В файл могут вводиться строки комментариев - они должны начинаться с символа "*" (как комментарии воспринимаются и строки, начинающиеся с символов "; ", "!" и некоторых других). Комментарий, помимо улучшения читаемости файла, можно использовать для того, чтобы временно исключить из файла какой-то оператор: в первую позицию соответствующей строки вставляется символ "*", а затем, когда этот оператор опять понадобится, этот символ можно стереть. Комментарии могут также размещаться в строке после оператора - в этом случае они отделяются от оператора символом ";" , и все, что расположено в строке после "; ", воспринимается как комментарий: ; .
2.1. Синтаксис входного языка
29
Для улучшения читаемости файла в него можно вводить пустые строки (но не в начале файла). Файл начинается с информационной строки, содержащей любой текст название схемы, пояснения и т.п. Заканчивается - оператором .END. Между этими строками в любом порядке могут размещаться операторы входного языка. В один файл можно включить несколько заданий на расчет нескольких схем. В этом случае после оператора .END может идти новая информационная строка и новое задание (не во всех версиях): < информационная строка > < любые операторы > .END < информационная строка > -----------------------.END. Все численные значения параметров в файле записываются в стандартной системе размерностей: вольты, апмеры, омы, генри, секунды, герцы и т.д. При записи чисел могут использоваться суффиксы (табл. 2.1). Таблица 2.1
Суффикс F P N U MIL M K MEG G T
Масштаб -15 10 -12 10 -9 10 -6 10 -6 25.4⋅10 -3 10 3 10 6 10 109 12 10
Коэффициент фемто пико нано микро мили кило мега гига тера
После этих суффиксов могут для наглядности ставиться буквы, обозначающие единицы измерения, а могут и не ставиться - просто символы после суффикса программой не анализируются. Таким образом, например, напряжение величиной 2 мB можно записать любым из следующих вариантов: 0.002, 2Е-3, 2Е-3V, 2M, 2MV. 2.2. ПОДГОТОВКА СХЕМЫ К РАСЧЕТУ
30
2. Описание схемы на входном языке программы PSpice
Подготовка схемы к расчету состоит из следующих шагов: ♦ подготовка эскиза принципиальной схемы; ♦ обозначение узлов (цепей); ♦ обозначение элементов; ♦ выбор модели элементов и задание их параметров. Ниже рассматриваются эти этапы подготовки сначала для сравнительно простых схем, не использующих понятие подсхемы. Далее рассматриваются особенности использования многоуровневых подсхем. 2.2.1. ПОДГОТОВКА ЭСКИЗА ПРИНЦИПИАЛЬНОЙ СХЕМЫ Исходной информацией для расчета является эскиз принципиальной схемы моделируемого устройства. Схему обычно необходимо дополнить, указав на ней нагрузки, источники питания, источники сигналов, их внутренние сопротивления, если необходимо - различные паразитные элементы (емкости, сопротивления, индуктивности). При подготовке принципиальной схемы необходимо учитывать некоторые ограничения PSpice. Первое из них: PSpice не допускает "висящих" узлов, т.е. узлов, к которым подключено менее двух полюсов каких-нибудь компонентов (узлы 1 и 2 на рис.2.1а). В подобных случаях выдается сообщение об ошибке : ERROR: Less than 2 connections at node ... Естественный способ обойти это ограничение - добавить в схему фиктивные сопротивления (R1, R2 на рис. 2.1а), выбрав их номиналы настолько большими, чтобы они не оказывали влияния на работу схемы. Другое ограничение: PSpice не допускает "плавающих" узлов или фрагментов схемы. Под "плавающими" понимаются узлы или фрагменты схемы, от которых нет пути с конечным сопротивлением по постоянному току к земле. Такую изоляцию в схеме могут создать емкости С, зависимые и независимые источники тока I, G, F, зависимые ис-точники напряжения E, H, линии задержки T (узлы 1 и 2 на рис. 2.1б-д). В этих случаях выдается сообщение об ошибке: ERROR: Node ... is floating
2.2. Подготовка схемы к расчету
31
Рис. 2.1. Недопустимые в PSpice фрагменты схем: а) “висящие” узлы; б) - д) “плавающие” узлы
В подобных случаях возможны два выхода: или соединить узел с землей большим фиктивным резистором (см. рис. 2.1б и 2.1в), либо просто один из узлов изолированного фрагмента заземлить (см. рис. 2.1г и 2.1д). Третье ограничение: PSpice не допускает контуров с нулевым сопротивлением по постоянному току. В этих случаях появляется сообщение об ошибке: ERROR: Voltage source and/or inductor loop involving ... You may break the loop by adding a series resistance
32
2. Описание схемы на входном языке программы PSpice
которое указывает на один из элементов такого контура. Подобные контура образуются зависимыми и независимыми источниками E, H, V и индуктивностями L (рис. 2.2). Чтобы обойти это ограничение, надо разорвать контур, включив в него последовательно фиктивный резистор r настолько малого номинала, чтобы он не повлиял на работу цепи. Правда, очень малые резисторы (Xn функция равна Y(Xn). Внутри заданного диапазона изменения аргумента проводится линейная интерполяция таблицы. Функция ограничения LIMIT задается минимальным и максимальным значениями аргумента Xмин и Xмакс. Значения функции определяются соотношением Xмин при X ≤ Xмин, R | при Xмин < X < Xмакс, Y = SX |TXмакс при X ≥ Xмакс.
Фактически, функция LIMIT является частным случаем табличной функции. При записи математическое выражение заключается в фигурные скобки и должно размещаться в одну строку, т.е. без переносов. Примеры: R1 1 2 {RNOM} R2 3 4 {RNOM/2} C1 1 2 {TAU/RNOM} В этих примерах при любых значениях глобальных параметров RNOM и TAU номинал резистора R2 будет в 2 раза меньше номинала R1, а постоянная времени R1⋅C1 равна TAU. Область применения математических выражений та же, что и область применения глобальных параметров (см. п. 2.3.7). Если для сложных выражений возникают трудности при их записи в одну строку, то возможны два выхода. Наиболее простой - увеличить допустимую длину строки оператором .WIDTH IN=132. Более универсальный путь - оформить отдельные члены выражения как функции и ввести их операторами .FUNC (см. работу [3]). Например: .FUNC MIN(A,B) 0.5*(A+B-ABS(A-B)) .FUNC MAX(A,B) 0.5*(A+B+ABS(A-B)) C1 1 2 {MAX(T1,T2)/MIN(RN1,RN2)} Операторы .FUNC должны размещаться во входном файле до первой ссылки в выражении на соответствующую функцию. Подробнее о функциях см. в пособии [3].
2.3. Описание элементов схемы
47
2.3.9. ЗАВИСИМЫЕ ИСТОЧНИКИ НАПРЯЖЕНИЯ И ТОКА (ДОПОЛНИТЕЛЬНЫЕ ФОРМЫ ОПИСАНИЯ) Если версия PSpice содержит опцию поведенческого моделирования Analog Behavioral Modeling, то для зависимых источников E и G допускается ряд дополнительных форм описания. Первые две из них расширяют возможности построения моделей нелинейных элементов. Они имеют следующий синтаксис: VALUE = {} TABLE = {} + ... В этих операторах - управляющая величина, записанная в виде математического выражения. Оно может содержать константы, глобальные параметры, потенциалы узлов (например, V(3)), разности потенциалов (например, V(4,5)), токи V элементов (например, I(V1)), время (TIME). Поскольку управляющими величинами могут быть как токи, так и напряжения, отпадает необходимость в специальных источниках, управляемых током (элементах H и F). Первая из приведенных форм оператора описывает зависимость выходной величины в аналитическом виде, а вторая - в табличном. При табличном описании перечисляются пары чисел - значение аргумента, которым является заданное выражение, и значение функции (т.е. выходной величины источника), соответствующее этому значению аргумента. Значения аргумента в таблице должны монотонно возрастать. Между заданными в таблице точками программа осуществляет линейную интерполяцию. При значениях аргумента, меньших первого заданного в таблице значения и больших последнего заданного, выходная величина источника считается постоянной и равной соответственно первому или последнему значению в таблице. Примеры описания: ELOG 2 0 VALUE = {100*LOG(V(1)+1mV)} G1 0 1 TABLE = {V1} -1m -10m 1m 10m
48
2. Описание схемы на входном языке программы PSpice
Рис. 2.6. Источник тока с табличной передаточной функцией
Первый пример описывает источник напряжения, управляемый потенциалом узла 1 по логарифмическому закону. Второй пример описывает источник тока, управляемый током элемента V1 по закону, представленному на рис. 2.6. Другие примеры, иллюстрирующие богатые возможности описания нелинейных элементов зависимыми источниками,
приведены ниже в п. 5.2. Для моделирования частотных характеристик коэффициентов передачи зависимых источников E и G предусмотрены операторы вида: LAPLACE {} = + FREQ {} = + ... Управляющая величина задается как по описанным выше правилам. В первой из двух приведенных форм операторов операторное изображение по Лапласу-Карсону. При этом оператор Лапласа обозначается символом "s". Например, E1 2 0 LAPLACE {V(1)} = { 10/(1+1u*s)} описывает зависимый источник напряжения, управляемый потенциалом узла 1, с коэффициентом передачи по постоянному току (т.е. при s=0) равным 10 и со спадом в области высоких частот, соответствующим постоянной времени 1 мкс. Во второй из приведенных форм операторов частотная характеристика коэффициента передачи задается таблицей, каждая сторока которой содержит частоту, модуль коэффициента передачи в децибеллах и фазу в градусах. При
2.3. Описание элементов схемы
49
интерполяции таблицы модуль коэффициента передачи считается линейно зависимым от логарифма частоты, а фаза - линейно зависимой от частоты. Вне диапазона частот, указанного в таблице, модуль и фаза считаются постоянными и равными соответствующим крайним табличным значениям. Например, Е1 2 0 FREQ {V(1)} = (0,0,0) (5kHz,0,-5760) (6kHz,-60,-6912) описывает фильтр нижних частот с коэффициентом передачи, равным 1 (0 дб) при частотах ниже 5 кГц и равным 0.001 (-60 дб) при частотах выше 6 кГц. Фаза линейно зависит от частоты. При частотном анализе программа моделирования определяет для требуемой частоты f коэффициент передачи непосредственно по заданному операторному изображению, заменяя s на j⋅2π⋅f, или путем интерполяции таблицы. При анализе по постоянному току коэффициент передачи определяется так же, но для f=0. При расчетах переходных процессов используется преобразование Фурье. На каждом временном шаге выходной сигнал определяется как свертка последнего значения управляющего сигнала и импульсной характеристики коэффициента передачи. Поэтому при интерпретации результатов расчета переходных процессов с моделями зависимых источников, описываемых преобразованием Лапласа или частотными характеристиками, надо быть очень осторожным и учитывать следующие соображения. Разрешение по времени Тр (т.е. минимальный временной интервал, на котором программа может различить изменения управляющего сигнала зависимого источника) обратно пропорционально максимальной частоте Fмакс. Величина Fмакс определяется заданными частотными характеристиками зависимого источника, а также значениями относительной погрешности расчета RELTOL (см. п. 3.4) и заданной в операторе .TRAN (см. п. 3.4 и работу [3]) длительностью расчета переходного процесса TSTOP. При табличном задании частотных характеристик Fмакс не превышает RELTOL ⋅ Fтмакс, где Fтмакс - максимальная частота в таблице. При задании преобразования Лапласа Fмакс не превышает верхней частоты, на которой модуль коэффициента передачи падает в RELTOL раз по сравнению со своим максимумом (если такая частота есть). И для сокращения затрат времени и памяти на расчет всегда устанавливается ограничение: Fмакс < 10/(RELTOL⋅TSTOP). В итоге величина Fмакс выбирается минимальной из перечисленных значений. Следовательно Тр определяется максимальной из величин RELTOL ⋅TSTOP/10 и 1/(RELTOL⋅Fтмакс) при табличном задании или 1/Fмакс при преобразовании Лапласа. А желательная величина Tр
50
2. Описание схемы на входном языке программы PSpice
определяется скоростью изменения управляющих переменных во времени. Условно можно считать, что для приемлемой точности величина Tр должна быть в 10 раз меньше длительности фронта управляющей переменной. Отсюда и вытекает основное ограничение на применение рассматриваемых вариантов зависимых источников при расчетах переходных процессов. При использовании операторных изображений надо кроме того учитывать, что если изображение имеет полюса в левой полуплоскости, то цепь становится неустойчивой и это может вызвать проблемы со сходимостью как при расчете переходных процессов, так и при расчете по постоянному току. При табличном описании частотных характеристик дополнительная опасность заключается в том, что легко можно задать физически нереализуемые характеристики. В частности, задав недостаточно сильное нарастание фазы с ростом частоты можно получить импульсную характеристику, имеющую заметную величину в области отрицательных времен. Это получится, например, если в приведенном выше описании фильтра нижних частот задать при любой частоте нулевой фазовый сдвиг или даже не нулевой, но недостаточно быстро нарастающий с ростом частоты. Подобные системы не могут быть реализованы физически и, соответственно, PSpice при расчете переходных процессов может дать для них странные и необъяснимые с физической точки зрения результаты. Сказанное выше показывает, что надо с большой осторожностью использовать зависимые источники с операторным или табличным описанием частотных характеристик. Однако при грамотном их применении можно получить очень полезные результаты. Помимо описанных форм операторов зависимых источников, в DesignCenter 6 введен оператор описания характеристик фильтров по Чебышеву для элемента E. Подробнее см. в работе [3]. 2.4. ПОДСХЕМЫ Описание модели подсхемы начинается оператором .SUBCKT + [ PARAMS: = ...] и заканчивается оператором .ENDS. Между этими операторами размещаются операторы, описывающие элементы подсхемы и их модели. Запрещено только внутри модели подсхемы описывать модели других подсхем, т.е. использовать операторы .SUBCKT. В п. 2.2.5 уже указывалось, что имена всех элементов и моделей, включенных
2.4. Подсхемы
51
между этими операторами, локальные. Там же пояснялось, как в подсхему можно передать глобальные имена узлов. В заносятся имена узлов подсхемы, которые являются внешними. Обращение к модели подсхемы производится оператором + [ PARAMS: = ...] , где - имя, начинающееся с X, а перечисление узлов подключения подсхемы в том самом порядке, в котором вошли внешние узлы в при описании модели подсхемы. Приведем в качестве примера описание подсхемы рис. 2.4а и схемы на ее основе, представленной на рис. 2.4г. .SUBCKT KEY 1 2 R1 1 4 10K R2 $G_3 1K Q1 2 1 0 MQ1 .ENDS X1 1 2 KEY X2 2 3 KEY X3 3 1 KEY R1 1 0 10K C1 1 0 10p U1 $G_3 0 5V В пределах подсхемы действительны не только глобальные узлы, но и глобальные параметры, определенные оператором .PARAM (см. п. 2.3.7 и работу [3]). Однако в подсхему можно передать и локальные параметры, что позволяет описывать одной моделью несколько подсхем, тождественных по начертанию, но различающихся значениями каких-либо параметров. Для введения локальных параметров подсхемы используется указанный выше раздел “PARAMS:” в описании подсхемы. В нем перечесляются имена вводимых параметров и их значения по умолчанию. Например, если требуется в приведенном выше примере учесть различия в значениях сопротивлений R1 и R2 в разных подсхемах, то описание модели подсхемы может иметь вид : .SUBCKT KEY 1 2 PARAMS: R1_NOM=10K R2_NOM=1K
52
2. Описание схемы на входном языке программы PSpice
R1 1 4 {R1_NOM} R2 $G_3 {R2_NOM} Q1 2 1 0 MQ1 .ENDS
Тогда, если операторы, описывающие элементы X1, X2, X3 имеют такой же вид, как и ранее, то значения R1 и R2 во всех подсхемах будут равны значениям по умолчанию. Но если, например, описать элементы X1, X2, X3 операторами X1 1 2 KEY PARAMS: R1_NOM=9K X2 2 3 KEY PARAMS: R1_NOM=11K R2_NOM=1.1K X3 3 1 KEY , то в подсхеме X1 будет R1 = 9 кОм, R2=1 кОм, в подсхеме X2 - R1 = 11 кОм, R2=1.1 кОм, а в подсхеме X3 по умолчанию R1 = 10 кОм, R2=1 кОм. Подсхемы могут быть вложены друг в друга, поскольку в описание модели подсхемы могут быть включены операторы вызова других подсхем X. При этом параметры могут передаваться с уровня на уровень так же, как это делается в алгоритмических языках. Если желательно, чтобы в выходном файле PSpice с расширением .OUT подсхемы были распечатаны в развернутом виде (это, в частности, может потребоваться, если описания моделей подсхем взяты из библиотеки), то должна быть задана опция EXPAND (см. работу [3], оператор .OPTIONS). 2.5. БИБЛИОТЕКИ Параметры моделей элементов и описания моделей подсхем могут храниться в библиотечных файлах. Это обычные текстовые файлы, для которых чаще всего (но не обязательно) используется расширение .LIB. Если требуется при расчете схемы обратиться к библиотеке, то во входной файл должен быть включен оператор .LIB [] , где - полное имя библиотечного файла, т.е. с указанием полного пути и расширения. Если в операторе не указывается, то подразумевается файл NOM.LIB. Во входном файле может быть несколько операторов .LIB. Тогда поиск моделей осушествляется последовательно во всех указанных библиотеках. Для того, чтобы исключить неприятную необходимость в каждом операторе .LIB указывать имя файла вместе с путем, можно перед обращением к PSpice выполнить команду
54
Виды анализа в PSpice
SET PSPICELIB = [; ...] , и в ней перечислить директории, в которых могут располагаться библиотечные файлы. Эту команду можно включить в файл AUTOEXEC.BAT. PSpice будет искать библиотечный файл сначала в текущей директории, а не найдя - в директориях, перечисленных в команде SET PSPICELIB, перебирая их в той последовательности, в которой они перечислены. Если библиотечный файл не обнаружен, выдается сообщение об ошибке: ERROR -- Can't find library file. Библиотечный файл может включать в себя операторы .MODEL, описания моделей подсхем (начиная с оператора .SUBSCT и кончая оператором .ENDS), операторы .LIB, комментарии, пустые строки. Никакие другие операторы включать в библиотечный файл нельзя. Поскольку библиотечный файл может содержать операторы .LIB, то удобно в текущей директории держать файл NOM.LIB, в котором перечислены операторы .LIB со всеми требуемыми при работе библиотеками. Тогда во входной файл PSpice достаточно включать оператор .LIB в его простейшей форме .LIB без указания библиотек. PSpice осуществляет поиск в библиотеках в случае, если во входном файле имеется ссылка на имя какой-то модели элемента или подсхемы, а описания этой модели в файле нет. Если и в библиотеках модель не найдена, выдается сообщение об ошибке: ERROR: Model ... used by ... is undefined. Если модель нашлась в библиотеке, ее описание читается и присоединяется к описанию схемы. Причем в оперативную память читаются только те модели, которые требуются в данном расчете. Поэтому использование даже очень больших библиотек, содержащих тысячи моделей, не увеличивает затрат оперативной памяти при расчете. Если желательно посмотреть описания моделей, считанных из библиотек, следует использовать опцию LIBRARY (см. пособие [3], оператор .OPTIONS). При задании этой опции описания использованных библиотечных моделей включаются в выходной файл .OUT. Для того чтобы ускорить поиск в больших библиотеках, PSpice создает для них индексные файлы, благодаря которым поиск требуемых моделей
3.1. Описание переменных в информации об анализе
55
осуществляется очень быстро и время почти не зависит от размера библиотеки. Индексные файлы имеют те же имена, что и сами библиотеки, и создаются в тех же директориях. Файлы имеют расширение .IND. Индексный файл создается заново программой PSpice, если он отсутствует для данной библиотеки или файл библиотеки более новый, чем имеющийся индексный файл. Таким образом, при любом обновлении библиотеки индексный файл автоматически обновляется при очередном расчете какой-либо схемы. Программа информирует о создании индексного файла сообщениями: Unable to find index file (...ind for library file ... Making new index file (....ind) for library file ... Если при этом в библиотечном файле обнаружены какие-то недопустимые операторы, выдается сообщение об ошибке: ERROR: Unable to read library file ...lib. В этом же случае, а также если произошел сбой при формировании индексного файла (нет места на диске, диск защищен от записи и т.п.), выдается сообщение об ошибке: ERROR: Unable to make index for library file a.lib. Для очень больших библиотек создание нового индексного файла может потребовать заметного времени. В этих случаях, если пользователь имеет свою библиотеку (как правило, каждый пользователь создает себе личные библиотеки) и часто ее обновляет, нецелесообразно включать ее имя в файл NOM.LIB, содержащий ссылки на большие библиотеки. Иначе, при каждом обновлении библиотеки пользователя будут создаваться новые индексные файлы и для этих больших библиотек. Начиная с Design Center 6 в PSpice могут использоваться библиотеки входных сигналов, подготовленные в текстовом редакторе или с помощью программы StmEd (см. работу [2], п. 3). Для подключения этой библиотеки служит оператор .STMLIB . 3. В И Д Ы А Н А Л И З А В P S P I C E
56
Виды анализа в PSpice
3.1. ОПИСАНИЕ ПЕРЕМЕННЫХ В ИНФОРМАЦИИ ОБ АНАЛИЗЕ Прежде, чем рассматривать операторы различных видов анализа, остановимся на основных способах описания переменных (напряжений и токов), которые часто используются в этих операторах. Более подробные сведения об этом приведены в работе [3]. Форматы описания переменных, являющихся результатом расчета по постоянному току или результатом расчета переходных процессов, представлены в табл. 3.1. Таблица 3.1 Форматы описания переменных Формат V() V(,) V() Vx() Vxy() Vz() I() Ix() Iz() D()
Переменная Пример Пояснение примера напряжение в узле V(5) потенциал узла 3 разность потенциалов V(5,6) разность потенциалов узлов узла+ и узла5и6 падение напряжения на V(R1) падение напряжения на двухполюснике сопротивлении R1 напряжение на выводе VB(Q1) напряжение базы 'x' элемента транзистора Q1 напряжение между VGS(M1) напряжение затвор-исток транзистора M1 выводами 'x' и 'y' элемента напряжение на конце VA(T1) напряжение на выводах A длинной линии линии T1 ток двухполюсника I(D1) ток диода D1 ток, втекающий в вывод IB(Q1) ток базы транзистора Q1 элемента ток на конце длинной IA(T1) ток на выводах A линии T1 линии цифровой сигнал D(DA) сигнал цифрового узла DA цифрового узла
Форматы V() и I() применимы к двухполюсным элементам C, D, E, F, G, H, I, L, R, V. Форматы Vx(), Vxy() и Ix() применимы к трех- и четырех-полюсным элементам, для которых “x” и “y” в зависимости от вида элемента могут принимать следующие значения : биполярный транзистор Q: МДП-транзистор M:
C - коллектор, B - база, E - эмиттер, S - подложка; D - сток, G - затвор, S - исток, B - подложка;
3.1. Описание переменных в информации об анализе
57
полевые транзисторы J и B: D - сток, G - затвор, S - исток. Если имя узла символьное и начинается не с цифры, то в форматах V() и V(,) оно заключается в квадратные скобки. Например, V([OUT]). Не все токи могут фигурировать в качестве выходных величин. Нельзя непосредственно печатать токи элементов F и G - зависимых источников тока. Если все же эти токи требуются, надо включить последовательно в интересующую цепь источник нулевого напряжения и печатать ток этого источника. Для обозначения переменной, относящейся к внутреннему узлу или элементу подсхемы, перед узлом или элементом указывается имя подсхемы (или цепочка имен, если подсхемы вложенные), завершающееся символом "." . Например, V(X1.3) - напряжение узла 3 подсхемы X1. Или V(XEXT2.XINT1.R3) - напряжение резистора R3 подсхемы XINT1, входящей в подсхему XEXT2. Переменные, соответствующие частотному анализу, являются комплексными величинами. Для их обозначения используются те же форматы, которые приведены в табл. 3.1. Но к ним добавляются суффиксы, приведенные в табл. 3.2. Таблица 3.2 Суффиксы, применяемые к комплексным переменным Суффикс суффикс отсутствует M DB
Значение модуль модуль модуль в децибеллах
P
фаза
G R
групповая задержка d(фаза)/d(частота) действительная часть
I
мнимая часть
Пример V(2,3)
Пояснение примера модуль разности потенциалов узлов 2 и3 VM(2) модуль напряжения узла 2 VDB(R1) модуль напряжения на резисторе R1 в децибеллах VBEP(Q1) фаза напряжения база-эмиттер транзистора Q1 IAG(T1) ток выводов A линии T1 IBR(Q1) II(R1)
действительная часть базового тока транзистора Q1 мнимая часть тока резистора R1
3.2. Расчет по постоянному току
59
3.2. РАСЧЕТ ПО ПОСТОЯННОМУ ТОКУ 3.2.1. МЕТОД РАСЧЕТА, ЕГО ТОЧНОСТЬ И СХОДИМОСТЬ В процессе расчета схемы по постоянному току все реактивности из схемы убираются; в частности, емкости и индуктивности считаются равными нулю, что эквивалентно разрыву емкостей и короткому замыканию индуктивностей. Исходная система уравнений для расчета формируется методом узловых потенциалов и сводится к системе уравнений Iy(U)=0, где Iy - вектор узловых токов (т.е. вектор сумм токов в узлах схемы), U - вектор узловых потенциалов. Система уравнений решается методом Ньютона-Рафсона. Это итерационный метод, начинающийся с некоторого начального приближения (0) (k+1) U . Каждое следующее приближение U рассчитывается из предыдущего (k) (k+1) (k) =U +t⋅ΔU, где ΔU - поправка Ньютона, определяемая U по формуле U (k) (k) решением системы линейных уравнений Iy(U )+Y(U )⋅ΔU=0, Y - матрица узловых проводимостей, t≤1 - коэффициент Рафсона, обеспечивающий нерасходимость метода. Геометрическая интерпретация метода Ньютона в одномерном случае приведена на рис. 3.1. Как видно, метод сводится к тому, (k) что в точке U , начальной для очередной итерации, проводится касательная (k+1) берется точка, в которой к Iy(U) и в качестве очередного приближения U касательная равна нулю. (k) Из рис. 3.1 видно, что последовательность U сходится к корню, но никогда (за исключением линейного случая) его не достигает. Поэтому должен использоваться какой-нибудь критерий окончания работы алгоритма, прерывающий вычисления по достижении требуемой точности. Таких критериев используется два (см. рис. 3.1б): - по напряжению - расчет может заканчиваться в случае, если норма вектора ||ΔU|| < εu, ε где εu - заданная погрешность по напряжению; - по току - расчет может заканчиваться в случае, если норма вектора ||Iy||0, VBC0, VBC>0), Q3 заперт (VBE