Obsah:

4-bitová binárna kalkulačka: 11 krokov (s obrázkami)
4-bitová binárna kalkulačka: 11 krokov (s obrázkami)
Anonim
4-bitová binárna kalkulačka
4-bitová binárna kalkulačka
4-bitová binárna kalkulačka
4-bitová binárna kalkulačka
4-bitová binárna kalkulačka
4-bitová binárna kalkulačka
4-bitová binárna kalkulačka
4-bitová binárna kalkulačka

Rozvinul som záujem o to, ako počítače fungujú na základnej úrovni. Chcel som porozumieť použitiu diskrétnych komponentov a obvodov potrebných na splnenie zložitejších úloh. Jednou z dôležitých základných súčastí CPU je aritmetická logická jednotka alebo ALU, ktorá vykonáva operácie s celočíselnými číslami. Na splnenie tejto úlohy počítače používajú binárne čísla a logické brány. Jednou z najjednoduchších operácií, ktoré sa vykonávajú, je sčítanie dvoch čísel dohromady v obvode sčítačky. Toto video od numberphile výborne vysvetľuje tento koncept prostredníctvom doplnku Domino. Matt Parker rozširuje tento základný koncept a stavia obvod Domino Computer pomocou 10 000 domín. Vybudovanie celého osobného počítača z domina je absurdné, ale stále som chcel pochopiť používanie diskrétnych komponentov na splnenie tejto pridávajúcej úlohy. Vo videách boli logické brány vytvorené z domina, ale môžu byť vyrobené aj zo základných komponentov, konkrétne z tranzistorov a odporov. Cieľom tohto projektu bolo využiť tieto diskrétne komponenty na učenie a vytvorenie vlastnej 4-bitovej kalkulačky sčítačky.

Moje ciele tohto projektu zahŕňali: 1) Naučte sa vytvárať a vyrábať vlastné dosky plošných spojov 2) Uľahčite koncepciu návrhu pridaním binárnych čísel 3) Ukážte rozdiel v mierke medzi diskrétnymi komponentmi a integrovaným obvodom, ktorý vykonáva rovnakú úlohu.

Väčšina inšpirácie a porozumenia tomuto projektu pochádza od spoločnosti Simon Inns.

Zásoby

Použil som Fritzing na výrobu schém, vytváranie a výrobu PCB

Krok 1: Teória

Teória
Teória
Teória
Teória
Teória
Teória
Teória
Teória

Počítanie v základni 10 je jednoduché, pretože existuje iné celé číslo, ktoré predstavuje súčet dvoch celých čísel. Najjednoduchší príklad:

1 + 1 = 2

Na počítanie v základe 2 alebo v binárnom čísle sa používajú iba číslice 1 a 0. Na reprezentáciu rôznych celých čísel a ich súčtov sa používa kombinácia číslic 1 a 0. Príklad počítania v základe 2:

1+1 = 0 a prenesiete 1 na nasledujúci bit

Pri sčítaní dvoch bitov (A a B) dohromady sú možné 4 rôzne výsledky s výstupmi Sum a Carry (Cout). To je uvedené v tabuľke.

Logické brány preberajú vstupy a generujú výstup. Niektoré z najzákladnejších logických brán pozostávajú z brán NOT, AND a OR, ktoré sú všetky použité v tomto projekte. Skladajú sa z rôznych kombinácií a zapojenia tranzistorov a odporov. K dispozícii je schéma každej brány.

Keď sa vrátime k tabuľke, na vytvorenie súhrnných výsledkov v tabuľke je možné použiť kombináciu týchto brán. Táto kombinácia logiky je známa aj ako exkluzívna brána OR (XOR). Vstup musí byť presne 1, aby sa dosiahol výstup 1. Ak sú obidva vstupy 1, výsledný výstup je 0. Výsledky prenosového bitu môžu byť reprezentované jednoduchým hradlom AND. Použitie XOR s bránou AND teda môže predstavovať celú tabuľku. Toto je známe ako polovičná sčítačka a schéma je uvedená vyššie.

Aby bolo možné pridať väčšie binárne čísla, prenosový bit musí byť začlenený ako vstup. To sa dosiahne kombináciou obvodov 2 polovičnej sčítačky na generovanie úplnej sčítačky. Plné sčítače je potom možné kaskádovať dohromady a pridať tak väčšie binárne čísla. V mojom projekte som kaskádoval 4 úplné addery, ktoré mi umožnili mať 4 bitové vstupy. Schéma úplnej sčítačky je uvedená vyššie.

Simon Inns má skvelý a podrobnejší prehľad o teórii. Existuje aj niekoľko súborov PDF, ktoré som považoval za užitočné.

Krok 2: Testovanie obvodu

Testovanie obvodu
Testovanie obvodu
Testovanie obvodu
Testovanie obvodu

