Kazalo:

4-bitni binarni kalkulator: 11 korakov (s slikami)
4-bitni binarni kalkulator: 11 korakov (s slikami)

Video: 4-bitni binarni kalkulator: 11 korakov (s slikami)

Video: 4-bitni binarni kalkulator: 11 korakov (s slikami)
Video: 3 РЕЦЕПТА из КУРИНОЙ ПЕЧЕНИ/ ПАШТЕТ!! ГОСТИ БУДУТ В ШОКЕ!! 2024, November
Anonim
4-bitni binarni kalkulator
4-bitni binarni kalkulator
4-bitni binarni kalkulator
4-bitni binarni kalkulator
4-bitni binarni kalkulator
4-bitni binarni kalkulator
4-bitni binarni kalkulator
4-bitni binarni kalkulator

Zanimalo me je za način delovanja računalnikov na temeljni ravni. Želel sem razumeti uporabo diskretnih komponent in vezij, potrebnih za izvajanje zahtevnejših nalog. Ena pomembna temeljna komponenta CPU -ja je aritmetična logična enota ali ALU, ki izvaja operacije s celoštevilčnimi številkami. Za izvedbo te naloge računalniki uporabljajo binarna števila in logična vrata. Ena najpreprostejših operacij je seštevanje dveh številk v seštevalnem vezju. Ta video posnetek numberphile odlično razlaga ta koncept prek dodatka Domino. Matt Parker razširja ta osnovni koncept in z 10.000 dominami gradi računalniško vezje Domino. Izdelava celotnega osebnega računalnika iz dominov je absurdna, vendar sem vseeno želel razumeti uporabo diskretnih komponent za izvedbo te naloge dodajanja. V videoposnetkih so bila logična vrata ustvarjena iz dominov, lahko pa so tudi iz osnovnih komponent, in sicer tranzistorjev in uporov. Namen tega projekta je bil uporabiti te diskretne komponente za učenje in ustvarjanje lastnega 4-bitnega seštevalnika.

Moji cilji za ta projekt so bili: 1) Naučiti se ustvariti in izdelati tiskano vezje po meri 2) Olajšati zasnovo oblikovanja z dodajanjem binarnih števil 3) Dokazati razliko v merilu med diskretnimi komponentami in integriranim vezjem, ki opravlja isto nalogo

Velik del navdiha in razumevanja tega projekta je prišel iz gostiln Simon.

Zaloge

Uporabil sem Fritzing za izdelavo shem, ustvarjanje in izdelavo tiskanih vezij

1. korak: Teorija

Teorija
Teorija
Teorija
Teorija
Teorija
Teorija
Teorija
Teorija

Štetje v bazi 10 je preprosto, ker obstaja drugo celo število, ki predstavlja vsoto dveh celih števil. Najpreprostejši primer:

1 + 1 = 2

Štetje v bazi 2 ali binarno uporablja samo enote in 0. Za predstavitev različnih celih števil in njihovih vsot se uporablja kombinacija 1 in 0. Primer štetja v bazi 2:

1+1 = 0 in prenesete 1 v naslednji bit

Če dva bita (A in B) dodate skupaj, so možni 4 različni rezultati z izhodi Sum in Carry (Cout). To je prikazano v tabeli.

Logična vrata sprejemajo vnose in ustvarjajo izhod. Nekatera najosnovnejša logična vrata so vrata NOT, AND in OR, ki se uporabljajo v tem projektu. Sestavljeni so iz različnih kombinacij in ožičenja tranzistorjev in uporov. Na voljo so sheme vsakih vrat.

Če se vrnemo k tabeli, lahko kombinacijo teh vrat uporabite za pripravo rezultatov vsote v tabeli. Ta kombinacija logike je znana tudi kot ekskluzivna vrata OR (XOR). Vhod mora biti točno 1, da dobimo izhod 1. Če sta oba vhoda 1, je rezultat izhod 0. Rezultate nosilnih bitov lahko predstavimo s preprostimi vrati AND. Tako lahko uporaba obeh XOR z vrati AND predstavlja celotno tabelo. To je znano kot Half Adder in shema je prikazana zgoraj.

Za dodajanje večjih binarnih številk mora biti nosilec vključen kot vhod. To dosežemo tako, da združimo 2 vezja polovičnega seštevanja za ustvarjanje polnega seštevalnika. Polne seštevalnike lahko nato uvrstite skupaj, da dodate večja binarna števila. V svojem projektu sem kaskadiral 4 polne seštevalce, kar mi je omogočilo 4 -bitne vhode. Shema za polno dodajanje je zgoraj.

