Opis wybranych elementów programu PSPICE 1/10 1. Wstęp Posługiwanie się programem PSPICE składa się z następujących faz: Faza 1 Edycja listy połączeń za pomocą typowego edytora tekstu. Podczas tej fazy należy utworzyć zbór tekstowy zawierający listę połączeń symulowanego obwodu, dla takiego zbioru przyjęto rozszerzenie *.cir. Przykładowo zbiór gr1.cir Faza 2 Analiza obwodu Podczas tej fazy następuje obliczanie przebiegów napięć i prądów w symulowanym obwodzie. Dla wykonania symulacji należy uruchomić program pspice1 wraz z nazwą zbioru w którym znajduje się lista połączeń symulowanego obwodu. Przykładowo pspice1 gr1.cir. W wyniku takiego działania zostanie wykonana symulacja obwodu ze zbioru gr1.cir i jeśli nie wystąpią błędy powstaną dwa zbiory: gr1.out zbiór z raportem symulacji, gr1.dat zbiór z danymi do wizualizacji wyników przez program probe. W przypadku gdy wystąpią błędy utworzony zostanie tylko zbór gr1.out zawierający informację o typie i miejscu występowania błędów. W celu usunięcia błędu należy przejść do fazy 1 i poprawić błąd (w zbiorze typu cir). Faza 3 Wizualizacja przebiegów prądu i napięcia Po poprawnym wykonaniu fazy 2 należy uruchomić program probe gr1.dat. Program ten używa ostatni dobrze zasymulowany zbór o rozszerzeniu dat. Przykładowo gr1.dat. Posługując się tym programem można wykonać wymagane wykresy przebiegów prądów i napięć symulowanego obwodu. Uproszczone zasady tworzenia listy połączeń: na początku należy ponumerować węzły obwodu elektrycznego (można stosować również nazwy np: wej, wyj), jeden z węzłów stanowiący punkt odniesienia musi mieć numer zero 0 - węzeł masy, pierwsza linia jest linią tytułu analizy nawet jeśli jest pusta, linie zaczynające się od litery definiują element obwodu przykładowo: R- rezystor, C -kondensator, V - źródło napięciowe, I -źródło prądowe, L -indukcyjność itd, linia R1 10 20 3.3e3 definiuje rezystor R 1 o wartości rezystancji 3.3e3= 3300Ω, połączony z węzłem 10 i 20, linia C5 3 5 2.2e-6 definiuje kondensator C 5 o wartości pojemności 1e-6=2.2µF, połączony z węzłem 3 i 5, w programie stosowana jest kropka dziesiętna zamiast przecinka dziesiętnego, linie zaczynające się od kropki zawierają rozkazy, linie zaczynające się od znaku * są liniami komentarza, znak + na początku linii oznacza kontynuację poprzedniej linii, do każdego węzła muszą być podłączone co najmniej dwa elementy, każdy węzeł musi posiadać stałoprądowe połączenie z masą układu, obwód nie może zawierać oczek składających się wyłącznie ze źródeł napięcia i indukcyjności, po znaku ; średnika w linii można umieścić komentarz, na końcu listy połączeń musi znajdować się rozkaz.end. Dokładne informacje dotyczące programu znajdują się w książkach [1,2,3,4]. 2. Wybrane elementy 2.1 Źródło napięcia sterowane napięciowo E W programie PSPICE do modelowania bloków funkcjonalnych można zastosować liniowe źródło napięcia sterowane napięciowo (E). Rys. 1. Element E - liniowe źródło napięcia sterowane napięciowo
Opis wybranych elementów programu PSPICE 2/10 Posiada ono dwa węzły wejściowe, do których podłącza się napięcie sterujące oraz dwa węzły wyjściowe, na których otrzymujemy napięcie wytworzone przez to źródło. Widok takiego elementu pokazano na rys. 1. Źródło napięcia sterowane napięciowo E (voltage controlled voltage source) jest w tekstowych wersjach programu jest opisane przy pomocy następujących deklaracji: E<name> <+N> <-N> <+NC> <-NC> <gain> E<name> <+N> <-N> POLY(<value>) < <+NC> <-NC> >* < <polynomial coefficient value> >* E<name> <+N> <-N> VALUE={<expression>} E<name> <+N> <-N> TABLE {<expression>} <<input value>, <output value>>* E<name> <+N> <-N> LAPLACE {<expression>} ={<transform>} E<name> <+N> <-N> FREQ { <expression> } = [KEYWORD] < <frequency value>, +<magnitude value>,<phase value> >* [DELAY = <delay value>] E<name> <+N> <-N> CHEBYSHEV { <expression> } = <[LP] [HP] [BP] [BR]>, +<cutoff frequencies>*,<attenuation>* +N, -N numery węzłów napięcia wyjściowego, +NC,-NC numery węzłów węzła sterującego, value wartość, expression wyrażenie, LP filtr dolnoprzepustowy, HP filtr górnoprzepustowy, BP filtr pasmowoprzepustowy, BR filtr pasmowozaporowy, KEYWORD określa typ danych w tablicy DB, MAG, RAD, DEG, R_I, cutoff frequences częstotliwości zaporowe, attenuation tłumienie w paśmie zaporowym gain wzmocnienie, Przykłady użycia źródła napięcia sterowanego napięciowo E: EBUFF 1 2 10 11 1.0 EAMP 13 0 POLY(1) 26 0 500 ENLIN 100 101 POLY(2) 3 0 4 0 0.0 13.6 0.2 0.005 ESQRT 10 0 VALUE = {SQRT(V(5))} ETAB 20 5 TABLE {V(2)} (-5v,5v) (0v,0v) (5v,-5v) E1POLE 10 0 LAPLACE {V(1)} {1/(1 + s)} EATTEN 20 0 FREQ {V(100)} (0,0,0 10,-2,-5 20,-6,-10) ELOWPASS 5 0 FREQ {V(10)} = (0,0,0) (5kHz,0,0) (6kHz-60,0) DELAY=3.2ms ELOWPASS 5 0 CHEBYSHEV {V(10)} = LP 800 1.2K.1dB 50dB ET2 2 0 TABLE {V(ANODE,CATHODE)} = (0,0) (30,1) 2.2 Analiza stanów nieustalonych, analiza czasowa.tran (transient) Podczas analizy stanów nieustalonych (transient) obliczane są przebiegi czasowe prądów i napięć w przyjętym przedziale czasu. Warunki początkowe są określane w dokonywanej wcześniej analizie stałoprądowej. Postać ogólna rozkazu analizy:.tran T STEP T STOP <T START <T MAX >> <UIC> T STEP krok wykreślania wyników analizy, T STOP czas końca analizy T START czas rozpoczęcia gromadzenia wyników analizy (domyślnie przyjęta jest wartość zerowa) T MAX maksymalny krok analizy, UIC (use initial conditions) uwzględnij warunki początkowe. Przykłady zastosowania:.tran 1nS 100nS.TRAN/OP 1nS 100nS 20nS UIC.TRAN 1nS 100nS 0nS.1nS
Opis wybranych elementów programu PSPICE 3/10 Instrukcja analizy widmowej.four (Fourier) Instrukcja ta uruchamia analizę widmową, działa wyłącznie podczas analizy stanów nieustalonych razem z instrukcją Tran. Postać ogólna rozkazu analizy:.four <FREQ> [no. harmonics value] <output variable> FREQ częstotliwość podstawowej harmonicznej, no. harmonics value ilość analizowanych harmonicznych, output variable nazwa zmiennej. Analiza widmowa jest wykonywana w przedziale czasu od chwili (T STOP -1/FREQ) do chwili T STOP. Oznacza to więc, że czas T STOP (analizy Tran) musi być większy od czasu 1/FREQ. Dla uzyskania odpowiedniej rozdzielczości analizy widmowej należy przyjąć maksymalny krok analizy T MAX <(1/(100*FREQ). Efektem działania rozkazu jest umieszczenie tablicy wyników w pliku o rozszerzeniu out. Przykłady zastosowania:.four 10kHz V(5) V(6,7) I(VSENS3).FOUR 60Hz 20 V(17).FOUR 10kHz V([OUT1],[OUT2]).FOUR 50Hz 10 V(10) Ostatnia z przykładowych instrukcji powoduje umieszczenie w pliku out następującego wyniku FOURIER COMPONENTS OF TRANSIENT RESPONSE V(10) DC COMPONENT = 1.051946E-03 HARMONIC FREQUENCY FOURIER NORMALIZED PHASE NORMALIZED NO (HZ) COMPONENT COMPONENT (DEG) PHASE (DEG) 1 5.000E+01 1.273E+00 1.000E+00-1.848E-01 0.000E+00 2 1.000E+02 2.104E-03 1.652E-03 8.959E+01 8.977E+01 3 1.500E+02 4.244E-01 3.333E-01-5.545E-01-3.696E-01 4 2.000E+02 2.104E-03 1.652E-03 8.918E+01 8.936E+01 5 2.500E+02 2.546E-01 2.000E-01-9.241E-01-7.393E-01 6 3.000E+02 2.104E-03 1.652E-03 8.876E+01 8.895E+01 7 3.500E+02 1.819E-01 1.428E-01-1.294E+00-1.109E+00 8 4.000E+02 2.104E-03 1.652E-03 8.835E+01 8.854E+01 9 4.500E+02 1.415E-01 1.111E-01-1.663E+00-1.479E+00 10 5.000E+02 2.104E-03 1.652E-03 8.794E+01 8.812E+01 TOTAL HARMONIC DISTORTION = 4.287968E+01 PERCENT Źródło napięciowe V V<name> <+N> <-N> [[DC] <value>] [AC <amplitude> [<phase>]] [ <transient> ] podczas analizy czasowej (transitient) można stosować jeden z wybranych typów sygnałów: <value>, EXP(iv vpk rdelay rtc fdelay ftc), PULSE(v1 v2 T d T r T f pw okres), PWL(T 1 V 1 T 2 V 2 T 3 V 3... T n V n ), SFFM(V O V A f c V m f m ), SIN(V O V A FREQ T d THETA PHASE). Przykłady zastosowań: VBIAS 13 0 2.3mV VAC 2 3 AC.001 VACPHS 2 3 AC.001 90 VPULSE 1 0 PULSE(-1mV 1mV 2ns 2ns 2ns 50ns 100ns) V3 26 77 DC.002 AC 1 SIN(.002.002 1.5MEG) Wybrane typy źródeł napięcia i prądu stosowane podczas analizy czasowej (transitient) SIN sinusoidalne źródła napięcia lub prądu V<name> +N -N SIN(V O V A FREQ T d THETA PHASE) co odpowiada napięciu opisanemu przez następującą zależność
Opis wybranych elementów programu PSPICE 4/10 V O V A f = FREQ T d THETA Phase ( ( t T ) THETA) sin( 2 f ( t T ) ( PHASE 360) ) Vname = Vo + VA exp d π d + napięcie przesunięcia względem zera (składowa stała) [V], amplituda [V], częstotliwość [Hz], czas opóźnienia [s], współczynnik tłumienia/sekundę, kąt przesunięcia fazowego w stopniach. Jeżeli T d, THETA and PHASE są nie podane to przyjmowana jest ich zerowa wartość. Przykłady zastosowania: VG 1 2 SIN(5 10 50 0.2 0.1) Vcos 1 2 SIN(0 5 50 0 0 90) VG2 3 4 SIN(0 10 50) W ostatnim przykładzie generowany jest sygnał sinusoidalny o amplitudzie 10V i częstotliwości 50Hz. PWL źródło o przebiegu odcinkowo liniowym napięcia lub prądu Vname +N -N PWL(T 1 V 1 T 2 V 2 T 3 V 3...) T i i V i określają wartości napięcia dla określonego czasu. Rys. 2. Wykres przebiegu czasowego napięcia dla powyższego przykładu z dyrektywą PWL Przykład zastosowania: Vg 1 2 PWL(0 0 10U 5 100U 5 110U 0) PULSE impulsowe źródło sygnałów V<name> <+N> <-N> PULSE(V 1 V 2 T d T r T f PW Period) V 1 napięcie początkowe, V 2 napięcie szczytowe, T d czas opóźnienia, T r czas narastania, T f czas opadania, PW szerokość impulsu, Period okres powtarzania impulsu. Ilustracja definicji poszczególnych parametrów opisujących impuls została pokazana na rys. 3. Rys. 3. Definicje czasów dla dyrektywy PULSE Przykład zastosowania: VSW 10 5 PULSE(1V 5V 1sec.1sec.4sec.5sec 2sec)
Opis wybranych elementów programu PSPICE 5/10 SFFM sinusoidalne źródła napięcia lub prądu o modulowanej częstotliwości V<name> +N -N SIN(V O V A F C V m F m ) co odpowiada przebiegowi opisanemu przez następującą zależność ( 2πf TIME V sin( 2πf TIME) ) Vname = Vo + VA sin c + m m V O napięcie przesunięcia względem zera (składowa stała) [V], V A amplituda fali nośnej [V], V m amplituda fali modulującej [V], f c częstotliwość fali nośnej [Hz], f m częstotliwość fali modulującej [Hz], Przykład zastosowania: VMOD 10 5 SFFM(2 1 8Hz 4 1Hz) 2.3 Analiza częstotliwościowa (.AC) Podczas analizy częstotliwościowej określane są wielkości wyjściowe prądów i napięć w funkcji częstotliwości Postać ogólna rozkazu analizy:.ac LIN NP F START F STOP.AC DEC ND F START F STOP.AC OCT NO F START F STOP F START częstotliwość początkowa analizy, F STOP częstotliwość końcowa analizy, LIN określa liniowe zmiany częstotliwości, NP ilość punktów analizy, DEC określa dekadowe zmiany częstotliwości, ND ilość punktów analizy na dekadę, OCT określa oktawowe zmiany częstotliwości, NO ilość punktów analizy na oktawę. Przykłady zastosowania:.ac DEC 10 1000 1E6.AC LIN 101 10Hz 200Hz.AC OCT 10 1KHz 16KHz.AC DEC 20 1MEG 100MEG 2.4 Definiowanie parametru globalnego (.PARAM) Instrukcja pozwalająca na definiowanie parametru globalnego. Postać ogólna rozkazu:.param < <name>=<value> >.PARAM < <name>=<{expression}> > name nazwa parametru, value wartość parmetru, expression wyrażenie. Przykłady stosowania:.param pi=3.14159265.param RSHEET=120, VCC=5V.PARAM VSUPPLY = 5V.PARAM VCC = 12V, VEE = -12V.PARAM BANDWIDTH = {100kHz/3}.PARAM PI = 3.14159, TWO_PI = {2*3.14159}.PARAM VNUM = {2*TWO_PI} W programie kilka parametrów są już zdefiniowane: TEMP temperatura, VT thermal voltage, GMIN bocznikująca konduktancja w półprzewodnikach w złączu p-n.
Opis wybranych elementów programu PSPICE 6/10 Rozkaz.PARAM nie może być stosowany wewnątrz podobwodów (subcircuit) do definiowania lokalnego parametru. 2.4 Analiza parametryczna (.STEP) Parametric Analysis General Forms.STEP [linear sweep type] <sweep variable name> <start value> <end value> <increment value>.step <logarithmic sweep type> <sweep variable name> <start value> <end value> <points value>.step <sweep variable name> LIST <value>* Przykłady.STEP VCE 0V 10V.5V.STEP LIN I2 5mA -2mA 0.1mA.STEP RES RMOD(R) 0.9 1.1.001.STEP DEC NPN QFAST(IS) 1E-18 1E-14 5.STEP TEMP LIST 0 20 27 50 80 100.STEP PARAM CenterFreq 9.5kHz 10.5kHz 50Hz The following examples illustrate two ways of stepping a resistor from 30 to 50 ohms in steps of 5 ohms. This example uses a global parameter:.param RVAL = 1 R1 1 2 {RVAL}.STEP PARAM RVAL 30,50,5 RVAL is the global parameter and PARAM is the keyword used by the.step statement when using a global parameter. The following example steps the resistor model parameter R: R1 1 2 RMOD 1.MODEL RMOD RES(R=30).STEP RES RMOD(R) 30,50,5 (Note: Do not uset R={30}.) RMOD is the model name, RES is the sweep variable name (a model type), and R is the parameter within the model to step. To step the value of the resistor, the line value of the resistor is multiplied by the R parameter value to achieve the final resistance value, that is final resistor value = line resistor value * R Therefore, if you set the line value of the resistor to 1 ohm, the final resistor value is 1 * R or R. Thus, stepping R from 30 to 50 ohms will then step the resistor value from 1 * 30 ohms to 1 * 50 ohms. In both examples, all of the ordinary analyses (.DC,.AC,.TRAN, etc.) are done for each step. The.STEP statement causes a parametric sweep to be performed on <sweep variable name>, for all of the analyses of the circuit..step is at the same "level" as the.temp command: all of the ordinary analyses (.DC,.AC,.TRAN, etc.) are done for each step. Once all the runs have finished, an entire.print table or.plot plot for each value of the sweep will be output (Probe allows nested sweeps to be displayed as a family of curves), just as for the.temp or.mc commands. The first form, and the first three examples, are for doing a linear sweep. The second form, and the fourth example, are for doing a logarithmic sweep. The third form, and the fifth example, are for using a list of values for the sweep variable. the fifth example, are for using a list of values for the sweep variable. The.STEP statement will only step the DC component of an AC source. In order to step the component of an AC source, you need to create a variable parameter. For example, Vac 1 0 AC {variable}.param variable=0.step param variable 0 5 1.ac dec 100 1000 1e6 <start value> may be greater or less than <end value>: thaponding to one output variable. The number of digits which are printed for analog values can be changed by the NUMDGT on the.options statement.
Opis wybranych elementów programu PSPICE 7/10 The last example illustrates how to print a node which has a name rather than a number. The first item to print is a node voltage, the second item is the voltage across a resistor, and the third item to print is another node voltage, even though the second and third items both begin with the letter "R." The square brackets force the interpretation of names to mean node names. 2.5 Definiowanie funkcji (.FUNC) Postać ogólna rozkazu:.func <name>([arg*]) <body> name nazwa funkcji, arg argumenty funkcji, body ciało funkcji. Przykłady stosowania:.func DR(D) D/57.296.FUNC E(X) EXP(X).FUNC APBX(A,B,X) A+B*X 2.6 Mnożniki stosowane w programie PSPICE W programie PSPICE przewidziano możliwość stosowania mnożników. Jednak najbardziej bezpieczną formą jest forma potęgowa, przykładowo 2.2pF można zapisać w postaci 2.2e-12. Mnożniki stosowane w programie PSPICE pokazane zostały w tablicy 1. Tablica 1 Podstawowe mnożniki Mnożnik Symbol Nazwa 10-15 F femto 10-12 P pico 10-9 N nano 10-6 U micro 25.4*10-6 MIL 10-3 M mili C 10 +3 K kilo 10 +6 MEG mega 10 +9 G giga 10 12 T tera takt zegarowy 2.7 Elementy wyrażeń stosowane w programie PSPICE Operatory arytmetyczne: + dodawanie, - odejmowanie, * mnożenie, / dzielenie, ** potęgowanie. Operatory logiczne: ~ unary NOT, boolean OR, ^ boolean XOR, & boolean AND,
Opis wybranych elementów programu PSPICE 8/10 relational: within IF() functions or. Wyrażenia logiczne stosowane w układach cyfrowych: == równe,!= nierówne, > większe, >= większe równe, < mniejsze, <= mniejsze równe, Wykaz funkcji stosowanych w wyrażeniach arytmetycznych ABS(x) x, SQRT(x) x 1/2, EXP(x) e x, LOG(x) ln(x) logarytm o podstawie e, LOG10(x) log(x) logarytm o podstawie 10, PWR(x,y) x y, PWRS(x,y) + x y (if x > 0) - x y (if x < 0), SIN(x) sin(x) x w radianach, ASIN(x) sin -1 (x) wynik w radianach, SINH(x) sinh(x) x w radianach, COS(x) cos(x) x w radianach, ACOS(x) cos -1 (x) wynik w radianach, COSH(x) cosh(x) x w radianach, TAN(x) tan(x) x w radianach, ATAN(x) tan -1 (x) wynik w radianach, ARCTAN(x) ctan -1 (x) wynik w radianach, ATAN2(y,x) tan -1 (y/x) wynik w radianach, TANH(x) tanh(x) x w radianach, M(x) moduł zmiennej x, daje taki sam wynik jak ABS(x), P(x) argument zmiennej x w stopniach, daje wynik zerowy dla liczb rzeczywistych, R(x) część rzeczywista zmiennej x, IMG(x) część urojona zmiennej x (stosuje się tylko dla analizy AC), DDT(x) różniczka zmiennej x względem czasu (stosuje się tylko dla analizy transient), SDT(x) całka z x względem czasu (stosuje się tylko dla analizy transient), TABLE(x,x 1,y 1,...) y value as a function of x x n,y n, MIN(x,y) minimum of x and y, MAX(x,y) maximum of x and y, LIMIT(x,min,max) min if x < min max if x > max else x, SGN(x) +1 if x > 0 0 if x = 0-1 if x < 0, STP(x) 1 jeśli x > 0 0 w pozostałych przypadkach, IF(t,x,y) x jeśli t jest prawdziwe y w pozostałych przypadkach. Wykaz zmiennych systemowych TEMP temperatura, typowo jest równa TNOM=27 C TIME czas, może być używany podczas modelowania behawioralnego. 2.8 Elementy wyrażeń stosowane w programie PROBE W programie PROBE można stosować typowe operacje arytmetyczne stosowane w programie PSPICE za wyjątkiem potęgowania **, do potęgowania stosowana jest instrukcja PWR(x,y).
Opis wybranych elementów programu PSPICE 9/10 Wykaz operacji stosowanych w programie PROBE ABS(x) x, EXP(x) e x, SGN(x) +1 if x > 0 0 if x = 0-1 if x < 0, SQRT(x) x 1/2, LOG(x) ln(x) logarytm o podstawie e, LOG10(x) log(x) logarytm o podstawie 10, PWR(x,y) x y, PWRS(x,y) + x y (if x > 0) - x y (if x < 0), SIN(x) sin(x) x w radianach, ASIN(x) sin -1 (x) wynik w radianach, SINH(x) sinh(x) x w radianach, COS(x) cos(x) x w radianach, ACOS(x) cos -1 (x) wynik w radianach, COSH(x) cosh(x) x w radianach, TAN(x) tan(x) x w radianach, ATAN(x) tan -1 (x) wynik w radianach, ARCTAN(x) ctan -1 (x) wynik w radianach, ATAN2(y,x) tan -1 (y/x) wynik w radianach, TANH(x) tanh(x) x w radianach, M(x) moduł zmiennej x, daje taki sam wynik jak ABS(x), P(x) argument zmiennej x w stopniach, daje wynik zerowy dla liczb rzeczywistych, R(x) część rzeczywista zmiennej x, IMG(x), I(x) część urojona zmiennej x (stosuje się tylko dla analizy AC), DDT(x), D(x) różniczka zmiennej x względem czasu (stosuje się tylko dla analizy transient), SDT(x), S(x) całka z x względem czasu (stosuje się tylko dla analizy transient), RMS(x) krocząca wartość skuteczna zmiennej x, względem zmiennej na osi OX, G(x) opóźnienie grupowe x (w sekundach) (-dphase/dfrequency) AVGX(x,d) krocząca wartość średnia zmiennej x od X_axis_value(x)-d do X_axis_value(x) AVG(x) krocząca wartość średnia zmiennej x względem zmiennej na osi OX, DB(x) moduł zmiennej wyrażony w decybelach DB(x)= 20 log(x), [db], MIN(x) wartość minimalna części rzeczywistej zmiennej x, MAX(x) wartość maksymalna części rzeczywistej zmiennej x, Jednostki stosowane w programie Probe V, W/A wolty [V], A, W/V ampery [A], W, V A waty [W], d stopnie kąta przesunięcia fazowego [º], s sekundy [s] Hz herc [Hz] Literatura [1] J. Porębski, P. Korohoda, SPICE program analizy nieliniowej układów elektronicznych, WNT, Warszawa, 1996. [2] J. Izydorczyk, PSpice komputerowa symulacja układów elektronicznych, Helion, 1993. [3] P. Zimny, K. Karwowski, SPICE Klucz do elektrotechniki, instrukcja, program, przykłady, Wydawnictwo Politechniki Gdańskiej, Gdańsk, 1998. [4] OrCAD PSpice User s Guide, OrCAD Inc., Beaverton, 1998.
Opis wybranych elementów programu PSPICE 10/10 An analysis may have any number of.print statements. <name> cannot be one of these predefined parameters, nor can <name> be TIME or one of the.text names. Once defined, a parameter can be used in place of most numeric values in the circuit description. For example: - All model parameters. - All device parameters, such as AREA, L, NRD, and Z0. This includes IC= values on capacitors and inductors, but not the transmission linĺ».»