Audio Perfection Forum
LTSPICE-использование моделей от PSPICE - Версия для печати

+- Audio Perfection Forum (https://www.audio-perfection.com/forum)
+-- Форум Моделирование. SPICE. LTSPICE (https://www.audio-perfection.com/forum/forumdisplay.php?fid=5)
+--- Форум LTSPICE, особенности использования и LTSPICE ресурсы (https://www.audio-perfection.com/forum/forumdisplay.php?fid=7)
+--- Темы: LTSPICE-использование моделей от PSPICE (/showthread.php?tid=893)



LTSPICE-использование моделей от PSPICE - begemot - 04-29-2023

PSPICE считается "industry standard"  многими производителями компонентов и в связи с этим многие из них разрабатывают SPICE модели в PSPICE формате.
Причин этому несколько, не думаю что имеет смысл вдаваться в подробности почему именно PSPICE. Но вот так сложилось.
Мне PSPICE кажется не удобным. По нескольким причинам. Во первых он не всегда есть под рукой, так как входит в платный комплект Аллегро/Оркад.
Правда в последнее время стала доступной версия для TI, позволяющая обойти это ограничение. Но мне не нравятся и другие его ограничения.
Например, он не позволяет использовать больше одного параметра, который изменяется директивой STEP. По крайней мере так было в предыдущих версиях.
Мне не нравится то что надо иметь две библиотеки, одну для рисования схемы, другую для самой модели. И много других "мелочей".
Я предпочитаю использовать LTSPICE.
В принципе, перевести модель из PSPICE в LTSPICE не сложно. Естественно, модель должна быть открытой, зашифрованные модели можно использовать только в том совте для которого они зашифровывались
Берете модель которую дает производитель. Обычно это текстовый файл с расширением mod, lib или чем-то подобным. создаете символ для модели и используете его в своей схеме.
Подробнее о том как это делать - https://www.audio-perfection.com/spice-ltspice/subcircuits-in-ltspice/
Иногда это работает. Но чаще всего появляются ошибки связанные с некоторой разницей в синтаксисе.

Очень часто это связанно с различной интерпретацией фигурных скобок {}. Тогда в лог файле  появляется что-то типа:
Questionable use of curly braces in ".........
    Error: undefined symbol in: ".........

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

В принципе, использование фигурных скобок определено в LTSPICE не совсем очевидно.
То что в них вложено будет заменено значением результата вычисления. Но надо представлять где и как это можно использовать.
Соответственно, когда это использует PSPICE будет очевидно из модели которая выдает ошибки.
А как они используются в LTSPICE рассмотрим на примерах. В справке самого  LTSPICE их немного
Например при использовании в .func и передаче параметров


Код:
.func myfunc(x,y) {sqrt(x*x+y*y)}
.param u=100 v=600
V1 a 0 pulse(0 1 0 1n 1n .5μ 1μ)
R1 a b {myfunc(u,v/3)}
C1 b 0 100p
.tran 3μ
.end


Или:

Код:
* Описание схемы
.params x=y y=z z=1k*tan(pi/4+.1)
X1 a b 0 divider top=x bot=z
V1 a 0 pulse(0 1 0 .5μ .5μ 0 1μ)

* Сама subcircuit "divider" использованная в схеме
.subckt divider n1 n2 n3
r1 n1 n2 {top}
r2 n2 n3 {bot}
.ends

Еще один пример правильного использования:

Код:
* Comment line : Calculate capacitance

* -------------------------------------

.param length = {3e-2}

.param width  = {4e-3}

.param area = {length * width}

.param gap = {40e-6}

.param Eo = {8.85e-12}

.param Capa = { (Eo * gap) / area}

.MEAS Capa_  PARAM Capa

Результат из "error log":
capa_: capa=2.95e-012

Неправильный метод, выдаёт ошибки:
Код:
.param length = 3e-2

.param width  = 4e-3

.param area = length * width

.param gap = 40e-6

.param Eo = 8.85e-12

.param Cap =  (Eo * gap) / area

.MEAS Capa_  PARAM Capa

Ошибка:
Measurement "capa_" FAIL'ed

Я тут накидал несколько примеров чтоб показать что работает, а что выдает ошибки. И как можно просто проверить, что именно правильно работает
Они довольно просты и надеюсь не нуждаются в дополнительных пояснениях.
   
.zip SUB_TST.zip Размер: 2.2 KB  Загрузок: 0


Что касается сходимости, можно попробовать изменить некоторые значения параметров, отвечающих за точность моделирования.
Например:
.options gmin=1e-10  -->сопротивление утечки, по умолчанию 1е-12
.options cshunt=1e-14  -->паразитная емкость каждого внутреннего узла,  по умолчанию 0
.options abstol=1e-10  -->по умолчанию 1е-12
.options reltol=0.003  -->по умолчанию 0.001
Это во многих случаях поможет победить ошибку "time step too small convergence fail"

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


RE: LTSPICE-использование моделей от PSPICE - Black_Jack - 06-22-2023

Оставлю тут. Может кому пригодится.