Podróże kształcą. Ale bajki kształcą w stopniu znacznie większym. Wszystko to, co mówił Nadmakaron, Wielki Bajarz wymyślił o wiele wcześniej, a doktor Paj-Chi-Wo opowiadał mi pięćdziesiąt lat temu. Jan Brzechwa, Podróże Pana Kleksa 1. PIERWSZE KROKI Prace nad komputerową analizą układów elektronicznych prowadzone w połowie lat siedemdziesiątych w zespole dr Nagel a [24] w University of California zaowocowały w postaci programu SPICE2 służącego do symulacji układów elektronicznych. Sponsorem prac był rząd Stanów Zjednoczonych, stąd wynik program SPICE2 jest programem public domain tzn. z jego kodu zródłowego może korzystać swobodnie każdy obywatel Stanów Zjednoczonych. Program ten w bardzo krótkim czasie stał się nieformalnym standardem wśród programów do analizy obwodów elektronicznych. Pojawiło się także wiele wersji komercjalnych opracowanych na podstawie programu SPICE2. Jedną z nich jest program PSpice firmy MicroSim. 1.1. Komputerowa analiza układów elektronicznych Wczesne lata siedemdziesiąte były początkiem burzliwego rozwoju technologii wytwarzania scalonych układów elektronicznych. Ze względu na wysoki koszt opracowania masek, układ scalony musi być jak najdokładniej sprawdzony nim przystąpi się do produkcji masowej. Badania wykonywane na prototypie w tym wypadku nie mogą być zastosowane z następujących powodów: Koszt wykonania jednego kompletu masek prototypu, w przypadku badań na prototypowym układzie scalonym, jest porównywalny z kosztem produkcji całego układu1. Model układu wykonany w oparciu o elementy dyskretne z reguły nie oddaje zachowania układu scalonego. Powodem tego są efekty fizyczne charakterystyczne tylko dla układów scalonych. 1 Na koszt wytworzenia pojedynczego układu scalonego składa się głównie koszt projektu układu, koszt projektu masek i koszt testowania układu. Koszty użytych materiałów są znacznie mniejsze. 2 Pierwsze kroki W rezultacie pozostaje symulacja komputerowa. Pozwala ona na sprawdzenie układu stosunkowo niskim kosztem, zanim jeszcze zostanie zrealizowany. Dlatego też początek lat siedemdziesiątych to okres intensywnych prac nad komputerową analizą układów elektronicz- nych. Powstał wtedy program CANCER [23], a następnie program SPICE2 (ang. Simulation Program with Integrated Circuits Emphasis symulator układów scalonych) przeznaczony do analizy układów elektronicznych zrealizowanych w postaci scalonej. Wygoda użytkowania oraz wyjątkowa wiarygodność i dokładność obliczeń spowodowały, że SPICE2 stał się wzorcem programu przeznaczonego do analizy obwodów i obecnie jest użytkowany także przy projektowaniu układówzłożonych z elementów dyskretnych. 1.2. Prosty obwód Użytkowanie programu PSpice na komputerze IBM PC2 wymaga następujących umiejętności: Umiejętności posługiwania się edytorem tekstu w celu utworzenia i edycji zbioru z danymi wejściowymi. Zbiór taki zawiera opis obwodu w specyficznym języku symulacyjnym oraz zestaw instrukcji sterujących procesem analizy obwodu. Umiejętności uruchomienia programu PSpice i przekazania mu informacji gdzie znajdują się dane wejściowe i gdzie powinien umieścić wyniki analizy (dane wyjściowe). Umiejętności wyświetlenia wyników analizy (danych wyjściowych). Najwygodniej posłużyć się w tym celu tym samym edytorem tekstu, którego używano do utworzenia zbioru z danymi wejściowymi. Autor sądzi, że Czytelnik jest w stanie opanować te czynności samodzielnie. W razie trudności można się odwołać do dowolnego podręcznika opisującego system operacyjny MS DOS np. [13]. Przykład: Rozważmy prosty obwód elektroniczny przedstawiony na Rys. 1. Dane wejściowe dla programu PSpice, opisujące ten obwód mają postać: PROSTY OBWOD V1 1 0 10V ;zródło napięcia R1 1 2 5KOHM ;opornik R1=5k R2 2 0 10KOHM ;opornik R2=10k .END ;koniec danych Tekst, który znajduje się w pierwszej linii opisu obwodu to tytuł analizy. Zostanie on umieszczony jako nagłówek w wynikach analizy. Właściwy opis struktury obwodu zaczyna 2 Program PSpice dostępny jest także na komputerach firmy Sun. Pierwsze kroki 3 się w drugiej linii. Zawiera ona deklarację nieza- leżnego zródła napięcia (SEM siła elektro- motoryczna) o nazwie V1, wpiętego między węzeł o numerze 1 (wyższy potencjał) i węzeł o numerze 0 (niższy potencjał). Napięcie dostarcza- ne przez zródło wynosi 10[V]. Następna linia to deklaracja opornika R1 o wartości 5000[&!]. Opornik ten wpięty jest między węzły o numerach 1 i 2. Kolejna linia danych to deklaracja opornika Rys.1. Prosty obwód. o nazwie R2 i wartości 10000[&!] wpiętego między węzeł 2 i 0. Oporniki R1 i R2 tworzą dzielnik napięcia. Ostatnia linia opisu zawiera instrukcję, która powoduje, że program PSpice kończy interpretację danych wejściowych. Jest to instrukcja .END3 (ang. END koniec) instrukcja końca obwodu. Należy zwrócić uwagę na następujące szczegóły: Wartości oporności R1 i R2 podane zostały za pomocą przyrostka K oznaczającego tysiąc. Dla większej przejrzystości danych, wartości oporności zostały uzupełnione o nazwę jednostki fizycznej OHM. Numeracja węzłów jest zupełnie dowolna z wyjątkiem węzła masy, którego numer musi być zawsze równy zero. Każda linia danych jest zostać opatrzona komentarzem. Komentarz umieszcza się po sredniku ; na koncu linii danych. Po przetworzeniu danych wyniki analizy umieszczane są w zbiorze danych wyjściowych. W naszym przypadku wygląda on następująco: ******* 07/10/91 ******* Evaluation PSpice (Jan. 1988) ******* 15:26:18 ******* PROSTY OBWOD **** CIRCUIT DESCRIPTION ***************************************************************************** V1 1 0 10V ;zródło napięcia R1 1 2 5KOHM ;opornik R1=5k R2 2 0 10KOHM ;opornik R2=10k .END ;koniec danych ******* 07/10/91 ******* Evaluation PSpice (Jan. 1988) ******* 15:26:18 ******* PROSTY OBWOD **** SMALL SIGNAL BIAS SOLUTION TEMPERATURE = 27.000 DEG C ***************************************************************************** 3 Poprzedzająca kropka jest integralną częścią instrukcji końca opisu obwodu. 4 Pierwsze kroki NODE VOLTAGE NODE VOLTAGE NODE VOLTAGE NODE VOLTAGE ( 1) 10.0000 ( 2) 6.6667 VOLTAGE SOURCE CURRENTS NAME CURRENT V1 -6.667E-04 TOTAL POWER DISSIPATION 6.67E-03 WATTS JOB CONCLUDED TOTAL JOB TIME .82 Zbiór danych wyjściowych podzielony jest na sekcje. Każda z nich zaczyna się nagłówkiem zawierającym: Informację o wersji użytkowanego programu Evaluation PSpice (Jan. 1988). Datę oznaczającą dzień, wktórym przeprowadzono obliczenia 07/10/91. Czas, w którym przeprowadzono obliczenia 15:26:18. Nagłówek zawiera ponadto: Tytuł analizy. Jest to zawartość pierwszej linii w zbiorze danych wejściowych. W naszym przypadku toPROSTY OBWOD. Krótką informację na temat zawartości sekcji. Np. pierwsza sekcja danych wyjścio- wych w naszym przykładzie to opis analizowanego obwodu. Stąd angielski tytuł tej sekcji **** CIRCUIT DESCRIPTION. Pierwsza sekcja wyników zawiera powtórzenie opisu obwodu. Umieszczane są tu komunikaty o wszelkich wykrytych przez program błędach. W następnej sekcji umieszczone zostały, obliczone przez program potencjały węzłowe, prąd płynący przez zródło napięcia i moc rozpraszana przez układ. Jest to tzw. statyczny punkt pracy układu. Ogólnie rzecz biorąc składają się nań: Potencjały węzłowe. Prądy płynące przez niezależne zródła napięcia SEM. całkowita rozpraszana moc. Parametry zadeklarowanych modeli; Prądy i napięcia na elementach półprzewodnikowych zadeklarowanych w strukturze obwodu. Wybrane parametry małosygnałowe przyrządówpółprzewodnikowych zadeklarowa- nych w strukturze obwodu. Zbiór danych wyjściowych kończy się komunikatem o czasie obliczeń TOTAL JOB TIME. Czas ten podawany jest w sekundach. W naszym przypadku czas obliczeń wynosił 0.82[s]. Pierwsze kroki 5 1.3. Organizacja danych wejściowych Na powyższym przykładzie widać, że dane wejściowe składają się z linii zawierających kolejno: Tytuł analizy. Opis obwodu. Instrukcję .END kończącą dane. Zwykle po opisie obwodu, a przed instrukcją .END umieszcza się: Instrukcje programu PSpice sterujące analizą i wyprowadzaniem wyników obliczeń. Instrukcje programu PSpice sterujące dołączaniem bibliotek. Deklaracje modeli przyrządów, które występują w strukturze obwodu. Deklaracje podobwodów, które znalazły s/e w strukturze obwodu. Dobrym zwyczajem jest komentowanie danych, w taki sposób jakby groziła nam amnezja. Komentarz umiescic mozŁna w osobnej linii zaczynajac ja od znaku gwiazdki * . MozŁna tezŁ, tak jak w naszym przykładzie, komentarz umies na na koncu linii po znaku srednika ; . cic Jeżeli dane, które należy umieścić w jednej linii nie mieszczą się w 80 kolumnach, część danych mozŁna umies w nastepnej linii. Linia kontynuacji zaczyna sie znakiem + . cic Przykład: *TAK TEŻ MOŻNA ZADEKLAROWAĆ OPORNIK R1 1 2 + 10KOHM Inną metodą zaradzenia tego typu trudnościom jest zwiększenie liczby czytanych przez program PSpice kolumn za pomocą instrukcji .WIDTH (ang. width długość). Jej postać jest następująca: .WIDTH IN=_kolumna1 OUT=_kolumna2 Przykład: .WIDTH IN=144 OUT=80 W polu _kolumna1 (po słowie kluczowym IN=) umieszcza się numer ostatniej kolumny czytanej z każdej następnej linii danych wejściowych. W polu _kolumna2 (po słowie kluczowym OUT=) umieszcza się liczbę kolumn każdej linii zbioru danych wyjściowych. Dopuszczalna liczba kolumn w zbiorze wyjściowym to 80 i 133. Ze wzgledu na zastosowana metode analizy obwodu (strona 11), program PSpice narzuca następujące ograniczenia na strukturę analizowanego obwodu [31],[26]: Obwód musi zawierać węzeł o numerze zero węzeł masy. Do każdego węzła muszą być dołączone co najmniej dwa elementy. Każdy węzeł musi posiadać stałoprądowe połączenie z węzłem masy. Obwód nie może zawierać oczek składających się wyłącznie z zródeł napięcia i indukcyjności. Niedozwolone jest stosowane tej samej nazwy dla oznaczenia różnych elementów. 6 Pierwsze kroki 1.4. Podstawowe typy elementów [26],[31],[33] Na opis obwodu składają się deklaracje elementów elektronicznych. Deklaracja elementu zawiera nazwę, numery węzłów obwodu, w które element jest wpięty oraz parametry. Elementy o złożonym modelu wymagają podania nazwy modelu4. Poniżej przedstawione zostały deklaracje podstawowych elementów elektronicznych dostępnych w programie PSpice. 1.4.1. Opornik Deklaracja opornika w strukturze obwodu: 5 RXXXXXXX n+ n- _war_r [TC=_tc1[,_tc2]] Przykłady: R1 23 4 500 RW2 2 3 1KTC=0.001,0.015 Nazwa opornika zawiera do ośmiu liter i zaczyna się od litery R . Parametry n+ i n- oznaczają numery węzłów, między które wpięty jest opornik. Spadek napięcia na oporniku obliczany jest jako różnica potencjałów między węzłem n+ i węzłem n-. Pole _war_r zawiera wartość opornika wyrażoną w omach. Ze względu na zastosowaną metodę analizy obwodu (strona 11) wartosc opornosci mozŁe byc dodatnia lub ujemna, ale nie mozŁe byc równa zeru. Opcjonalne parametry _tc1 i _tc2, których wartosc podawana jest po słowie kluczowym TC=, służą do opisu zmian wartości oporności wraz z temperaturą: (1) Wielkość TNOM oznacza we wzorze (1) temperaturę nominalną, dla której podano wartość oporności _war_r. Program PSpice przyjmuje, że TNOMH"27C (300K). Sposób zmiany wartosci temperatury TNOM opisany został na stronie 135. 1.4.2. Kondensator Deklaracja kondensatora w strukturze obwodu: CXXXXXXX n+ n- _wartość_c [IC=_napięcie] Przykłady: CBYP 13 1 1UF COSC 17 23 10NF IC=5V 4 Modele wbudowane w program PSpice opisane zostały w rozdziale 6. 5 Elementy deklaracji lub instrukcji, które nie muszą w niej występować ujmowane są w nawiasy kwadratowe [ ]. Pierwsze kroki 7 Nazwa kondensatora zaczyna się od litery C . Pola n+, n- oznaczają numery węzłów, wktóre wp/eto odpowiednio dodatni i ujemny biegun kondensatora. Parametr _wartość_c to wartość pojemności kondensatora wyrażona w faradach. W polu _napięcie po słowie kluczowym IC= można podać wartość napięcia na kondensatorze w chwili, gdy rozpoczyna się analiza stanu nieustalonego w obwodzie. Parametr ten ma sens tylko wtedy, gdy w instrukcji analizy stanu nieustalonego (strona 72) uzŁyto opcji UIC. 1.4.3. Indukcyjność Deklaracja indukcyjności w strukturze obwodu: LXXXXXXX n+ n- _wartość_l [IC=_prąd] Przykłady: L2F1 2 31 1UH LBIAS 3 5 10U IC=5MA Nazwa indukcyjności zaczyna się od litery L . W polu n+ i n- umieszcza się numer węzła, do którego dołączono odpowiednio dodatni i ujemny biegun indukcyjności. Spadek napięcia na indukcyjności to różnica potencjałów między dodatnim i ujemnym biegunem. Parametr _wartość_l to wartość indukcyjności wyrażona w henrach. Parametr _prąd, podawany po słowie kluczowym IC=, oznacza wartość prądu płynącego przez indukcyjność w chwili gdy rozpoczyna się analiza stanu nieustalonego w obwodzie. Parametr ten ma sens tylko wtedy, gdy w instrukcji analizy stanu nieustalonego (strona 72) uzŁyto opcji UIC. 1.4.4. Indukcyjności sprzężone Deklaracja sprzezŁenia magnetycznego indukcyjnosci ma nastepujaca postac: KXXXXXXX LYYYYYYY LZZZZZZZ _wartość_k Przykłady: K12 L1 L2 0.995 KX1 LA1 LB3 0.8 Nazwy sprzężonych indukcyjności to LXXXXXXX i LYYYYYYY. Parametr _wartość_k oznacza bezwymiarowy współczynnik sprzężenia. Jego wartość powinna być większa od zera i nie większa od jedności. Sprzężenie symulowane jest przez program PSpice w taki sposób, że indukcyjności narysowane na schemacie mają gwiazdki przy dodatnich biegunach. 1.4.5. Bezstratna linia długa Program PSpice jest w stanie symulować zachowanie się obwodu, zawierającego w swojej strukturze bezstratną linię długą. Deklarując taki element należy jednak być ostrożnym. PSpice dokonuje analizy stanu nieustalonego z krokiem nie przekraczającym połowy czasu 8 Pierwsze kroki potrzebnego na to aby fala elektromagnetyczna przebyła linię. W przypadku, gdy wspomniany czas jest krótki6 prowadzi to do niepotrzebnego wydłużenia czasu obliczeń. Deklaracja bezstratnej linii długiej: TXXXXXXX n1 n2 n3 n4 Z0=_imp [TD=_czas] [F=_częst [NL=_dług]] + [IC=_v1,_i1,_v2,_i2] Przykłady: TS 1 2 3 4 Z0=50 TD=10NS T1 12 0 3 0 Z0=75 F=100M NL=5 TXW2 2 5 3 0 Z0=93 F=25M Nazwa linii długiej zaczyna się od litery T . Model linii długiej w programie PSpice jest dwuwrotnikiem. W ten sposób modelowana jest tylko fala rozchodząca się wewnątrz linii . Fale rozchodzące się między np. masą, a jednym z przewodów linii muszą być modelowane za pomocą osobnej linii długiej. Parametry n1,n2 oznaczają numery węzłów tworzących wrota wejściowe, natomiast n3,n4 oznaczają numery węzłów tworzących wrota wyjściowe. Po słowie kluczowym Z0=, w polu _imp, podaje się wartość impedancji falowej linii wyrażoną w omach. Po słowie kluczowym TD=, w polu _czas, podaje się czas potrzebny na to by fala elektromagnetyczna przebyła linię. Czas ten można także zadeklarować w sposób pośredni. Mianowicie po słowie kluczowym F=, w polu _częst, podaje się częstotliwość7, dla której linia jest linią ćwierćfalową. Czas przelotu linii TD jest odwrotnie proporcjonalny do częstotliwości F: (2) Dopuszczalne jest także podanie, w polu _częst, dowolnej wartości częstotliwości. Wtedy w polu _dług, po słowie kluczowym NL= należy podać długość linii. Jednostką powinna być długość fali rozchodzącej się w linii dla częstotliwości podanej po słowie F=. Czas przelotu TD wyraża s/e wówczas wzorem: (3) Po słowie kluczowym IC= można podać w polach _v1,_i1 i _v2,_i2 napięcie i prąd odpowiednio na wejściu i wyjściu linii w chwili rozpoczęcia analizy stanu nieustalonego. Parametry te mają sens tylko wtedy, gdy instrukcja analizy stanów nieustalonych zawiera opcje UIC (strona 72). 6 W stosunku do czasów charakterystycznych dla reszty obwodu. 7 Wyrażoną w hertzach. Pierwsze kroki 9 1.4.6. Niezależne zródła napięcia i prądu Deklaracja niezależnego zródła napięcia (prądu) w strukturze obwodu ma postać: VXXXXXXX n+ n- [[DC] DC\TRAN wartość_z][AC[ _moduł[ _faza]]] IXXXXXXX n+ n- [[DC] DC\TRAN wartość_z][AC[ _moduł[ _faza]]] Przykłady: VCC 10 0 DC 10V V1 0 23 ICC 10 0 DC 6MA IW1 13 2 0.1 AC 0.1 45.0 Nazwa niezależnego zródła napięcia zaczyna się od litery V . Nazwa niezależnego zródła prądu zaczyna się od litery I . Parametry n+,n- oznaczają odpowiednio dodatni i ujemny biegun zródła. Parametr wartość_z, poprzedzony słowem kluczowym DC (lub DC/TRAN), oznacza w przypadku SEM wartość napięcia stałego (wyrażoną w woltach) jakie wytwarzane jest między dodatnim i ujemnym biegunem zródła. W przypadku SPM oznacza on wartość prądu stałego (wyrażoną w amperach) wymuszanego przez zródło. Należy przy tym zwrócić uwagę na fakt, że dodatni prądpłynie od dodatniego bieguna zródła przez zródło do ujemnego bieguna. Parametry _moduł i _faza poprzedzone słowem kluczowym AC oznaczają moduł i fazę napięcia (prądu) zmiennego wytwarzanego przez zródło. Brak parametrów oznaczają- cych wartość napięcia (prądu) dostarczanego przez zródło oznacza, że wartość ta wynosi zero. 1.4.7. yródła sterowane napięciem Program PSpice umożliwia umieszczenie w strukturze obwodu zródła napięcia (prądu) sterowanego napięciem. Odpowiednia deklaracja dla sterowanej SEM przyjmuje postać: EXXXXXXX n+ n- nc+ nc- wartość_s natomiast dla sterowanej SPM: GXXXXXXX n+ n- nc+ nc- wartość_s Przykłady: G1 2 0 5 0 0.1MHO EEM 20 30 11 10 1E3 Parametr n+ i n- oznacza numer węzła, w który wpięto odpowiednio dodatni biegun zródła i ujemny biegun zródła. Napięcie sterujące to różnica potencjałów między węzłem określonym przez parametr nc+ i węzłem określonym przez parametr nc-. W przypadku SEM sterowanej napięciem parametr wartość_s oznacza bezwymiarowe wzmocnienie napięciowe zródła. W przypadku SPM sterowanej napięciem parametr ten to transkonduktancja zródła o wymiarze [A/V]. 1.4.8. yródła sterowane prądem Program PSpice dopuszcza także występowanie w obwodzie zródeł sterowanych prądem. Deklaracja SEM sterowanej prądem: 10 Pierwsze kroki HXXXXXXX n+ n- _nazwa wartość_s Deklaracja SPM sterowanej prądem: FXXXXXXX n+ n- _nazwa wartość_s Przykłady: F1 2 5 VSTER 5 H1 1 15 VSTER 0.5K Parametr n+ i n- oznacza numer węzła, Tablica I Przyrostki literowe odpowiadające wktóry wpięto odpowiednio dodatni biegun kolejnym potęgom liczby dziesięć. zródła i ujemny biegun zródła. Parametr n+ i n- oznacza odpowiednio numer węzła, w Przed- Przyrostek Wartość który wpięto dodatni i ujemny biegun zró- rostek dła. Prąd sterujący płynie przez zródło napięcia, którego nazwa określona jest przez femto F 1.0E-15 pole _nazwa. W polu wartość_s w przy- pico P 1.0E-12 padku SEM sterowanej prądem podaje się nano N 1.0E-9 transrezystancję zródła (o wymiarze [V/A]). micro U 1.0E-6 W przypadku SPM sterowanej prądem mili M 1.0E-3 parametr podany w polu wartość_s oznacza bezwymiarowe wzmocnienie prądowe kilo K 1.0E+3 zródła. mega MEG 1.0E+6 giga G 1.0E+9 1.5. Wartości elementów tera T 1.0E+12 W przypadku wszystkich wymienionych wyżej deklaracji konieczne jest podawanie wielkości liczbowych opisujących element. Jak można zorientować się z przytoczonych przykładów wartości liczbowe mogą być podawane na trzy sposoby: Zwykłe liczby w zapisie dziesiętnym: 5 ; 15.3 ; -234.51 . Liczby zapisane za pomocą mantysy i wykładnika: 0.023=2.3E-2 ; 100=1E2 ; -0.3=-3.0E-1 . Litera E (ang. exponent wykładnik) oddziela zwykłą liczbę dziesiętną (mantysę) od wykładnika. Liczba jest równa iloczynowi mantysy i potęgi o podstawie dziesięć i wykładniku zapisanym po literze E. Liczby zapisane za pomocą przyrostków odpowiadających kolejnym potęgom liczby dziesięć. Przyrostki te odpowiadają przedrostkom przed nazwami jednostek fizycznych dopuszczalnych przez układ jednostek SI (patrz Tablica I). Wczesne wersje programu PSpice dopuszczały używanie tylko dużych liter. Stąd przyrostek oznaczający 106 to Pierwsze kroki 11 MEG, dla odróżnienia od przyrostka M oznaczającego 10-3. W ten sposób liczba 0.023 może zostać zapisana na wiele różnych sposobów np.: 23M ; 23000U ; 2.3E5K Ze względu na czytelność danych najbardziej preferowana jest ostatnia forma zapisywania wartości liczbowych. Poza wymienionymi ignorowane są wszelkie litery. Dzięki temu war- tości liczbowe można uzupełnić o skróty nazw odpowiednich jednostek fizycznych (patrz wcześniejsze przykłady). 1.6. Uwagi o metodzie analizy obwodu Wszystkie metody numeryczne stosowane do obliczania statycznego punktu pracy, charakterystyk zmiennoprądowych oraz do obliczania stanu nieustalonego sprowadzają się do szeregu analiz liniowego obwodu prądu stałego [28]. Stąd metoda stosowana do analizy takiego obwodu stanowi jądro każdego symulatora układów elektronicznych. Poniżej przedstawiona została zmodyfikowana metoda potencjałówwęzłowych stanowiąca podstawę działania programu PSpice. Czytelnicy bardziej zainteresowani szczegółami algorytmów numerycznej analizy obwodów powinni sięgnąć do monografii poświęconych temu tematowi np. [5],[4],[6],[2]. 1.6.1. Metoda potencjałówwęzłowych Przed przedstawieniem zmodyfikowanej metody potencjałów węzłowych należy przypomnieć samą metodę potencjałów wę- złowych. Metoda ta pole- ga na utworzeniu równań obwodu w następujących Rys.2. Przykładowy obwód analizowany metodą potencjałów trzech krokach: węzłowych. Wyróżniamy w obwodzie jeden z węzłów zwany węzłem masy. Dla wszystkich pozostałych węzłów zapisujemy równania pierwszego prawa Kirchoffa. Korzystając z równań opisujących elementy zawarte w gałęziach obwodu eliminujemy z równań pierwszego prawa Kirchoffa prądy gałęziowe. Z tak otrzymanych równań, korzystając z drugiego prawa Kirchoffa, eliminujemy napięcia gałęziowe przez potencjały węzłowe. 12 Pierwsze kroki Wykonanie ostatniego kroku jest możliwe tylko wtedy, gdy graf analizowanego obwodu jest spójny. Stąd program PSpice narzuca ograniczenie: dla każdego węzła obwodu musi istnieć stałoprądowa ścieżka, która łączy dany wezeł z wezłem masy (patrz strona 5). Stosując metodę potencjałówwęzłowych do obwodu o w węzłach otrzymuje się układ w-1 równań liniowych z w-1 niewiadomymi, którymi są potencjaływęzłowe obwodu. Rozwiązanie tego układu znajduje się zwykle jedną ze standardowych metod. W przypadku programu PSpice jest to rozkład LU [28]. Przykład: Rozważmy obwód przdstawiony na Rys. 2. Jeden z węzłów tego obwodu został wyróż- niony jako węzeł masy. Pozostałe dwa otrzymały numery1i 2. Wpierwszym kroku zapisuje- my równania pierwszego prawa Kirchoffa odpowiednio dla węzła 1 i węzła 2. (4) Po uwzględnieniu równań opisujących poszczególne elementy otrzymujemy: (5) Napięcia gałęziowe eliminujemy za pomocą potencjałówwęzłów1 i 2. (6) Równania (6) uporządkowane i przepisane w postaci macierzowej mają postać: (7) Lub krótko: (8) Macierz kwadratowa Y występująca po lewej stronie równania (8) nazywana jest macierzą admitancyjną układu. Wektor kolumnowy V złożony jest z potencjałów kolejnych węzłów obwodu. Wektor kolumnowy J występujący po prawej stronie równania (7) nazywany jest wektorem wymuszeń. Macierz admitancyjna obwodu oraz wektor wymuszeń są tworzone przez program PSpice w trakcie przetwarzania opisu obwodu. Algorytm tworzenia macierzy admitancyjnej Y obwodu: Pierwsze kroki 13 Na początku wszystkie elementy macierzy admitancyjnej Y układu są równe zeru. Jeżeli w strukturze obwodu pojawi się deklaracja opornika: R_nazwa n+ n- R to liczbę 1/R dodaje się do: Rys.3. Modyfikacja wprowadzana do macierzy elementu macierzy admitancyjnej, admitancyjnej obwodu po odczytaniu deklaracji opornika o wartości R. leżącego na przecięciu wiersza i kolumny odpowiadających węzłowi o numerze n+; elementu leżącego na przecięciu wiersza i kolumny odpowiadających węzłowi n-. Liczbę równą -1/R dodaje się do: elementu leżącego na przecięciu wiersza odpowiadającego węzłowi n+ i kolumny odpowiadającej węzłowi n-; elementu leżącego na przecięciu wiersza odpowiadającego węzłowi n- i kolumny odpowiadajacej wezłowi n+ (patrz Rys. 3). Jasne jest teraz dlaczego niedopuszczalne jest stosowanie oporników o wartości opor- nosci równej zero (strona 5). Przewodnos 1/R takiego opornika jest nieskonczona. c Jeżeli w strukturze obwodu pojawi się deklaracja zródła prądu sterowa- nego napięciem w postaci: G_nazwa n+ n- nc+ nc- Gt to liczbę Gt dodaje się do: elementu macierzy admitancyjnej leżącego na przecięciu kolumny Rys.4. Modyfikacja wprowadzana do macierzy odpowiadającej węzłowi n+ i wier- admitancyjnej po natrafieniu na deklarację sterowanej SPM o transkonduktancji Gt. sza odpowiadającego węzłowi nc+; elementu leżącego na przecięciu kolumny odpowiadającej węzłowi n- i wiersza odpowiadającego węzłowi nc-. Liczbę (-1) Gt dodaje się do: elementu leżącego na przecięciu kolumny odpowiadającej węzłowi n- i wiersza odpowiadającego węzłowi nc+; elementu leżącego na przecięciu kolumny odpowiadającej węzłowi n+ i wiersza odpowiadającego węzłowi nc- (Rys. 4). Algorytm tworzenia wektora wymuszeń J: Na początku wszystkie elementy J układu są równe zeru. 14 Pierwsze kroki Jeżeli w opisie obwodu pojawi się deklaracja niezależnego zródła prądu w postaci: I_nazwa n+ n- Is to: do elementu leżącego w wierszu odpowiada- jącym węzłowi n+ dodawana jest liczba równa (- 1) Is; Rys.5. Modyfikacja wektora do elementu leżącego w wierszu odpowiadają- wymuszeń wprowadzana po zidentyfikowaniu deklaracji cym węzłowi n- dodaje się liczbę równą SPM o wydajności Is. Is (Rys. 5). Zalety metody potencjałówwęzłowych, w stosunku do innych metod tworzenia równań obwodu, polegają na tym, że: Równania obwodu można łatwo tworzyć przeglądając kolejno linie danych zawierające deklaracje elementów. Macierz admitancyjna układu posiada na swojej przekątnej elementy różne od zera. Element leżący na przekątnej jest zwykle największym, co do wartości bezwzględnej, elementem w wierszu. Upraszcza to i przyspiesza działanie algorytmu rozwiązującego równania obwodu. Dla dużego obwodu macierz potencjałów węzłowych jest macierzą rzadką i można stosować metody numeryczne opracowane specjalnie dla tego typu macierzy. Metoda ta posiada także pewne wady, a mianowicie: Nie pozwala na analizę obwodu, który zawiera zródło prądu sterowane prądem lub sterowane zródło napięcia8. Nie pozwala na analizę obwodu, w którego węzły połączone są za pomocą niezależ- nego zródła napięcia9. W szczególności niedozwolone są zwarcia między węzłami (SEM o wartości 0V). Obliczenie dowolnego prądu w obwodzie wymaga wykonania dodatkowych obliczeń ponieważ metoda dostarcza tylko potencjałówwęzłowych. Usunięcie wymienionych niedogodności związane jest z modyfikacją metody tworzenia równań obwodu co prowadzi do tzw. zmodyfikowanej metody potencjałówwęzłowych. 8 Każdy obwód można przekształcić w ten sposób aby zawierał tylko zródła prądu sterowane napięciem. Metoda ta nie jest jednak wykorzystywana przez program PSpice. 9 SEM połączona szeregowo z opornikiem może zostać przekształcona na podstawie twierdzenia Norton-a na SPM połączoną równolegle z opornikiem [17]. Dlatego obwody zawierające takie połączenia mogą być analizowane metodą potencjałówwęzłowych. Pierwsze kroki 15 1.6.2. Zmodyfikowana metoda potencjałówwęzłowych Sposób postępowania przy tworzeniu równań obwodu, w przypadku zmodyfikowanej metody potencjałów węzłowych, jest zbliżony do tego, który stosowany jest w metodzie oryginalnej. Zilustrujemy go przykła- dem. Rys.6. Obwód analizowany zmodyfikowaną metodą potencjałów węzłowych. Przykład: Rozważmy obwód przedstawiony na Rys. 6. Zawiera on w swojej strukturze SEM oraz zródło napięcia sterowane napięciem. Równania pierwszego prawa Kirchoffa zapisane dla kolejnych węzłów obwodu przyjmują postać: (9) Podstawiamy do nich równania elementów: (10) Napięcia zastępujemy potencjałami węzłowymi i porządkujemy: (11) W ten sposób otrzymujemy trzy równania z pięcioma niewiadomymi. Dodatkowe zmienne to prąd płynący przez niezależne zródło napięcia I5 oraz prąd płynący przez zródło sterowane I7. Układ równań (11) uzupełniamy o równania opisujące niezależne zródło napięcia oraz zródło sterowane. Napięcia zostały już zastąpione różnicami potencjałówwęzłowych. 16 Pierwsze kroki (12) Równania (11) i (12) opisują wpełni stan układu. Ich postać macierzowa jest następująca: (13) Lub krótko: Macierz kwadratowa Ymod to zmodyfikowana macierz admitancyjna układu elektronicznego z Rys. 6. Wektor kolumnowy V to uogólniony wektor potencjałów węzłowych. Oprócz potencjałówwęzłowych tworzą go także prądy płynące przez zródła napięcia (tak niezależne jak i sterowane). Wektor J to uogólniony wektor wymuszeń. Zmiennymi opisującymi stan układu oprócz potencjałów węzłowych stały s/e prądy płynące przez zródła napięcia. Dzięki temu równania można zapisać także dla obwodu, który zawiera zródło sterowane prądem. Wystarczy aby prąd sterujący płynął przez niezależne zródło napiecia (strona 10). W strukture obwodu zawsze mozŁna wpiac SEM o wartos 0 ci (zwarcie) aby prąd sterujący płynął przez to zródło. A zatem stosując zmodyfikowaną metodę potencjałów węzłowych można analizować obwody, które zawierają wszystkie cztery typy zródeł sterowanych. Sposób dołączania parametrów zródła (napięcia, prądu) sterowanego prądem, zródła napięcia sterowanego napięciem oraz niezależnego zródła napięcia do zmodyfikowanej macierzy admitancyjnej i zmodyfikowanego wektora wymuszeń podsumowu- je Rys. 7. Zalety zmodyfikowanej metody potencjałówwęzłowych można podsumować następująco: Równania obwodu można utworzyć przetwarzając kolejno deklaracje elementów. Niepotrzebne są przekształcenia obwodu. Można analizować obwody zawierające wszystkie typy zródeł niezależnych i sterowanych. Elementy przekątnej głównej, zmodyfikowanej macierzy admitancyjnej Ymod, w większości wypadków są niezerowe i są elementami dominującymi co ma istotny wpływ na skrócenie czasu potrzebnego na rozwiązanie równań obwodu. Pierwsze kroki 17 Rys.7. Sposób w jaki zmodyfikowana metoda potencjałów węzłowych uwzględnia w równaniach obwodu elementy niedopuszczalne w przypadku metody oryginalnej.