Электроника:Справочные материалы/Использование программы SPICE для моделирования электрических схем/Компоненты электрических схем

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

Перевод: Макаров В. (valemak) Контакты:</br>* Habr: @vakemak</br>* Сайт: www.valemak.com</br>Перевёл статей: 656.
Проверка/Оформление/Редактирование: Мякишев Е.А.


Компоненты электрических схем[1]

Всегда держите в уме, что данное руководство никоим образом не претендует на всеобъемлемость, и что все описания элементов на языке SPICE приведены здесь в сжатой форме. SPICE – весьма мощная программа с множеством настроек, и я задокументировал лишь некоторую часть. Все компоненты в исходном файле SPICE в первую очередь идентифицируются по первой букве в каждой соответствующей строке. Символы, следующие за идентификационной буквой, используются для того, чтобы отличить один компонент определённого типа от другого компонента того же типа (например, r1, r2, r3, rload, rpullup, при этом с учётом как букв, идентифицирующих компонент, так и остальной части отличительного имени – всего используется до восьми символов). Предположим, что вы моделируете цифровую схему с «повышающими» и «понижающими» резисторами. Имя rpullup допустимо, поскольку состоит из семи символов. Однако имя rpulldown состоит из девяти символов. Это может вызвать проблемы, когда SPICE интерпретирует список связей. На самом деле, можно использовать имена компонентов, содержащих более восьми символов, если в исходном файле нет других компонентов с похожими именами. SPICE обращает внимание только на первые восемь символов первого поля в каждой строке, поэтому «rpulldown» фактически интерпретируется как «rpulldow», а «n» в конце игнорируется. А значит, любой другой резистор, имеющий такие же первые восемь символов в имени, будет восприниматься SPICE как тот же резистор, определённый дважды, что вызовет ошибку (т.е. «rpulldown1» и «rpulldown2» будут интерпретироваться как одно и то же имя, «rpulldow»). Следует также отметить, что SPICE игнорирует регистр символов, поэтому r1 и R1 интерпретируются одинаково. SPICE позволяет использовать префиксы метрик при указании значений компонентов, что является очень удобной функцией. Однако соглашение о префиксах, используемое SPICE, несколько отличается от стандартных метрических символов, в первую очередь из-за того, что списки связей ограничены стандартными символами ASCII (отпадают греческие буквы, такие как µ, для префикса «микро») и что SPICE нечувствителен к регистру. Поэтому буквы «м» (стандартный символ для «милли-») и «М» (стандартный символ для «мега-») интерпретируются одинаково. Вот несколько примеров префиксов, используемых в списках связей SPICE:

Метрические приставки в SPICE
SPICE Расшифровка
r1 1 0 2t Резистор R1, 2t = 2 тера-ом = 2 ТОм
r2 1 0 4g Резистор R2, 4g = 4 гигаом = 4 ГОм
r3 1 0 47meg Резистор R3, 47meg = 47 мегаом = 47 МОм
r4 1 0 3.3k Резистор R4, 3,3k = 3,3 килом = 3,3 кОм
r5 1 0 55m Резистор R5, 55m = 55 миллиом = 55 мОм
r6 1 0 10u Резистор R6, 10u = 10 микроом = 10 мкОм
r7 1 0 30n Резистор R7, 30n = 30 наноом = 30 нОм
r8 1 0 5p Резистор R8, 5p = 5 пикоом = 5 пОм
r9 1 0 250f Резистор R9, 250f = 250 фемтоом = 250 фОм

Экспоненциальное обозначение также допускается при указании значений компонентов. Например:

Экспоненциальная запись чисел в SPICE
SPICE Расшифровка
r10 1 0 4.7e3 Резистор R10, 4.7e3 = 4,7 × 103 ом = 4,7 килоом = 4,7 кОм
r11 1 0 1e-12 Резистор R11, 1e-12 = 1 × 10-12 ом = 1 пикоом = 1 пОм

Единица измерения (омы, вольты, фарады, генри и т. д.) автоматически определяется типом указанного компонента. SPICE «знает», что все приведённые выше примеры являются «омами», потому что все они являются резисторами (r1, r2, r3, …). Если бы это были конденсаторы, значения интерпретировались бы как «фарады», если катушки индуктивности, то «генри» и т.д.

Пассивные компоненты

Конденсаторы

Общая форма