Prvým krokom po pochopení toho, ako fungujú logické brány a teórie úplnej sčítačky, je vybudovanie obvodu. Začal som zhromaždením všetkých komponentov, ktoré som potreboval: 10K a 1K rezistorov, NPN tranzistorov, Breadboard, Jumperwires. Nasledoval som spolu s výtlačkom úplnej sčítačky. Tento proces bol únavný, ale dokázal som získať pracovný obvod pre úplnú sčítačku. Vstupy by som uviazal vysoko alebo nízko a na testovanie výstupov by som použil multimetr. Teraz som bol pripravený preložiť dosku a schému do PCB.

Krok 3: Navrhovanie plošného spoja úplnej sčítačky

Navrhovanie dosky plošných spojov Full Adder
Navrhovanie dosky plošných spojov Full Adder
Navrhovanie dosky plošných spojov Full Adder
Navrhovanie dosky plošných spojov Full Adder
Navrhovanie dosky plošných spojov Full Adder
Navrhovanie dosky plošných spojov Full Adder

Na návrh DPS som použil výhradne Fritzing. Toto bolo prvýkrát, čo som navrhoval DPS a tento program sa mi zdal užívateľsky najpríjemnejší a najintuitívnejší s najmenšou krivkou učenia. K dispozícii sú ďalšie skvelé programy ako EasyEDA a Eagle, ktoré vám pomôžu navrhnúť DPS. S Fritzingom môžete začať navrhovať na virtuálnom paneli alebo na schéme a potom prejsť na DPS. Na tento projekt som použil obe tieto metódy. Keď ste pripravení vyrobiť dosku plošných spojov, je jednoduché kliknutie na tlačidlo exportovať súbory a nahrať ich priamo do spoločnosti Aisler, partnerského výrobcu výrobkov Fritzing.

Začnite proces nakreslením schémy Schéma Začínam so schémou. Najprv som našiel a vložil všetky komponenty do pracovného priestoru. Ďalej som nakreslil všetky stopy medzi komponentmi. Uistil som sa, že na príslušné miesta pridám 5V vstup a uzemnenie.

Navrhnite PCBI kliknuté na karte PCB. Keď sa presuniete priamo zo schémy, dostanete neporiadok so všetkými komponentmi prepojenými čiarami ratsnest na základe stôp, ktoré ste v schéme urobili. Prvá vec, ktorú som urobil, bola zmena veľkosti sivej dosky plošných spojov na požadovanú veľkosť a pridanie montážnych otvorov. Tiež som pridal 16 pinov pre vstup a výstupy. Ďalej som začal logicky usporiadať komponenty. Pokúsil som sa zoskupiť komponenty s prepojeniami, ktoré boli blízko seba, aby som minimalizoval stopovú vzdialenosť. Prešiel som ďalší krok a zoskupil komponenty dohromady pomocou logickej brány. Jedným z mojich cieľov bolo byť schopný vizualizovať, ako obvod funguje, a byť schopný sledovať "bit" v obvode. Potom som použil funkciu automatického vypínania, ktorá prechádza automaticky a vykresľuje optimalizované trasovanie medzi komponentmi. Bol som skeptický, že tento proces dokončil všetky správne trasovania, a tak som prešiel dvojitou kontrolou a prekreslením trás tam, kde mali byť. Našťastie funkcia automatického vypínania odviedla celkom dobrú prácu a musel som opraviť iba niektoré trasovania. Autorouter tiež urobil niekoľko podivných uhlov so stopami, čo nie je „osvedčený postup“, ale s tým som bol v poriadku a všetko stále fungovalo dobre. Posledná vec, ktorú som urobil, bolo pridať text, ktorý sa vytlačí ako sieťotlač. Zaistil som, aby boli označené všetky súčasti. Tiež som importoval obrázky vlastnej logickej brány, aby som zdôraznil zoskupenie komponentov. Posledný obrázok vyššie ukazuje sieťotlač.

Vytvorte PCBI kliknutím na vyrobené tlačidlo v spodnej časti obrazovky. Presmerovalo ma to priamo na webovú stránku Aisler, kde som si mohol vytvoriť účet a nahrať všetky svoje súbory Fritzing. Nechal som všetky predvolené nastavenia a zadal objednávku.

Krok 4: Návrh ďalších PCB

Navrhovanie ostatných PCB
Navrhovanie ostatných PCB
Navrhovanie ostatných PCB
Navrhovanie ostatných PCB
Navrhovanie ostatných PCB
Navrhovanie ostatných PCB