Simon Inns ima veliko in bolj poglobljeno teorijo. Obstaja tudi nekaj datotek PDF, ki so se mi zdeli v pomoč.

2. korak: Preizkusite vezje

Testiranje vezja
Testiranje vezja
Testiranje vezja
Testiranje vezja

Prvi korak po razumevanju delovanja logičnih vrat in teorije polnega seštevanja je izgradnja vezja. Začel sem z zbiranjem vseh komponent, ki sem jih potreboval: 10K in 1K upori, NPN tranzistorji, Breadboard, Jumperwires. Sledil sem skupaj z izpisom celotnega seštevalca. Postopek je bil dolgočasen, vendar sem lahko dobil delovno vezje za polni seštevalnik. Vhode bi povezal visoko ali nizko in z multimetrom preizkusil izhode. Zdaj sem bil pripravljen prevesti shemo in shemo v tiskano vezje.

3. korak: Oblikovanje PCB polnega seštevalnika

Oblikovanje PCB polnega dodajalca
Oblikovanje PCB polnega dodajalca
Oblikovanje PCB polnega dodajalca
Oblikovanje PCB polnega dodajalca
Oblikovanje PCB polnega dodajalca
Oblikovanje PCB polnega dodajalca

Za oblikovanje tiskanega vezja sem uporabil izključno Fritzing. Prvič sem oblikoval tiskano vezje in ta program se je zdel najbolj uporabniku prijazen in intuitiven z najmanjšo krivuljo učenja. Za oblikovanje tiskanega vezja so na voljo še drugi odlični programi, kot sta EasyEDA in Eagle. S Fritzingom lahko začnete oblikovati na virtualni plošči ali shemi, nato pa se premaknete na tiskano vezje. Za ta projekt sem uporabil obe metodi. Ko ste pripravljeni na izdelavo tiskanega vezja, je preprosto, kot da kliknete gumb za izvoz datotek in jih naložite neposredno v Aisler, partnerja za izdelavo Fritzinga.

Narišite shemo Začel sem z zavihkom shema, da začnem postopek. Najprej sem našel in vstavil vse komponente v delovni prostor. Nato sem narisal vse sledi med sestavnimi deli. Poskrbel sem, da sem na ustrezna mesta dodal vhod 5V in ozemljitev.

Oblikujte tiskano vezje, kliknite na zavihek PCB. Ko se premaknete neposredno iz sheme, pride do nereda z vsemi komponentami, ki so povezane s črtami ratsnest na podlagi sledi, ki ste jih naredili v shemi. Najprej sem spremenil velikost sivega tiskanega vezja na želeno velikost in dodal montažne luknje. Dodal sem tudi 16 zatičev za vhod in izhod. Nato sem začel logično razporejati komponente. Poskušal sem združiti komponente s povezavami, ki so bile blizu drug drugemu, da bi zmanjšal razdaljo sledenja. Naredil sem dodaten korak in sestavil komponente po logičnih vratih. Eden od mojih ciljev je bil, da si lahko predstavljam, kako deluje vezje, in da lahko sledim "bitu" skozi vezje. Po tem sem uporabil funkcijo samodejnega usmerjanja, ki poteka samodejno in nariše optimizirane sledi med komponentami. Bil sem skeptičen, da je ta postopek dokončal vsa prava sledenja, zato sem šel še enkrat preveriti in na novo narisati sledi, kjer naj bi bili. Na srečo je funkcija samodejnega usmerjanja opravila precej dobro delo in popraviti sem moral le nekaj sledov. Autorouter je naredil tudi nekaj čudnih kotov s sledovi, kar ni "najboljša praksa", vendar sem bil s tem v redu in vse je še delovalo v redu. Nazadnje sem dodal besedilo, ki bi bilo natisnjeno kot sitotisk. Poskrbel sem, da so vse komponente označene. Uvozil sem tudi slike logičnih vrat po meri, da bi poudaril združevanje komponent. Zadnja slika zgoraj prikazuje sitotisk.

Izdelajte tiskano vezje s klikom na gumb za izdelavo na dnu zaslona. Neposredno me je preusmeril na spletno mesto Aisler, kjer sem lahko ustvaril račun in naložil vse svoje datoteke Fritzing. Zapustil sem vse privzete nastavitve in dal naročilo.

4. korak: Oblikovanje drugih tiskanih vezij

Oblikovanje drugih tiskanih vezij
Oblikovanje drugih tiskanih vezij
Oblikovanje drugih tiskanih vezij
Oblikovanje drugih tiskanih vezij
Oblikovanje drugih tiskanih vezij
Oblikovanje drugih tiskanih vezij

Preostala tiskana vezja, ki sem jih potrebovala, sta vhodno/izhodna vmesniška plošča in plošča za IC. Za te plošče sem sledil postopku kot korak 3. PDF sheme je objavljena spodaj. Za IC sem vzpostavil vse povezave s funkcijo navidezne plošče. Vključil sem shemo za popolnost, vendar sem lahko šel neposredno z mize na zavihek PCB, kar je bilo zelo kul. Pred nalaganjem in naročanjem v Aislerju sem na sitotisk na V/I vmesniški plošči dodal še bazo 10 na bazo 2.

5. korak: Spajkanje komponent na tiskano vezje

Spajkanje komponent na tiskano vezje
Spajkanje komponent na tiskano vezje
Spajkanje komponent na tiskano vezje
Spajkanje komponent na tiskano vezje
Spajkanje komponent na tiskano vezje
Spajkanje komponent na tiskano vezje
Spajkanje komponent na tiskano vezje
Spajkanje komponent na tiskano vezje

Prišli so vsi tiskani vezji in bil sem res navdušen nad kakovostjo. Nisem imel izkušenj z drugimi proizvajalci, vendar ne bi okleval z uporabo Aislerja.

Naslednja naloga je bila spajkanje vseh komponent, kar je bil naporen postopek, vendar so se moje sposobnosti spajkanja močno izboljšale. Začel sem s polnimi seštevalnimi ploščami in spajal komponente, začenši s tranzistorji, nato 1K upori, nato 10K upori. Po podobni metodi sem spajkal preostale komponente na V/I in IC ploščo. Ko je bila vsaka plošča Full Adder dokončana, sem jih preizkusila po isti metodi kot matična plošča Full Adder. Presenetljivo je, da so vse plošče brez težav delovale pravilno. To je pomenilo, da so bile plošče pravilno napeljane in pravilno spajkane. Na naslednji korak!

6. korak: Dokončanje tiskanih vezij za zlaganje

Dokončanje tiskanih vezij za zlaganje
Dokončanje tiskanih vezij za zlaganje
Dokončanje tiskanih vezij za zlaganje
Dokončanje tiskanih vezij za zlaganje
Dokončanje tiskanih vezij za zlaganje
Dokončanje tiskanih vezij za zlaganje

Naslednja naloga je bila spajkanje vseh zatičev glave na vsako ploščo. Moral sem dodati tudi mostične žice med pravilnim zatičem glave in vhodi/izhodi plošč Full Adder (A, B, Cin, V+, GND, Sum, Cout). Temu koraku bi se lahko izognili, če bi za vsako raven seštevalnega vezja oblikovali različna tiskana vezja, vendar sem želel zmanjšati zasnovo in stroške z ustvarjanjem samo enega polnega vezja s polnilnikom. Posledično so za priključitev na te vhode/izhode potrebne mostične žice. Priložena shema prikazuje, kako sem opravil to nalogo in kateri zatiči so bili uporabljeni za vsako raven plošč Full Adder. Slike prikazujejo, kako sem spajal skakalne žice za vsako ploščo. Začel sem s spajkanjem brezplačnih žic na pravilne zatiče na glavi. Nato sem glavo spajkal na tiskano vezje. Ko sem imel spajkane zatiče glave z mostičnimi žicami, sem proste konce mostičnih žic spajkal na pravilne kable na tiskanem vezju. Na zgornji sliki je prikazan bližnji zatič glave, s spojenimi žicami.

7. korak: Napajanje vezij

Napajanje tokokrogov
Napajanje tokokrogov
Napajanje tokokrogov
Napajanje tokokrogov
Napajanje tokokrogov
Napajanje tokokrogov

Načrtoval sem, da bom za ta projekt uporabil 12V DC napajalno vtičnico, zato sem vmesniško ploščo V/I zasnoval tako, da ima vtičnico/konektor DC za vhodno moč. Ker sem uporabljal isto V/I ploščo in sem želel uporabiti edini napajalnik, ki sem ga potreboval za uravnavanje napetosti na 5V, saj je to največji vhod za SN7483A IC. Za to sem potreboval regulator 5V in stikalo, ki bi lahko preklapljalo med 12V in 5V. Zgornja shema prikazuje, kako sem ožičil napajalni tokokrog.

8. korak: 3D tiskanje osnove

3D tiskanje osnove
3D tiskanje osnove
3D tiskanje osnove
3D tiskanje osnove
3D tiskanje osnove
3D tiskanje osnove

Zdaj, ko so ožičenje in spajkanje končani, sem moral ugotoviti, kako bo vse skupaj potekalo. Odločil sem se za CADing in 3D tiskanje, ki bi ustrezalo in prikazovalo vse dele tega projekta.

