background image

Po  zmaganiach  z rysowaniem  sche-

matów oraz projektowaniem p³ytek przy-
sz³a kolej na modu³ symulacji. Zachêcam
do dok³adnego zapoznania siê z nim za-
równo doœwiadczonych elektroników, jak
i tych  zupe³nie  pocz¹tkuj¹cych.  Dla
pierwszej grupy osób bêdzie on doskona-
³ym narzêdziem pozwalaj¹cym na spraw-
dzenie  poprawnoœci  pracy  bardziej
skomplikowanych  uk³adów  i wykrycie
b³êdów  jeszcze  podczas  tworzenia  sche-
matu  ideowego.  Mo¿liwoœæ  obserwacji
przebiegów w dowolnym miejscu uk³adu
pomo¿e  pocz¹tkuj¹cym  elektronikom
w zrozumieniu zasady dzia³ania zupe³nie
podstawowych uk³adów. 

Pierwsz¹  czynnoœci¹  potrzebn¹  do

wykonania  symulacji  jest  stworzenie  go-
towego  schematu  w module  Schematic
Editor
. Jednak aby symulacja by³a mo¿li-
wa  do  przeprowadzenia,  modu³  Circut
Simulation 
potrzebuje  pewnych  dodat-
kowych  informacji  o ka¿dym  elemencie
w zaprojektowanym  obwodzie.  S¹  to
miêdzy innymi symbol elementu i nazwa
biblioteki  definiuj¹cej  jego  parametry
elektryczne. Informacje te przechowywa-
ne s¹ w specjalnych bibliotekach symbo-
lów  elementów.  Mo¿liwe  do  zasymulo-
wania elementy znajduj¹ siê w bibliotece
\Program  Files\Design  Explorer  99\Li-
brary\Sch\Sim.ddb
. Ka¿dy z symboli ele-
mentów  zawartych  w tej  bibliotece  za-
wiera nazwê modelu symulacyjnego opi-

suj¹cego sposób jego dzia³ania. Mo¿liwe
s¹ do przeprowadzenia symulacje analo-
gowe, cyfrowe lub analogowo-cyfrowe.

Jeœli  stworzyliœmy  uk³ad  z³o¿ony

z elementów  biblioteki  Sim.ddb,  to  do
przeprowadzenia  symulacji  pozostaj¹
nam ju¿ tylko trzy proste kroki:
1. Do³¹czamy do uk³adu odpowiednie

Ÿród³a sygna³ów (np. sinusoidalne);

2. Okreœlamy punkty obwodu w których 

chcemy obserwowaæ przebiegi;

3. Konfigurujemy symulator

Przed  rozpoczêciem  symulacji  bar-

dzo  wa¿n¹  rzecz¹  jest  opisanie  ka¿dego
elementu  niepowtarzaln¹  nazw¹  (Desi-
gnator
).  Zwykle  dla  uk³adów  scalonych
stosuje siê nazwy U1, U2... , dla rezysto-
rów  R1,  R2...  itd.  Nie  wykonanie  tej
czynnoœci  spowoduje,  ¿e  kilka  elemen-
tów  bêdzie  posiada³o  tak¹  sam¹  nazwê,
co  doprowadzi  do  powstawania  b³êdów
podczas symulacji. Automatyczne nume-
rowanie  elementów  mo¿emy  wykonaæ
dziêki opcji Menu/Tools/Annotate... .

Podczas  definiowania  wartoœci  ró¿-

nych elementów spotkamy siê z koniecz-
noœci¹  wpisywania  liczb  bardzo  du¿ych
lub bardzo ma³ych. Mo¿emy wykonaæ to
na kilka sposobów. 
Przyk³adowo zapisy:
1000 , 1000.0 , 1000Hz , 1e3 , 1.0e3 ,
1KHz  i 1K reprezentuj¹  t¹  sam¹  liczbê
równ¹ 1000.

Nale¿y  pamiêtaæ  aby  zapisywaæ  je

jednym  ci¹giem  znaków,  nie  wstawiaj¹c
pomiêdzy  litery  i cyfry  znaków  spacji.
Wszystkie mo¿liwe do zastosowania lite-

