Sisällysluettelo:
- Tarvikkeet
- Vaihe 1: Teoria
- Vaihe 2: Piirin testaus
- Vaihe 3: Täyden summaimen piirilevyn suunnittelu
- Vaihe 4: Muiden piirilevyjen suunnittelu
- Vaihe 5: Komponenttien juottaminen piirilevylle
- Vaihe 6: Piirilevyjen viimeistely pinoamista varten
- Vaihe 7: Virta virtapiireille
- Vaihe 8: Pohjan 3D -tulostus
- Vaihe 9: Kokoonpano
- Vaihe 10: Laskeminen ja vertailu
- Vaihe 11: Johtopäätös
Video: 4-bittinen binaarilaskin: 11 vaihetta (kuvilla)
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 08:59
Kiinnostuin siitä, miten tietokoneet toimivat perustason tasolla. Halusin ymmärtää diskreettien komponenttien käytön ja piirit, jotka ovat tarpeen monimutkaisempien tehtävien suorittamiseksi. Yksi tärkeä peruskomponentti suorittimessa on aritmeettinen logiikkayksikkö tai ALU, joka suorittaa toimintoja kokonaislukuilla. Tämän tehtävän suorittamiseksi tietokoneet käyttävät binäärilukuja ja logiikkaportteja. Yksi yksinkertaisimmista suoritetuista toiminnoista on kahden numeron liittäminen yhteen summainpiirissä. Tämä numberphilen video selittää erinomaisesti tämän käsitteen Domino -lisäyksen kautta. Matt Parker laajentaa tätä peruskonseptia ja rakentaa Domino -tietokonepiirin käyttämällä 10 000 dominoa. Koko henkilökohtaisen tietokoneen rakentaminen dominoista on järjetöntä, mutta halusin silti ymmärtää erillisten komponenttien käytön tämän lisätehtävän suorittamiseksi. Videoissa logiikkaportit luotiin dominoista, mutta ne voidaan valmistaa myös peruskomponenteista, nimittäin transistoreista ja vastuksista. Tämän projektin tarkoituksena oli käyttää näitä erillisiä komponentteja oppimaan ja luomaan oman 4-bittisen summainlaskurini.
Tavoitteeni tälle projektille olivat: 1) Opi luomaan ja valmistamaan mukautettu piirilevy2) Tee suunnittelusta helppo hahmottaa binäärilukujen lisääminen
Suurin osa tämän hankkeen inspiraatiosta ja ymmärryksestä tuli Simon Innsiltä.
Tarvikkeet
Käytin Fritzingiä kaavioiden luomiseen, piirilevyjen luomiseen ja valmistamiseen
Vaihe 1: Teoria
Laskeminen kantaan 10 on yksinkertaista, koska kahden kokonaisluvun summaa edustaa eri kokonaisluku. Yksinkertaisin esimerkki:
1 + 1 = 2
Laskenta pohjaan 2 tai binääriin käyttää vain 1: tä ja 0: ta. Yhdistelmää 1 ja 0 käytetään edustamaan erilaisia kokonaislukuja ja niiden summia. Esimerkki laskemisesta tukikohdassa 2:
1+1 = 0 ja siirrät 1 seuraavaan bittiin
Kun kaksi bittiä (A ja B) yhdistetään yhteen, 4 eri tulosta on mahdollista saada summa- ja siirto (Cout) -ulostulolla. Tämä näkyy taulukossa.
Logiikkaportit ottavat tuloja ja tuottavat lähdön. Jotkut yksinkertaisimmista logiikkaporteista koostuvat NOT-, AND- ja OR -porteista, joita kaikkia hyödynnetään tässä projektissa. Ne koostuvat erilaisista transistorien ja vastusten yhdistelmistä ja johdotuksista. Jokaisen portin kaaviot ovat mukana.
Taulukkoon viitaten: Näiden porttien yhdistelmää voidaan käyttää taulukon summa -tulosten tuottamiseen. Tätä logiikan yhdistelmää kutsutaan myös yksinomaiseksi OR (XOR) -portiksi. Tulon on oltava täsmälleen 1, jotta tulos saadaan 1. Jos molemmat tulot ovat 1, tuloksena oleva tulos on 0. Siirtobittitulokset voidaan esittää yksinkertaisella AND -portilla. Näin ollen sekä XOR: n käyttö AND -portilla voi edustaa koko taulukkoa. Tätä kutsutaan puolisekoittimeksi ja kaavio on esitetty yllä.
Suurempien binäärilukujen lisäämiseksi siirtobitti on sisällytettävä syötteeksi. Tämä saavutetaan yhdistämällä 2 Half Adder -piiriä täydellisen summaimen luomiseksi. Täydet lisäimet voidaan sitten kaskadoida yhteen lisäämään suurempia binäärilukuja. Projektissani kaskadoin 4 täyttä lisälaitetta, joiden avulla minulla oli 4 -bittiset tulot. Täyden lisäajan kaavio on yllä.
Simon Innsillä on loistava ja syvällisempi kirjoitus teoriasta. On myös muutamia PDF -tiedostoja, joista pidin hyödyllisinä.
Vaihe 2: Piirin testaus
Ensimmäinen askel sen jälkeen, kun olet ymmärtänyt, miten logiikkaportit toimivat ja Full Adderin takana oleva teoria on rakentaa piiri. Aloitin keräämällä kaikki tarvitsemani komponentit: 10K- ja 1K -vastukset, NPN -transistorit, Breadboard, Jumperwires. Seurasin tulosta täyden lisäajan kanssa. Prosessi oli tylsä, mutta pystyin saamaan toimivan piirin täydelle summaajalle. Sidoin tulot korkeiksi tai matalaksi ja testasin lähdöt yleismittarilla. Nyt olin valmis kääntämään leipälevyn ja kaavion piirilevyksi.
Vaihe 3: Täyden summaimen piirilevyn suunnittelu
Piirilevyn suunnittelussa käytin yksinomaan Fritzingia. Tämä oli ensimmäinen kerta, kun suunnittelin piirilevyä, ja tämä ohjelma vaikutti käyttäjäystävällisimmältä ja intuitiivisimmalta, jolla oli pienin oppimiskäyrä. Saatavilla on myös muita hienoja ohjelmia, kuten EasyEDA ja Eagle, jotka auttavat piirilevyn suunnittelussa. Fritzingin avulla voit aloittaa suunnittelun virtuaalisen leipälevyn tai kaavion avulla ja siirtyä sitten piirilevyyn. Olen käyttänyt molempia menetelmiä tässä projektissa. Kun olet valmis valmistamaan piirilevyn, tiedostojen vieminen ja lataaminen suoraan Aislerille, joka on Fritzingin yhteistyökumppani, on yhtä helppoa kuin napin painallus.
Piirrä kaavio Aloitin kaavamaisella välilehdellä aloittaaksesi prosessin. Ensinnäkin löysin ja lisäsin kaikki komponentit työtilaan. Seuraavaksi piirsin kaikki jäljet komponenttien väliin. Varmistin, että lisäsin 5 V: n tulon ja maadoituksen sopiviin paikkoihin.
Suunnittele PCBI napsauttamalla PCB -välilehteä. Kun siirryt suoraan kaaviosta, saat sotkun kaikkien komponenttien kanssa, jotka on yhdistetty ratsnest -linjoilla kaavion tekemien jälkien perusteella. Ensimmäisenä tein harmaan piirilevyn koon haluamaani kokoon ja lisäsin asennusreikiä. Lisäsin myös 16 nastaa tulolle ja lähdölle. Seuraavaksi aloin järjestää komponentit loogisella tavalla. Yritin ryhmitellä komponentit, joiden yhteydet olivat lähellä toisiaan, jotta minimoisin jäljitysetäisyyden. Menin ylimääräisen askeleen ja ryhmitin komponentit yhteen logiikkaportin mukaan. Yksi tavoitteistani oli pystyä visualisoimaan piirin toiminta ja seurata "bittiä" piirin läpi. Sen jälkeen käytin automaattista reititystoimintoa, joka kulkee automaattisesti läpi ja piirtää optimoidut jäljitykset komponenttien välillä. Olin epäileväinen siitä, että tämä prosessi saattoi päätökseen kaikki oikeat jäljitykset, joten kävin läpi kaksinkertaisen tarkistuksen ja piirsin jäljet uudelleen siellä, missä niiden piti olla. Onneksi automaattinen reititystoiminto teki melko hyvää työtä, ja minun piti korjata vain muutama jäljitys. Autorouter teki myös outoja kulmia jälkien kanssa, mikä ei ole "paras käytäntö", mutta olin kunnossa sen kanssa ja kaikki toimi edelleen hyvin. Viimeinen asia, jonka tein, oli lisätä teksti, joka tulostettaisiin silkkipainoksi. Varmistin, että kaikki komponentit oli merkitty. Toin myös mukautettuja logiikkaportteja korostamaan komponenttien ryhmittelyä. Edellisessä kuvassa näkyy silkkipaino.
Valmista PCBI napsauttamalla näytön alareunassa olevaa valmistuspainiketta. Se ohjasi minut suoraan Aisler -verkkosivustolle, jossa pystyin luomaan tilin ja lataamaan kaikki Fritzing -tiedostoni. Jätin kaikki oletusasetukset ja tein tilauksen.
Vaihe 4: Muiden piirilevyjen suunnittelu
Loput PCB: t, joita tarvitsin, olivat tulo-/lähtöliitäntäkortti ja piirilevy. Noudatin prosessia vaiheena 3 näille levyille. Kaavioiden pdf -tiedosto on julkaistu alla. IC: n osalta tein kaikki yhteydet virtuaalisen leipälevyn avulla. Lisäsin kaavion täydellisyyteen, mutta pystyin siirtymään suoraan leipälevyltä PCB -välilehdelle, joka oli aika siistiä. Lisäsin myös pohjan 10 muunnoskaavioon pohjaan 2 I/O -liitäntäkortin silkkinäytöllä ennen lataamista ja tilaamista Aislerissa.
Vaihe 5: Komponenttien juottaminen piirilevylle
Kaikki piirilevyt saapuivat ja olin todella vaikuttunut laadusta. Minulla ei ole kokemusta muista valmistajista, mutta en epäröi käyttää Aisleria uudelleen.
Seuraava tehtävä oli juottaa kaikki komponentit, mikä oli vaivalloista, mutta juotostaitoni paranivat huomattavasti. Aloitin täydennyslevyillä ja juotin komponentit alkaen transistoreista, sitten 1K vastuista, sitten 10K vastuista. Noudatin samanlaista menetelmää muiden komponenttien juottamiseksi I/O- ja IC -kortille. Jokaisen Full Adder -levyn valmistuttua testasin ne samalla menetelmällä kuin leipälaudan Full Adder. Yllättäen kaikki levyt toimivat oikein ilman ongelmia. Tämä tarkoitti sitä, että levyt reititettiin oikein ja että ne juotettiin oikein. Siirry seuraavaan vaiheeseen!
Vaihe 6: Piirilevyjen viimeistely pinoamista varten
Seuraava tehtävä oli juottaa kaikki otsikkotapit kullekin levylle. Minun oli myös lisättävä hyppyjohdot oikean otsatapin ja Full Adder -korttien tulojen/lähtöjen (A, B, Cin, V+, GND, Sum, Cout) väliin. Tämä vaihe voitaisiin välttää, jos suunnittelisit eri piirilevyjä jokaiselle lisäyspiirin tasolle, mutta halusin minimoida suunnittelun ja kustannukset luomalla vain yhden täydellisen lisäpiirilevyn. Tämän seurauksena liitännät näihin tuloihin/lähtöihin vaativat hyppyjohtimia. Kaaviossa esitetään, miten suoritin tämän tehtävän ja mitä tappeja käytettiin Full Adder -levyjen kullakin tasolla. Kuvat osoittavat, kuinka juotin hyppyjohdot jokaiselle levylle. Aloitin juottamalla vapaat johdot oikeisiin otsikoihin. Juotin sitten otsikon piirilevyyn. Kun otsikkotapit ja hyppyjohtimet oli juotettu paikoilleen, juotin hyppyjohtojen vapaat päät oikeisiin piirilevyn johtoihin. Yllä olevassa kuvassa on läheltä otettuja otsikkotappeja ja niihin liitettyjä hyppyjohtoja.
Vaihe 7: Virta virtapiireille
Suunnittelin tässä projektissa 12 V DC -tynnyrin jakkivirtalähteen käyttöä, joten suunnittelin I/O -liitäntäkortin niin, että siinä on DC -tynnyrin liitin/liitin virtalähteelle. Koska käytin samaa I/O -korttia ja halusin käyttää ainoaa virtalähdettä, tarvitsin säätää jännitteen 5 V: ksi, koska tämä on SN7483A IC: n maksimi tulo. Tämän saavuttamiseksi tarvitsin 5 V: n säätimen ja kytkimen, joka voisi vaihtaa 12 V: n ja 5 V: n välillä. Yllä oleva kaavio osoittaa, miten kytkin virtapiirin yhteen.
Vaihe 8: Pohjan 3D -tulostus
Nyt kun kaikki johdotukset ja juotos on valmis, minun piti selvittää, miten se kaikki pidettiin yhdessä. Valitsin CADing- ja 3D -tulostusmallin, joka mahtuu ja näyttää kaikki tämän projektin osat.
Suunnittelunäkökohdat Tarvitsin paikkoja piirilevyjen kiinnittämiseen pultteilla ja pysäytyksillä. Pinotut lisäosat ovat visuaalisesti houkuttelevimpia, ja halusin saada ne esille, kun niitä ei käytetä, joten halusin paikan IC -piirilevyn säilyttämiseen. Minun piti ottaa käyttöön virtapiiri, jossa on katkaisimet ja DC -tynnyrin liitin/liitin. Lopuksi halusin jonkinlaisen kotelon näyttökotelon, joka estää pölyn kerääntymisen avoimiin piirilevyihin, joten tarvitsin kotelon istumapaikan.
3D -mallinnus Pohjan suunnittelussa käytin Fusion360: ta. Aloitin piirilevyn mitoista ja asennusreikien etäisyydestä. Sen jälkeen käytin sarjan luonnoksia ja suulakepiirteitä säätääksesi alustan korkeuden ja koon PCB -kiinnityspisteillä. Seuraavaksi tein kotelon katkaisut ja virtapiirin. Sitten tein alueen IC -piirilevyn säilyttämiseen, kun sitä ei käytetä. Lopuksi lisäsin viimeistelyreunan yksityiskohdat ja lähetin sen Cura -leikkausohjelmistolleni.
Tulostus Valitsin mustan PLA -filamentin. Tulostus kesti hieman yli 6 tuntia ja siitä tuli hieno. Yllättäen kaikki mitat olivat oikein ja kaikki näytti siltä, että ne sopisivat yhteen oikein. Yllä olevassa kuvassa näkyy tulostus sen jälkeen, kun olen lisännyt esteet kiinnitysreikiin. Ne sopivat täydellisesti!
Vaihe 9: Kokoonpano
Aseta vasteet paikalleen. Laitoin kaikki esteet pohjan asennusreikiin.
Aseta virtapiiri pohjaan. Johdotin kaikki yhteen ja vedin kaikki komponentit kytkimen reiän läpi. Seuraavaksi laitoin virtaliitännän/sovittimen jalustan takaosaan. Työnsin 5V: n säätimen paikkaansa ja lopulta kytkin pystyi työntämään paikalleen.
Asenna I/O -piirilevy. Asetin IC -piirilevyn sen tallennustilaan ja asetin I/O -liitännän piirilevyn päälle. Ruuvasin piirilevyn kiinni 4x M3 -pultilla ja kuusiokoloavaimella. Lopuksi liitin DC -tynnyrin liittimen piirilevyyn.
Pinoa summainpiirilevyt. Pinoin ensimmäisen summaimen paikoilleen. Ruuvasin alas piirilevyn takaosan kiinnitysreikiin, joissa oli 2 pysäytystä. Toistin tämän prosessin, kunnes viimeinen liitin oli paikallaan ja kiinnitin sen vielä kahdella M3 -pultilla.
Tee kotelo. Käytin kotelossa 1/4 akryylia. Mittasin projektin lopullisen korkeuden ja leikkasin CAD -mitoilla 5 kappaletta sivuja ja yläosaa varten yksinkertaisen laatikon, jossa oli avoin pohja. Liimaukseen käytin epoksia. Lopuksi hiomasin pienen puoliympyrän aukon oikealle puolelle kytkimen sijoittamiseksi.
Valmis laskemaan
Vaihe 10: Laskeminen ja vertailu
Liitä uusi laskin ja aloita lisääminen! Kaavasta 10 pohjaan 2 voidaan käyttää nopeaa muuntamista binääri- ja kokonaislukujen välillä. Haluan asettaa tulot ja painaa sitten "yhtä" kääntämällä virtakytkintä ja tarkkailemalla LEDien binäärilähtöä.
Erillisten komponenttien vertaaminen integroituun piiriin. Nyt voit purkaa täydet lisälaitteet ja liittää SN7483A -IC I/O -korttiin. (Älä unohda kääntää kytkintä vastakkaiseen suuntaan, jotta IC saa virtaa 5 V: lla 12 V: n sijasta). Voit suorittaa samat laskelmat ja saat samat tulokset. On melko vaikuttavaa ajatella, että sekä erillinen komponentti Adder että IC toimivat samalla tavalla vain hyvin erilaisessa kokoluokassa. Kuvissa on samat piirien tulot ja lähdöt.
Vaihe 11: Johtopäätös
Toivottavasti pidit tästä projektista ja opit yhtä paljon kuin minä. On melko tyydyttävää oppia jotain uutta ja tehdä siitä ainutlaatuinen projekti, joka vaatii myös uuden taidon, kuten piirilevyjen suunnittelun/valmistuksen, oppimista. Kaikki kaaviot on lueteltu alla. Kaikille kiinnostuneille voin myös linkittää PCB Gerber -tiedostoni, jotta voit tehdä oman 4-bittisen binaarilaskurin. Hyvää tekemistä!
Suositeltava:
DIY 37 Leds Arduino -rulettipeli: 3 vaihetta (kuvilla)
DIY 37 Leds Arduino Roulette Peli: Ruletti on kasinopeli, joka on nimetty ranskalaisen sanan mukaan, joka tarkoittaa pientä pyörää
Covid -suojakypärä, osa 1: johdanto Tinkercad -piireihin!: 20 vaihetta (kuvilla)
Covid -suojakypärä, osa 1: johdanto Tinkercad -piireihin!: Hei, ystävä! Tässä kaksiosaisessa sarjassa opimme käyttämään Tinkercadin piirejä - hauskaa, tehokasta ja opettavaista työkalua piirien toiminnasta! Yksi parhaista tavoista oppia on tehdä. Joten suunnittelemme ensin oman projektimme: th
Weasleyn sijaintikello neljällä kädellä: 11 vaihetta (kuvilla)
Weasleyn sijaintikello neljällä kädellä: Joten Raspberry Pi: n kanssa, joka oli pyörinyt jonkin aikaa, halusin löytää mukavan projektin, jonka avulla voisin hyödyntää sitä parhaalla mahdollisella tavalla. Löysin ppeters0502 tämän upean Instructable Build Your Own Weasley Location Clockin ja ajattelin, että
Pultti - DIY -langaton latauskello (6 vaihetta): 6 vaihetta (kuvilla)
Pultti - DIY -langaton latausyökello (6 vaihetta): Induktiiviset lataukset (tunnetaan myös nimellä langaton lataus tai langaton lataus) on langattoman voimansiirron tyyppi. Se käyttää sähkömagneettista induktiota sähkön tuottamiseen kannettaville laitteille. Yleisin sovellus on langaton Qi -latauslaite
Binaarilaskin: 11 vaihetta
Binaarinen laskin: Yleiskatsaus: Logiikkaportin ensimmäisestä keksinnöstä lähtien 1900 -luvulla tällaisen elektroniikan jatkuva kehitys on tapahtunut ja se on nyt yksi yksinkertaisimmista mutta perustavanlaatuisista elektronisista komponenteista monissa eri sovelluksissa