Zostávajúce PCB, ktoré som potreboval, boli doska rozhrania vstup/výstup a doska pre integrované obvody. Pri týchto doskách som postupoval podľa postupu ako krok 3. Schémy vo formáte pdf sú uvedené nižšie. V prípade integrovaného obvodu som vykonal všetky pripojenia pomocou funkcie virtuálneho breadboardu. Schému som zahrnul pre úplnosť, ale mohol som prejsť priamo z dosky na dosku na DPS, čo bolo celkom v pohode. Pred nahraním a objednaním v Aisleri som tiež pridal konverzný graf základne 10 na základňu 2 na silkscreen na doske rozhrania I/O.

Krok 5: Spájkovanie komponentov na dosku plošných spojov

Spájkovacie súčiastky na DPS
Spájkovacie súčiastky na DPS
Spájkovacie súčiastky na DPS
Spájkovacie súčiastky na DPS
Spájkovacie súčiastky na DPS
Spájkovacie súčiastky na DPS
Spájkovacie súčiastky na DPS
Spájkovacie súčiastky na DPS

Všetky PCB dorazili a kvalita ma skutočne ohromila. S inými výrobcami nemám žiadne skúsenosti, ale neváhal by som znova použiť Aisler.

Ďalšou úlohou bolo spájkovať všetky súčasti, čo bol náročný proces, ale moje spájkovacie schopnosti sa výrazne zlepšili. Začal som s doskami s plným rozsahom a spájkoval komponenty počínajúc tranzistormi, potom 1K odpormi, potom 10K odpormi. Použil som podobnú metódu na spájkovanie zvyšných komponentov na dosku I/O a IC. Po dokončení každej dosky Full Adder som ich testoval rovnakou metódou ako breadboard Full Adder. Prekvapivo všetky dosky fungovali správne bez problému. To znamenalo, že dosky boli vedené správne a že boli správne spájkované. Na ďalší krok!

Krok 6: Dokončenie PCB na stohovanie

Dokončenie DPS na stohovanie
Dokončenie DPS na stohovanie
Dokončenie PCB na stohovanie
Dokončenie PCB na stohovanie
Dokončenie DPS na stohovanie
Dokončenie DPS na stohovanie

Ďalšou úlohou bolo spájkovať všetky kolíky záhlavia na každú dosku. Tiež som potreboval pridať prepojovacie vodiče medzi správny kolíkový konektor a vstupy/výstupy dosiek Full Adder (A, B, Cin, V+, GND, Sum, Cout). Tomuto kroku sa dalo vyhnúť, ak ste navrhli rôzne DPS pre každú úroveň obvodu sčítačky, ale chcel som minimalizovať dizajn a náklady vytvorením iba jednej dosky plošných spojov s plným napájaním. V dôsledku toho pripojenia k týmto vstupom/výstupom vyžadovali prepojovacie vodiče. Uvedená schéma je, ako som túto úlohu splnil a ktoré piny boli použité pre každú úroveň dosiek Full Adder. Obrázky ukazujú, ako som spájkoval prepojovacie vodiče pre každú dosku. Začal som spájkovaním voľných vodičov na správne kolíky na hlavičke. Potom som spájkoval záhlavie na DPS. Potom, čo som nechal spájkovať kolíky záhlavia so prepojovacími vodičmi na miesto, spájkoval som voľné konce prepojovacích káblov so správnymi vodičmi na doske plošných spojov. Obrázok vyššie ukazuje detailný záber na kolíky záhlavia so spájkovacími vodičmi, ktoré sú k nim spájkované.

Krok 7: Napájanie obvodov

Napájanie obvodov
Napájanie obvodov
Napájanie obvodov
Napájanie obvodov
Napájanie obvodov
Napájanie obvodov

Plánoval som použiť pre tento projekt napájanie 12 V jednosmerným prúdom, a tak som navrhol dosku rozhrania I/O tak, aby mala pre vstup napájaný jednosmerný konektor/konektor. Pretože som používal rovnakú dosku I/O a chcel som použiť výhradný zdroj napájania, potreboval som regulovať napätie na 5 V, pretože to je maximálny vstup pre IC SN7483A. Na to som potreboval 5V regulátor a spínač, ktorý by mohol prepínať medzi 12 V a 5 V. Schéma vyššie ukazuje, ako som zapojil napájací obvod dohromady.

Krok 8: 3D tlač základne

3D tlač základne
3D tlač základne
3D tlač základne
3D tlač základne
3D tlač základne
3D tlač základne

Teraz, keď sú všetky káble a spájkovanie dokončené, potreboval som zistiť, ako to bude všetko držať pohromade. Rozhodol som sa pre CADing a 3D tlač, dizajn, ktorý pojme a zobrazí všetky časti tohto projektu.