ry  i odpowiadaj¹ce  im  mno¿niki  zesta-
wiono w Tabeli 1.

Zdefiniowane  Ÿród³a  sygna³ów  znaj-

duj¹  siê  tak¿e  w bibliotece  Sim.ddb
w zbiorze Symulation Symbols.lib. Na-
tomiast  najprostsze  z nich,  takie  jak
Ÿród³a  napiêæ  sta³ych,  sinusoidalnych
i prostok¹tnych  mo¿emy  znaleŸæ  w Me-
nu/Simulate/Sources>
.  Posiadaj¹  one
zdefiniowane wszystkie parametry (nale-
¿y tylko wype³niæ pole Designator) i do-
skonale  nadaj¹  siê  do  przeprowadzenia
pierwszych prób z symulatorem.

W celu  zaprezentowania  mo¿liwoœci

modu³u symulacji wybra³em jeden z go-
towych  uk³adów  przyk³adowych  o na-
zwie  Analog  Amplifier i znajduj¹cy  siê
w katalogu    \Program  Files\Design
Explorer  99\Examples\
.  Jest  to  prosty
wzmacniacz m.cz. zbudowany w oparciu
o koœæ mA 741. Takie rozwi¹zanie ustrze-
¿e czytelnika od pope³niania b³êdu pod-
czas  rysowania  schematu  i pozwoli  sku-
piæ siê na samej symulacji. Schemat ide-

Protel Design Explorer 99 cz. 4

37

12/99

Programy komputerowe

Symbol

Mno¿nik

T

10

12

G

10

9

Meg

10

6

K

10

3

mil

25,4

–6

m

10

–3

u

10

–6

n

10

–9

p

10

–12

f

10

–15

Tabela 1 – Przedrostki stosowane 

w zapisie liczbowym

Rys. 1 Schemat ideowy symulowanego uk³adu

Rys. 2 Okienko g³ówne definiowania parametrów symulacji

Rozpoczêcie pracy z symulatorem

background image

owy  omawianego  wzmacniacza  widocz-
ny jest na rysunku 1.

Posiadaj¹c ju¿ w pe³ni gotowy sche-

mat ideowy mo¿emy przejœæ do zdefinio-
wania  warunków  symulacji  uk³adu.  Wy-
wo³uj¹c  Menu/Simulate/Setup...  otwo-
rzymy  okienko  (rysunek  2)  pozwalaj¹ce
na  ustawienie  wszystkich  parametrów
pracy  symulatora.  W górnej  czêœci  okna
znajduj¹ siê zak³adki, których wywo³anie
pozwala nam na konfiguracje wybranych
sposobów  symulacji.  Symulacje  ,  które
maj¹  zostaæ  wykonane  zaznaczamy
w sekcji  Select  Analyses  to  Run.  Lista
wyboru Collect Data For okreœla jakiego
typu  dane  powinny  zostaæ  obliczone
podczas  symulacji  i zapisane  do  pliku
wynikowego.  Nale¿y  wybraæ  odpowie-
dni¹ z nich. Pierwsze cztery pozwalaj¹ na
obliczanie  danych  dla  wszystkich  warto-
œci  danego  typu  (pr¹dy,  napiêcia  etc.).
Ostatnia  opcja  (Active  Signals)  spowo-
duje, i¿ obliczenia bêd¹ wykonywane je-

dynie  dla  sygna³ów  znajduj¹cych  siê  na
liœcie w okienku Active Signals. Rozwi¹-
zanie  takie  posiada  zarówno  wady  jak
i zalety. Wad¹ jest koniecznoœæ ponowne-
go  przeprowadzenia  symulacji  w przy-
padku  koniecznoœci  obejrzenia  dodatko-
wych  sygna³ów.  Niew¹tpliw¹  zalet¹  na-
tomiast  szybkoœæ  wykonywania  obliczeñ
oraz  niewielki  rozmiar  pliku  wynikowe-
go.  Aktywne  sygna³y  (Active  Signals)
wybieramy  z listy  wszystkich  sygna³ów
(Available  Signals).  S³u¿¹  do  tego  wi-
doczne  pomiêdzy  oba  oknami  przyciski
pozwalaj¹ce  na  przemieszczanie  z okna
do  okna  pojedynczego  sygna³u  („<”  ,
„>”)  lub  wszystkich  zaznaczonych
(„<<” , „>>”). Lista wyboru Sheets to
Netlist pozwala na wybranie zakresu pro-
wadzonej  symulacji  (ca³y  projekt,  poje-
dynczy  schemat  ...).  Ostatnim  elemen-
tem  okienka  jest  grupa  SimViewSetup.
Pozwalaj¹ one na zapamiêtanie ostatnie-
go  ustawienia  parametrów  symulatora,