c[name] [node1] [node2] [value] ic=[initial voltage]

Пример 1

c1 12 33 10u

Пример 2

c1 12 33 10u ic=3.5

Комментарий

Переменная «начальное состояние» (ic=) представляет собой напряжение конденсатора в единицах вольт в начале анализа постоянного тока. Это необязательное значение, при этом начальное напряжение считается равным нулю, если не указано иное. Значения пускового тока для конденсаторов интерпретируются SPICE только в том случае, если вызывается опция анализа .tran (с опцией «uic»).

Катушки индуктивности

Общая форма

l[name] [node1] [node2] [value] ic=[initial current]

Пример 1

l1 12 33 133m

Пример 2

l1 12 33 133m ic=12.7m

Комментарий

Переменная «начальное состояние» (ic=) представляет собой ток катушки индуктивности в амперах в начале анализа постоянного тока. Это необязательное значение, при этом пусковой ток считается равным нулю, если он не указан. Значения начального тока для катушек индуктивности интерпретируются SPICE только в том случае, если активирована опция анализа .tran.

Индукторные муфты (трансформаторы)

Общая форма

k[name] l[name] l[name] [coupling factor]

Пример

k1 l1 l2 0.999

Комментарий

SPICE допускает значения коэффициента связи только между 0 и 1 (не включая), где 0 означает отсутствие связи, а 1 — идеальную связь. Порядок указания связанных катушек индуктивности (l1, l2 или l2, l1) не имеет значения.

Резисторы

Общая форма

r[name] [node1] [node2] [value]

Пример

rload 23 15 3.3k

Комментарий

Если вам интересно, в SPICE нет объявления номинальной рассеиваемой мощности резистора. Все компоненты считаются неразрушаемыми. Если бы только реальность была такой же снисходительной!

Активные компоненты

Все полупроводниковые компоненты должны иметь свои электрические характеристики, описанные в строке, начинающейся со слова «.model», которая сообщает SPICE, как именно будет вести себя устройство. Любые параметры, не определённые явно в .model, по умолчанию будут иметь значения, предварительно запрограммированные в SPICE. Однако .model должна быть включена и по крайней мере указывать название модели и тип устройства (d, npn, pnp, njf, pjf, nmos или pmos).

Диоды

Общая форма

d[name] [anode] [cathode] [model]

Пример

d1 1 2 mod1

Модели диодов

Общая форма

.model [modelname] d [parmtr1=x] [parmtr2=x] …

Пример 1

.model mod1 d

Пример 2

.model mod2 d vj=0.65 rs=1.3

Параметры для диодов

Определения параметров
Параметр Значение Единица
измерения
is Ток насыщения Ампер
rs Сопротивление перехода Ом
n Коэффициент излучения (безразмерн.)
tt Время прохождения секунда
cjo Ёмкость перехода при нулевом смещении Фарад
vj Потенциал перехода Вольт
m Коэффициент градации (безразмерн.)
eg Энергия активации электрон-вольт
xti Температурный показатель тока насыщения (безразмерн.)
kf Коэффициент фликер-шума (безразмерн.)
af Показатель фликер-шума (безразмерн.)
fc Коэффициент ёмкости истощения при прямом смещении (безразмерн.)
bv Обратное напряжение пробоя Вольт
ibv Ток при напряжении пробоя Ампер
Комментарий

Название модели должно начинаться с буквы, а не с цифры. Например, если вы планируете указать модель выпрямительного диода 1N4003, вы не можете использовать «1n4003» в качестве имени модели. Альтернативой может быть «m1n4003».

Транзисторы с биполярным переходом (ТБП)

Общая форма

q[name] [collector] [base] [emitter] [model]

Пример

q1 2 3 0 mod1

Модели транзисторов с биполярным переходом

Общая форма

.model [modelname] [npn or pnp] [parmtr1=x] …

Пример 1

.model mod1 pnp

Пример 2

.model mod2 npn bf=75 is=1e-14

Примеры моделей, показанные выше, очень неспецифичны. Для точного моделирования реальных транзисторов необходимо больше параметров. Возьмём эти два примера, для популярных транзисторов 2N2222 и 2N2907. Символы «+» представляют собой метки продолжения строки в SPICE, когда вы хотите разбить одну строку на две или более отдельных строк в текстовом редакторе:

Пример 1

.model m2n2222 npn is=19f bf=150 vaf=100 ikf=.18<br />+ ise=50p ne=2.5 br=7.5 var=6.4 ikr=12m<br />+ isc=8.7p nc=1.2 rb=50 re=0.4 rc=0.4 cje=26p<br />+ tf=0.5n cjc=11p tr=7n xtb=1.5 kf=0.032f af=1

Пример 2

.model m2n2907 pnp is=1.1p bf=200 nf=1.2 vaf=50<br />+ ikf=0.1 ise=13p ne=1.9 br=6 rc=0.6 cje=23p<br />+ vje=0.85 mje=1.25 tf=0.5n cjc=19p vjc=0.5<br />+ mjc=0.2 tr=34n xtb=1.5

Определения параметров
Параметр Значение Единица
измерения
is Транспортный ток насыщения Ампер
bf Идеальный максимум прямой бета (безразмерн.)
rs Сопротивление перехода Ом
nf Коэффициент эмиссии прямого тока (безразмерн.)
n Коэффициент излучения (безразмерн.)
vaf Прямое раннее напряжение Вольт
tt Время прохождения секунда
isc Ток насыщения утечки «база/коллектор» Ампер
nc Коэффициент эмиссии утечки «база/коллектор» (безразмерн.)
rb Сопротивление базы при нулевом смещении Ом
irb Ток для среднего значения сопротивления базы Ампер
rbm Минимальное сопротивление базы при больших токах Ом
vtf Зависимость напряжения «база/коллектор» от времени прохождения Вольт
itf Сильноточный параметр, влияющий на время прохождения Ампер
ikf Угол для прямого сильноточного спада бета-бета Ампер
ise «База/эмиттер» ток насыщения утечки Ампер
ne Коэффициент эмиссии утечки «база/эмиттер» (безразмерн.)
br Идеальный максимум обратный бета (безразмерн.)
nr Коэффициент эмиссии обратного тока (безразмерн.)
bar Обратное раннее напряжение Вольт
ikr Угол для обратного бета сильноточного спада Ампер
rc Сопротивление коллектора Ом
cje Ёмкость обеднения «база/эмиттер» при нулевом смещении Фарад
vje Встроенный потенциал «база/эмиттер» Вольт
mje Экспоненциальный коэффициент перехода «база/эмиттер» (безразмерн.)
tf Идеальное время прямого прохождения секунда
xtf Коэффициент зависимости смещения транзитного времени (безразмерн.)
ptf Избыточная фаза при f = 1/(время прохождения)(2)(pi) Герц * градус
cjc «База/коллектор» ёмкость истощения при нулевом смещении Фарад
vjc Встроенный потенциал «база/коллектор» Вольт
mjc Экспоненциальный коэффициент перехода «база/коллектор» (безразмерн.)
xjcj Доля ёмкости обеднённой ёмкости «база/коллектор»,
подключённой к базовому узлу
(безразмерн.)
tr Идеальное время обратного прохождения секунда
cjs Ноль-ёмкость «коллектор/подложка» смещения Фарад
vjs Встроенный потенциал перехода подложки Вольт
mjs Экспоненциальный коэффициент перехода подложки (безразмерн.)
xtb Экспонента температуры прямого/обратного бета-излучения
eg Энергетическая щель для влияния температуры
на транспортный ток насыщения
электрон-вольт
xti Температурный показатель для влияния на транспортный ток насыщения (безразмерн.)
kf Коэффициент шума мерцания (безразмерн.)
af Экспонента мерцающего шума (безразмерн.)
fc Коэффициент формулы обеднённой
ёмкости при прямом смещении
(безразмерн.)
Комментарий

Как и в случае с диодами, название модели, данное для конкретного типа транзистора, должно начинаться с буквы, а не с цифры. Вот почему приведённые выше примеры для типов ТБП 2N2222 и 2N2907 названы «m2n2222» и «q2n2907» соответственно. Как видите, SPICE позволяет очень подробно указывать свойства транзистора. Многие из перечисленных выше свойств выходят далеко за рамки возможностей и интересов начинающего студента-электронщика и даже бесполезны, если не считать знание уравнений, которые SPICE использует для моделирования биполярных транзисторов. Для тех, кто хочет узнать больше о моделировании транзисторов в SPICE, обратитесь к другим книгам, таким как «Книга по Spice» Андрея Владимиреску (ISBN 0-471-60926-9).