Úvahy o dizajne Potreboval som miesta na montáž dosiek plošných spojov pomocou skrutiek a podpier. Skladané prídavné zariadenia sú vizuálne najpríťažlivejšie a chcel som ich mať vystavené, keď sa nepoužívajú, a tak som chcel miesto na uloženie dosky plošných spojov IC. Potreboval som prispôsobiť napájací obvod výrezmi pre spínač a DC/barel jack/konektor. Nakoniec som chcel nejaký druh vitrínovej skrine, aby sa zabránilo hromadeniu prachu v otvorených doskách s plošnými spojmi, takže som potreboval miesto, kde by mohla sedieť.

3D modelovanie Na návrh základne som použil Fusion360. Začal som s rozmermi DPS a rozstupom montážnych otvorov. Potom som použil sériu náčrtov a výliskov na nastavenie výšky a veľkosti základne pomocou montážnych bodov do DPS. Ďalej som urobil výrezy pre kryt a napájací obvod. Potom som vytvoril priestor na uloženie dosky plošných spojov IC, keď sa nepoužíva. Nakoniec som pridal niekoľko detailov dokončovacej hrany a poslal ich do Cura, môjho softvéru na krájanie.

Tlač Vybral som čierne vlákno PLA. Tlač trvala niečo málo cez 6 hodín a dopadla skvele. Prekvapivo boli všetky rozmery správne a všetko vyzeralo, že to do seba správne zapadá. Na obrázku vyššie je vytlačený obrázok po pridaní podpier do montážnych otvorov. Dokonale sa hodili!

Krok 9: Zostavenie

zhromaždenie
zhromaždenie
zhromaždenie
zhromaždenie
zhromaždenie
zhromaždenie

Vložte pätky. Všetky stojky som umiestnil do montážnych otvorov základne.

Umiestnite napájací obvod do základne. Zapojil som všetko dohromady a vytiahol všetky súčiastky cez otvor pre vypínač. Ďalej som zapojil napájací konektor/adaptér do zadnej časti základne. Zatlačil som 5V regulátor do jeho otvoru a nakoniec bolo možné spínač zasunúť do svojej polohy.

Namontujte I/O PCB. Umiestnil som PCB IC do jeho úložného priestoru a navrch umiestnil dosku rozhrania I/O rozhrania. Dosku PCB som priskrutkoval pomocou 4x skrutiek M3 a šesťhranného skrutkovača. Nakoniec som zapojil DC barel jack do DPS.

Naskladajte dosky plošných spojov adaptéra. Naskladal som prvú Zmijačku na miesto. Zaskrutkoval som zadnú stranu dosky plošných spojov do zadných montážnych otvorov pomocou dvoch podperiek. Tento postup som opakoval, kým nebol na mieste posledný zmija, a zaistil som ho ďalšími 2 skrutkami M3.

Vytvorte kryt. Na ohradu som použil 1/4 akryl. Zmeral som konečnú výšku projektu a s rozmermi CAD som vystrihol 5 kusov na boky a vrch, aby som vytvoril jednoduchú škatuľu s otvoreným dnom. Na lepenie som použil epoxid. Nakoniec som obrúsil malý polkruhový výrez na pravej strane, aby sa do neho zmestil vypínač.

Pripravení na výpočet

Krok 10: Výpočet a porovnanie

Image
Image
Výpočet a porovnanie
Výpočet a porovnanie
Výpočet a porovnanie
Výpočet a porovnanie

Pripojte svoju novú kalkulačku a začnite pridávať! Tabuľku základov 10 na základňu 2 je možné použiť na rýchly prevod medzi binárnymi a celými číslami. Radšej nastavím vstupy a potom kliknem na „rovnaké“prepnutím vypínača a sledovaním binárneho výstupu z diód LED.

Porovnanie diskrétnych komponentov s integrovaným obvodom. Teraz môžete vyskladať všetky prídavné moduly a zapojiť integrovaný obvod SN7483A do dosky I/O. (Nezabudnite prepnúť prepínač do opačného smeru, aby ste IC napájali 5 V namiesto 12 V). Môžete vykonávať rovnaké výpočty a dosiahnete rovnaké výsledky. Je celkom pôsobivé myslieť si, že diskrétny komponent Adder a IC fungujú rovnakým spôsobom, len na veľmi odlišnej veľkosti. Obrázky zobrazujú rovnaké vstupy a výstupy pre obvody.

Krok 11: Záver

Dúfam, že sa vám tento projekt páčil a naučili ste sa rovnako ako ja. Je veľmi uspokojujúce naučiť sa niečo nové a zmeniť to na jedinečný projekt, ktorý si vyžaduje aj naučenie sa novej zručnosti, ako je návrh/výroba DPS. Všetky schémy sú uvedené nižšie. Pre kohokoľvek, koho by to zaujímalo, môžem tiež prepojiť moje súbory Gerber PCB, aby ste si mohli vytvoriť vlastnú 4-bitovú binárnu kalkulačku. Šťastnú výrobu!

Odporúča: