Tartalomjegyzék:
- Kellékek
- 1. lépés: Elmélet
- 2. lépés: Az áramkör tesztelése
- 3. lépés: A teljes összeadó NYÁK tervezése
- 4. lépés: A többi NYÁK tervezése
- 5. lépés: Az alkatrészek forrasztása a PCB -hez
- 6. lépés: A PCB -k befejezése az egymásra rakáshoz
- 7. lépés: Az áramkörök áramellátása
- 8. lépés: Az alap 3D nyomtatása
- 9. lépés: Összeszerelés
- 10. lépés: Számítás és összehasonlítás
- 11. lépés: Következtetés
Videó: 4 bites bináris számológép: 11 lépés (képekkel)
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:39
Érdeklődni kezdtem a számítógépek alapvető szintű működése iránt. Meg akartam érteni a diszkrét komponensek használatát és az összetettebb feladatok elvégzéséhez szükséges áramköröket. A CPU egyik fontos alapvető alkotóeleme az aritmetikai logikai egység vagy az ALU, amely műveleteket hajt végre egész számokkal. Ennek a feladatnak a végrehajtásához a számítógépek bináris számokat és logikai kapukat használnak. Az egyik legegyszerűbb művelet két szám összeadása, összeadó áramkörben. Ez a numberphile által készített videó kiválóan megmagyarázza ezt a fogalmat a Domino kiegészítésen keresztül. Matt Parker kiterjeszti ezt az alapkoncepciót, és 10 000 dominó felhasználásával Domino számítógépes áramkört épít. Abszurd dolog egy teljes személyi számítógépet dominókból építeni, de szerettem volna megérteni a diszkrét komponensek használatát a hozzáadáshoz. A videókban a logók kapuit dominókból hozták létre, de készülhetnek alapvető összetevőkből is, nevezetesen tranzisztorokból és ellenállásokból. Ennek a projektnek az volt a célja, hogy ezeket a különálló komponenseket felhasználva megtanuljam és elkészítsem saját 4 bites összeadó számológépemet.
A projekthez kapcsolódó céljaim a következők voltak: 1) Ismerje meg, hogyan kell egyedi PCB -t létrehozni és gyártani 2) Legyen a tervezés könnyen elképzelhető bináris számok hozzáadásával
A projekt inspirációjának és megértésének nagy részét Simon Inns adta.
Kellékek
A Fritzing alkalmazásával készítettem elvi rajzokat, készítettem és gyártottam a PCB -ket
1. lépés: Elmélet
A 10 -es bázisban való számolás egyszerű, mert két egész szám összegét más egész szám képviseli. A legegyszerűbb példa:
1 + 1 = 2
A bázis 2 -ben vagy a binárisban történő számlálás csak az 1 -et és a 0 -t használja. Az 1 -es és a 0 -as kombinációt különböző egész számok és összegeik ábrázolására használjuk. Példa a 2. bázisban történő számlálásra:
1+1 = 0, és az 1 -et átviszi a következő bitre
Két bit (A és B) összeadásakor 4 különböző eredmény érhető el a Sum és Carry (Cout) kimenetekkel. Ez látható a táblázatban.
A logikai kapuk bemeneteket vesznek fel és kimenetet generálnak. A legalapvetőbb logikai kapuk némelyike a NOT, AND és OR kapukból áll, amelyeket mind ebben a projektben használnak. A tranzisztorok és ellenállások különböző kombinációiból és vezetékeiből állnak. Mindegyik kapu vázlata megtalálható.
Visszatérve a táblázatra: Ezeknek a kapuknak a kombinációjával lehet előállítani a táblázatban szereplő összesített eredményeket. Ez a logikai kombináció exkluzív OR (XOR) kapuként is ismert. A bemenetnek pontosan 1 -nek kell lennie ahhoz, hogy 1 -es kimenetet kapjon. Ha mindkét bemenet 1, akkor a kapott kimenet 0. A hordozóbit eredményeket egyszerű ÉS kapuval lehet ábrázolni. Így, ha mindkét XOR -t AND -kapuval használja, akkor az egész táblát képviselheti. Ezt fél -összeadónak nevezik, és a vázlat a fent látható.
Nagyobb bináris számok hozzáadásához a hordozóbitet be kell építeni bemenetként. Ezt úgy érik el, hogy 2 fél -összeadó áramkört kombinálnak, hogy teljes összeadót hozzanak létre. A teljes hozzáadókat ezután össze lehet vonni, hogy nagyobb bináris számokat adjunk hozzá. A projektem során 4 teljes hozzáadót kaszkádoztam, amelyek lehetővé tették, hogy 4 bites bemenetem legyen. A teljes összeadó vázlata fent található.
Simon Inns nagyszerű és mélyreható írást ír az elméletről. Van néhány PDF is, amelyeket hasznosnak találtam.
2. lépés: Az áramkör tesztelése
Az első lépés a logikai kapuk működésének és a Full Adder mögött álló elmélet megértése után az áramkör felépítése. Kezdtem azzal, hogy összeszedtem az összes szükséges alkatrészt: 10K és 1K ellenállásokat, NPN tranzisztorokat, kenyértáblát, jumperhuzalokat. Követtem a teljes összeadó kinyomtatását. A folyamat fárasztó volt, de sikerült működő áramkört szereznem a teljes összeadó számára. A bemeneteket magasra vagy alacsonyra kötöm, és multimétert használtam a kimenetek tesztelésére. Most készen álltam arra, hogy lefordítsam a panelt és a vázlatot PCB -re.
3. lépés: A teljes összeadó NYÁK tervezése
A NYÁK tervezéséhez kizárólag a Fritzing -t használtam. Ez volt az első alkalom, hogy PCB -t terveztem, és ez a program tűnt a leginkább felhasználóbarátnak és intuitívnak a legkisebb tanulási görbével. Vannak más nagyszerű programok is, mint például az EasyEDA és az Eagle, amelyek segítenek a NYÁK tervezésében. A Fritzing segítségével elkezdheti a tervezést egy virtuális kenyértáblán vagy egy sematikus ábrán, majd léphet a NYÁK -ra. Mindkét módszert alkalmaztam ebben a projektben. Ha készen áll a NYÁK gyártására, akkor egyetlen gombnyomással exportálhatja fájljait, és közvetlenül feltöltheti azokat az Aisler -hez, a Fritzing partnergyártójához.
Rajzolja le a sematikus lappal indított Schematic -ot a folyamat megkezdéséhez. Először megtaláltam és beillesztettem az összes összetevőt a munkaterületre. Ezután az összes nyomot lerajzoltam az alkatrészek között. Gondoskodtam arról, hogy 5V bemenetet és földelést adjak a megfelelő helyekre.
Tervezze meg a PCBI -t a PCB fülre kattintva. Amikor közvetlenül a vázlatról lép át, rendetlenséget kap az összes komponenssel, amelyek ratsnest vonallal vannak összekötve a vázlatban megadott nyomok alapján. Az első dolog, amit tettem, átméreteztem a szürke NYÁK -ot a kívánt méretre, és rögzítőfuratokat adtam hozzá. Hozzáadtam 16 tűt is a bemenethez és a kimenethez. Ezután elkezdtem logikusan elrendezni az alkatrészeket. Megpróbáltam csoportosítani az összetevőket egymáshoz közel lévő kapcsolatokkal, hogy minimálisra csökkentsem a nyomkövetési távolságot. Tettem egy extra lépést, és logikai kapu szerint csoportosítottam az összetevőket. Az egyik célom az volt, hogy vizualizáljam az áramkör működését, és követhessem a "bitet" az áramkörön keresztül. Ezt követően az automatikus útválasztó funkciót használtam, amely automatikusan megy keresztül, és felhívja az optimalizált nyomkövetést az összetevők között. Szkeptikus voltam, hogy ez a folyamat befejezte az összes megfelelő nyomkövetést, ezért kétszer ellenőriztem és átrajzoltam a nyomokat, ahol állítólag voltak. Szerencsére az automatikus útválasztó szolgáltatás elég jó munkát végzett, és csak néhányat kellett kijavítanom. Az autorouter furcsa szögeket is tett a nyomokkal, ami nem a "legjobb gyakorlat", de ezzel minden rendben volt, és minden rendben ment. Az utolsó dolog, amit tettem, az volt, hogy olyan szöveget adtam hozzá, amelyet selyemnyomásként nyomtattak ki. Győződtem meg arról, hogy az összes összetevő fel van tüntetve. Egyéni logikai kapuképeket is importáltam, hogy hangsúlyozzam az összetevők csoportosítását. A fenti utolsó képen a szitanyomás látható.
Készítse el a PCBI -t a képernyő alján található gyártás gombra kattintva. Közvetlenül az Aisler webhelyre irányított, ahol fiókot tudtam létrehozni, és feltölthettem az összes Fritzing fájlomat. Elhagytam az összes alapértelmezett beállítást, és megrendeltem.
4. lépés: A többi NYÁK tervezése
A fennmaradó PCB -k, amelyekre szükségem volt, a bemeneti/kimeneti interfész kártya és az IC lapja volt. Ezeknek a tábláknak a 3. lépéseként követtem a folyamatot. A rajzok pdf -je az alábbiakban található. Az IC -hez az összes kapcsolatot a virtuális kenyértábla funkcióval hoztam létre. A teljesség kedvéért mellékeltem a vázlatot, de közvetlenül a kenyértábláról a PCB fülre tudtam menni, ami nagyon jó volt. Hozzáadtam egy bázist 10 a bázis 2 konverziós diagramhoz az I/O interfészen lévő selyemképernyőn, mielőtt feltöltöttem és megrendeltem az Aislerben.
5. lépés: Az alkatrészek forrasztása a PCB -hez
Minden PCB megérkezett, és nagyon lenyűgözött a minőség. Nincs tapasztalatom más gyártóknál, de nem haboznék újra használni az Aisler -t.
A következő feladat az összes alkatrész forrasztása volt, ami fáradságos folyamat volt, de a forrasztási képességeim jelentősen javultak. A teljes összeadó táblákkal kezdtem, és az alkatrészeket forrasztottam, kezdve a tranzisztorokkal, majd 1K ellenállásokkal, majd 10K ellenállásokkal. Hasonló módszert követtem a többi komponens forrasztására az I/O és IC kártyára. Miután minden Full Adder tábla elkészült, ugyanazzal a módszerrel teszteltem őket, mint a kenyeretábla Full Adder. Meglepő módon az összes tábla hibátlanul működött. Ez azt jelentette, hogy a táblákat helyesen helyezték el és helyesen forrasztották. Tovább a következő lépéshez!
6. lépés: A PCB -k befejezése az egymásra rakáshoz
A következő feladat az volt, hogy az összes fejléc csapját forrasztjuk az egyes táblákhoz. Szükségem volt jumper vezetékek hozzáadására is a megfelelő fejléc és a Full Adder táblák bemenetei/kimenetei között (A, B, Cin, V+, GND, Sum, Cout). Ez a lépés elkerülhető lenne, ha az összeadó áramkör minden szintjére különböző NYÁK -okat tervezne, de minimálisra akartam csökkenteni a tervezést és a költségeket azáltal, hogy csak egy teljes összeadó PCB -t hoztak létre. Ennek eredményeképpen ezekhez a bemenetekhez/kimenetekhez való csatlakozásokhoz áthidaló vezetékek szükségesek. A mellékelt sematikus leírás az, hogy hogyan végeztem el ezt a feladatot, és mely csapokat használtam a Full Adder táblák minden szintjéhez. A képek azt mutatják, hogyan forrasztottam az egyes táblák jumper vezetékét. Azzal kezdtem, hogy szabad vezetékeket forrasztottam a fejléc megfelelő csapjaira. Ezután forrasztottam a fejlécet a NYÁK -ra. Miután a helyükre forrasztottam az áthidaló vezetékekkel ellátott fejléceket, forrasztottam a jumpervezetékek szabad végeit a NYÁK megfelelő vezetékeire. A fenti kép közelről mutatja a fejléc csapjait és a hozzájuk forrasztott áthidaló vezetékeket.
7. lépés: Az áramkörök áramellátása
Úgy terveztem, hogy ehhez a projekthez 12 V egyenáramú hordó jack tápegységet használok, ezért úgy terveztem az I/O interfész kártyát, hogy DC tápcsatlakozó/csatlakozó legyen a bemenethez. Mivel ugyanazt az I/O kártyát használtam, és egyetlen tápegységet akartam használni, a feszültséget 5 V -ra kellett szabályoznom, mivel ez az SN7483A IC maximális bemenete. Ennek eléréséhez szükségem volt egy 5 V -os szabályozóra és egy kapcsolóra, amely képes váltani a 12 V és az 5 V között. A fenti vázlat azt mutatja, hogyan kötöttem össze a főáramkört.
8. lépés: Az alap 3D nyomtatása
Most, hogy az összes huzalozás és forrasztás befejeződött, ki kellett találnom, hogyan fogják mindezt összefogni. A CADing és a 3D nyomtatás mellett döntöttem, amely a projekt összes részét befogadja és megjeleníti.
Tervezési szempontok Szükségem volt a PCB -k csavarokkal és rögzítőelemekkel történő felszerelésére. A halmozott kiegészítők a legvonzóbbak vizuálisan, és szerettem volna, ha azok nincsenek használatban, ezért ki akartam helyezni őket, ezért szerettem volna egy helyet, ahol tárolni lehet az IC PCB -t. Be kellett illesztenem a főáramkört a kapcsoló és az egyenáramú csőcsatlakozó/csatlakozó kivágásaival. Végezetül szerettem volna valami burkolati vitrinet, amely megakadályozza, hogy a por összegyűljön a nyitott NYÁK -ban, ezért szükségem volt egy helyre, ahol a ház ülhet.
3D modellezés A bázis tervezéséhez a Fusion360 -at használtam. Kezdtem a NYÁK méreteivel és a rögzítőfuratok távolságával. Ezt követően vázlatok és extrudálások sorozatával állítottam be az alap magasságát és méretét a NYÁK rögzítési pontjaival. Ezután elvégeztem a burkolat és a főáramkör kivágásait. Ezután készítettem egy területet az IC PCB tárolására, amikor nem használják. Végül hozzáadtam néhány befejező élelemet, és elküldtem a Cura, a szeletelő szoftvernek.
Nyomtatás Fekete PLA szálat választottam. A nyomtatás valamivel több mint 6 órát vett igénybe, és nagyszerű lett. Meglepő módon az összes méret helyes volt, és minden úgy tűnt, mintha megfelelően illeszkedne egymáshoz. A fenti kép a nyomatot mutatja, miután hozzáadtam az állványokat a rögzítő lyukakhoz. Tökéletesen illeszkedtek!
9. lépés: Összeszerelés
Helyezze be az állványokat. Az összes rögzítést az alap rögzítőfurataiba helyeztem.
Helyezze a főáramkört az alapba. Mindent összekötöttem, és az összes alkatrészt áthúztam a kapcsoló lyukán. Ezután behelyeztem a tápcsatlakozót/adaptert az alap hátuljába. A 5V -os szabályozót benyomtam a nyílásába, és végül a kapcsolót a helyére lehetett tolni.
Szerelje fel az I/O NYÁK -t. Az IC PCB -t a tárhelyére helyeztem, és az I/O interfész NYÁK -ját a tetejére helyeztem. A NYÁK -ot 4x M3 csavarral és hatszögletű meghajtóval csavartam le. Végül bedugtam a DC hordócsatlakozót a NYÁK -ba.
Halmozza össze az összeadó NYÁK -okat. A helyére raktam az első csatolót. A PCB hátulját behúztam a hátsó rögzítőlyukakba, 2 állvánnyal. Ezt az eljárást megismételtem, amíg az utolsó összeadó a helyére került, és rögzítettem a további 2 M3 csavarral.
Készítse el a burkolatot. 1/4 akrilt használtam a burkolathoz. Megmértem a projekt végső magasságát, és a CAD méretek mellett 5 darabot vágtam ki az oldalához és a tetejéhez, hogy egy egyszerű, nyitott aljú dobozt készítsek. Ragasztáshoz epoxi -t használtam Végül csiszoltam egy kis félkör kivágást a jobb oldalon, hogy elférjen a kapcsoló.
Számításra kész
10. lépés: Számítás és összehasonlítás
Csatlakoztassa az új számológépet, és kezdje hozzá! A 10 -bázis 2 -es diagram segítségével gyorsan konvertálhatunk bináris és egész számok között. Inkább úgy állítom be a bemeneteket, hogy a főkapcsoló elfordításával és a LED -ek bináris kimenetének megfigyelésével az "egyenlő" gombot érjem el.
Diszkrét komponensek összehasonlítása integrált áramkörrel. Most leválaszthatja a teljes bővítőt, és csatlakoztathatja az SN7483A IC -t az I/O kártyához. (Ne felejtse el elfordítani a kapcsolót az ellenkező irányba, hogy 12 V helyett 5 V -os tápfeszültséget kapjon az IC). Ugyanazokat a számításokat végezheti el, és ugyanazokat az eredményeket kapja. Elég lenyűgöző azt gondolni, hogy mind a különálló összeszerelő, mind az IC ugyanúgy működik, csak nagyon különböző méretarányban. A képeken ugyanazok a bemenetek és kimenetek láthatók az áramköröknél.
11. lépés: Következtetés
Remélem, tetszett ez a projekt, és annyit tanult, mint én. Elég kielégítő valami újat tanulni, és egyedi projektgé alakítani, amely új készségek elsajátítását is igényli, mint például a NYÁK tervezés/gyártás. Az összes séma az alábbiakban található. Akit érdekel, linkelhetem a NYÁK Gerber fájljaimat is, így elkészítheti saját 4 bites bináris számológépét. Boldog alkotást!
Ajánlott:
Arduino Nano-MMA8452Q 3 tengelyes 12 bites/8 bites digitális gyorsulásmérő oktatóanyag: 4 lépés
Arduino Nano-MMA8452Q 3 tengelyes 12 bites/8 bites digitális gyorsulásmérő oktatóanyag: Az MMA8452Q egy intelligens, kis teljesítményű, három tengelyes, kapacitív, mikromágneses gyorsulásmérő, 12 bit felbontással. Rugalmas, felhasználó által programozható lehetőségek állnak rendelkezésre a gyorsulásmérő beépített funkciói segítségével, amelyek két megszakításra konfigurálhatók
Raspberry Pi MMA8452Q 3 tengelyes 12 bites/8 bites digitális gyorsulásmérő Python bemutató: 4 lépés
Raspberry Pi MMA8452Q 3 tengelyes 12 bites/8 bites digitális gyorsulásmérő Python bemutató: Az MMA8452Q egy intelligens, kis teljesítményű, három tengelyes, kapacitív, mikromágneses gyorsulásmérő, 12 bit felbontással. Rugalmas, felhasználó által programozható lehetőségek állnak rendelkezésre a gyorsulásmérő beépített funkciói segítségével, amelyek két megszakításra konfigurálhatók
Bináris számológép: 11 lépés
Bináris számológép: Áttekintés: A logikai kapu legelső felfedezése óta a 20. században az ilyen elektronika folyamatosan fejlődött, és mára az egyik legegyszerűbb, de alapvetően fontos elektronikai alkatrész sokféle alkalmazásban
Raspberry Pi MMA8452Q 3 tengelyes 12 bites/8 bites digitális gyorsulásmérő Java oktatóanyag: 4 lépés
Raspberry Pi MMA8452Q 3 tengelyes 12 bites/8 bites digitális gyorsulásmérő Java oktatóanyag: Az MMA8452Q egy intelligens, kis teljesítményű, három tengelyes, kapacitív, mikromágneses gyorsulásmérő, 12 bit felbontással. Rugalmas, felhasználó által programozható lehetőségek állnak rendelkezésre a gyorsulásmérő beépített funkciói segítségével, amelyek két megszakításra konfigurálhatók
DIY MusiLED, zenével szinkronizált LED-ek egy kattintásos Windows és Linux alkalmazással (32 bites és 64 bites). Könnyen újratelepíthető, könnyen használható, könnyen hordozható: 3 lépés
DIY MusiLED, zenével szinkronizált LED-ek egy kattintásos Windows és Linux alkalmazással (32 bites és 64 bites). Könnyen újratelepíthető, könnyen használható, könnyen hordozható: Ez a projekt segít 18 LED (6 piros + 6 kék + 6 sárga) LED-ek csatlakoztatásában az Arduino Boardhoz, és elemezni a számítógép hangkártyájának valós idejű jeleit, és továbbítani azokat a LED -ek, hogy felgyújtsák őket az ütéshatásoknak megfelelően (pergő, magas kalap, rúgás)