Handleiding Microsim

Handleiding Microsim
Introductie
MicroSim Pspice
Auteursrechten:
Dr.ir. J.A. Hegt
Faculteit Elektrotechniek
Technische Universiteit Eindhoven
Najaar 1999
Introductie MicroSim PSpice
1. Inleiding
Deze korte introduktie is bedoeld om je kennis te laten maken met de eerste
beginselen van PSpice. Deze tekst geeft een beschrijving van het elementaire gebruik
van dit software-pakket. Bedoeling is, dat je wat hier beschreven wordt direkt op je
notebook uitprobeert. Bovendien zijn er opgaven toegevoegd, waarmee je kunt
oefenen. Je zult PSpice nog tegenkomen bij verschillende studie-onderdelen zoals
Schakeltechniek, Netwerktheorie, Lineaire en Niet-lineaire Elektronica en de
Ontwerp- en Onderzoek Practica (OP's).
Spice is een circuitsimulator die in verschillende uitvoeringsvormen verkrijgbaar is,
waarvan MicroSim PSpice er één is. Met een circuitsimulator heb je o.a. de
mogelijkheid een circuit te analyseren, zonder deze daadwerkelijk te hoeven bouwen
of als verificatiehulpmiddel voordat het uiteindelijke circuit (bijv. in de vorm van een
IC) wordt gerealiseerd. PSpice bezit allerlei tools die nuttig kunnen zijn bij het
ontwerpen en analyseren van schakelingen. Zo kun je met dit pakket
• een schema grafisch invoeren
• verschillende soorten simulaties uitvoeren
• simulatieresultaten grafisch zichtbaar maken
• een circuit optimaliseren
• printed circuit boards ontwerpen
• enz.
Ook zeer uitgebreide handleidingen maken deel uit van MicroSim PSpice. Je vindt ze
in de vorm van on-line help faciliteiten, maar ook zijn er omvangrijke manuals te
vinden op je notebook in de map C:\MSim_Ev8\DOC.
Op je notebook tref je een zgn. "evaluatie versie" van MicroSim PSpice aan. De
belangrijkste beperkingen t.o.v. de "standaard versie" (waarvan een enkele licentie
vele duizenden guldens zou kosten) zijn:
• je schema mag uit maximaal 50 symbolen bestaan
• je kunt geen schakelingen met meer dan 10 transistors en 2 operationele
versterkers simuleren
• circuit simulatie is beperkt tot circuits met maximaal 64 knooppunten.
We zullen in deze korte introduktie alleen de meest elementaire mogelijkheden van
PSpice beschrijven met betrekking tot
• het tekenen van schema's (hfdstk.2);
• het simuleren van het tijdafhankelijke gedrag: “transient simulatie” (hfdstk.3);
• het simuleren van het frequentieafhankelijke gedrag: “AC simulatie” (hfdstk.4);
• het simuleren van het spanningsafhankelijke gedrag: “DC simulatie” (hfdstk.5).
Na het doorwerken van deze introduktie valt er nog veel te ontdekken over PSpice. In
het geval je interesse verder gaat, zullen de manuals op je notebook je waardevolle
aanvullende informatie kunnen verstrekken.
2
2. Het tekenen van schema's
Het programma Schematics, bedoeld voor het tekenen van schema’s, wordt gestart
door te klikken op Start / Programs / MicroSim Eval 8 / Schematics. Je ziet nu de
linkerbovenhoek van een tekenvel, waarop het schema kan worden getekend. Op het
tekenvel is een raster geplaatst (herkenbaar aan puntjes op regelmatige afstanden),
waardoor de tekenobjecten eenvoudig ten opzichte van elkaar kunnen worden
uitgelijnd. Bovenin en links op het scherm zie je knoppenbalken, waarbij elke knop
correspondeert met een bepaald commando. Door met de muis op zo’n knop te gaan
staan (zonder deze aan te klikken) wordt zichtbaar welk commando bij de betreffende
knop hoort.
Je kunt in je tekening bouwstenen plaatsen met Draw / Get new part, of d.m.v. de
toetscombinatie Alt+D / Alt+G (hier aangegeven d.m.v. de streepjes onder de letters
D in Draw en G in Get new part), of door te drukken op de drukknop Get New Part
Fig.1: “Get New Part” drukknop
en vervolgens de naam van de te tekenen bouwsteen op te geven, of op die naam te
klikken. Als je wilt weten welke bouwstenen gebruikt kunnen worden, dan kun je evt.
zoeken m.b.v. de library browser. Als de naam van een bouwsteen je onbekend
voorkomt, dan kun je door op die naam te klikken in het venster "description" hier een
korte beschrijving van zien. Je zult er eenvoudige weerstanden (R) aantreffen, maar
ook AND-gated JK master-slave flip-flops with preset and clear (7472), digitale clock
stimuli (DigClock), spanningsbronnen in alle soorten en maten (V…), enz. enz.
Opdracht 1: Welke parts-libraries zijn er geïnstalleerd? Geef een korte beschrijving
van het soort bouwstenen dat je in elk van de libraries aantreft.
Als je de naam van de te tekenen bouwsteen getypt of aangeklikt hebt, dan kun je
deze vervolgens op je tekenvel plaatsen door op de knop Place & Close te drukken.
Wil je meer dan één exemplaar van dezelfde bouwsteen tekenen, dan kun je dit
aangeven door op de knop Place te drukken. Elke keer dat je nu op het tekenvel klikt
wordt op die plaats een exemplaar van die bouwsteen getekend. Als je een keer op de
rechter muistoets klikt houdt het plaatsen van bouwstenen op.
Vervolgens kun je allerlei manipulaties op de getekende bouwstenen uitvoeren. Je
kunt een bouwsteen bijvoorbeeld:
selecteren:
verplaatsen:
roteren:
spiegelen:
wissen:
kopiëren:
naam wijzigen:
één keer aanklikken (geselecteerde bouwsteen wordt rood
gemarkeerd)
slepen met de muis
Ctrl+R
Ctrl+F
Del
Ctrl+C / Ctrl+V
dubbelklikken op de naam en nieuwe naam opgeven
3
waarde wijzigen:
attibuten wijzigen:
dubbelklikken op de waarde en nieuwe waarde opgeven
dubbelklikken op het symbool zelf en nieuwe waarden voor de
attributen (dit zijn kenmerken, behorend bij de geselecteerde
bouwsteen) opgeven. N.B.: niet alle attributen kunnen
veranderd worden.
Opdracht 2: Teken een Q2N2222 (wat is dat voor een soort bouwsteen?) in de 8
verschillende standen uit fig. 2 naast elkaar. Wijzig de aanduiding van de exemplaren
van “Q1” t/m “Q8” in “T1” t/m “T8”.
Fig.2: gewenste resultaat van opdracht 2
Waarschuwing: maak er een goede gewoonte van tijdens het tekenen je ontwerp
regelmatig op te slaan (“saven”). Als Pspice of Windows crasht (en dat gebeurt
helaas vaker dan je lief is...) ben je zo niet zoveel werk kwijt.
Bij het opgeven van getallen, zoals de waarde van een bouwsteen, kan gebruik
gemaakt worden van integers, floating point getallen of de volgende afkortingen:
F of f
=1e-15 (femto)
P of p
=1e-12 (pico)
N of n
=1e-9 (nano)
U of u
=1e-6 (micro)
M of m
=1e-3 (milli)
K of k
=1e+3 (kilo)
MEG of meg =1e+6 (Mega)
G of g
=1e+9 (Giga)
T of t
=1e+12(Tera)
Waarschuwing: hou hierbij goed het verschil tussen M (=milli) en MEG (=Mega) in
de gaten. Verder wordt als scheidingsteken tussen het geheeltallige deel en de
decimale fractie van een getal de punt gebruikt (dus niet de komma). Tussen een getal
en de eenheden mag geen spatie staan (dus niet bijv. 100 ns, maar 100ns). Dit soort
vergissingen leiden vaak niet tot foutmeldingen, maar wel tot verkeerde
simulatieresultaten!
Van sommige kenmerken (attributen) van een bouwsteen kun je instellen of zijn naam
en/of waarde al dan niet zichtbaar wordt in de tekening. Dubbelklik hiertoe op het
symbool, klik vervolgens op een attribuut (bijv. COMPONENT, PKGTYPE, of
TOLERANCE, afhankelijk van het type bouwsteen) waarbij de knop Change Display
duidelijk zichtbaar wordt. Als je op die knop drukt, dan zie je dat je o.a. de
mogelijkheid hebt aan te geven of de name en/of de value van dit attribuut mag
worden getoond. Overigens kun je de attributen in je schema verplaatsen, door op dat
attribuut te klikken en deze vervolgens te verslepen naar de gewenste plaats. Zorg
ervoor dat je schema er op deze wijze ordelijk uit blijft zien (bijv. geen tekst dwars
door de symbolen…).
In het algemeen is het verstandig niet méér tekst in het schema te plaatsen dan strikt
noodzakelijk. Vaak is het bijv. overbodig dat in een schema de type-namen ("part
4
names") zoals bijv. Q2N2222 worden vermeld. Dit kun je aangeven door bovenin je
scherm te klikken op Options, Display Preferences. Vervolgens heb je dan de
mogelijkheid om eigenschappen (kleur, grootte, zichtbaarheid, enz.) van allerlei items
te veranderen. Klik bijv. op Part Names en zet op het tabblad General de vinkjes bij
Display en Print uit. Als je nu vervolgens op Apply en OK drukt, dan zul je zien dat in
je tekening de type-namen inderdaad verdwenen zijn. Wil je nu bij sommige
bouwstenen toch aangeven welk type het is, dan kun je dat bijv. doen door van de
betreffende bouwsteen het attribuut COMPONENT in te vullen en d.m.v. Change
Display aan te geven dat deze zichtbaar moet worden gemaakt.
Waarschuwing: laat de namen van draden, bouwstenen, enz. altijd beginnen met een
letter, en gebruik hierbij verder alleen letters en cijfers.
Opdracht 3: Maak in je schema met de 8 transistoren de type-namen onzichtbaar.
Zorg er vervolgens voor dat bij één van de transistoren de aanduiding "2N2222"
komt te staan.
Fig.3: gewenste resultaat van opdracht 3
D.m.v. Display Preferences heb je de mogelijkheid om heel veel eigenschappen van
de tekening te veranderen. Zo kan het zijn dat je de tekst te groot vindt, het font
onduidelijk, de lijnen te dun, de kleuren niet fraai, enz. Al dit soort zaken kunnen met
Display Preferences worden ingesteld.
Opdracht 4: Experimenteer met de Display Preferences door ervoor te zorgen dat in
je schema met de 8 transistoren nog alleen maar de kleur zwart wordt gebruikt. Maak
de type-naam “2N2222” wat kleiner en zog dat de aanduiding “T1” t/m “T8” wat
groter en in het font “Lucida Sans” wordt weergegeven.
Fig.4: gewenste resultaat van opdracht 4
Zet daarna, als dat gelukt is, de Display Preferences weer terug in de standaard stand
d.m.v. "Restore All Defaults".
Als je de bouwstenen getekend hebt, kun je deze met draden gaan verbinden. Dat kan
met Draw / Wire (en dus ook kortweg met de toetscombinaties Alt+D / Alt+W). Op
het scherm verschijnt nu een potloodje, waarmee je door op de juiste plaats te klikken,
verbindingslijnen kunt trekken. Datzelfde potloodje is ook te aktiveren door op het
overeenkomstige knopje Draw Wire bovenin het scherm te drukken.
5
Fig.5: “Draw Wire” drukknop
Het tekenen van een draad kan gestopt worden door op de rechter muisknop te
klikken. De volgende draad kun je dan starten door op de spatiebalk te drukken
(daarmee herhaal je namelijk het laatste commando, in dit geval dus de Draw Wire
opdracht ) of door opnieuw op de Draw Wire knop te klikken. Zorg ervoor dat de
einden van de verbindingsdraden samenvallen met de einden van de aansluitingen van
de bouwstenen, want anders kun je problemen verwachten als je je schakeling zou
gaan simuleren, doordat er dan aansluitingen “zweven”. Op dezelfde manier waarop
je bouwstenen kunt selecteren, verplaatsen, draaien, wissen, enz., kan dit ook met
draden. Merk op dat als er een verbinding bestaat tussen draden en/of bouwstenen,
deze verbinding in stand blijft als je die draden en bouwstenen verplaatst. Dit heet
“rubber banding”. Dit werkt in de praktijk heel plezierig als je probeert je schema te
herschikken, om deze bijv. zo overzichtelijk mogelijk te maken. Mocht het zijn dat
door het verschuiven van bouwstenen de verbindingen in je schakeling dreigen te
veranderen, dan verschijnt er als waarschuwing een gele driehoek met een
uitroepteken in beeld. Als je veel met bouwstenen en draden geschoven hebt kan het
zijn dat je op sommige plaatsen een soort “spookbeelden” te zien krijgt. In dit geval
kan de spokenjacht plaatsvinden door te drukken op View / Redraw of nog sneller met
de toetscombinatie Ctrl+L of met de Redraw drukknop.
Fig.6: “Redraw” drukknop
Je kunt in je schema een stukje tekst schrijven met Draw / Text (of kortweg Ctrl+T)
Of met de Draw Text drukknop.
Fig.7: “Draw Text” drukknop
Dit is vooral handig voor het plaatsen van losse woorden of hele kleine stukjes tekst.
Gaat het om grotere stukken tekst, dan kun je beter gebruikmaken van een textbox
d.m.v. Draw / Text Box. In dit laatste geval kun je een rechthoek tekenen, waarbinnen
de op te geven tekst wordt geplaatst. Door vervolgens op de tekst te klikken en daarna
op Edit / Text Properties te drukken, kunnen de kenmerken (kleur, lettergrootte, font)
veranderd worden.
Waarschuwing: als je al te “wild” edit in je schema (veel tekenen en weer deleten)
wil dit er wel eens toe leiden dat de interne database overhoop komt te liggen. Er rest
6
je dan niets anders dan opnieuw te beginnen. Sla daarom je schema regelmatig op en
denk eerst na voordat je begint te tekenen!
Soms is het handig in een schakeling met een hiërarchische struktuur te werken. Dit
wil zeggen dat de schakeling gebruik maakt van subcircuits, die in het schema als een
rechthoekig blok getoond worden. Dit kan vaak de overzichtelijkheid van je
schakeling ten goede komen. Door op zo’n blok te klikken wordt zijn feitelijke inhoud
zichtbaar. Een voorbeeld van het gebruik van dit soort subcircuit blokken vind je op je
notebook in het schema C:\Msim_Ev8\Examples\Digsim\Frqchk\Frqchkx.sch .
Je gebruikt bij het tekenen van zo’n hiërarchisch opgebouwd schema veelal een “top
down” aanpak. Dat wil zeggen dat je op het hoogste hiërarchische niveau begint te
tekenen. In je schema plaats je een blok dat een subcircuit representeert d.m.v. Draw /
Block. In je schema verschijnt nu een rechthoek. Je verbindt dit subcircuit met de rest
van je schema door verbindingen te maken vanuit je schema naar de rand van dit blok.
Op zo’n plaats ontstaat dan een “pin” die je eventueel een naam kunt geven door erop
te klikken. Zijn zo alle aansluitingen naar het subcircuit getekend, dan kan het blok
geopend worden door erop te dubbelklikken. Nadat een nog niet eerder gebruikte
filenaam aan het blok is gegeven krijg je een tekenvel te zien waarop de pinnen van
het blok zichtbaar zijn. Nu kan het feitelijke subcircuit getekend worden en
aangesloten op de pinnen. Eventueel kan dit subcircuit ook weer een of meerdere
subcircuits bevatten. Met behulp van Navigate / Pop (of kortweg funktietoets F3) ga
je weer omhoog in hiërarchie. Als je niet weet op welk hiërarchisch niveau je je op
zeker moment bevindt kun je dit opvragen d.m.v. Navigate / Where.
Waarschuwing: belangrijk bij het gebruik van hiërarchie is, om ervoor te zorgen dat
de interne terminals / pinnen alleen maar aangesloten zijn op externe terminals /
pinnen als hun namen overeenkomen. Als je van een blok alleen de naam van een
externe pin verandert is deze (zonder waarschuwing!) nergens meer mee verbonden.
Een andere veelgemaakte fout is het tekenen van een draad net over de rand van een
blokje. Het lastige is, dat je deze niet meer ziet, terwijl hij toch kortsluiting maakt
tussen de eventueel daar liggende pinnen.
Als uiteindelijk je schema “af” is, dan kun je deze opslaan als file met File / Save (of
kortweg met Ctrl+S) of met File / Save As, waarna je een filenaam op moet geven.
Vervolgens kun je je schema afdrukken. Bedenk daarbij wel, dat dan in principe het
hele tekenvel wordt afgedrukt, terwijl je misschien maar een klein deel hiervan
gebruikt hebt. (Dat tekenvel kun je in z’n geheel zichtbaar maken met View / Entire
Page.) Beter is het daarom eerst met View / Fit (of kortweg Ctrl+N) in te zoomen op
het gebruikte deel van het tekenvel, vervolgens een selectie te maken door met de
muis een rechthoek te definiëren, waarvan je de inhoud vervolgens af laat drukken
met File / Print. Je kunt daarbij o.a. nog opgeven of je een bepaalde schalingsfactor
wilt gebruiken, of dat je het schema bladvullend afgedrukt wilt hebben. Vaak zul je je
schema op willen nemen in bijv. een Word document. Dit kan door deze te kopiëren
naar het clipboard met Edit / Copy to Clipboard, en vervolgens in je document te
plakken (in Word d.m.v. Edit / Paste of Ctrl+V).
Hieronder vind je afdrukken van een aantal schema’s. Bedoeling is dat je probeert
deze zo goed mogelijk na te tekenen en te kopiëren naar een Word document, die je
vervolgens af laat drukken. Vergelijk het afgedrukte document kritisch met de
7
gegeven schema’s en beoordeel in hoeverre er sprake is van afwijkingen t.o.v. het
origineel. Probeer een efficiënte volgorde te vinden voor de verschillende
handelingen, waarmee je in een redelijke tijd in staat bent deze schema’s te tekenen.
Opdracht 6: Teken het onderstaande schema na m.b.v. de schematic editor:
Fig.8: gewenste resultaat van opdracht 6
Opdracht 7: Teken het onderstaande schema na m.b.v. de schematic editor:
Fig.9: gewenste resultaat van opdracht 7
8
3. Transient simulaties
Nadat je je schema hebt getekend, heb je de mogelijkheid om het gedrag van deze
schakeling te simuleren. Bij een transient simulatie gaat het daarbij vooral om het
bestuderen van het tijdafhankelijke gedrag van de schakeling. Vaak wordt een
schakeling bijvoorbeeld onderzocht op basis van zijn “stapresponsie”: op de ingang
wordt een stapvormig signaal aangesloten en gekeken wordt naar het resulterende
signaal aan de uitgang. De eigenschappen van een oscillatorschakeling, die een
bepaalde golfvorm zou moeten opwekken, kan ook met een transient simulatie
worden geanalyseerd. Ook het gedrag van digitale schakelingen wordt meestal als
funktie van de tijd bestudeerd. Hierbij worden veelal digitale stimuli aangeboden
(patronen van nullen en énen) en de bijbehorende responsie aan de uitgang en
eventueel ook van interne knooppunten in de schakeling als funktie van de tijd
bekeken.
Voor het exciteren van schakelingen met tijdafhankelijke signalen zijn er in Pspice
verschillende soorten bronnen met speciale signaalvormen beschikbaar:
VPULSE
blokvormige spanning met instelbare lineaire stijgende en dalende
flanken
VEXP
blokvormige spanning met instelbare e-macht vormige stijgende en
dalende flanken
VSIN
sinusvormige spannig met instelbare amplitude, frequentie en fase
N.B.: verwar deze niet met VAC, die bedoeld is voor AC analyses
VPWL
spanningsvorm, opgebouwd uit rechte lijnstukjes
VSFFM
frequentiegemoduleerde spanningsvorm
Dezelfde signaalvormen zijn ook beschikbaar als stroombronnen (IPULSE, IEXP,
ISIN, IPWL, ISFFM).
Ten behoeve van digitale simulaties is er onder andere DigClock (“Digital Clock
Stimulus”), bedoeld voor het opwekken van een periodiek signaal met afwisselend de
waarde ‘1’ en ‘0’. De attributen van deze stimulus kunnen worden ingesteld door
tweemaal op zijn symbool te klikken. Aanvankelijk, tot aan het tijdstip “DELAY”
levert DigClock de waarde “STARTVAL”, vervolgens wordt dit signaal periodiek en
krijgt gedurende “ONTIME” de waarde ‘1’, en gedurende “OFFTIME” de waarde
‘0’.
Andere digitale stimuli zijn STIM1, STIM4, STIM8 en STIM16. Hiermee kunnen ook
niet-periodieke signalen worden gegenereerd van resp. 1, 4, 8 of 16 bit parallel.
Hierbij wordt gewerkt met “events”: d.w.z. gedefinieerd wordt op welke tijdstippen
deze signalen welke nieuwe waarden aannemen.
Uitgebreidere mogelijkheden levert DigStim (“Digital Stimulus source for StmEd”).
Ook hierbij kunnen golfvormen worden ingesteld door te dubbelklikken op het
bijbehorende symbool. Daarmee wordt de stimulus editor gestart. Voor een
uitgebreidere beschrijving van het gebruik van deze stimulus editor wordt verwezen
naar de bijbehorende online Help en naar de manuals in de directory
C:\Msim_Ev8\DOC.
Wanneer je een transient simulatie wilt laten uitvoeren, kun je dit opgeven met
Analysis / Setup... Je krijgt dan een window te zien waarin je kunt aangeven dat je een
9
transient simulatie wilt doen, door het bijbehorende vinkje aan te zetten. Druk nu
vervolgens op de knop Transient om de parameters van deze simulatie in te stellen.
Belangrijk is dat je de Final Time opgeeft: dit is het tijdstip tot waaraan je wilt
simuleren en de Print Step waarmee je opgeeft wat de grootte is van de tijdintervallen
waarmee de simulatieresultaten zullen worden geplot. Als je de Print Step zo’n 500
keer kleiner maakt dan de Final Time heb je i.h.a. voldoende simulatiewaarden
(afhankelijk van de “grilligheid” van de signalen). Elke kromme bestaat dan uit 501
meetpunten, waartussen lineair geïnterpoleerd wordt. Intern rekent Pspice met
tijdstappen, die afhankelijk zijn van de grilligheid van de signalen. Als de signalen
een “rustig” gedrag vertonen kan deze interne tijdstap oplopen tot maximaal 2% van
de Final Time. In tijdintervallen waarin er meer aktiviteit optreedt verkleint Pspice
zelf zijn interne tijdstap. D.m.v. het opgeven van een Step Ceiling heb je als gebruiker
de mogelijkheid een bovengrens op te geven voor de lengte van deze interne
tijdstappen, maar meestal is dit niet nodig. N.B.: Pspice berekent alleen de
signaalwaarden op deze interne tijdstap-afstanden; de weergegeven meetpunten (op
basis van de Print Step) worden d.m.v. interpolatie verkregen.
Waarschuwing: denk na over de waarden die je opgeeft voor de simulatie- en
signaalbronparameters. Zijn de frequenties redelijk voor de schakeling? Laat je de
simulatie lang genoeg lopen om alle interessante signaalveranderingen te kunnen
zien, maar ook niet tè lang, waardoor je onnodig lang zit te wachten? Is de opgegeven
stapgrootte redelijk?
Knooppunten waarvan je geïnteresseerd bent in het transiente gedrag van de spanning
of het logische niveau resp. van de stroom kun je markeren met een Voltage/Level
Marker resp. een Current Marker die je bovenin het scherm aantreft.
Fig.10: “Voltage/Level Marker” (links) en
“Current Marker” (rechts) drukknoppen
Als het schema in orde is en de setup van de transient simulatie is ingesteld, dan kan
deze gestart worden d.m.v. Analysis / Simulate of kortweg door op functietoets F11 of
op de Simulate knop te drukken.
Fig.11: “Simulate” drukknop
Nu wordt het schema gecontroleerd op fouten (aardsymbool vergeten, zwevende
knooppunten, kortgesloten of juist openhangende spanningsbronnen, vergeten of
incorrecte componentwaarden, komma’s i.p.v. punten, enz. enz.) en de setup van de
simulatie wordt geverifieerd. Is er een fout geconstateerd, dan wordt dat gemeld.
Soms komt de MicroSim Message Viewer met een duidelijke foutmelding, soms is het
nodig de output file te bekijken d.m.v. Analysis / Examine Output, waar in tekstvorm
aangegeven wordt wat er aan de hand is. Zijn er geen fouten gevonden, dan start de
feitelijke simulatie. Het kan zijn dat bij de simulatie van een digitale schakeling er
10
bijv. sprake is van een kritieke timing, doordat bijv. een ingangssignaal van een flipflop op (vrijwel) hetzelfde tijdstip omklapt als waarop de flip-flop getriggered wordt.
In dat geval verschijnt er een warning en kan informatie over deze kritieke situatie
worden opgevraagd. Door de tool “Probe” worden de simulatieresultaten grafisch
zichtbaar gemaakt. Voor de knooppunten waarop je markers hebt geplaatst worden
automatisch de bijbehorende spanningen en stromen geplot als funktie van de tijd in
de vorm van kleurige grafieken. De betekenis van elke kleur wordt onder de grafiek
toegelicht. Ben er wel op bedacht, dat alle signalen gebruik maken van dezelfde
vertikale schaal. Dat wil zeggen dat als er zowel spanningen van enkele volts en
stromen van een paar mA worden geplot, die stroomsterkten op het oog niet van nul te
onderscheiden zullen zijn. Je kunt een signaal uit de grafiek verwijderen door onderin
het beeld op zijn naam te klikken en vervolgens Del in te drukken. Signalen
toevoegen kan d.m.v. de opdracht Trace / Add (of kortweg met de Insert-toets),
waarna de naam van het toe te voegen signaal in de lijst kan worden aangeklikt. Veel
signaalnamen zijn nogal cryptisch. Handig is het daarom, om in het schema namen te
geven aan belangrijke verbindingen en knooppunten. Aan een verbinding kan een
naam gegeven worden door op de betreffende draad te dubbelklikken. Knooppunten
kunnen een naam krijgen door daar een bubble te tekenen (Draw / Get New Part /
bubble ) en die een naam te geven. Signalen kunnen gegroepeerd geplot worden, door
ze in afzonderlijke grafieken weer te geven (Plot / Add Plot). Door op één van de
grafieken te klikken kan deze geselecteerd worden.
Met behulp van twee cursors (een soort “kruisdraden”) kunnen numerieke waarden en
verschillen tussen waarden uit de grafiek afgelezen worden. Deze cursors worden
geactiveerd door Tools / Cursor / Display aan te vinken, of door op de Toggle Cursor
knop te drukken.
Fig.12: “Toggle Cursor” drukknop
D.m.v. Tools / Cursor / Search Commands (of kortweg Ctrl+Shift+S) of door op de
Cursor Search knop
Fig.13: “Cursor Search” drukknop
te drukken kan tussen beide cursors gekozen worden. Door onderin het beeld op het
symbool van een bepaald signaal te klikken wordt de cursors voor dat betreffende
signaal geactiveerd. Met de muis of de pijltjestoetsen kunnen de cursors over de
grafiek worden bewogen. In het bijbehorende “Probe Cursor”-window kunnen voor
beide cursors de x- en y-waarden en de verschillen tussen deze waarden van beide
cursors worden afgelezen. Met de overige opties in het menu Tools / Cursor of door te
drukken op de bijbehorende knoppen kunnen de waarden van lokale maxima, lokale
minima, de lokale helling, het globale minimum, het globale maximum of een
willekeurig punt van een curve worden afgelezen.
11
Fig.14: drukknoppen voor cursor akties, v.l.n.r.:
“Cursor Peak”, “Trough”, “Slope”, “Min”, “Max” en “Point”
Met de knop Mark Data Points kun je zien op welke punten in de grafiek werkelijk
Fig.15: “Mark Data Points” drukknop
berekend zijn. De overige zijn door interpolatie verkregen.
Van transient signalen kan d.m.v. zogenaamde Fast Fourier Transformatie het
bijbehorende frequentiespectrum worden berekend. Dat wil zeggen dat berekend
wordt in welke mate bepaalde frequentiecomponenten (“grondgolf” en
“harmonischen”) in dit signaal aanwezig zijn. Dit wordt geactiveerd door op de
Fourier-knop
Fig.16: “Fourier” drukknop
te drukken. Met behulp hiervan kan bijvoorbeeld de harmonische vervorming van een
schakeling worden geanalyseerd, door deze aan te sturen met een sinusvormig signaal
en te bepalen in welke mate hogere harmonischen hiervan aan de uitgang terug te
vinden zijn.
De instellingen van de x- en de y-as kunnen worden ingesteld met Plot / X-axis
settings resp. Plot / Y-axis settings. Hiermee is het o.a. mogelijk te kiezen voor een
logaritmische schaalverdeling. Middels het View-menu zijn er verschillende
mogelijkheden om in en uit te zoomen. Handig is vaak de mogelijkheid om tekst of
figuren toe te voegen aan de grafiek door middel van het Tools / Label menu.
Als de grafiek uiteindelijk de juiste vorm heeft kan deze naar het clipboard worden
gecopieerd met Tools / Copy to Clipboard om vervolgens bijv. in een Word document
te worden geplaatst m.b.v. de Paste (of Ctrl+V) opdracht. Hierbij kan het lastig zijn
dat Probe standaard voor de achtergrond de “kleur” zwart gebruikt. Er zijn meerdere
manieren om dit probleem aan te pakken. Een geschikte manier bestaat uit het
aanpassen van de C:\Windows\Msim_evl.ini file. Kopieer voor alle zekerheid deze
file eerst naar een andere naam, bijv. Msim_evl.bak . Open vervolgens de originele
file in Notepad en zoek naar de regel “[PROBE DISPLAY COLORS]”. Verander de
regel “BACKGROUND=BLACK” in “BACKGROUND=BRIGHTWHITE” en
“FOREGROUND=WHITE” in “FOREGROUND=BLACK”. Als alles goed gegaan
is heeft Probe nu een helderwitte achtergrond gekregen.
12
Opdracht 8: teken m.b.v. Pspice de onderstaande schakeling waarin een diode als
niet-lineair element is geplaatst. Onderzoek de gevolgen voor het tijdafhankelijke
gedrag van de spanningen en stromen in deze schakeling en verklaar het simulatie
resultaat. Stel bij deze transient analyse Final Time in op 40ms, Print Step op 100us
en Step Ceiling op 100us. Sla de simulatiefile en de probefile op.
Fig.17: simulatieschema met niet-lineair element
Opdracht 9: Ontwerp, gebruikmakend van de theorie behorend bij het college
Schakeltechiek, volgens de top-down aanpak een modulo16 counter, opgebouwd uit
edge triggered D-flipflop’s (7474) en een 4-bits ripple carry adder blok. Dit 4-bits
ripple carry adder blok is op zijn beurt weer opgebouwd uit full-adder en half- adder
blokken. Een full-adder wordt opgebouwd uit half-adder blokken. Het schema van een
half-adder is hieronder weergegeven.
Fig.18: half-adder
Verifieer d.m.v. een transient simulatie de correcte werking van deze half-adder. De
rest van het hiërarchische ontwerp is onderwerp van het vak “Schakeltechniek”.
N.B.: vermijd in deze opdracht het gebruik van “open collector” bouwstenen.
13
4. AC simulaties
Stond bij transient simulaties het tijdafhankelijke gedrag centraal, bij AC simulaties
gaat het om het frequentieafhankelijke gedrag van een circuit. Een voor de hand
liggende toepassing is bijv. de simulatie van (tijdcontinue) filterschakelingen.
Bij AC simulaties wordt door Pspice allereerst het instelpunt (“operating point” of
“bias point”) van de schakeling bepaald. Daarbij wordt ondermeer rekening gehouden
met de statische niet-lineariteiten in het circuit. Rond dit instelpunt wordt het gedrag
van de schakeling gelineariseerd; de AC simulatie beschrijft dus het kleinsignaal
gedrag van de schakeling. Van dit gelineariseerde circuit wordt het
frequentieafhankelijke overdracht bepaald. We kunnen hierbij bijv. een AC
signaalbron op de ingang aansluiten en op verschillende interessante knooppunten de
bijbehorende frequentieafhankelijke responsie (amplitude en fase) bestuderen.
Aangezien het circuit gelineariseerd wordt is AC simulatie bijv. niet geschikt voor de
analyse van digitale circuits.
Het aantal beschikbare signaalbronnen bij AC simulaties is erg beperkt:
VAC
eenvoudige AC spanningsbron met instelbaar DC-niveau (t.b.v. de
bepaling van het instelpunt), amplitude en fase. N.B.: je geeft hierbij
dus geen frequentie op; deze wordt gevarieerd over een bepaald bereik
dat zal worden opgegeven in de Analysis / Setup (zie onder)
IAC
idem, maar als stroombron.
Ook de signaalbronnen die feitelijk bedoeld zijn voor transient simulaties bieden de
mogelijkheid om een AC en een DC waarde op te geven en zijn daardoor tevens
toepasbaar bij AC simulaties. Hun transiente gedrag wordt daarbij genegeerd.
Omgekeerd hebben hun AC en DC waarde geen betekenis bij een transient simulatie.
Verder is er een universele spanningsbron VSRC, die zowel voor transient signalen,
AC spanningen en DC spanningen gebruikt kan worden. Deze heeft 3 attributen: DC,
AC en TRAN. Als VSRC gebruikt wordt als DC bron moet bij DC de gewenste
waarde van de gelijkspanning opgegeven worden. Als hij als AC bron wordt gebruikt
dan dient de amplitude van de wisselspanning opgegeven te worden en indien
gewenst een waarde voor de fase (d.m.v. een spatie scheiden van de amplitude, dus
bijv. AC = 12 0 definieert een amplitude van 12V en een fase van 0°). Wordt hij als
transient bron gebruikt, dan moet bij TRAN zowel de signaalvorm als een lijst van
parameters opgegeven worden. Wat betreft de signaalvormen kan gekozen worden uit
EXP, PULSE, PWL, SFFM en SIN. De betekenis van de op te geven parameters
hangt af van de gekozen signaalvorm. De stroombron-variant van VSRC is ISRC.
Wanneer je van je schakeling een AC simulatie wilt maken, kun je dit opgeven met
Analysis / Setup... Je krijgt dan een window te zien waarin je kunt aangeven dat je een
AC Sweep wilt maken, door het bijbehorende vinkje aan te zetten. Druk nu vervolgens
op de knop AC Sweep om de parameters van deze simulatie in te stellen. Je kunt nu
kiezen of je een lineaire frequentie sweep wilt maken, waarbij je bij Total Pts het
totale aantal equidistant verdeelde frequentiewaarden op kunt geven òf een
logaritmische sweep, uitgevoerd met een op te geven aantal frequentiewaarden per
oktaaf, òf een logaritmische sweep uitgevoerd met een op te geven aantal
frequentiewaarden per decade. Verder kun je een Start Frequency en een End
14
Frequency invullen om het bereik van de frequentie sweep aan te geven. N.B.: een
logaritmische sweep mag natuurlijk nooit een Start Frequency = 0 hebben.
De AC simulatie wordt nu gestart d.m.v. Analysis / Simulate of kortweg door op
functietoets F11 of op de Simulate knop te drukken.
Fig.19: “Simulate” drukknop
Net als bij de transient simulatie wordt het schema gecontroleerd op fouten en de
setup van de simulatie geverifieerd. Is er een fout geconstateerd, dan wordt dat
gemeld, anders start de feitelijke simulatie. Als deze klaar is wordt automatisch de
tool Probe gestart en eventueel worden de waarden van de signalen waarbij je een
marker hebt geplaatst getoond als funktie van de frequentie.
Ook nu heb je weer de mogelijkheid om signalen toe te voegen of juist te verwijderen
uit de grafiek, je assen aan te passen, cursors te gebruiken, maxima en minima op te
zoeken, enz., net zoals dat bij het gebruik van Probe bij een transient simulatie kon.
Misschien had je bij de verticale as een dB-schaal gewild. Dit kan gerealiseerd
worden door gebruik te maken van de functies en macro’s die je kunt bereiken d.m.v.
Trace / Add. Wanneer het bijv. gaat om het signaal V(uit) dat op een dB schaal moet
worden weergegeven, dan kan dat door als expressie op te geven: DB(V(uit)).
Op soortgelijke wijze kan bijv. het imaginaire deel van V(uit) als funktie van de
frequentie worden geplot d.m.v. IMG(V(uit)), het reële deel met R(V(uit)), de fase in
graden met P(V(uit)), enz. Een uitgebreide toelichting kun je bijv. in de online Help
van het Add Traces menu vinden.
Opdracht 10: Teken het hoogdoorlaatfilter, dat gegeven is in onderstaande figuur.
Fig.20: simulatieschema van een hoogdoorlaatfilter
Het feitelijke filter wordt gevormd door de bouwstenen C1, C2 en L1. De inwendige
impedantie van de bron wordt bepaald door weerstand R1 en de schakeling wordt
afgesloten met weerstand R2. Bepaal d.m.v. simulatie de overdrachtskarakteristiek van
dit hoogdoorlaatfilter, dat een kantelfrequentie op 5 kHz en een “ken” of
“karakteristieke” impedantie Z0 = 50 Ω heeft, door de in- en uitgangsspanning van dit
15
filter met elkaar te vergelijken in het frequentiegebied van 100 Hz tot 100 kHz. Sla deze
bijbehorende Probe file op.
Bij de overdrachtskarakteristiek van dit hoogdoorlaatfilter valt op, dat bij de
kantelfrequentie er in de uitgangsspanning van het filter een enorme spanningspiek
ontstaat.
Vraag 1: hoe groot is deze spanningspiek (Vuit / Vin) in % en waarom ontstaat deze ?
Vervolgens wordt de waarde van de weerstand R2 waarmee het filter is afgesloten,
gelijk gemaakt aan de karakteristieke impedantie Z 0 = 50Ω . Je ziet nu dat de enorme
spanningspiek bij de kantelfrequentie van 5 kHz is gereduceerd tot slechts een geringe
"peaking" van het uitgangssignaal. Druk dit plaatje af en bewaar deze probe-file op
floppy.
Vraag 2: hoe groot is de "peaking" van (Vuit/Vin) in % nu ?
Nu wordt ook in serie met de bron met een weerstand van 50 Ω gebruikt, zodat beide
weerstanden aangepast zijn aan de karakteristieke impedantie van het filter. Het
resultaat is een vloeiende overdrachtscurve van het laagfrequente ("sper") gebied naar
het hoogfrequente ("doorlaat") gebied. Bewaar deze probe-file op floppy.
Opdracht 11: Teken m.b.v. PSpice de schakeling volgens het onderstaande schema van
een middenfrequent-bandsperfilter.
Het feitelijke middenfrequent-bandsperfilter wordt gevormd door de bouwstenen L1,
L2, L3, C1, C2 en C3. Bepaal de doorlaatgrafiek van dit filter door de ingangs- en
uitgangsspanning met elkaar te vergelijken in het frequentiegebied van 10kHz tot
1MHz. De bandbreedte van dit filter behoort 50kHz te zijn, de ken- of karakteristieke
impedantie van dit filter ligt op 75 Ω.. Zet Total Pts op 1001. Sla de Probe file op.
Bepaal uit de grafiek de twee kantelfrequenties behorend bij de -3 dB punten.
Fig.19: simulatieschema van een middenfrequent-bandsperfilter
16
5. DC simulaties
Bij DC simulaties wordt het gedrag van een schakeling als funktie van een DC
(gelijkspanning of gelijkstroom), de temperatuur, een globale of een modelparameter
geanalyseerd. Daarbij wordt deze grootheid oneindig langzaam (“quasi statisch”)
gevarieerd over een op te geven interval, waarbij onderzocht kan worden welke
veranderingen in DC spanningen en stromen dit op de interessante knooppunten
teweeg brengt. Dit is bijv. nuttig voor het bestuderen van het statische niet-lineaire
gedrag van een schakeling.
De speciaal voor DC simulaties bedoelde bronnen zijn:
VDC
een eenvoudige gelijkspanningsbron, met alleen instelbaar DC niveau.
Dit niveau wordt gebruikt voor het berekenen van het instelpunt. Als
de betreffende bron degene is die gevarieerd wordt t.g.v. de DC sweep,
dan wordt tijdens de feitelijke sweep de VDC waarde niet gebruikt.
IDC
idem, maar als gelijkstroombron.
Ook andere spanning- en stroombronnen die een DC-attribuut hebben kunnen voor dit
doel worden gebruikt.
Wanneer je van je schakeling een DC simulatie wilt uitvoeren, kun je dit opgeven met
Analysis / Setup... Je krijgt dan een window te zien waarin je kunt aangeven dat je een
DC Sweep wilt maken, door het bijbehorende vinkje aan te zetten. Druk nu
vervolgens op de knop DC Sweep om de parameters van deze simulatie in te stellen.
Je kunt nu kiezen welk type grootheid je wilt sweepen: een spanningsbron, de
temperatuur, een stroombron, een model parameter of een globale parameter. Verder
kun je opgeven hóe de sweep doorlopen moet worden: in lineaire stappen,
logaritmisch per octaaf of per decade, of aan de hand van een lijst van waarden.
Afhankelijk van het type te variëren grootheid moet je de naam van de te variëren
bron of parameter opgeven. Verder moet het bereik en de stapgrootte van de sweep
worden ingevuld.
Soms wil je twee waarden variëren, resulterend in een grafiekenschaar. Op de
horizontale as staat dan de eerste gesweepte grootheid uit, terwijl elk van de lijnen uit
de grafiekenschaar met een waarde van de tweede gesweepte grootheid overeenkomt.
Men spreekt dan van een “geneste sweep”: een sweep binnen een sweep. Wanneer je
een geneste sweep wilt maken druk je op de knop “Nested Sweep…” waarna je de
tweede te variëren grootheid kunt definiëren. Let erop, dat het aantal waarden dat
deze tweede grootheid doorloopt heel erg beperkt blijft, omdat je anders een
“oerwoud” van lijnen krijgt. Vergeet niet het vinkje bij “Enable Nested Sweep” aan te
zetten.
Opdracht 12: simuleer onderstaande schakeling, die ook al in hoofdstuk 3 werd
gebruikt, maar nu met een DC spanning aan de ingang i.p.v. een sinusvormig signaal.
Varieer de ingangsspanning over het gebied van –2V tot +2V. Zijn de
simulatieresultaten in overeenstemming met de transientsimulatie die je in hoofdstuk
3 uitgevoerd hebt?
17
Fig.21: simulatieschema met niet-lineair element
Opdracht 13: een bipolaire transistor heeft 3 aansluitingen: basis (b), emitter (e) en
collector (c).
Fig.22: bipolaire transistor
De collectorstroom I C die in de collector stroomt is afhankelijk van het
spanningsverschil VBE tussen de basis en de emitter, maar ook van het
spanningsverschil VCE tussen de collector en de emitter.
Teken m.b.v. Pspice voor de Q2N3904 transistor een grafiekenschaar waarin de
collectorstroom I C als functie van de basis-emitterspanning VBE wordt weergegeven,
wanneer deze gevarieerd wordt tussen 0.65V tot 0.75V in stappen van 0.1mV, bij een
collector-emitterspanning VCE die van 0 tot 10V wordt opgehoogd in stappen van 1V.
Duidelijk blijkt, dat I C een niet-lineaire relatie heeft met VBE .
Merk op dat voor voldoend grote VCE (ongeveer voor VCE > 0.3V ) de
collectorstroom I C nauwelijks verandert als functie van de VCE . De transistor
gedraagt zich in dat gebied dus kennelijk vrijwel als een stroombron, waarvan de
stroomsterkte afhankelijk is van de aangeboden VBE . Om dit nog duidelijker zichtbaar
te maken kan I C nu juist als functie van VCE bepaald worden, die weer gevarieerd
18
wordt van 0V tot 10V, maar nu in stappen van 1mV, bij een V BE die gevarieerd wordt
van 0.65V tot 0.75V in stappen van 10mV.
In plaats van het aanbieden van een basis-emitterspanning VBE , kan de transistor ook
aangestuurd worden door een basisstroom I B die de basis in stroomt. Teken opnieuw
een grafiekenschaar waarin de collectorstroom I C als functie VCE wordt
weergegeven, wanneer deze gevarieerd wordt tussen 0 en 10V in stappen van 20mV,
maar nu bij een basisstroom die van 0µA tot 100µA in stappen van 10µA oploopt.
Ook nu geldt weer, dat I C voor VCE groter dan ca. 0.3V nauwelijks afhankelijk is van
deze VCE , zodat de transistor in dat gebied zich vrijwel als een stroombron gedraagt,
waarvan de stroomsterkte afhankelijk is van de aangeboden basisstroom. Verder kun
je al zien, dat de relatie tussen de collectorstroom I C en basisstroom redelijk lineair
is. Om dat te controleren kun je de collectorstroom nu juist als functie van de
basisstroom bepalen, als die weer gevarieerd wordt van 0µA tot 100µA, maar nu in
stappen van 1µA, terwijl VCE van 0V tot 10V wordt opgehoogd in stappen van 1V.
19
Was this manual useful for you? yes no
Thank you for your participation!

* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project

Download PDF

advertising