oraz  wyœwietlanie  jedynie  przebiegów
znajduj¹cych siê w oknie Active Signals

Program pozwala na wykonanie kil-

ku  ró¿nych  symulacji  uk³adu.  Postaram
siê teraz opisaæ ka¿d¹ z nich. Przedstawiê
zatem sposoby konfiguracji oraz przyk³a-
dowe przebiegi otrzymane w wyniku wy-
konania symulacji uk³adu widocznego na
rysunku 1. 

Najprostsz¹  analiz¹  uk³adu  jest

Operating  Point  Analysis.  Tego  typu
symulacja  wykonywana  jest  zawsze
przed  symulacjami  Transident lub  AC
Small Signal 
i jest niezbêdna do zbada-
nia  warunków  pocz¹tkowych  pracy
uk³adu  oraz  ustalenia  niektórych  auto-
matycznie  definiowanych  parametrów
symulacji.  Pierwsz¹  u¿yteczn¹  analiz¹
jest Transient Analysis, czyli symulacja
przejœciowa uk³adu. Generuje ona prze-

38

12/99

Protel Design Explorer 99 cz.4

Rys. 4 Wynik symulacji 

Transient

Rys. 3 Parametry symulacji

Transient

Rys. 6 Wynik symulacji 

AC Small Signal

Rys. 5 Parametry symulacji 

AC Small Signal

Symulacja uk³adu

background image

biegi jakie zwykle mo¿emy otrzymaæ na
ekranie  oscyloskopu,  czyli  odpowiedz
pr¹dow¹  lub  napiêciow¹  uk³adu
w funkcji czasu, która jest wynikiem po-
budzenia  sygna³em  wejœciowym.  Anali-
za  tego  typu  zawsze  rozpoczyna  siê  od
czasu równego zero. 

W przedziale czasu pomiêdzy zerem

a wartoœci¹ pola Start Time (rysunek 3)
symulacja  tak¿e  jest  wykonywana,  lecz
jej wyniki nie s¹ zapamiêtywane. Jest to
niezbêdne  do  okreœlenia  w jakim  stanie
znajdowa³ siê uk³ad w momencie rozpo-
czêcia 

obserwacji 

(Start 

Time).

W przedziale  czasowym  pomiêdzy  Start
Time 
Stop Time wykonywane s¹ obli-
czenia,  które  nastêpnie  mo¿emy  ogl¹d-
n¹æ w postaci wykresu. Parametr Step Ti-
me 
okreœla co jaki interwa³ czasowy po-
winny  byæ  wykonywane  obliczenia.  Im
jest  on  mniejszy,  tym  symulacja  jest  do-
k³adniejsza,  lecz  wymaga  wiêcej  czasu
i pamiêci. Jednak nie jest to zmienna sta-
tyczna.  Symulator  automatycznie  j¹
zmienia  w razie  koniecznoœci  (np.  gdy
wystêpuj¹ szybko narastaj¹ce lub opada-
j¹ce zbocza sygna³u analiza uk³adu wyko-
nywana jest czêœciej). Wartoœæ parametru
Maximum  Step okreœla  jaki  mo¿e  byæ
maksymalny  interwa³  czasu,  który  pro-
gram mo¿e ustaliæ automatycznie. Typo-
wo Czasy Step Time Maximum Step 
takie same.

Program  mo¿e  automatycznie  usta-

wiæ  te  czasy  korzystaj¹c  z parametrów
wpisanych  w sekcji  Default  Parame-
ters
. Definiujemy tam iloœæ cykli obser-
wowanego  sygna³u,  które  chcemy
ogl¹dn¹æ  (Cycles  Displayed)  oraz  iloœæ
wykonywanych obliczeñ w ci¹gu jedne-
go cyklu. 

Pole Use Initial Conditions pozwala

na  rozpoczêcie  symulacji  z innymi  para-
metrami  pocz¹tkowymi  elementów,  ni¿
s¹ domyœlnie przyjête (np. domyœlnie na
pocz¹tku  symulacji  wszystkie  kondensa-
tory  s¹  roz³adowane).  W naszym  przy-
padku nie korzystamy z tej opcji. Symu-
lacjê widoczn¹ na rysunku 4 przeprowa-
dzono  dla  wartoœci  domyœlnych,  i wi-
doczne  s¹  na  nim  przebiegi  napiêcia  na
wejœciu i wyjœciu uk³adu.

Kolejnym  bardzo  czêsto  wykorzysty-

wanym typem symulacji jest AC Small Si-
gnal
.  Analiza  tego  typu  generuje  odpo-
wiedz czêstotliwoœciow¹ uk³adu. Symula-
cja wykonywana jest dla ma³ej amplitudy
sygna³u wejœciowego, a jej wynikiem jest
amplituda sygna³u wyjœciowego w funkcji
czasu.  Mo¿emy  dziêki  niej  okreœlaæ  pa-
smo  przenoszenia  uk³adu.  W celu  prze-
prowadzenia symulacji tego typu, do wej-
œcia  uk³adu  musi  zostaæ  przy³¹czone  co
najmniej  jedno  Ÿród³o  przebiegu  zmien-
nego.  Analizowany  przyk³ad  spe³nia  ten
wymóg  (Ÿród³o  napiêciowe  Vin).  Ampli-
tuda przebiegu podawana jest w ustawie-
niach Ÿród³a jako parametr AC Part Field.
Ustawienie wartoœci 1 pozwoli na obser-
wacjê wzmocnienia w odniesieniu do po-
ziomu  0  dB.  Kród³o  to  na  czas  symulacji
zastêpowane jest poprzez generator prze-
biegu  sinusoidalnego  o czêstotliwoœci
zmieniaj¹cej  siê  od  Start  Frequency do
Stop  Frequency z krokiem  okreœlonym
przez parametry Test Pionts oraz Sweep
Type
.  Parametry  wykonania  symulacji
ustawiamy  w zak³adce  AC  Small  Signal
okienka  Analyses  Setup.  Widoczne  jest
ono na rysunku 5. Opcje Sweep Type de-
finiuj¹ iloœæ punktów testowych w nastê-
puj¹cy sposób:

Linear – Wartoœæ Test Points okreœla ca³-
kowit¹ iloœæ punktów testowych dla ca³ej
symulacji;
Decade –  Wartoœæ  Test  Points okreœla
iloœæ punktów testowych na ka¿d¹ deka-
dê  zmiennoœci  czêstotliwoœci  sygna³u
wejœciowego;
Octave –  Wartoœæ  Test  Points okreœla
iloœæ  punktów  testowych  na  ka¿d¹  okta-
wê  zmiennoœci  czêstotliwoœci  sygna³u
wejœciowego.

Iloœæ rzeczywiœcie obliczanych punk-

tów podczas ca³ej symulacji wyœwietlana
jest  jako  wartoœæ  zmiennej  Total  Test
Points
.

Wynik  przyk³adowej  symulacji  tego

typu  przedstawia  rysunek  6.  Przedsta-
wiony wykres celowo odbiega od przyjê-
tej  normy  dla  tego  typu  charakterystyk.
Mianowicie skala czêstotliwoœci jest linio-
wa  zamiast  logarytmiczna,  natomiast
wzmocnienie  sygna³u  nie  zosta³o  przed-
stawione w dB. Jest to bowiem domyœlny
sposób  rysowania  wykresów.  Sposób
zmiany  tych  ustawieñ  zostanie  opisany
podczas prezentacji obs³ugi okienka pre-
zentacji wyników symulacji. 

Symulacja DC Sweep wykonuje ca³¹