JFET, переходной полевой транзистор

Общая форма

j[name] [drain] [gate] [source] [model]

Пример

j1 2 3 0 mod1

Модели JFET-транзисторов

Общая форма

.model [modelname] [njf or pjf] [parmtr1=x] …

Пример 1

.model mod1 pjf

Пример 2

.model mod2 njf lambda=1e-5 pb=0.75

Определения параметров
Параметр Значение Единица
измерения
vto Пороговое напряжение Вольт
beta Параметр крутизны Ампер/Вольт2
lambda Параметр модуляции длины канала 1/Вольт
rd Сопротивление стока Ом
rs Сопротивление истока Ом
cgs Ёмкость перехода «затвор/исток» при нулевом смещении Фарад
cgd Ёмкость перехода «затвор/сток» при нулевом смещении Фарад
pb Потенциал затворного перехода Вольт
is Ток насыщения затворного перехода Ампер
kf Коэффициент «мерцающего» шума (безразмерн.)
af Показатель степени «мерцающего» шума (безразмерн.)

МОП-транзисторы

Общая форма

m[name] [drain] [gate] [source] [substrate] [model]

Пример

m1 2 3 0 0 mod1

Модели МОП-транзисторов

Общая форма

.model [modelname] [nmos or pmos] [parmtr1=x] …

Пример 1

.model mod1 pmos

Пример 2

.model mod2 nmos level=2 phi=0.65 rd=1.5

Пример 3

.model mod3 nmos vto=-1 (depletion)

Пример 4

.model mod4 nmos vto=1 (enhancement)

Пример 5

.model mod5 pmos vto=1 (depletion)

Пример 6

.model mod6 pmos vto=-1 (enhancement)

Комментарий

Чтобы различать транзисторы в режиме насыщения и в режиме обеднения, необходимо указать параметр модели «vto» (пороговое напряжение нулевого смещения). Его значение по умолчанию равно нулю, но положительное значение (например, +1 вольт) на транзисторе с каналом P или отрицательное значение (-1 вольт) на транзисторе с каналом N указывает, что транзистор является обеднённым. И наоборот, отрицательное значение для P-канального транзистора или положительное значение для N-канального транзистора будет указывать, что этот транзистор находится в режиме насыщения. Помните, что транзисторы в режиме насыщения являются нормально разомкнутыми устройствами и должны включаться приложением напряжения затвора. Транзисторы в режиме обеднения обычно «замкнуты», но могут быть переведены в режим «отсечки», а также увеличены до более высоких уровней тока стока за счёт приложенного напряжения на затворе. Параметр «vto» определяет пороговое напряжение затвора для проводимости полевого МОП-транзистора.

Источники напряжения и тока

Источники синусоидального напряжения переменного тока (используется .ac для указания частоты)

Общая форма

v[name] [+node] [-node] ac [voltage] [phase] sin

Пример 1

v1 1 0 ac 12 sin

Пример 2

v1 1 0 ac 12 240 sin (12 V ∠ 240o)

Комментарий

Этот метод определения источников переменного напряжения хорошо работает, если вы используете несколько источников с фазовыми углами, различающимися друг от друга, но все источники при этом имеют одинаковую частоту. Если вам нужно указать источники на разных частотах в одной цепи, нужно использовать следующий метод!

Источники синусоидального напряжения переменного тока (НЕ используется .ac для указания частоты)

Общая форма

v[name] [+node] [-node] sin([offset] [voltage] + [freq] [delay] [damping factor])

Пример

v1 1 0 sin(0 12 60 0 0)

Определения параметров
Параметр Значение Единица
измерения
offset Напряжение постоянного тока, смещающее сигнал переменного тока на указанное напряжение Вольт
voltage Пиковое напряжение сигнала переменного тока Вольт
freq Частота Герц
delay Временна́я задержка или сдвиг фазы сигнала секунда
Dumping
factor
Коэффициент затухания – число, используемое
для создания сигналов с затухающей амплитудой
(безразмерн.)
Комментарий

Этот метод определения источников переменного напряжения хорошо работает, если вы используете несколько источников на разных частотах. Однако представление фазового сдвига сложно, поскольку необходимо использовать коэффициент задержки.

Источники напряжения постоянного тока (используется .dc для указания напряжения)

