Моделирование с помощью PSpice
Моделирование с помощью PSpice
Составление задания на моделирование
Структура текстового задания на моделирование
Задание на моделирование для программы PSpice заносится в текстовые файлы. Знание их форматов при графическом вводе схемы не обязательно, но желательно, так как:
- значительно облегчает поиск ошибок при отладке схемы;
- позволяет создавать шаблоны новых символов компонентов;
- позволяет составлять текстовые описания макромоделей (иногда это проще, чем рисовать их схемы замещения).
При графическом вводе схем как с помощью программы PSpice Schematics, так и с помощью OrCAD Capture, создаются три файла задания с одним и тем же именем и различными расширениями имени: *.NET (таблица соединений), *.ALS (список подключения цепей к выводам компонентов) и *.CIR (список директив моделирования). При моделировании в PSpice непосредственно загружается файл *.CIR, в котором имеются ссылки на остальные файлы. Для его составления вручную на бумаге сначала рисуется принципиальная схема моделируемого устройства и присваиваются имена всем ее узлам (при графическом вводе этого делать не обязательно). Имена узлов могут быть целыми числами от 0 до 9990 или алфавитно-цифровыми символами длиной не более 131 символа. В качестве этих символов используются буквы латинского алфавита от А до Z, цифры 0, 1, …, 9 и знаки «$», «_», «*», «/», «%». Стандартное обозначение ряда узлов приведено.
Глобальные узлы
Имя узла |
Напряжение / уровень |
Описание |
||
0 |
OB |
Аналоговая «земля» |
||
$G_CD4000_VDD |
5 В |
Источник питания к-МОП ИС |
||
$G_CD4000_VSS |
OB |
Источник питания к-МОП ИС |
||
$G_DPWR |
5B |
Источник питания ТТЛ ИС |
||
$G_DGND |
OB |
Источник питания ТТЛ ИС |
||
$G_ECL_10K_VEE |
-5,2 В |
Источник питания ЭСЛ 10К ИС |
||
$G_ECL_10K_VCCl |
OB |
Источник питания ЭСЛ 10К ИС |
||
Имя узла |
Напряжение / уровень |
Описание |
||
$G_ECL_10K_VCC2 |
0 B |
Источник питания ЭСЛ 10К ИС |
||
$G_ECL_100K_VEE |
-4,5 В |
Источник питания ЭСЛ 100К ИС |
||
$G_ECL_100K_VCC1 |
OB |
Источник питания ЭСЛ100К ИС |
||
$G_ECL_100K_VCC2 |
0 B |
Источник питания ЭСЛ 100К ИС |
||
$D_HI |
«1» |
Логическая «1» |
||
$D_LO |
«0» |
Логический «0» |
||
$D_X |
«X» |
Неопределенное логическое состояние X |
||
$D_NC |
— |
Не подключенный к схеме вывод цифрового компонента |
||
Логические состояния цифровых узлов $D_HI, $D_LO, $D_X поддерживаются постоянными независимо от того, с чем они соединены. Узел $D_NC применяется для обозначения неиспользуемых выводов (аббревиатура NC означает Not Connected — нет подключения), чтобы при проверке схемы они не включались в список ошибок.
При ссылке на цифровые имена узлов они заключаются в круглые скобки, например V(6) — потенциал узла 6. Имена узлов в виде алфавитно-цифровых символов при ссылках на них заключаются в квадратные скобки [ ], чтобы отличить их от имен компонентов. Например, потенциал узла IN обозначается как V([IN]), a V(I2) — напряжение на источнике тока 12. Заметим, что в программе Probe при ссылке на алфавитно-цифровые имена узлов квадратные скобки не нужны, они отсутствуют и в выходном файле с расширением *.OUT.
В программе существует соглашение, что все узлы, имена которых начинаются с символов $G_, являются глобальными, например узел $G_POS. Глобальные узлы используются в схемах, имеющих макромодели. Глобальные узлы с одинаковыми именами автоматически соединяются в основной цепи и во всех макромоделях. С их помощью удобно прокладывать цепи питания, синхронизации и т.п. (узел «земля» 0 всегда является глобальным). Глобальные узлы с произвольными именами назначаются с помощью директивы .GLOBAL (см. п. 4.1.2).
После именования узлов составляют задание на моделирование, которое заносится в файл. Имя файла произвольное, в качестве расширения имени рекомендуется использовать *.CIR, воспринимаемое программой PSpice по умолчанию.
Первая строка файла — строка заглавия, которая затем выводится в виде заголовка в выходном файле.
Строки комментариев содержат символ «*» в первой позиции. Конец любой строки после знака «;» также воспринимается как комментарий.
Последняя строка файла .END. Порядок ввода промежуточных строк значения не имеет, за небольшим исключением:
- строка описания функции .FUNC должна быть помещена до ссылки на нее;
- директива .OPTIONS NOECHO запрещает запись в выходной файл расположенной после нее части описания схемы.
Строка продолжения начинается с символа «+» в первой позиции, максимальная длина строки 132 символа. Число пробелов между операторами в строке произвольное. Пробелы и запятые или знаки равенства эквивалентны.
Внимание!
Программа PSpice не различает прописные и строчные буквы.
Предложения входного языка программы PSpice делятся на описания компонентов и директивы.
Описанием компонента считается любая строка, не начинающаяся с символа «.» (кроме первой строки и строк комментариев и продолжений). Описание компонента имеет следующую структуру:
<имя компонента> <номера двух или более узлов> [<имя модели>] < числовые данные >
Первые символы имен компонентов
Первый символ имени |
Тип компонента |
||
В |
Арсенид-галлиевый полевой транзистор (GaAsFET) с каналом n-типа |
||
С |
Конденсатор |
||
D |
Диод |
||
Е |
Источник напряжения, управляемый напряжением (ИНУН) |
||
F |
Источник тока, управляемый током (ИТУТ) |
||
G |
Источник тока, управляемый напряжением (ИТУН) |
||
Н |
Источник напряжения, управляемый током (ИНУТ) |
||
I |
Независимый источник тока |
||
J |
Полевой транзистор с управляющим р-n-переходом (JFET) |
||
К |
Связанные индуктивности и линии передачи, ферромагнитные сердечники |
||
Первый символ имени |
Тип компонента |
||
L |
Индуктивность |
||
М |
МОП-транзистор (MOSFET) |
||
N |
Аналого-цифровой преобразователь на входе цифрового устройства |
||
О |
Цифроаналоговый преобразователь на выходе цифрового устройства |
||
Q |
Биполярный транзистор |
||
R |
Резистор |
||
S |
Ключ, управляемый напряжением |
||
Т |
Линия передачи |
||
V |
Независимый источник напряжения |
||
W |
Ключ, управляемый током |
||
Y |
Цифровое устройство |
||
X |
Макромодель (операционный усилитель, компаратор напряжения, регулятор напряжения, стабилизатор напряжения и др.) |
||
Z |
Статически индуцированный биполярный транзистор (IGBT) |
||
Заметим, что помимо перечисленных выше компонентов схем в состав моделируемого устройства могут входить и не электронные элементы (электрические машины, системы автоматического управления и др.), оформленные в виде макромоделей.
Номера узлов подключения компонента к схеме перечисляются в определенном порядке, установленном для каждого компонента (см. ниже). Имя модели компонента не является обязательным параметром. В заключение указываются численные значения параметров компонента. В программе PSpice осуществляется масштабирование чисел с помощью суффиксов, приведенных.
Масштабные коэффициенты
Суффикс |
Масштабный коэффициент |
Наименование |
||
f |
10- 15 |
Фемто |
||
Р |
10- 12 |
Пико |
||
п |
10- 9 |
Нано |
||
U |
10- 6 |
Микро |
||
mil |
25,4*10 6 |
Мил (0,001 дюйма) |
||
m |
10- 3 |
Милли |
||
k или К |
10 3 |
Кило |
||
MEG |
10 6 |
Мега |
||
G |
109 |
Гига |
||
Суффикс |
Масштабный коэффициент |
Наименование |
||
Т |
10 12 |
Тера |
||
С |
Признак целого числа тактов цифровых сигналов |
|||
Примечание. В программе PSpice прописные и строчные буквы не различаются |
||||
Допускается к масштабным суффиксам дописывать буквенные символы для улучшения наглядности обозначений. Так, сопротивление 5,1 кОм может быть записано несколькими способами: 5100, 5.1К, 5.1КОМ, 5.1КОНМ, 5.1е3, 0.0051еЗК. При этом допускается присоединять суффикс и к числам, представленным в форме с плавающей точкой, как в последнем примере. Суффикс MIL используется при задании геометрических размеров МОП-транзисторов.
Сопротивления, емкости и индуктивности должны быть постоянными величинами (зависимость от времени или от токов и напряжений, как в программе Micro-Cap, к сожалению, не допускается). Они могут быть как положительными, так и отрицательными величинами. Исключение составляет анализ переходных процессов, где отрицательные значения емкостей и индуктивностей могут привести к ошибкам в расчете. В любом случае нулевые значения параметров компонентов не допускаются.
При наличии ошибок, обнаруженных при трансляции схемы и при выполнении моделирования, на экран и в выходной файл *.OUT выводятся сообщения о них.
Помимо числовых значений в предложениях входного языка программы могут использоваться идентификаторы параметров, которые заключаются в фигурные скобки { }. Например, постоянное напряжение источника питания может быть задано с помощью параметра VPOWER:
VP 6 0 DC {VPOWER}
Внутри фигурных скобок допускаются символы арифметических выражений, например:
С2 5 4 {CLOAD*2.5}
Это не допускается при задании:
- параметров NL, F, LEN, R, L, G и С линии передачи;
- температурных коэффициентов резистора TCI, TC2 в его описании (в модели резистора эти выражения допускаются);
- параметров линейно-ломаного сигнала PWL;
- полиномиальных коэффициентов зависимых источников типа Е, F, G, H;
- в именах узлов и параметрах директив .AC, .DC и др.
Выражение должно помещаться на одной строке длиной не более 131 символа (громоздкие выражения целесообразно оформлять в виде функций с помощью директивы .FUNCTION). Кроме арифметических выражений допускается использование стандартных функций, приведенных.
Обозначения стандартных функций
Функция |
Определение |
Комментарий |
Наличие в программе Probe |
||
ABS(x) |
Абсолютное значение х |
Да |
|||
ACOS(x) |
Арккосинус х |
Результат в радианах |
Нет |
||
ARCTAN(x) |
Арктангенс х |
Результат в радианах |
Да |
||
ASIN(x) |
Арксинус х |
Результат в радианах |
Нет |
||
ATAN(x) |
Арктангенс х |
Результат в радианах |
Да |
||
ATAN2(y,x) |
Арктангенс у/х |
Результат в радианах |
Нет |
||
COS(x) |
Косинус х |
х в радианах |
Да |
||
COSH(x) |
Косинус гиперболический х |
х в радианах |
Нет |
||
DDT(x) |
Производная dx/dt |
Применяется только при анализе переходных процессов |
Да* |
||
EXPM |
Экспонента числа х |
Да |
|||
W(t,x,y) |
х, если t — истинно, у, если t — ложно |
t — булева переменная, оператор отношений |
Нет |
||
IMGU) |
Мнимая часть х |
Да |
|||
LIMIT(x, min, max) |
min, если x<min, max, если х>тах, х, если min<x<max |
Ограничитель с линейной областью |
Нет |
||
LOG(x) |
Натуральный логарифм х |
Да |
|||
LOGIO(x) |
Десятичный логарифм х |
Да |
|||
M(x) |
Модуль х |
Эквивалентно ABS(x) |
Да |
||
MAX(x,y) |
Максимум х,у |
Да |
|||
MIN(x,y) |
Минимум х,у |
Да |
|||
P(x) |
Фаза х |
Равна 0 для вещественных чисел |
Да |
||
PWR(x,y) |
Степенная функция |х| у |
Да |
|||
PWRS(x,y) |
+ |x| у , если x;<0 -|х| у , если х>0 |
Нет |
|||
R(x) |
Действительная часть х |
Да |
|||
SDT(x) |
Интеграл f x(t)dt |
Применяется только при анализе переходных процессов |
Да** |
||
SGN(x) |
Знак х |
Да |
|||
SIN(x) |
Синус х |
х в радианах |
Да |
||
SINH(x) |
Синус гиперболический х |
х в радианах |
Нет |
||
Функция |
Определение |
Комментарий |
Наличие в программе Probe |
||
STP(x) |
1, если х > 0, 0, если х < 0 |
Нет |
|||
SQRT(x) |
корень из х |
Да |
|||
TABLE (x,x1,y1,…) |
Табличная зависимость функции у от х |
Задаются координаты точек (xi, yi), в промежуточных точках используется линейная аппроксимация |
Нет |
||
TAN(x) |
Тангенс х |
х в радианах |
Нет |
||
TANH(x) |
Тангенс гиперболический х |
х в радианах |
Нет |
||
* В программе Probe эта функция имеет обозначение d(x) ** В программе Probe эта функция имеет обозначение S(A:) |
|||||
Выражения могут содержать математические операции, перечень которых приведен.
Математические операции
Символ операции |
Назначение |
||
Арифметические операции |
|||
+ |
Сложение |
||
— |
Вычитание |
||
* |
Умножение |
||
/ |
Деление |
||
Логические операции (для функции IF и описания моделей цифровых компонентов в булевых выражениях) |
|||
— |
Логическое отрицание |
||
| |
Логическое ИЛИ |
||
— |
Логическое исключающее ИЛИ |
||
& |
Логическое И |
||
** |
Бинарный оператор |
||
Операции отношений (для функции IF) |
|||
== |
Равно |
||
!= |
Не равно |
||
> |
Больше |
||
>= |
Больше или равно |
||
< |
Меньше |
||
<= |
Меньше или равно |
||
Директивы моделирования начинаются с символа «.» в первой позиции (см. п. 4.1.2).