Oblikovalski vidiki Potrebovali smo mesta za montažo tiskanih vezij z vijaki in oporniki. Zloženi seštevalniki so najbolj vizualno privlačni in želel sem jih imeti na ogled, ko jih ne uporabljam, zato sem želel prostor za shranjevanje IC tiskanega vezja. Moral sem prilagoditi napajalni tokokrog z izrezi za stikalo in vtičnico/priključek za enosmerni tok. Nazadnje sem želel nekakšno vitrino ohišja, da se prepreči nabiranje prahu v odprtih tiskanih vezjih, zato sem potreboval prostor za ohišje.

3D modeliranje Za oblikovanje osnove sem uporabil Fusion360. Začel sem z dimenzijami tiskanega vezja in razmikom montažnih lukenj. Po tem sem z vrsto skic in iztiskanj nastavil višino in velikost podlage s pritrdilnimi točkami na tiskano vezje. Nato sem naredil izreze za ohišje in napajalni tokokrog. Nato sem naredil prostor za shranjevanje IC PCB, ko ni v uporabi. Nazadnje sem dodal še nekaj zaključnih podrobnosti in jih poslal Curi, svoji programski opremi za rezanje.

Tiskanje Izbral sem črno PLA nitko. Tisk je trajal nekaj več kot 6 ur in se je odlično izkazal. Presenetljivo je, da so bile vse dimenzije pravilne in vse se je zdelo, kot da bi se pravilno prilegalo skupaj. Na zgornji sliki je prikazan tisk, potem ko sem v montažne luknje vstavil odmike. Popolnoma so se prilegali!

9. korak: Montaža

Montaža
Montaža
Montaža
Montaža
Montaža
Montaža

Vstavite odstopanja. Vse odmike sem postavil v montažne luknje na podstavku.

Napajalni tokokrog namestite v podnožje. Vse sem ožičil in vse komponente potegnil skozi luknjo za stikalo. Nato sem vtičnico/adapter vstavil v zadnji del podstavka. Potisnil sem regulator 5V v njegovo režo in končno je bilo stikalo mogoče potisniti v položaj.

Namestite V/I tiskano vezje. IC -tiskano vezje sem vstavil v prostor za shranjevanje in na vrh postavil tiskano vezje V/I vmesnika. PCB sem privijal s 4x vijaki M3 in šesterokotnim gonilnikom. Nazadnje sem priključil priključek za enosmerni tok v tiskano vezje.

Zložite Adder PCB -je. Prvega Adderja sem zložil na svoje mesto. Zadnjo stran tiskanega vezja sem privijal v zadnje pritrdilne luknje z dvema odmikoma. Ta postopek sem ponavljal, dokler ni bil nameščen zadnji Adder, in ga pritrdil s še 2 vijakoma M3.

Naredite ohišje. Za ohišje sem uporabil 1/4 akril. Izmeril sem končno višino projekta in z dimenzijami CAD izrezal 5 kosov za stranice in vrh, da sem naredil preprosto škatlo z odprtim dnom. Za lepljenje sem uporabil epoksid Na koncu sem na desni strani brusil majhen polkrožni izrez, da sem prilagodil stikalo.

Pripravljeni na izračun

10. korak: Izračun in primerjava

Image
Image
Izračun in primerjava
Izračun in primerjava
Izračun in primerjava
Izračun in primerjava

Priključite svoj novi kalkulator in začnite dodajati! Grafikon od osnove 10 do baze 2 lahko uporabite za hitro pretvorbo med binarnimi in celimi števili. Raje nastavim vhode, nato pa pritisnem "enako", tako da obrnem stikalo za vklop in opazujem binarni izhod LED.

Primerjava diskretnih komponent z integriranim vezjem. Zdaj lahko odstranite polne seštevalnike in priključite IC SN7483A na V/I ploščo. (Ne pozabite obrniti stikala v nasprotno smer, da napajate IC s 5V namesto z 12V). Lahko izvedete enake izračune in dobili boste enake rezultate. Zelo impresivno je misliti, da tako diskretna komponenta Adder kot IC delujeta na enak način le na zelo različni lestvici velikosti. Slike prikazujejo iste vhode in izhode za vezja.

11. korak: Zaključek

Upam, da ste uživali v tem projektu in se naučili toliko kot jaz. Precej zadovoljno se je naučiti nekaj novega in ga spremeniti v edinstven projekt, ki zahteva tudi učenje novih veščin, kot je oblikovanje/izdelava PCB. Vse sheme so navedene spodaj. Za vse zainteresirane lahko povežem tudi svoje datoteke PCB Gerber, tako da lahko naredite svoj 4-bitni binarni kalkulator. Veselo izdelavo!

Priporočena: