Symulacja z zastosowaniem modeli zewnętrznych
Stanęliśmy wobec problemu symulacji układu, w którym zastosowano układ nie produkowany przez dawnego Linear Technologies lub Analog Devices. Modele układów scalonych tylko tych dwóch firm znajdują się w standardowej bibliotece LTspice. Nie przekreśla to jednak możliwości symulowania układów innych firm, trzeba tylko zadać sobie nieco trudu ze znalezieniem odpowiedniego modelu. Najczęściej poszukiwania rozpoczynamy od stron producentów, ale nierzadko modele takie można znaleźć również na innych stronach, np. na różnych forach dyskusyjnych. Nie zawsze poszukiwania zakończą się znalezieniem modeli przeznaczonych dla programu LTspice, ale modele np. PSpice będą poprawnie odczytywane w naszym symulatorze.
Model to plik tekstowy, w którym za pomocą specjalnych symboli są zdefiniowane poszczególne wyprowadzenia układu, zawarte są parametry badanego układu i opisane jest jego zachowanie się na określone wymuszenia. Znaleziony w sieci model wzmacniacza operacyjnego TL084 pokazano na listingu 1.
* TL084 OPERATIONAL AMPLIFIER “MACROMODEL” SUBCIRCUIT
* CREATED USING PARTS RELEASE 4.01 ON 06/16/89 AT 13:08
* (REV N/A) SUPPLY VOLTAGE: +/-15V
* CONNECTIONS: NON-INVERTING INPUT
* | INVERTING INPUT
* | | POSITIVE POWER SUPPLY
* | | | NEGATIVE POWER SUPPLY
* | | | | OUTPUT
* | | | | |
.SUBCKT TL084 1 2 3 4 5
*
C1 11 12 3.498E-12
C2 6 7 15.00E-12
DC 5 53 DX
DE 54 5 DX
DLP 90 91 DX
DLN 92 90 DX
DP 4 3 DX
EGND 99 0 POLY(2) (3,0) (4,0) 0 .5 .5
FB 7 99 POLY(5) VB VC VE VLP VLN 0 4.715E6 -5E6 5E6 5E6 -5E6
GA 6 0 11 12 282.8E-6
GCM 0 6 10 99 8.942E-9
ISS 3 10 DC 195.0E-6
HLIM 90 0 VLIM 1K
J1 11 2 10 JX
J2 12 1 10 JX
R2 6 9 100.0E3
RD1 4 11 3.536E3
RD2 4 12 3.536E3
RO1 8 5 150
RO2 7 99 150
RP 3 4 2.143E3
RSS 10 99 1.026E6
VB 9 0 DC 0
VC 3 53 DC 2.200
VE 54 4 DC 2.200
VLIM 7 8 DC 0
VLP 91 0 DC 25
VLN 0 92 DC 25
.MODEL DX D(IS=800.0E-18)
.MODEL JX PJF(IS=15.00E-12 BETA=270.1E-6 VTO=-1)
.ENDS
Istnieje kilka metod użycia takiego modelu w programie LTspice. Tu zostanie przedstawiona chyba najszybsza i najprostsza metoda. Naszym zadaniem jest umieszczenie tekstu pokazanego w listingu 1 bezpośrednio w oknie symulacji. Nie jest do tego nawet potrzebne ściągnięcie pliku na własny dysk. Cały tekst modelu kopiujmy z dowolnego źródła do pamięci podręcznej, następnie wklejamy go w oknie komend otwieranym kliknięciem na ikonkę z opisem „.op” lub naciśnięciem na klawisz S klawiatury komputerowej (rysunek 2).
W otwartym oknie kopiujemy tekst zapisany w pamięci podręcznej i wszystko zatwierdzamy ekranowym przyciskiem OK, upewniając się wcześniej, że jest zaznaczona opcja „SPICE directive”. Tekst modelu układu TL084 zostaje tym samym umieszczony w oknie edytora schematowego LTspice. Pierwszy krok mamy za sobą, teraz umieszczamy symbol wzmacniacza operacyjnego wybierając z biblioteki standardowej symbol „opamp2” (rysunek 3).
Gdy jest on już umieszczony na schemacie zmieniamy typ z „Opamp2” na „TL084”. Ważne jest, aby ten typ był dokładnie taki sam, jaki jest w modelu (rysunek 4).
Od tej chwili układ TL084 może być symulowany tak, jakby jego model był pobrany ze standardowej biblioteki LTspice’a. Wadą tej metody jest permanentna widoczność na ekranie tekstu modelu, który czasami może być dość duży. Działanie optymalnego powiększenia (ikona przekreślonej lupy) obejmuje wszystkie elementy edytora, może więc zdarzyć się, że powiększenie samego schematu nie będzie optymalne.
Alternatywna metoda wymaga ściągnięcia pliku modelu na własny dysk i przeciągnięcie go z okna menedżera plików do okna symulatora. Model zostanie otwarty jako tekst w nowej zakładce symulatora, co jest odpowiednikiem umieszczenia go na schemacie.
Do porównania szybkości działania komparatora i zwykłego wzmacniacza operacyjnego musimy jeszcze wstawić na schemacie komparator i uzupełnić schemat o źródła sygnałów i źródła zasilające. Zgodnie z zapowiedzią do porównania bierzmy komparator LT1016 i wzmacniacz TL084. Schemat pokazano na rysunku 5. Kilka elementów tego schematu wymaga wyjaśnienia.
Komparator LT1016 ma dwie końcówki, do których jest doprowadzane dodatnie i ujemne napięcie zasilające, wyprowadzenie masy, wejście zatrzaskujące stan wyjścia („latch”) wejścia sygnałowe (odwracające i nieodwracające) oraz wyjście proste i zanegowane. W naszej symulacji oba układy są zasilane jednym napięciem, dlatego końcówkę ujemnego napięcia zasilającego dołączono do masy. Do poprawnej pracy rzeczywistego komparatora wejście „Latch” również powinno być dołączone do masy, ale w symulatorze warunek ten nie jest konieczny. Można to traktować jako błąd modelu.
Wejścia odwracające układów dołączono do źródła napięcia 2,5 V. Jest to napięcie referencyjne, do którego są porównywane napięcia z wejść nieodwracających. Źródło sygnału generuje przebieg prostokątny o współczynniku wypełnienia 1/2. Przyjęto, że czas narastania i opadania jest równy 1 ns. Częstotliwość 1 kHz określono parametrycznie parametrem „f”.
Uruchamiamy symulację TRANSIENT z parametrem 3 ms. Dla zwiększenia precyzji obliczeń parametrowi „Maximum Timestep” nadajemy wartość 1 ns. Do wykresu wybieramy przebieg wejściowy i oba przebiegi wyjściowe. Na ekranie ukazują się trzy okresy przebiegu, ale nas interesują tylko zbocza. Najpierw powiększamy przebieg w okolicach drugiego zbocza narastającego (rysunek 6). Od razu można zauważyć różnice w szybkości działania układów. Podobnie postępujemy z obserwacją zbocza opadającego. Tym razem oczywiście powiększamy ten fragment przebiegów (rysunek 7).
Pomiar poszczególnych czasów z użyciem kursorów mógłby być niezbyt dokładny, zastosujemy więc pomiar czasów narastania i opadania oraz czasu odpowiedzi z zastosowaniem komendy MEASURE. Rozważania przeprowadzimy dla wyjścia 1., a dla wyjścia 2. należy wykonać analogiczne obliczenia.
Czas narastania jest liczony od chwili, gdy napięcie osiągnie 10% różnicy między napięciem maksymalnym i minimalnym do chwili, gdy napięcie osiągnie 90% tej różnicy. Konieczne jest więc wyznaczenie wartości minimalnej i maksymalnej. Są one obliczane komendami:
.meas TRAN Uwy1min MIN V(wy1)
.meas TRAN Uwy1max MAX V(wy1)
Różnica między tymi napięciami (du1) jest równa:
.meas du1 param Uwy1max-Uwy1min
Napięcie, po przekroczeniu którego jest inicjowany pomiar czasu (up11) oraz napięcie, po przekroczeniu którego pomiar czasu jest zatrzymywany (up12) są obliczane komendami:
.meas up11 param Uwy1min+.1*du1
.meas up12 param Uwy1min+.9*du1
Mamy już wszystkie dane do obliczenia czasu narastania (tru1) i opadania (tfu1) napięcia na wyjściu:
.meas TRAN tru1 TRIG V(wy1)=up11 RISE=2 TARG v(wy1)=up12 RISE=2
.meas TRAN tfu1 TRIG V(wy1)=up12 FALL=2 TARG v(wy1)=up11 FALL=2
Sekwencja TRIG V(wy1)=up11 RISE=2 określa warunek rozpoczęcia pomiaru. Opcja RISE=2 została użyta, aby pod uwagę był brany drugi okres przebiegu, a nie pierwszy, który mógłby być objęty jakimiś ewentualnymi stanami nieustalonymi. Podobnie jest z sekwencją TARG v(wy1)=up12 RISE=2, która dotyczy warunku zakończenia pomiaru czasu. Dokładnie na tej samej zasadzie obliczmy czas opadania, przy czym muszą być zamienione miejscami wartości up11 i up12 – teraz najpierw występuje up12, a dopiero po nim up11.
Czas odpowiedzi zdefiniujemy jako czas, po którym napięcie wyjściowe przyjmuje wartość odpowiadającą osiągnięciu przeciwnego stanu dla wybranej logiki cyfrowej. Jeśli założymy, że jest to CMOS 5 V, to napięciem progowym jest połowa napięcia zasilającego, czyli w naszym przypadku 5 V. Obliczymy czas odpowiedzi dla zbocza narastającego i opadającego:
.meas TRAN trespr1 TRIG time=1m TARG v(wy1)=2.5 RISE=2
.meas TRAN trespf1 TRIG time=1.5m TARG v(wy1)=2.5 FALL=2
Pomiar czasu dla zbocza narastającego (trespr1) rozpoczynamy w chwili t=1 ms (w tym momencie pojawia się zmiana napięcia wejściowego), kończymy zaś w chwili, gdy napięcie wyjściowe osiąga wartość 2,5 V na drugim zboczu narastającym. Podobnie postępujemy dla zbocza opadającego, które zaczyna się w chwili t=1,5 ms. Pomiar kończy się po osiągnięciu napięcia 2,5 V na drugim zboczu opadającym. Po zakończeniu symulacji wyniki odczytujemy w oknie otwieranym komendą „SPICE Error Log” (rysunek 8).
Po przeprowadzeniu pomiarów okazało się, że model wzmacniacza TL084 nie sprawdza się zbyt dokładnie w nietypowym zastosowaniu tego układu, jakim jest komparator. Na rysunku 9 pokazano zmierzone odpowiedzi rzeczywistych układów. Są na nim porównane układy TL084 i AD8561.