seriê symulacji typu Operating Point, za
ka¿dym  razem    modyfikuj¹c  napiêcia
w zadanych Ÿród³ach. Pozwala to na uzy-
skanie charakterystyki przejœciowej uk³a-
du dla pr¹du sta³ego. Jak wynika z rysun-
ku  7  mo¿liwa  jest  symulacja  dla  dwóch
napiêæ  wejœciowych.  Zdefiniowanie
pierwszego  z nich  jest  konieczne,  nato-
miast drugiego opcjonalne. W liœcie wy-
boru  znajduj¹  siê  nazwy  wszystkich  do-
stêpnych w uk³adzie Ÿróde³ (Source Na-
me
).  Parametry  Start  Value oraz  Stop
Value 
okreœlaj¹  pocz¹tkowe  i koñcowe

39

12/99

Protel Design Explorer 99 cz.4

Rys. 8 Wynik symulacji 

DC Sweep 

Rys. 7 Parametry symulacji 

DC Sweep 

background image

wartoœci  dla  wybranego  Ÿród³a,  nato-
miast pole Step Value definiuje wielkoœæ
kroku zmiany wartoœci Ÿród³a. 

Widoczny  na  rysunku  8  wynik  sy-

mulacji  przeprowadzony  zosta³  przy
zmiennych  wartoœciach  napiêæ  Vin (na-
piêcie wejœciowe) oraz V1 (dodatnie na-
piêcie zasilaj¹ce). Napiêcie Vin zmienia-
³o siê od –2 V do 2 V z krokiem 20 mV,
natomiast V1 od 10 V do 15 V z krokiem
1 V. Dziêki temu otrzymaliœmy szeœæ cha-
rakterystyk.  Na  osi  X widoczny  jest  za-
kres  zmiennoœæ  wartoœæ  napiêcia  Vin,
natomiast na osi Y zakres zmiennoœci na-
piêcia  wyjœciowego.  Z otrzymanej  cha-
rakterystyki wynika, ¿e wzmocnienie dla
napiêcia  sta³ego  wynosi  10  (dla
V1=+12 V).  Dla  zakresu  napiêæ  ujem-
nych sygna³u wejœciowego otrzymujemy
dodatni  sygna³  na  wyjœciu  (wzmacniacz
odwraca  fazê  sygna³u).  Natomiast  ma-
ksymalna  dodatnia  wartoœæ  napiêcia  na
wyjœciu uk³adu zale¿y od wartoœci napiê-
cia zasilaj¹cego V1.

Analiza Monte Carlo wykonuje kilka

niezale¿nych  symulacji  uk³adu,  przy
czym  dla  ka¿dej  z nich  stosuje  losowo
wybrane  (w zakresie  okreœlonej  toleran-
cji) wartoœci elementów. Analiza tego ty-
pu  nie  mo¿e  byæ  wykonana  samodziel-
nie, lecz tylko w kooperacji z symulacja-
mi  typu  AC,  DC lub  Transient.  Taka  sy-
mulacja zapisuje dane jedynie dla sygna-
³ów  okreœlonych  w liœcie  Active  Signals
okienka  Setup  Analyses.  Wykorzystuje-
my j¹ w celu okreœlenia wp³ywu wartoœci
tolerancji  rzeczywistych  elementów  na
warunki  pracy  uk³adu.  Pozwoli  na  okre-
œlenie  które  z elementów  powinny  cha-
rakteryzowaæ siê ma³¹ wartoœci¹ toleran-
cji, a których nawet znaczne odstêpstwo

od  wartoœci  nominalnej  wprowadza  je-
dynie niewielk¹ zmianê w pracy uk³adu.
Dziêki  temu  bêdzie  mo¿liwe  zastosowa-
nie  lepszych,  a wiêc  dro¿szych  elemen-
tów  jedynie  w pewnych  newralgicznych
punktach uk³adu. Okienko odpowiedzial-
ne za konfiguracje symulacji przedstawia
rysunek 9. Pole Simulation Runs okreœla
ile jednostkowych symulacji powinno zo-
staæ przeprowadzonych. Parametr Simu-
lation  Seed 
jest  pewn¹  liczb¹  wykorzy-
stywan¹  w procesie  generacji  liczb  loso-
wych.  Domyœlnie  ustawiona  jest  na  –1.
W przypadku , kiedy chcemy wygenero-
waæ inn¹ seriê zmiennych losowych nale-
¿y zmodyfikowaæ t¹ wartoœæ. W wiêkszo-
œci przypadków nie jest to konieczne. 

Grupa  opcji  Default  Distribution

pozwala  na  wybranie  rozk³adu  wed-
³ug  którego  losowane  bêd¹  wartoœci 
elementów. 
Uniform  distribution –  jest  to  rozk³ad
w którym wylosowanie jakiejkolwiek licz-
by  z zadanego  przedzia³u  jest  tak  samo
prawdopodobne.  Przyk³adowo  dla  rezy-
stora  o wartoœci  1 kW i tolerancji  10%
jednakowo  prawdopodobne  bêdzie  wy-
losowanie  dowolnej  wartoœci  z zakresu
900 W do 1100 W. 
Gaussian distribution – ten typ rozk³adu
generuje zmienne losowe, których praw-
dopodobieñstwo  wyst¹pienia  jest  wiêk-
sze  w pobli¿u  wartoœci  nominalnej.
W naszym przypadku wyst¹pienie warto-
œci  bliskiej  1000 W bêdzie  bardzo  du-
¿e,  natomiast  wartoœci  900 W

lub 

1100 W znikome. 
Worst Case distribution – jest to rozk³ad
podobny do rozk³adu uniform, z t¹ ró¿ni-
c¹, ¿e pod uwagê brane s¹ tylko wartoœci
krytyczne. Dla rezystora 1k W ±10% bê-

d¹ to wiêc 900 W oraz 1100 W. Dla ka¿-
dej  wykonywanej  symulacji  bêdzie  jed-
nakowo  prawdopodobne  wylosowanie
wartoœci 900 lub 1100. 

Mo¿emy  okreœliæ  wartoœci  domyœl-

nych tolerancji dla szeœciu grup elemen-
tów: rezystorów, kondensatorów, induk-
torów, Ÿróde³ napiêcia sta³ego, wartoœci
beta tranzystorów oraz czasu propagacji
elementów  cyfrowych.  Ka¿d¹  z nich
wpisujemy  w grupie  Monte  Carlo  De-
fault Tolerances
. Wartoœæ ka¿dego ele-
mentu  jest  niezale¿nie  losowana  (w za-
kresie tolerancji) dla ka¿dego elementu.
Przyk³adowo  jeœli  w uk³adzie  znajduj¹
siê dwa rezystory o wartoœci nominalnej
1000  W,  to  podczas  symulacji  ich  war-
toœæ  mo¿e  zostaæ  losowo  okreœlo-
na  np.  na  953  W dla  jednego  z nich 
i 1022 W dla drugiego. 

W przypadku  kiedy  chcemy  u¿yæ

specjalnych  wartoœci  tolerancji  dla  wy-
branego przez nas elementu powinniœmy
skorzystaæ z przycisku Add... znajduj¹ce-
go siê w grupie Specific Device Toleran-
ces
.  W takim  przypadku  dla  wybranych
elementów  losowanie  wartoœci  bêdzie
przeprowadzane z ich specyficznymi pa-
rametrami, takimi jak tolerancja i stoso-
wany rozk³ad. 

W analizowanym  przyk³adzie  10%

tolerancja  nie  wp³ywa  w bardzo  du¿y
sposób  na  jego  warunki  pracy.  Dlatego
te¿  dla  dobrego  uwidocznienia  wp³ywu
tolerancji  elementów  wprowadzono  jej
du¿e  wartoœci.  Widoczna  na  rysunku  10
symulacja Monte Carlo przeprowadzona
zosta³a  we  wspó³pracy  z symulacj¹  typu
Transient.

40

12/99

Protel Design Explorer 99 cz.4

à

Jaros³aw Piotrkowiak

Rys. 10 Wynik symulacji 

Monte Carlo

Rys. 9 Parametry symulacji 

Monte Carlo