Avtor: dr. Simon Vavpotič
2018_269_41
Pri načrtovanju analogno-digitalnih elektronskih vezij si lahko izdatno pomagamo s programskimi simulatorji, s katerimi predvidimo časovne in frekvenčne odzive na različne vrste vhodnih signalov. Microchip Mindi je gotovo vreden pozornosti, saj pomaga pri uporabi različnih Microchipovih analognih komponent in hkrati vsebuje številne primere uporabe, ki jih lahko prilagodimo svojim potrebam.
Microchip Mindi je dokaj vsestranski pripomoček za načrtovanje analognih vezij, ki upošteva tudi kakovost pretvorbe analogih signalov v digitalno obliko in nazaj, obenem pa omogoča tudi analogno testiranje enostavnih digitalnih vezij. Zato ne preseneča, da med primeri najdemo tudi take, ki vključujejo A/D ali D/A pretvornike. Mindi v svojem jedru vključuje kar dve simulacijski osnovi za simulacije elektronskih vezij: SIMetrix in SIMPLIS, omogoča pa tudi povezavo z drugimi simulacijskimi orodji; med njimi tudi s SPICE 3, ki sodi med najstarejše tovrstne aplikacije. Microchip Mindi poleg omenjenega vključuje še dodatne Microchipove funkcionalnosti, med katerimi so tudi matematični simulacijski modeli nekaterih Microchipovih integriranih vezij in elektronskih komponent.
Ta vsebina je samo za naročnike
SIMetrix in SIMPLIS sta izdelana na osnovi SPICE, zato je prav, da slednjemu v začetku namenimo nekaj besed, obenem pa bomo pobliže spoznali pomen in notranji način delovanja Microchip Mindi…
Kaj je SPICE?
Kratica SPICE v slovenskem prevodu pomeni simulacijski program s poudarkom na integriranih vezjih. Ime ni presenetljivo, če vemo, da je njegova prva različica nastala že pred 45 leti (leta 1973), ko je bila uporaba analognih in digitalnih integriranih še na začetku. Z orodjem lahko preverjamo notranje in zunanje delovanje diskretnih elektronskih elementov, kakor tudi enostavnih čipov, pa tudi delovanje celotnih tiskanih vezij, v katere jih vgradimo.
V sedemdesetih, osemdesetih in devetdesetih letih so nastale tri osnovne različice SPICE: 1, 2 in 3, ki so sledile naraščajoči zmogljivosti in razvoju elektronskih komponent, kot tudi zmogljivosti osebnih računalnikov in delovnih postaj, na katerih smo jih uporabljali. Prvo različico je razvil Laurence Nigel iz kalifornijske univerze, s časoma pa soustvarjalci SPICE dodajali tudi nove analitične funkcionalnost in z njimi omogočili natančnejše simulacije.
SPICE je postal zares popularen šele s svojo drugo različico iz leta 1975, ki je bila, prav tako kot prva, napisana v programskem jeziku Fortran. Temeljila je na metodi analize vozlišč, na osnovi katere je samodejno zdelala enačbe, potrebne za simulacijo elektronskih vezij. Medtem, ko je tretjo različico leta 1989 razvil podiplomski študent Thomas Quarles na osnovi programskega jezika C. Naslednjo stopničko razpoznavnosti pa je SPICE doživel leta 2011, ko ga je organizacija IEEE priznala kot za svetovni standardni simulator integriranih vezij. Trenutno je uporabe njegove izvorne kode urejena z javno licenco BSD.
SPICE je že od vsega začetka programsko orodje v javni lasti, ki je danes v splošni uporabi in je zanj na voljo tudi izvorna koda, vseeno pa so vzporedno, podobno kot pri Linuxu, nastale tudi komercialne izpeljanke, kot so bile: ISPICE, HSPICE, PSPICE in XSPICE različnih proizvajalcev. Njihova prednost je bila predvsem v nekaterih dodatnih možnostih analiz, kot tudi zaradi dodanih podatkovnih zbirk matematičnih opisov delovanja električnih komponent različnih proizvajalcev.
Nasledniki SPICE
Zaradi odprtokodnosti so do danes veliki proizvajalci elektronskih komponent na osnovi SPICE izdelali številna lastna simulacijska orodja, med katerimi so: Analog Device-ov ADICE, Linear Technology-jev LTspice, Freescale Smiconductor-jev Mica in Texas Instruments-ov TINA. Analog Devices nudi tudi zastonjski ADIsimPE, ki temelji na implementacijah SPICE, imenovanih SIMetrix in SIMPLIS. Obe vsebuje tudi Microchipov Mindi, ki se ga lotevamo v tokratnem članku.
Po drugi strani, so nekateri proizvajalci razvila lastna simulacijska orodja, ki ne temeljijo na SPICE, kot so: IBM PowerSpice, Infineon Technologies TITAN, Intel Corporation Lynx in NXP Semiconductor Pstar.
Kaj vsebuje in kako deluje SPICE?
SPICE je postal popularen, ker podpira različne modele analiz, kot tudi modele, s katerimi lahko matematično opišemo različna integrirana vezja. Hkrati je dovolj robusten za praktično uporabo. Nasprotno, so imeli njegovi predniki zelo omejene načine uporabe. BIAS je, denimo omogočal le posnemanje delovanja vezij iz bipolarnih tranzistorjev, medtem ko je SLIC omogočal samo analizo majhnih signalov. SPICE združuje reševanje problemov operacijskih točk, tranzientno analizo, različne analize majhnih signalov v elementih vezij, kot tudi modele naprav, ki jih potrebujemo pri simulacijah delovanj vezij.
Med analizami, ki so bile podprte že s SPICE 2 so tako: AC (linearna analiza majhnih signalov v frekvenčnem prostoru), DC (nelinearno računanje mirovne točke), prenosna krivulja DC (zaporedje izračunov nelinearnih operacijskih točk med vnaprej spreminjanjem vhodne napetosti, toka ali parametra vezja z vnaprej določeno funkcijo, oziroma med »preletom« signala), analiza šuma (analiza majhnih signalov, izvedena s pomočjo prirejenih tabel, ki vsebujejo vsote nekoreliranih šumnih električnih tokov na izbrani vhodni točki), prenosna funkcija (izračun vhodno/izhodnega ojačenja in impedance za majhne signale) ter tranzientna analiza (sistem za reševanje nelinearnih diferencialnih enačb z velike signale v časovnem prostoru).
Ker SPICE v glavnem uporabljamo za modeliranje nelinearnih vezij, je potrebno pred izvedbo analiz na osnovi majhnih signalov izračunati mirovno točko, na osnovi katere lahko vezje lineariziramo. SPICE 2 poleg omenjenih omogoča tudi dodane analiza majhnih signalov: analizo občutljivosti, analizo ničel in analizo raztrosa signala. Obenem so mogoče tudi analize delovanja vezij pri različnih temperaturah, ki temeljijo na spreminjanju parametra temperature za v vezje vgrajene polprevodnike.
Novejši simulatorji vezij imajo vgrajenih še veliko dodatnih analiz, s katerimi se prilagajajo zahtevam industrije. Omogočajo tudi dinamično spreminjanje parametrov, s katerim lahko proizvajalci ocenijo delovanje vezij pri različnih tovarniških tolerancah vgrajenih električnih komponent in delovnih pogojih. Dodana sta tudi povratno ojačenje in računanje stabilnosti za analogna vezja. Za radio-frekvenčna vezja in preklopna kondenzatorska vezja je dodana je dodana tudi analiza harmonskega ravnovesja oziroma časovna analiza mirujočega stanja. Kljub temu pa še ni zastonjskega simulatorja vezij v javni lasti, ki bi po svoji popularnosti presegel SPICE.
Kakorkoli, analize, ki jih izvajamo nad posameznim modelom vezja, moramo skrbno izbrati, obenem pa moramo enako skrb posvetiti tudi izbiri vhodnih parametrov. Na primer, za uporabo linearne analize za nelinearna vezja mora biti ustrezen razlog. Prav tako nas lahko tranzientna analiza s prednastavljenimi parametri privede do napačnih zaključkov o dinamiki delovanja vezja.
Modeli elektronskih komponent
SPICE 2 vsebuje naslednje modele polprevodniških električnih elementov: tri nivoje tranzistorjev MOSFET, združeni Ebers-Moll in Grummel-Poonov model bipolarnega tranzistorja, model tranzistorja JFET in model diode a PN spojem. Poleg tega vsebuje tudi modele uporov, kondenzatorjev, induktivnih elementov, virov napetosti in toka, idealnih prenosnih linij, aktivne komponente ter napetostno in tokovno nadzorovane vire.
V SPICE 3 so dodani bolj zapleteni modeli tranzistorjev MOSFET, ki so bili v devetdesetih letih preteklega stoletja potrebni zaradi napredka pri tehnologijah izdelava polprevodnikov. Tako so bili dodani modeli za družino polprevodnikov BISM, ki so jo razvili v Univerzitetnem centru v Berkleyu, ZDA.
Poleg teh imajo komercialni in industrijski simulatorji vezij vgrajenih še veliko drugih modelov elektronskih elementov. Zaradi potrebe po njihovi standardizaciji, oziroma, da bi lahko na osnovi parametričnih modelnih parametrov modele novih elektronskih elementov uporabljali v različnih simulatorjih, je nastalo tudi mednarodno posvetovalno telo, Compact Model Council. Tako so danes med najbolj pogosto uporabljanim standardi za opisovanje matematičnih modelov elektronskih komponent: BSIM3, BSIM4, BSIMSOI, PSP, HICUM in MEXTRAM.
Vnos in prikaz podatkov
V času nastanka SPICE2 smo večinoma uporabljali tekstovne prikazovalnike brez zmogljive računalniške grafike, kot jo imamo danes. Zato je bil takrat podprt tekstovni vnos seznama vozlišč vezja, prav tako pa tekstovni izpis rezultatov. Z novimi programskimi paketi, ki so vključevali SPICE 3 in programe za načrtovanje električnih vezij, smo v devetdesetih letih preteklega stoletja dobili tudi možnost veliko enostavnejšega grafičnega vnosa integriranih vezij in grafičnega izrisa rezultatov na ekran (SPICE 3), namesto na risalnik (SPICE 2). Veliko omenjenih programskih paketov je imelo preizkusne različice, nekatere pa smo lahko uporabljali zastonj.
Danes na osnovi kasnejših izpeljank SPICE, kot sta SIMetrix in SIMPLIS, nastajajo nova, zmogljivejša programska orodja, ki so dobro prilagojena delu v najnovejših operacijskih sistemih, kot je Microsoft Windows 10.
Hiter začetek dela v Microchip Mindi
Čeprav je Mindi na voljo kot zastonjsko programsko orodje z omejeno funkcionalnostjo in plačljivo programsko orodje s polno funkcionalnostjo, imamo možnost preizkusne 30-dnevne uporabe polne funkcionalnosti, ki jo moramo odkleniti preko menija Pomoč (angl. Help). Microchip Mindi vključuje licenci Microchip MPLAB Mindi Licence Agreement in SIMetrix/SIMPLIS EULA. Klub temu, da je zadnja različica dokumentacije vedno na voljo na spletu, zastonjska izvedba Microchip Mindi venomer zahteva posodobitve na zadnje različice, sicer po tridesetih dneh od namestitve preneha delovati…
Kljub temu je Microchip Mindi odlično orodje za simulacije analognih vezij in pretvorb analognih signalov v digitalno obliko. Pozdravna stran je več kot dobrodošla za spoznavanje z njim, saj ponuja možnosti za izgradnjo novih shem integriranih vezij z orodjem SIMetrix ali SIMPLIS, kakor tudi povezave z najpogostejšimi skupinami primerov aplikacij, ki vključujejo: linearne ojačevalnike, elektromotorne gonilnike MOSFET in navadne elektromotorne gonilnike, oziroma razne močnostne sklope za krmiljenje različnih vrst elektromotorjev, upravljanje s porabo energija, visokonapetostne vmesnike, v različici, ki sem jo testiral pa so napovedali tudi upravljanje z baterijami. Slednje je verjetno sedaj, ko berete ta članek, že na voljo.
Vsekakor je za začetnika pomembna tudi knjižica Getting Started Guide, ki nas na hitro seznani s simulatorjem in njegovimi lastnostmi. Med pomembnejšimi je tudi stranski pregled, s pomočjo katerega lahko v zavihku File View v drevesnem pregledu v imeniku Examples-… izbiramo med številnimi že izdelanimi primeri analognih in analogno-digitalnih vezij, ki delujejo s simulatorjem SIMetrix ali SIMPLIS. Namesto tega si lahko ustrezne primere za hiter začetek dela poiščemo tudi v že omenjeni pozdravni strani, tako da izberemo eno izmed skupin primerov in nadaljujemo po podimenikih do najbolj ustreznega primera.
Stranski pregled ima poleg zavihka File View v načinu načrtovanja, ali ko naložimo že izdelan primer, ki ga lahko seveda tudi urejamo, še Part Selector in Command Shell. Prvi omogoča pregleden dostop do elektronskih komponent, v Command Shell pa se Microchip Mindi med nalaganjem shem električnih vezij in njihovim urejanjem ter delovanjem simulatorjev izpisujejo razna obvestila, opozorila in napake.
Morda za začetek omenimo še to, da uporabniški grafični vmesnik Microchip Mindi lahko po želji razstavimo na več oken, če v desnem zgornjem kotu v izbirah Schematic Editor in Waveform Viewer izberemo možnost Undock all (odsidraj vse), kar pomeni, da se podokna ne držijo več glavnega okna. Zato jih lahko prestavimo na poljuben del ekrana, kar je še posebej priročno, če uporabljamo več monitorjev različnih velikosti.
Načrtovanje nove simulacije
Če v meniju File izberemo možnost New, lahko izbiramo med novima shemama vezja za SIMetrix in SIMPLIS ter novim modelom elektronskega elementa, simbolom, grafom, logično definicijo in tekstovno datoteko. Za začetnika sta uporabni prvi možnosti, naprednejši uporabniki, ki znajo kodirati sezname vozlišč za SIMetrix ali SIMPLIS, pa bodo morda zanimale tudi ostale možnosti. Pomembno je predvsem, da so sheme vezij za SIMetrix in SIMPILS različne, čeprav v Microchip Mindi za vse uporabljamo isti urejevalnik. Prav tako so za vsako od omenjenih okolij na voljo posebne knjižnice električnih elementov, ki so nezdružljive. Če želimo, na primer shemo za SIMetrix predelati v shemo za SIMPLIS, moramo ročno zamenjati vse električne elemente z njihovimi ekvivalenti za shemo SIMPLIS. V nasprotnem ne moremo izvajati analiz.
Ko se lotimo izdelave novega vezja, se pred nami odpre načrtovalski ekran z veliko več možnostmi od začetnega, ki ponuja predvsem primere že izdelanih vezij. Čeprav drevesni pregled že izdelanih vezij na levi ostaja, je na osrednjem delu zaslona velika delovna površina, na zgornjem okenskem robu pa so bližnjice do najpogosteje uporabljanih elektronskih elementov. Element izberemo z enim miškinim klikom in ga nato postavimo na želeno mesto na delovni površini. Meni Place ponuja veliko pestrejšo izbiro elektronskih elementov, ki so umeščeni v skupine: magnetnih elementov, pasivnih elementov, povezovalnih konektorjev, merilnih komponent (voltmeter, ampermeter,…), napetostnih virov, tokovnih virov, nadzorovanih virov, virov za določanje prednapetosti (bias), polprevodniških elementov, digitalnih elementov, analognih funkcij ter nekaterih ostalih funkcionalnosti; med katerimi je tudi izbira velikosti delovnih pol, ki se navezuje na standardne velikosti listov papirja (npr. A3, A4, …). Na voljo so tudi številne komponente iz Microchipove knjižnice, ki vključuje primerjalnike, ojačevalnike, visoko-napetostne vmesnike, elektromotorne gonilnike MOSFET in navadne elektromotorne gonilnike v enem čipu ter vezja za upravljanje porabe energije.
Zagon simulacije
Simulator je na voljo, ne glede na to, ali izberemo že izdelano simulacijo, ali le to izdelamo sami. Za njegovo pravilno delovanje moramo imeti izdelan model vezja ter določiti vhodne vire signalov in merilne točne. Šele, ko to opravimo, bo simulacija vrnila rezultate v obliki grafov. Pri kompleksnejših simulacijah lahko po zagonu simulatorja v posebnem oknu spremljamo napredovanje simulacije pa tudi postopno izrisovanje grafov merjenih vrednosti. Simulacija je končana, ko v obvestilnem oknu opazimo besedico Done (narejeno).
Čeprav je pri primerih elektronskih vezij ustrezna analiza že prednastavljena, jo moramo pri lastnih vezjih izbrati sami iz menija SIMetrix Simulator/Choose Simulation ali menija SIMPLIS Simulator/Choose Simulation, glede na to, za kateri simulator je izdelan model vezja. Med analizami, ki smo jih že omenili pri SPICE, lahko hkrati izberemo eno ali več; dodatno pa je v tem sklopu na voljo še analiza DCOP. Pri izbiri več analiz, so njihovi rezultati (oz. grafi) izrisani po zavihkih. Obenem nas simulator pred izvedbo posamezne analize opozori na njeno morebitno neizvedljivost, v kolikor niso podani vsi zahtevani pogoji, oziroma niso določene ustrezne merilne točke.
Zanimiv primer nekoliko zahtevnejše, a še vedno preproste simulacije je, na primer tranzientna analiza, ki je uporabljena na primeru zaporedne A/D in D/A konverzije, s katerim lahko ugotovimo, kako sprememba načina zapisa signala vpliva na ohranjanje njegove informacije. Prav v ta namen je potrebna tranzientna analiza, ki jo izvedemo na osnovi vhodnega signala, ki je pri omenjenem primeru sinusne oblike; lahko pa bi izbrali tudi katerikoli kompleksnejši signal.
Zahtevne simulacije
Pri zahtevnih simulacijah nas ne zanima le, če vezje deluje pri nominalnih delovnih pogojih (npr. temperatura zraka 20 °C in relativna vlažnost zraka 30 %, zračni tlak 1000 HPa), ki so najugodnejši za delovanje njihovih elektronskih komponent, temveč tudi, ali bo vezje pravilno delovalo tudi pri skrajnih delovnih pogojih, kot je temperatura okolice, višja od 40 °C ali relativna vlažnost zraka nad 50 %, ali pa na električne elemente v vezji, ali signalne električne vodnike vplivajo elektromagnetne motnje, ki proizvajajo beli šum. Motnje lahko nastajajo tudi pri delovanju same ga vezja, denimo zaradi poškodovanih električnih elementov, električnih elementov, ki blizu skrajnih toleranc, preklopnega napajalnika ipd.
V ta namen so v Microchip Mindi na voljo tudi dodatne možnosti nastavitev, kot je ročna določitev toleranc za posamezne električne elemente. Pri tem lahko tolerance nastavljamo za vsak element posebej, ali na primer za vse upore in vse kondenzatorje skupaj. Mogoča je tudi meritev moči na posameznih elementih. Po drugi strani omogoča simulacija tudi, na primer meritve časa vzpona in pri tranzistorjih.
Pri zahtevnih simulacijah lahko za izris grafa uporabimo tudi navidezne merilnike dveh vrednosti, od katerih ena določa vrednost ordinate, druga pa vrednost abscise. Tako lahko opravimo podobne meritve, kot bi jih s klasičnim osciloskopom pri pravem vezju. Vsekakor povejmo tudi, da lahko za začetek navidezne merilnike napetosti in toka poljubno dodajamo tudi v že izdelane primere vezij.
Napredna uporaba
Microchip Mindi se pozna, da združuje dve različni simulacijski orodji z različnimi osnovnimi licenčnimi pogoji. Denimo, SIMetrix enako dobro deluje na osnovnem, kot tudi oddaljenem (terminalnskem) namizju, se SIMPLIS upre in zavrne delo preko terminala. Zato ga lahko uporabljamo samo na namizju računalnika, v katerega smo ga namestili.
Sicer pa velja omeniti, da lahko vhodne podatke in rezultate sheme SIMetrix in SIMPLIS pregledujemo tudi v tekstovni obliki v datotekah design.net in design.out ter <ime projekta>.net, <ime projekta>.deck in <ime projekta>.init. Obenem je več kot očitno, da vsebina omenjenih datotek natančno opisuje tako vezje, njegovo začetno nastavitev, kot tudi izrisane grafe želenih analiz. SIMPLIS ima v urejevalniki shem celo bližnjico za ročno urejanje vozlišč pred predprocesiranjem (Edit Netlist (before preprocessing))in po predprocesiranju (Edit Netlist (after preprocessing)). To omogoča fino nastavljanje parametrov v datotekah <ime projekta>.net in <ime projekta>.deck, obenem pa nam omenjenih datotek za izbrani projekt ni potrebno iskati v drevesnem pregledu projektov. Vendar dodajmo, da je potrebno za razumevanje tekstovnih opisov natančno poznati standarde za tekstovni opis shem in električnih elementov v njih.
Se simulacija izplača?
Priprava simulacije vezja izkušenemu elektrotehniku vzame veliko manj časa, kot če bi ga hotel sestaviti in preizkusiti na prototipni ploščici. Simulacijska orodja omogočajo enostavno izvedbo kompleksnih analiz, ki jih lahko pri realnih električnih vezjih izvedemo samo, če imamo na voljo digitalni zajem podatkov z dovolj hitrim A/D pretvornikom ali pretvorniki, oziroma z dovolj velikim številom merilnih kanalov z dovolj hitro A/D pretvorbo. To je v praksi pogosto težko izvedljivo, če želimo hkrati zajemati hitra signale z veliko merilnih mest, pri simuliranem vezju pa so ves čas vsi podatki v digitalni obliki, zato se s tem problemom ne srečamo. Hkrati lahko s simulacijami veliko hitreje v grobem preizkusimo različne sheme vezij z enako funkcionalnostjo in na koncu prava testiranja izvedemo samo na najobetavnejših vezjih. Zato je simulacija več kot dobrodošel pripomoček za vsakega elektrotehnika, ki načrtuje analogna ali analogno-digitalna vezja pa tudi enostavna digitalna vezja. Dobrodošel pripomoček je tudi za domače razvijalce, saj omogoča hitro eksperimentiranje, denimo pri gradnji signalnih predojačevalnikov ali enostavnih analognih filtrov…