Choď na obsah Choď na menu
 


1bit Full Adder - časť 1. - Teória

10. 5. 2017

Poznámka: Bohužial, tento článok píšem druhý krát, lebo prvý krát sa mi ho pri pridávaní odkazu podarilo na ten link kliknúť a teda celú 2 hodinovú prácu zmazať. Pojednával som o základoch binárnej sústavy, ale článok mal sám o sebe asi 1000 riadkov a to som sa nedostal k adderom... takže počítam, že ovládate aspoň základy binárnej logiky, všetky hradlá a operácie poznáte, chápete čítaniu binárneho čísla a prevod do decimálnej sústavy je pre vás malina. Ak to spĺňate, poďme teda na to...

Predstavme si, že máme dve jednobitové čísla, ktoré chceme sčítať. Použili by sme nejakú logickú bránu... ale akú? Žiadna ktorá robí súčet dvoch celých binárnych čísel nieje... že je? POZOR, OR brána (LOGICKÝ SÚČET) skutočne robí logický súčet dvoch jednobitových čísel (1+1=1, dve zaonuté zariadenia sú naozaj zapnuté), ale toto je súčet LOGICKÝ, ako nám názov napovedá. My ale chceme spraviť ARITMETICKÝ súčet, kde 1+1=2. Chceme teda sčítať dve ČÍSLA, a nie dve HODNOTY. Tu už prichádza problém, pretože štandardná TTL úroveň nemá pre 2 hodnotu, vlastne ani binárna sústava. Aby sme dostali 2, musíme použiť 2 bity, teda jeden na pozící 1 a druhý na pozící 2. Číslo 2 je teda 10 v binárnej sústave. Týmto pádom máme 2 výstupy. Poďme si postupne rozobrať adder:

Rozobranie jednobitového adderu

bit-adder.png

Vidíme, že jednobitový adder pozostáva z 2 XOR gateov, dvoch AND gateov a jednej OR brány. XOR je skratka pre eXkluzívny OR, preto teda XOR, jeho pravdivostná tabulka, schématická značka a vnútorné schéma je nižšie, schéma je potrebná pre to že my staviame celý adder z tranzistorov, a XOR sa nedá postaviť z tranzistorov, ale XOR pozostáva s ďalších základných (NAND a OR) brán ktoré sa dajú.

xor-tabulka.png

xor-vnutro.jpg

Vidíme, že výstup je 1 IBA v prípade že je jeden zo vstupov 1. Vnútorné schéma nám odhaľuje, že pozostáva z jednej NAND, jednej AND a jednej OR brány. Samozrejme, XOR sa dá zostaviť rôznymi spôsobmi, toto je ale najjednoduchší v rámci stavby z tranzistorov. 

I/O adderu (1, 2, 6)

Pri pohľade na schému adderu ste sa isto zarazili, prečo má 3 vstupy ked počítame s dvoma číslami. Je to kvôli kaskádovaniu, inak povedané zbytok po delení. Keďže pri sčítaní dvoch bitov dostaneme iba jeden výstup, sú operácia 0+0=0, 1+0=1 a 0+1=1 žiadny problém. Inak je to s 1+1, kde výstup je 2 a teda výstup na pozícií 1 ho nemá ako zobraziť. Stane sa teda to, že sa odohrá operácia 1+0 (najmenšie číslo ktoré sa zmestí), dostaneme 1, to je teda celkový výsledok a potom ešte ďalšiu 1, ktorá značí to, že pri ďalšom sčítavaní bude použítá tá, je to teda zbytok. Tretí vstup je teda vstup pre ostatné addre, a druhý výstup je teda zbytok, ktorý v prípade jednobitového čítača môžme chápať ako 2. 

Tranzistorify...

Keďže sme si stanovili, že náš adder bude celý z tranzistorov, a bued mať 8 bitov, znamená to že každá logická brány bude tvorená tranzistormi.. bohužial nemám dostatočne obrovské kontaktné pole (skôr polia), začal som stavať iba jeden bitový adder (ktorému sa teda aj venujeme v tejto dvojdielnej časti). Zapojenie je .. no, mierne chaotické... Ale, čo budeme potrebovať sú schémy AND, NAND a OR gateov z tranzistorov, takže si ich poďme ukázať a rozobrať.

AND Gate (4a, 4b)

and-gate.gif

Princíp je jednoduchý... ak privedieme prúd na bázu T1, prúd C-E preteká, ale keďže druhý tranzistor je zatvorený výstup je stále 0. To isté, ak privedieme nejaký prúd na T2, nemá aký prúd cez C-E prechádzať, keďže T1 je zavretý a teda výstup je 0. Keď však privedieme prúd na bázu oboch tranzistorov, obvod C-E sa stane aktívny u oboch tranzistorov a teda výstup bude 1. Toto je princíp AND gatu. Rezistory sú 10k na bázach a 4k7 pre pull-down rezistor.

OR Gate (5)

or-gate.jpg

Opäť a ešte jednoduchšie, privedieme prúd na bázu T1, obvodom C-E začne pretekať prúd a teda na výstupe bude 1, to isté aj u druhého tranzistoru. Hodnoty R sú rovnaké všade, aj ked to spôsobuje že niekedy LED menej svieti, čo sa dá eliminovať správnym dopočítaním rezistorov, ale to v tejto skúšobnej fázi vynechávame, ide nám o funkčnosť :)

NAND Gate (súčasť 3a a 3b)

nand-gate.jpg

Presne to isté ako AND Gate, akurát výstup je pripojený ku kolektoru T1 kde je aj napájanie Vcc, takže výstup je primárne 1. Inak je to to isté ako AND, s rozdielom že ked sú obaja tranzistory zopnuté, oboma obvodmi C-E prechádza prúd a teda Vcc je cez R1 pripojené priamo do zeme, teda skratujeme výstup zemou a teda na výstupe bude 0.

XOR Gate (3a, 3b)

xor-gate.png

Tu už to bolo jemne zložitejšie, keďže samostatný XOR nieje.. teda som ho zložil z jedného NAND, jedného AND a jedného OR gatu. Funkciu tu vysvetlovať nebudem, keďže všetky 3 brány sme si už popísali a toto je vlastne len ich kombínácia, takže podla toho čo už vieme si môžte prezrieť detailne schému a zistiť že je to naozaj XOR gate :) Inak väčší obrázok je dostupný TU. Ešte by som si dovolil upozorniť na to, že vstupy A a B sú na obrázku prehodené, neviem prečo som to spravil, ale ked bude čas s videom pribudne aj prekreslená schéma do jednoduchšej a menšej podoby, a teda opravím aj túto chybu :) 

Kompletná schéma

Je nakreslená v programe EAGLE, a ked som ju kreslil nemyslel som na to že ju budem zverejňovať, tak som to nakreslil ako mi to bodlo a aby som sa v tom vyznal... lenže opäť problém, schéma je tak neúsporne nakreslená že výsledný obrázok má rozlíšenie 14000x10000... :D Súbory si sťahujte TU.

Schéma je tu, obrázok má stále obrovské rozlíšenie, preto aby ste dokázali z neho niečo vyčítať kliknite:

postimage

A malý odkaz na schému bez rozdelenia na polia (kvôli prehladnosti, opäť na obrázok kliknite):

postimage

Takže, toľko k téorií, druhá časť bude hlavne geléria toho ako to celé funguje a neskôr keď bude čas prihodím aj video s vysvetlivkami, ako to celé funguje :) 

 

Náhľad fotografií zo zložky 1bit Adder Substractor

Komentáre

Pridať komentár

Prehľad komentárov

Zatiaľ nebol vložený žiadny komentár.