Transistor grunderna - MOSFETs (5 / 6 steg)
Steg 5: logiska kretsar
Kretsarna som här kommer att vara mycket enkel, men kommer att kräva antingen ett stort antal diskreta N-ch och P-ch MOSFETs eller logik ICs. Logik ICs är billiga och lätt att hitta (prova denna länk för IC-4001) eller denna länk för 7402 IC, som är både quad NOR gates, så det inte kommer vara alltför svårt.
Kretsarna som kom från Forrest Mims bok Digital logik projekt: arbetsbok II. Här är en länk till PDF från RadioShack eller till Amazon.com för köp. (Som en sida noterar, rekommenderar jag att få grundläggande elektronik: transistorer och integrerade kretsar: arbetsbok jag också, också från Forrest Mims. Amazon.com eller PDF)
Några saker att komma ihåg när du arbetar med logik ICs:
- Var noga med att undvika statiska uppbyggd eller ansvarsfrihet att undvika att skada marker.
- Varje chip har en gemensam pin för + V och en gemensam jord-stift. Dessa visas inte i scheman, men bör vara lätt att hitta i databladet (7402 datablad).
- Några ingående stift som inte används ska anslutas till GND. Detta också visas inte på scheman.
- Logik marker är inte avsedda att vara hög aktuella drivrutiner för stora laster som motorer och sådant. Men de kan användas för små laster, som en LED, eller att ge signalen för sådana drivrutiner, som i steg 3
För de följande scheman, anteckna SN74XX ovanför varje gate. Det är IC många jag används för att bygga kretsar om du vill få några ICs och bygga dessa på egen hand. De flesta av dessa marker har 4 av specifika porten, så SN7402 nedan skulle ha 4 NOR portarna.
OK, låt oss börja med en enkel LED flasher. Använder bara två utfärda utegångsförbud för NOR, kan vi bygga en oscillator. Se schema nedan.
LED2 och R4 är valfri om du vill ha två lysdioder som flash och tillbaka. Annars LED1 blinkar på/av med en hastighet som bestäms av värdena på R1 (prova en potentiometer här) och C1.
Nästa kretsen är en set/reset för spärr, som är en nyckelkomponent i sekventiella logik. Spärrarna grunden av datorminnet, eftersom produktionen fortfarande/på även efter du släpper växeln. En grupp med 8 lås utgör den grundläggande strukturen för 8-bitars minne celler. I minnet, SR spärren är känd som en D spärr (data) och används med core systemklockan för att bestämma när spärren. (Det finns mer att göra, men det är utanför omfånget för denna I'ble. Titta här för mer information om hur datorminne fungerar och här för en jämförelse mellan sekventiella och minnen logik.) Nu, schematiskt.
Denna krets är mer av en demonstration av konceptet eftersom vi vanligtvis bara intresserad av en utgång från spärren eftersom som utgångar flip-flop mellan stater som knapparna trycks, de kommer alltid vara på motsatt påstår till varandra. Du kan binda en av utgångarna här till en andra krets och använda låset som "Skjut på / trycka ifrån", mekanisk växel för den andra kretsen.
Som tidigare nämnts kan någon logisk grind eller krets göras från ett ändligt antal NAND-grindar. Här är ett exempel på en eller-grind med 3 NAND-grindar.
Att ändra eller till en NOR, lägga till en fjärde NAND mellan produktionen av U3 och LED, med bindas två ingångar U4 ihop.
Det verkar som det skulle vara dyrare att använda mycket mer MOSFETs för att göra samma sak (4 för 1 NOR gate, 16 för 3 NAND-grindar) och när du designar ett nytt chip, utrymme och antalet delar i detta utrymme är viktigaste när det gäller kostnaden för chip. Tja, är här fördelen. Kom ihåg FPGA marker jag nämnde tidigare? Detta är generiska chips som kan programmeras för varje situation. Om vi har en enorm lagerplats av NAND-grindar som kan göra allt, kan då vi göra... något. Men om vi försöker bevara utrymme och kostnader med hjälp av specifika portar, vi begränsas av antalet varje gate som vi har. Vad händer när vi behöver mer OR gates? Låter som en redesign till mig, och som kostar pengar också. Poängen är att om du har en specifik design redan i åtanke, det kan vara bättre att använda den exakta porten behövs och inte en lagerplats av generiska NAND-grindar. Men om du är prototyper och design från grunden, du behöver flexibilitet, och det är där NAND gates shine.
Anyway, tillbaka till den. Igen med bara NAND gates, kan vi bygga en XNOR gate.
Genom att ta bort U5 och knyta produktionen av U4 till R3, får vi en XOR-grind.
En enda XOR-grind kan användas som en 1-bitars binär huggorm. Genom att lägga två NAND-grindar (vilket är bara en AND-gate om du minns), får vi en halv-adder med två lite uteffekt.
En full-adder kräver ett par förändringar (Lägg en XOR, två NANDs och en eller-grind), som lägger till en ingång för att hantera retur signaler från en tidigare huggorm. Flera tilläggsfunktioner staplas sedan tillsammans, en huggorm för varje bit, att bygga en bordsräknare. Det är faktiskt ganska elegant. Nedan är en full-adder krets.
PB1 är bit A, PB2 är lite B och PB3 är bär lite från det föregående adder blocket. Om vi bara trycker på PB1 eller PB2, vi lägger till 1 + kommer 0 och enda LED 2 lätt för att ange värdet 1. Om vi trycker PB1 och PB2 tillsammans, som visar en binär tillägg av 1 + 1, som är 10 i binär (anges som 10b). Det kommer att lysa upp LED1 och lämna LED2 bort. Om vi sedan tryck PB3 och tillsätt 1 mer, får vi 11b, och båda LED ljus.
Nedan ett kopplingsschema för en 4-bitars adder använder 4 full-adder kvarter. Det första blocket till höger (med A0 och B0) kan bytas med en halv-adder utan någon effekt på resultatet. Det tar helt enkelt bort den bär i (Cin) på den första full-adder, som är ansluten till GND här ändå.
I det här exemplet lägger vi till två, 4-bitars nummer A och B. De första bitarna i varje (A0 och B0) läggs till höger, med resultatet skickas till S0 och något bär lite (C1) skickas till den nästa huggorm. A1 och B1 läggs sedan, tillsammans med C1 från den första huggorm, resultatet går för att mata ut S1, och något bär lite skickas på (C2). Den sista adder antingen visar den slutliga genomföra lite (C4), om någon, eller ignorerar det om det finns inget utrymme eller om det är oviktigt. Du designer få att fatta detta beslut.
Låt oss titta på ett mer logik exempel, en 4-bitars komparator digitala lås. Som nämnts, XOR grindar kan användas som tilläggsfunktioner, men de är också kontrollapparater, mata en om båda ingångarna är samma, och den inverterade staten om båda ingångarna är olika. Detta tillåter oss att kontrollera tillståndet i ett stift och växla och utgång om det är korrekt.
Stiften märkta 1, 2, 3, och 4 är för att programmera låset. Du anger dessa stift hög eller låg för att bestämma combo, och då måste man trycka på samma motsvarande knappar PB1-PB4 för att produktionen av U13 att gå lågt. Detta gör att nuvarande flöda genom LED och det visar på. Ange den kam som du antingen kan binda stiften direkt till GND eller + V, eller använda någon form av minnet som lagrar indata när set och ändras inte. Låter bekant? Japp, du kan enkelt lägga till en spärr krets 4 combo uppsättning stift. Så länge spärrarna inte förlorar makt, kommer de inte förlora det värde som lagras i dem. Program för detta är enkla i bästa, men det blir tanken. (Jag är på något sätt ansvariga för hur du väljer att använda denna krets som det inte är riktigt säker och kan vara lätt hackat/reset.)