Общая форма

v[name] [+node] [-node] dc

Пример

v1 1 0 dc

Комментарий

Если вы хотите, чтобы выходные напряжения SPICE не относились к узлу 0, вы должны использовать опцию анализа .dc , а для использования этой опции вы должны таким образом указать хотя бы один из ваших источников постоянного тока.

Источники напряжения постоянного тока (НЕ используется .dc для указания напряжения)

Общая форма

v[name] [+node] [-node] dc [voltage]

Пример

v1 1 0 dc 12

Комментарий

Ничего примечательного!

Источники импульсного напряжения

Общая форма

v[name] [+node] [-node] pulse ([ i ] [p] [td] [tr] + [tf] [pw] [pd])

Определения параметров
Параметр Значение
i Начальное значение
p Значение импульса
td Время задержки
tr Время нарастания
tf Время спада
pw Ширина импульса
pd Период

Все временны́е параметры указаны в секундах.

Пример

v1 1 0 pulse (-3 3 0 0 0 10m 20m)

Комментарий

Данный пример представляет собой идеальную прямоугольную волну, колеблющуюся в диапазоне от -3 до +3 вольт, с нулевым временем нарастания и спада, периодом 20 миллисекунд и 50%-м рабочим циклом (+3 вольта в течение 10 мс, затем -3 вольта в течение 10 мс).

Источники синусоидального переменного тока (используется .ac для указания частоты)

Общая форма

i[name] [+node] [-node] ac [current] [phase] sin

Пример 1

i1 1 0 ac 3 sin (3 amps)

Пример 2

i1 1 0 ac 1m 240 sin (1 mA ∠ 240o)

Комментарий

Здесь (и в следующем примере) справедливы те же комментарии, что и для источников переменного напряжения.

Источники синусоидального переменного тока (НЕ используется .ac для указания частоты)

Общая форма

i[name] [+node] [-node] sin([offset] + [current] [freq] 0 0)

Пример

i1 1 0 sin(0 1.5 60 0 0)

Источники постоянного тока (используется .dc для указания силы тока)

Общая форма

i[name] [+node] [-node] dc

Пример

i1 1 0 dc

Источники постоянного тока (НЕ используется .dc для указания силы тока)

Общая форма

i[name] [+node] [-node] dc [current]

Пример

i1 1 0 dc 12

Комментарий

Несмотря на то, что во всех книгах говорится, что первый узел, указанный для источника постоянного тока, является положительным узлом, методом проб и ошибок я обнаружил, что это не так. На самом деле источник постоянного тока в SPICE задаёт ток в том же направлении, что и источник напряжения (батарея) с его отрицательным зарядом – узлом, указанным самым первым.

Источники импульсного тока

Общая форма

i[name] [+node] [-node] pulse ([i] [p] [td] [tr] + [tf] [pw] [pd])

Определения параметров
Параметр Значение
i Начальное значение
p Значение импульса
td Время задержки
tr Время нарастания
tf Время спада
pw Ширина импульса
pd Период

Все временны́е параметры указаны в секундах.

Пример

i1 1 0 pulse (-3m 3m 0 0 0 17m 34m)

Комментарий

Данный пример представляет собой идеальную прямоугольную волну, колеблющуюся в диапазоне от -3 мА до +3 мА, с нулевым временем нарастания и спада, периодом 34 миллисекунды и 50%-м рабочим циклом (+3 мА в течение 17 мс, затем -3 мА в течение 17 мс).

Зависимые источники напряжения

Общая форма

e[name] [out+node] [out-node] [in+node] [in-node] + [gain]

Пример

e1 2 0 1 2 999k

Комментарий

Зависимые источники напряжения отлично подходят для имитации операционных усилителей. В приведённом примере показано, как такой источник может быть сконфигурирован для использования в качестве повторителя напряжения, инвертирующий вход соединён с выходом (узел 2) для отрицательной обратной связи, а неинвертирующий вход поступает на узел 1. Коэффициент усиления установлен на произвольно высокое значение (999 тысяч). Одно предостережение: SPICE не распознаёт вход зависимого источника как нагрузку, поэтому источник напряжения, подключённый только к входу независимого источника напряжения, будет интерпретироваться как «разомкнутый». Подробнее об этом см. в примерах схем операционных усилителей.

См.также

Внешние ссылки