SKRÓCONY OPIS PROGRAMU PSPICE

 

W celu przeprowadzenia symulacji układu elektronicznego przy pomocy programu PSPICE należy stworzyć plik zawierająy dane o symulowanym obwodzie oraz instrukcje sterujące. Nazwa pliku jest dowolna z rozszerzeniem .cir. Zbiór wyjściowy w postaci tekstowej jest automatycznie zakończony .out a zbiór danych graficznych .dat (można go przeglądać przy pomocy programu PROBE). Plik może być utworzony przy użyciu dowolnego edytora tekstowego.

1.      Opis obwodu

 

PSPICE nie rozróżnia dużych i małych liter. Pierwsza linia pliku .cir jest tytuem i może zawierać każdy rodzaj tekstu - np. nazwę symulowanego obwodu. Ostatnią linia musi być „.END”. Linie komentarza zaczynają się od „*”. Komentarz w linii dodaje się po znaku „ ; ”. Kontynuacja lini jest zaznaczana przez „+” w pierwszej kolumnie. Następnie wprowadzany jest opis obwodu z numeracją wszystkich węzłów. Kolejność linii nie ma znaczenia. Węzeł masy musi mieć numer « 0 ». Każdy element powinien mieć swoją indywidualną nazwę. Nazwa elementu jest dowolna a pierwsza litera oznacza typ elementu:

 

R - rezystancja

L - indukcyjność

K – indukcyjność sprzężona

C - pojemność

I – niezależne źródło prądowe

V - niezależne źródło napięciowe

E - źródło napięcia sterowane napięciem (VCVS)

H - źródło napięcia sterowane prądem(CCVS)

G - źródło prądu sterowane napięciem (VCCS)

F - źródło prądu sterowane prądem (CCCS)

D - dioda

Q – tranzystor bipolarny

J – tranzystor JFET

M - tranzystor MOS

X – makromodel (podobwód)

 

Do opisu każdego elementu przeznaczona jest jedna linia. Po nazwie elementu umieszczamy numery węzłów, między którymi znajduje się element; pierwszy węzeł ma potencjał „+” drugi potencjał „-" . Następnie umieszczamy wartości elementów w jednostkach SI. Można stosować następujące przedrostki :

 

T = E12             G = E9              MEG = E6         K = E3

M = E-3             U = E-6             N = E-9             P = E-12           F = E-15

 

W przypadku elementów półprzewodnikowych  czy makromodeli zamiast wartości podawana jest nazwa modelu lub podobwodu.

 

WPISYWANIE ELEMENTÓW

 

Typ elementu

Symbol

Instrukcja w SPICE

1)       Rezystancja

 

R

 

 

RIN3 23 56 1K

2)       Pojemność

 

C

 

 

 

C3 12 23 1U

3)       Indukcyjność

 

L

 

 

L32 3 4 1N

4)       Źródła niezależne

 

a) źródło napięciowe

 

V

 

 

b) źródło prądowe

 

I

 

 

VIN 5 6 DC 10

 

 

IS 6 5 DC 10

5)       Liniowe źródła sterowane

VCVS - źródło napięcia sterowane napięciem E

 

 

 

 

a)      CCVS – źródło napięcia sterowane prądem H

 

 

 

 

 

b)      VCCS – źródło prądu sterowane napięciem G

 

 

 

 

 

c)       CCCS – źródło prądu sterowane prądem F

 

E1 1 2 4 5 8.0

 

H1 1 2 VX 8.0

 

G1 2 1 4 5 8.0

 

F1 2 1 V3 8.0

6)       dioda

 

D

 

* Anoda katoda

D5 23 56 MOD12

 

7)       Tranzystor bipolarny

 

Q

 

* C B E

Q5 32 21 43 BC107

 

8)       Tranzystor JFET

 

J

 

* D G S

J5 32 21 43 MODJF1

 

9)       Tranzystor  MOS

 

M

 

* D G S Sub.

M5 32 21 43 55 MOS55

 

10)   Makromodel

(.SUBCKT/.ENDS)

 

X

 

* IN OUT VDD GND

X5 55 21 43 0 INWERTER

 

 

 

 

 

 

Kolejność umieszczania węzłów przy opisywaniu przyrządów półprzewodnikowych jest następująca:

 

Dioda: anoda - katoda

Tranzystor bipolarny: kolektor – baza – emiter (podłoże)

Tranzystor JFET: dren – bramka – źródło

Tranzystor MOS: dren – bramka – źródło – podłoże

 

W przypadku źródeł sterowanych dwie pierwsze cyfry oznaczają numery węzłów, do których przyłożone jest źródło. Dla źródła sterowanego napięciowo następne dwie cyfry podają numery węzłów, do których przyłożone jest napięcie sterujące. Dla źródła sterowanego prądowo należy podać nazwę źródła napięciowego, którego prąd jest prądem sterującym.

 

Wpisywanie dodatkowych parametrów elementów

 

Dane elementów mogą być uzupełnione przez podanie dodatkowych informacji za pomocą współczynników.

 

a)      Rezystancja może być zależna od temperatury przez podanie wartości współczynników TC1 i TC2

 

R(T)=R(Tnom) [ 1 + TC1(dT) + TC2(dT)2]

 

gdzie: dT= T - Tnom

 

przykład

 

R1 2 0 15K TC=0.001 0.0025

 

b)      Indukcyjność i pojemność mogą być nieliniowe w funkcji prądu lub napięcia co jest opisane przez wielomiany

L=L0 + L1*I + L2*I2 + ...

C=C0 + C1*U + C2*U2 + ...

Postać ogólna instrukcji:

Cxxxxxxx N+ N- POLY C0 C1 C2 ... <IC=INCOND>

Lxxxxxxx N+ N- POLY L0 L1 L2 ... <IC=INCOND>

 

Instrukcja  IC=INCOND pozwala na zdefiniowanie warunków początkowych (INITIAL CONDITION) napięcia lub prądu niezbędnych do obliczenia stanów początkowych.

 

przykład

 

C45 18 21 POLY 2 0.3 IC=10

 

Gdzie C0=2, C1=0.3, początkowa wartość napięcia na kondensatorze wynosi 10V.

 

c)       Indukcyjności sprzężone opisane są w postaci

 

Kxxxx  LCxxxx LMxxxx liczba

przykład

 

K21 LC1 LMR32 0.99

 

litera K oznacza, że indukcyjność LC1 jest sprzężona z indukcyjnością LMR32 a współczynnik sprzężenia wynosi 0.99.

 

 

d)      Źródła sterowane

 

 

Mogą być nieliniowe oraz zależeć od wielu zmiennych. Opisuje się je wówczas instrukcją POLY(N), gdzie N jest wymiarem zależności. Następnie należy podać N par węzłów dotyczących napięć sterujących lub N nazw źródeł napięcia dotyczących prądów sterujących. Na końcu podawane są współczynniki wielomianu w następującej postaci dla 2 zmiennych i wielomianu 2go stopnia:

a0 + a1 x +a2 y +a3 x2 +a4 xy +a5 y2

przykład

 

1. dla VCVS:

E25 7 21 POLY(2) 12 18      31 45   1  10  5  0.5  0.6  0.7   IC=12

(                              x               y   a0  a1 a2    a3     a4     a)

2. dla CCCS

F36 8 54 POLY(2)  VIN        V5   0.1M  1K 10.1  1   1    0.1    IC=1

(                             x           y         a0  a1  a2     a3     a4     a)

 

 

2.      Opisywanie źródeł niezależnych

 

·        Dziedzina DC

- podajemy wartość napięcia lub prądu

 

Przykład

 

VIN 2 0 DC 10

IIN 2 0 DC 10

 

·        Dziedzina AC

- podajemy wartość amplitudy i fazy sygnału

 

 

Przykład

 

VIN 2 0 AC 1 180

IIN 2 0 AC 1 0

 

·        Dziedzina TR

 

Istnieje 5 typów źródeł :

 

a)      Deklaracja źródła impulsowego ma postać

 

PULSE (V1 V2 TD TR TF PW PER)

 

gdzie    V1 – wartość początkowa (w Voltach lub Amperach)

V2 – wartość impulsu (w Voltach lub Amperach)

TD – czas opóźnienia (w sekundach, wartość wbudowana 0.0)

TR – czas narastania (w sekundach, wartość wbudowana 0.0)

TF – czas opadania (w sekundach, wartość wbudowana 0.0)

PW – szerokość impulsu

PER – okres impulsu

 

 

Przykład

 

Impuls jednostkowy o amplitudzie 1 zapisany jest w postaci :

 

VUNIT 1 0 PULSE ( 0 1 0 0 )

 

b)      Deklaracja źródła sinusoidalnego ma postać

 

SIN ( VO VA FREQ TD THETA)

 

Gdzie   VO – wartość składowej stałej (w Woltach lub Amperach)

VA - amplituda (w Woltach lub Amperach)

FREQ - częstotliwość - (w Hz, wartość wbudowana f=1/TSTOP)

TD - czas opóźnienia (w sekundach, wartość wbudowana 0.0)

THETA – współczynnik w sekundach, wartość wbudowana 0.0)

 

Źródło sinusoidalne jest opisane wzorem

 

dla T < TD,  V = VO

dla TD < T < TSTOP:

 

V = VO + VA*exp[- (time-TD) *THETA]*sin[2p*FREQ* (time+TD) ]

 

 

 

Przykład

 

V31 5 8 SIN ( 0 1 500MEG 0 0)

 

 

c)       Deklaracja źródła wykładniczego ma postać

 

EXP ( V1 V2 TD1 TAU1 TD2 TAU2)

 

gdzie    V1 – wartość początkowa (w Voltach lub Amperach)

V2 – wartość impulsu (w Voltach lub Amperach)

TD1 - czas opóźnienia dla zbocza narastającego impulsu (w sekundach, wartość wbudowana 0.0)

TAU1 – stała czasu narastania impulsu (w sekundach, wartość wbudowana =TSTOP)

TD2 – czas opóźnienia określający początek opadania sygnału (w sekundach, wartość wbudowana   = TD1+TSTEP)

TAU2 – stała czasu opadania impulsu (w sekundach, wartość wbudowana =TSTEP)

 

Źródło wykładnicze jest opisane wzorem

 

dla T < TD1, V = V1

 

dla TD1 < T < TD2, V = V1 + (V2-V1) * [ 1 – exp[-(time-TD1)/TAU1] ]

 

dla TD2 < T < TSTOP, V = V1 + (V2-V1) * [1 – exp[-(time-TD1)/TAU1] ] + (V1-V2) *

*[1 – exp[-(time-TD2)/TAU2] ]

 

 

d)      Deklaracja źródła odcinkowo-liniowego ma postać

 

PWL (T1 V1 <T2 V2 T3 V3 ...>)

 

gdzie źródło zmienia się liniowo i przyjmuje wartości V1 dla czasu T = T1, V2 dla czasu T = T2, itd…

 

 

przykład

 

dla V1 = 1V, V2 = 1.2V, V3 = 2V, V4 = 2.2V

i czasów przedstawionych na rysunku :

 

VIT 1 0 PWL ( 0 1 2U 1 10U 2.2 18U 2.2 21U 1.2 23U 1.2 30U 2)

 

e)      Deklaracja źródła o modulowanej częstotliwości ma postać

 

SFFM ( VO VA FC MDI FS) -

 

gdzie    VO - wartość składowej stałej (w Voltach lub Amperach)

VA - amplituda (w Voltach lub Amperach)

FC - częstotliwość nośna - (w Hz, wartość wbudowana f=1/TSTOP)

MDI - współczynnik modulacji

FS - częstotliwość sygnału  - (w Hz, wartość wbudowana f=1/TSTOP)

 

Źródło o modulowanej częstotliwości jest opisane wzorem

 

V = VO + VA*sin[( 2p*FC*time) + MDI*sin (2 p *FS*time) ]

 

przykład

 

V1 5 8 SFFM ( 0 1M 10K 6 1K )

 

3.      Instrukcje sterujące

 

Po opisie topologii analizowanego obwodu i wpisaniu elementów w programie należy umieścić instrukcje sterujące. Każda instrukcja sterująca musi zaczynać się od kropki.

W celu określenia szerokości danych wejściowych i wyjściowych można stosować instrukcję .WIDTH o postaci

.WIDTH IN=80 OUT = 80

 

a)      Instrukcja  .MODEL

 

Służy do zdefiniowania modelu przyrządu półprzewodnikowego, elementu nieliniowego lub bramki logicznej. Ogólna postać instrukcji jest następująca:

 

.MODEL               Nazwa modelu              Typ przyrządu                     Nazwa listy parametrów modelu

 

Nazwa modelu jest dowolna lecz musi zaczynać się od litery.

 

Typ przyrządu (wybrane elementy)

D

dioda

NPN

tranzystor bipolarny NPN

PNP

tranzystor bipolarny PNP

NJF

tranzystor  JFET z kanałem typu N

PJF

tranzystor  JFET z kanałem typu P

NMOS

tranzystor MOS z kanałem typu N

PMOS

tranzystor MOS z kanałem typu N

 

Nazwa listy parametrów modelu zawiera wartości parametrów modelu. Parametry nie określone przez użytkownika przyjmują wartości wbudowane.

 

Przykład

 

.MODEL MOD1 NPN      BF=60 IS=1.2E-13

 

.MODEL MOD2 D

 

.MODEL MOD3 NJF       VTO=-3V BETA=1E-4 LAMBDA=2.0E-2 CGS=2PF CGD=2PF

+                                  PB=1V IS=1.0E-14

 

b)      Instrukcja  .SUBCKT

 

Przeznaczona jest do zdefiniowania makromodelu (podobwodu)  (wywoływanego przez  X....).

Ogólna postać instrukcji jest następująca:

 

.SUBCKT          Nazwa makromodelu                       Węzły N1 N2 ...

.

Opis makromodelu

.

.

.ENDS Nazwa makromodelu

 

Numeracja węzłów wewnątrz makromodelu jest niezależna od numeracji węzłów obwodu głównego. Nie nalęży stosować „0”, który jest zarezerwowany dla masy.

Opis makromodelu  - opisuje się go jak obwód zewnętrzny. Opis kończy instrukcja .ENDS.

Węzły N1 N2 ... są węzłami zewnętrznymi makromodelu. Nie mogą zawierać węzła o numerze „0”.

 

Przykład

 

.SUBCKT WZMOP 1 2 3 4 5

.

.

.

.ENDS WZMOP

 

 

W przypadku gdy chcemy stosować makromodel znajdujący się w jednej z bibliotek programu PSPICE należy wywołać tę bibliotekę.

 

Przykład

 

Stosujemy wzmacniacz operacyjny Ampli-Op mA741 znajdujący się w bibliotece OPNOM.LIB

 

.LIB OPNOM.LIB

* wywolanie biblioteki, w której znajduje się Ampli-Op mA741

X1 1 2 0 4 5 6 UA741

* umieszczenie wzmacniacza w ukladzie

 

4.      Analizy w programie PSPICE

 

Obliczenia wpisanego układu elektronicznego mogą być wykonane w 3 dziedzinach:

a) analiza statyczna (DC)

b) analiza prądu przemiennego, zwana też analizą małosygnałową (AC), (dla układu zlinearyzowanego w punkcie pracy wyznaczonym w wykonanej uprzednio analizie DC).

c) analiza stanów przejściowych (TR)

 

 

a)      Wyznaczenie punktu pracy

 

Aby otrzymać w zbiorze wyjściowym wszystkie informacje o napięciach, prądach i małosygnałowych modelach elementów w punkcie pracy stosujemy instrukcję

 

.OP

 

b)      Analiza statyczna

 

Obliczenia w dziedzinie .DC mogą być wykonane dla wielu wartości prądów i napięć. Instrukcja ma postać:

 

.DC    Nazwa źródła      Wartość początkowa    Wartość końcowa       Krok

 

W przypadku wielu źródeł należy wpisać kolejno wartości ich parametrów

 

Przykład

 

.DC VCE 0 100 5 VBE 0 0.7 0.1

 

c)      Analiza małosygnałowa

 

Zmienną niezależną w analizie .AC jest częstotliwość. Zmienia się ona od wartości FSTART do FSTOP. Dla analizy .AC należy zdefiniować minimum jedno źródło AC podając jego amplitudę i fazę. Postacie analizy :

 

.AC DEC ND FSTART FSTOP

.AC OCT NO FSTART FSTOP

.AC LIN NP FSTART FSTOP

 

gdzie    DEC: skala logarytmiczna, ND liczba punktów na dekadę.

OCT: skala logarytmiczna, NO liczba punktów na oktawę.

LIN: zmiany liniowe, NP liczba punktów między FSTART i FSTOP.

 

Przykład

 

.AC DEC 5 1K 10MEG

 

 

W celu otrzymania charakterystyki przejściowej (output/input), rezystancji wejściowej i wyjściowej stosuje się instrukcję .TF. Pierwsza zmienna następująca po tej instrukcji określa zmienną wyjściową, druga wejściową.

 

Przykład

 

.TF V(23) VIN1

 

PSPICE liczy stosunek V(23)/VIN, małosygnałową rezystancję wejściową dla VIN1 oraz małosygnałową rezystancję wyjściową dla V(23).

 

d)      Analiza stanów przejściowych

 

Wywoływana jest przy pomocy instrukcji .TRAN. Zmienną niezależną w analizie jest czas.

Postać analizy:

 

.TRAN  TSTEP  TSTOP  <TSTART  <TMAX>>   <UIC>

 

gdzie

TSTEP    - wartość kroku dla wydruku wyników

TSTOP   - czas końcowy symulacji

TSTART  - początek symulacji (wartość wbudowana =0)

TMAX     - maksymalna wartość kroku (wartość wbudowana TSTOP/50)

UIC         - polecenie uwzględnienia warunków początkowych określonych w instrukcji .IC i nie wykonywania analizy DC

 

Przykład

 

.TRAN 1N 0.2U UIC

5.      Wyniki obliczeń

 

Wyniki można przedstawić w formie:

a) .PRINT – forma tabelaryczna

b) .PLOT – rysowanie w formie alfanumerycznej

c) .PROBE – forma graficzna. Zastosowanie postprocesora graficznego pozwala na wszechstronne opracowanie otrzymanych wykresów.

Funkcje sygnałów dostępne przy użyciu  .PROBE

 

ABS(x)

wartość bezwzględna

SGN(x)

1 dla x > 0, 0 dla x=0, -1 dla x < 0

SQRT(x)

pierwiastek kwadratowy

EXP(x) 

funkcja wykładnicza

LOG(x)

logarytm naturalny

LOG10(x)

logarytm décimal

DB(x)   

decybel (20 log2(x))

PWR(x,y)

potęga (abs(x))y

SIN(x)  

sinus (x w radianach)

COS(x)

cosinus

TAN(x) 

tangens

ATAN(x)

arctangens

d(y)     

pochodna y względem zmiennej osi x

s(y)      

całka y względem zmiennej osi x

AVG(y)

wartość średnia y

RMS(y)

wartość skuteczna y

 

6.      Wybrane analizy dodatkowe

a)      Zmiana temperatury

 

Obliczenia wykonywane są dla temperatury nominalnej TNOM=27 0C (300K). Można ją zmienić globalnie dla całego symulowanego układu  przy użyciu następującej instrukcji:

 

.TEMP = wartość

 ( TEMP > -223oC )

 

Przykład

 

.TEMP = 125

 

Dla elementów, które zależą od temperatury należy podać odpowiednie współczynniki temperaturowe. Temperatura odniesienia pozostaje równa TNOM = 27oC. W celu zmiany temperatury odniesienia należy zastosować instrukcję .OPTIONS.

 

Przykład

 

.OPTIONS TNOM = wartosc

 

 

Instrukcji tej można użyć w celu wyeliminowania stronicowania i drukowania nagłówków na każdej stronie, co jest wygodne gdy pliki wyjściowe oglądamy na ekranie monitora.

 

.OPTIONS NOPAGE

b)      Obliczanie wrażliwości

Wrażliwość (małosygnałowa AC) jest liczona dla każdej  podanej zmiennej wyjściowej względem wszystkich parametrów obwodu.

Ogólna postać instrukcji:

 

.SENS OV1 <OV2 ...>

 

Przykład

 

 .SENS V(1) V(2,6) I(VIN)

 

c)      Analiza Fouriera

 

Wykonywana jest dla analizy czasowej TRAN

Ogólna postać instrukcji:

 

.FOUR FREQ OV1 <OV2 OV3 ...>

gdzie    FREQ               częstotliwość sygnału

OV1 OV2 OV3 ...  sygnały, które mają być poddane analizie Fouriera

 

Przykład

 

.FOUR 10K V(1)

 

d)      Definiowanie punktów startowych i warunków początkowych

 

Instrukcja .NODESET stosowana jest dla analizy DC i ustawia punkt startowy do nieliniowych iteracji. Przydatna np. przy analizie układów przerzutnikowych w celu wymuszenia ich stanu początkowego. Ogólna postać instrukcji:

 

.NODESET     V(NODNUM)=WARTOŚĆ      V(NODNUM)= WARTOŚĆ...

 

Przykład

 

.NODESET    V(1)=10    V(2)=5.1     V(14)=7.12

 

 

Warunki początkowe dla analizy TRAN określa się za pomocą instrukcji .IC

Ogólna postać instrukcji:

 

.IC     V(NODNUM)= WARTOŚĆ       V(NODNUM)= WARTOŚĆ ...

 

Przykład

 

.IC    V(4)=14    V(3)=6.9     V(24)=33

 

e)      Analiza szumowa

 

Wykonywana jest dla analizy zmiennoprądowej AC i powinna być poprzedzona analizą AC. Składowe widma mocy szumu, pochodzące od każdego z elementów układu, są sumowane na wyjściu napięciowym. Do przeprowadzenia analizy szumowej potrzebne są modele szumowe elementów. W układzie mogą występować dwa rodzaje elementów szumowych: rezystory generujące szumy termiczne, przyrządy półprzewodnikowe generujące szumy termiczne i szumy migotania.

 

 

 

Ogólna postać instrukcji:

 

 .NOISE    OUTV    INSRC     NUMS

gdzie    OUTV   napięcie wyjściowe, dla którego jest analizowany wkład każdej składowej szumu

INSRC źródło niezależnego napięcia lub prądu, dla którego jest liczony równoważny szum wejściowy

NUMS liczba określająca co ile punktów na osi częstotliwości (w stosunku do analizy zmiennoprądowej) będzie wykonywana analiza szumów.

 

Przykład

 

.NOISE V(3) VIN 5

 

f)       Analiza Monte Carlo

 

Umożliwia wykonanie obliczeń z uwzględnieniem tolerancji wartości parametrów modeli. Podajemy ile razy ma być wykonana analiza, każdorazowo po wyznaczeniu nowych wartości zmienianych parametrów oraz rodzaj analizy głównej (DC, AC, TRAN). Obliczenia analizy Monte Carlo są wykonywane w ramach odrębnego typu analizy i nie mają wpływu na wyniki pozostałych analiz.

 

Ogólna postać instrukcji:

 

.MC  RUNS ANALYSIS VOUT FUN options

 

gdzie:    RUNS              - liczba przeprowadzonych analiz Monte Carlo

            ANALYSIS       - rodzaj analizy, np. AC, DC, TRAN

            VOUT              - zmienna obwodowa, którą chcemy badać

FUN                 - funkcja obliczana na podstawie wartości wszystkich przebiegów analizy Monte Carlo w celu określenia liczbowego parametru określającego
     wrażliwość zmiennej VOUT na przypadkowe zmiany parametrów modeli. Najczęściej stosuje się YMAX oznaczającą maksymalną odchyłkę zmiennej
    od wartości nominalnej.

options            - jedna lub więcej opcji analizy Monte Carlo. Najczęściej stosowane opcje to list oznaczająca wypisanie parametrów poszczególnych modeli w każdym
                  przebiegu analizy i  output all po zastosowaniu której wyniki wszystkich analiz możemy porównać w programie probe na jednym wykresie.

 

g)      Analiza najgorszego przypadku (Worst Case)

 

W przeciwieństwie do analizy Monte Carlo analiza najgorszego przypadku uwzględnia jedynie skrajne wartości tolerancji parametrów przy wykonywaniu obliczeń układu.

 

Ogólna postać instrukcji:

 

.WCASE  ANALYSIS VOUT FUN

 

oznaczenia identyczne jak w przypadku analizy Monte Carlo.