Transistor grunderna - MOSFETs (4 / 6 steg)
Steg 4: Logik gates
Nu låt oss titta på hur MOSFETs används i logik uträkningar.
Nåväl, låt mig tillbaka upp ett steg. För att förstå computing, måste du ha en grundläggande kunskap om Boolesk algebra. Om du är obekant med Boolesk algebra, stanna här och göra en del efterforskningar. Jag ska försöka och förenkla it, men elektronik-tutorials.ws har en stor uppsättning lektioner på det specifikt riktade till elektronisk eller digital, logik. BBC har en cool interaktiv webbplats för att lära sig digital logik också. Digital logik är vad vi använder för att utforma datorprocessorer logik. Kan du lära dig mer om K-kartor, där kan du se komplexa sanning tabeller på olika (och ofta enklare) sätt, och De Morgans teorem, som är grunden för Boolesk algebra. I en vidare mening, kan referensmaterial i diskret matematik, som omfattar logik men också mängdlära, rekursion och relationer, också komma till hands. Wikipedia har en lista med operatörer som vanligen används för logik uttryck. Också, som ett förtydligande, i digital logik vi använder 1 (på) och 0 (av) för att anger status för in- eller utmatning.
Nu låt oss titta på hur MOSFETs används i logik uträkningar, skall vi.
Första del teori
Den första logik utfärda utegångsförbud för jag vill införa är dubbel inmatning och-grind eftersom det är förmodligen den enklaste logiken att förstå. Bilden nedan visar en schematisk symbol för en AND-gate.
Produktionen av utfärda utegångsförbud för och ska högt om båda ingångarna är också hög. Om antingen input är låg, är utgången också låg. Symbolen (i digital logik) är "●". Se tabellen nedan för tabellen och utfärda utegångsförbud för sanningen.
A | B | A • B |
---|---|---|
0 | 0 | 0 |
0 | 1 | 0 |
1 | 0 | 0 |
1 | 1 | 1 |
När man tittar på sanning bordlägger, är antalet möjliga utfall i kolumnen längst till höger relaterad till antalet ingångar genom att höja 2 till en kraft som motsvarar antalet ingångar. Med andra ord, om du har två ingångar, du har 22 = 4 utgångar. Med 3 ingångar, du får 23 = 8 utgångar och med 8 ingångar din get 28 = 256 möjliga utgångar.
Den andra porten att överväga är NAND porten, eller inte och inte är det sätt vi beskriver negation, eller säga något är motsatsen. Negationen av true är falskt och inte av och är NAND. Symbolen för inte (i digital logik) är på tilde "~". NAND sanningen bordlägger är liknande, men motsatsen till tabellen och sanningen. Se nedan.
A | B | ~(A • B) |
---|---|---|
0 | 0 | 1 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 0 |
Utdata-kolumnen är den fullständiga motsatsen och sanning bordlägger utdata, inte sant? Andra sanning bordlägger (och gates också) är OR, NOR, XOR, XNOR, och inte. Jag hänvisar du till denna sida för en omfattande lista över sanning bordlägger används i digital logik och de tillhörande schematiska symbolerna.
Nu några program
Så hur kommer MOSFETs att spela med logik gates? Tja, eftersom MOSFETs är så lätta att mätta (tur fullt på) med en låg spänning och nästan försumbar ström, kan vi bygga logik portarna ovan med dem och i sin tur bygga extremt tillförlitlig digital logic system för att behandla data. Låt oss titta på hur en utfärda utegångsförbud för inte ser ut på insidan och se om vi kan få en känsla av detta. Jag börjar med inte eftersom det tar det minsta antalet MOSFETs att bygga och bör därför vara mindre förvirrande. Se schemat nedan.
Utfärda utegångsförbud för inte används, som namnet antyder, för att förneka eller invertera insignalen. PB1 ansluter två utfärda utegångsförbud för MOSFET till + 6V, men endast ZVN öppnas med positiv spänning. När den öppnar dock den ansluter utdata till GND, så den + indata blir GND på utdata. Omvänt, när vi tillämpar GND till ingången genom PB2, endast ZVP öppnas, som förbinder utdata till + 6V, igen Invertera signalen. (När varken knappen trycks, utdata kan "flyta" och antingen vara + V eller GND, så är det vanligt att tvinga indata för en stat att garantera att du vet vad resultatet är i det ögonblicket i tiden. Ett enkelt sätt att göra detta är att ersätta någon av knapparna med ett 1kΩ motstånd, tvingar indata till denna potential när den återstående knappen inte är intryckt. Du får välja vilken stat är din inaktivitetsstatus hitåt.) Jag uppmuntrar dig att bygga detta, men jag kommer inte detalj instruktionerna.
Nu ska vi se vad en NAND grind ser ut inuti. Denna tid vi använder 4 MOSFETs. Se schemat nedan.
LED kommer att bara stänga av (logik 0) när både SWA och SWB är hög (logic 1). (Observera hur LED symbol i schematiskt är nästan svart, som visar? Kom ihåg att.) Jämföra detta resultat till tabellen NAND sanningen. Återigen uppmanar jag dig att bygga detta, men jag kommer inte att även bygga steg.
Vad får vi när vi blandar två? Om NAND är en inte AND, och vi inte kombinerar det med en andra, vad får vi? Är det inte bara en dubbel negativ? Så obemedlade avbryta, logiskt, och vi är kvar med en AND-gate. Boolesk algebra, ser ekvationen ut ~ (~(A●B))⇔(A●B). Ganska snyggt. Nedan är sanningen bordlägger för som om det gör det lättare att förstå. Nedan är också schematiskt, som jag har lagt till vissa etiketter för förtydligande.
A | B | (A • B) | ~(A • B) | ~(~(A • B)) |
---|---|---|---|---|
0 | 0 | 0 | 1 | 0 |
0 | 1 | 0 | 1 | 0 |
1 | 0 | 0 | 1 | 0 |
1 | 1 | 1 | 0 | 1 |
Om du jämför scheman för och inte och NAND-grindar, ser du att även om på utsidan NAND är negationen av och på insidan och-grind är faktiskt gjord av en NAND grind följt av en utfärda utegångsförbud för inte. Så som jag sa ovan, är och porten faktiskt en inte NAND. Oroa dig inte, det tog mig ett tag att fånga till att en alltför. Också, märker hur lysdioden i schematiskt är klarröd, som anger att det är på när växlarna på. Jämför det med NAND gate schematiska bilden ovan.
Nedan finns scheman för OR och XOR grindar. Lägg märke till att båda är egentligen en kombination av deras respektive inversen (NOR och XNOR) med en inte grind.
I sanning kan det bevisas att någon logisk grind och därför någon logik krets, kan byggas med vissa ändligt antal NAND-grindar. Också, FPGA chips och styrelser designad runt dem kan du skriva kod (med VHDL eller Verilog) som kommer att ansluta portarna som behövs för att slutföra kretsen och är ett mycket enkelt sätt att börja bygga och implementera digitala logiska kretsar. Med tanke på hur svårt det kan vara att koppla upp en logisk grind, kan du tänka dig försöker koppla upp en hela logik krets med diskret MOSFETs? Det har endast varit möjligt i de senaste åren för studenter och hobbyister kan bygga kretsar som tilläggsfunktioner, som är enkel i teorin men komplicerat att bygga, främjande av teknik och miniatyrisering av delar inblandade. Anyway, jag avvika. Jag är bara så tacksam för den teknik som är på våra fingertoppar, när inte så länge sedan det var bara en önskan.
Så nu när det är så tydligt som lera, låt oss gå vidare. Nu när vi har gates, vad kan vi göra med dem?