Мазмұны:

4 биттік екілік калькулятор: 11 қадам (суреттермен)
4 биттік екілік калькулятор: 11 қадам (суреттермен)

Бейне: 4 биттік екілік калькулятор: 11 қадам (суреттермен)

Бейне: 4 биттік екілік калькулятор: 11 қадам (суреттермен)
Бейне: Арифметические действия в двоичной системе счисления 2024, Желтоқсан
Anonim
4 биттік екілік калькулятор
4 биттік екілік калькулятор
4 биттік екілік калькулятор
4 биттік екілік калькулятор
4 биттік екілік калькулятор
4 биттік екілік калькулятор
4 биттік екілік калькулятор
4 биттік екілік калькулятор

Мен компьютерлердің фундаментальды деңгейде жұмыс істеуіне қызығушылық таныттым. Мен күрделі тапсырмаларды орындау үшін қажет дискретті компоненттер мен схемаларды қолдануды түсінгім келді. Процессордағы маңызды бір негізгі компонент - бұл арифметикалық логикалық блок немесе бүтін сандар бойынша операцияларды орындайтын ALU. Бұл тапсырманы орындау үшін компьютерлер екілік сандар мен логикалық қақпаларды пайдаланады. Орындалатын қарапайым амалдардың бірі - қосқыш тізбегіндегі екі санды қосу. Numberphile жасаған бұл бейне Domino қосымшасы арқылы осы ұғымды түсіндіруде керемет жұмыс жасайды. Мэтт Паркер бұл негізгі ұғымды кеңейтіп, 10 000 домино көмегімен Domino компьютерлік схемасын құрады. Доминодан жеке компьютерді құру - абсурд, бірақ мен бұл қосымша тапсырманы орындау үшін дискретті компоненттердің қолданылуын түсінгім келді. Бейнежазбаларда логикалық қақпалар доминодан жасалған, бірақ оларды негізгі компоненттерден, яғни транзисторлар мен резисторлардан жасауға болады. Бұл жобаның мақсаты осы жеке дискретті компоненттерді қолдану және 4-биттік қосқыш калькуляторын құру болды.

Бұл жобаның мақсаттарына мыналар кірді: 1) теңшелетін ПХД жасауды және жасауды үйрену2) екілік сандарды қосуды жобалауды жеңілдету

Бұл жобаның шабыты мен түсінігінің көп бөлігі Simon Inns -тен келді.

Жабдықтар

Мен Fritzing -ді схемаларды жасау, ПХД жасау және жасау үшін қолдандым

1 -қадам: Теория

Теория
Теория
Теория
Теория
Теория
Теория
Теория
Теория

10 -базада санау қарапайым, себебі екі бүтін санның қосындысын көрсететін басқа бүтін сан бар. Ең қарапайым мысал:

1 + 1 = 2

2 -базалық немесе екілік санау тек 1 мен 0 -ді қолданады. Әр түрлі бүтін сандар мен олардың қосындыларын көрсету үшін 1 мен 0 комбинациясы қолданылады. 2 -базада санаудың мысалы:

1+1 = 0 және сіз 1 -ді келесі битке апарасыз

Екі битті (А және В) бірге қосқанда, Sum және Carry (Cout) шығысымен 4 түрлі нәтиже алуға болады. Бұл кестеде көрсетілген.

Логикалық қақпалар кірісті қабылдайды және шығыс шығарады. Кейбір негізгі логикалық қақпалар осы жобада қолданылатын NOT, AND және OR қақпаларынан тұрады. Олар транзисторлар мен резисторлардың әр түрлі комбинациясынан және сымдарынан тұрады. Әр қақпаның схемасы берілген.

Кестеге жүгінсек, осы қақпалардың комбинациясын кестедегі қосынды нәтижелерді шығару үшін пайдалануға болады. Бұл логиканың комбинациясы эксклюзивті OR (XOR) қақпасы ретінде де белгілі. 1 шығуы үшін кіріс дәл 1 болуы керек. Егер екі кіріс те 1 болса, нәтиже 0 болады. Тасымалдау битінің нәтижелері қарапайым AND шлюзі арқылы көрсетілуі мүмкін. Сонымен, AND қақпасы бар XOR -ды қолдану бүкіл кестені көрсете алады. Бұл Half Adder ретінде белгілі және схема жоғарыда көрсетілген.

Үлкен екілік сандарды қосу үшін тасымалдау биті кіріс ретінде енгізілуі керек. Бұл толық аддер жасау үшін 2 Half Adder схемасын біріктіру арқылы жүзеге асады. Толық қосқыштарды үлкен екілік сандарды қосу үшін бірге каскадтауға болады. Мен өз жобамда 4 биттік кірістіруге мүмкіндік беретін 4 толық қосқыштарды каскадтадым. Full Adder схемасы жоғарыда келтірілген.

Саймон Иннс теория туралы керемет және тереңірек жазған. Мен пайдалы деп тапқан бірнеше PDF файлдары бар.

2 -қадам: тізбекті тексеру

Циклды тексеру
Циклды тексеру
Циклды тексеру
Циклды тексеру

Логикалық қақпалардың қалай жұмыс жасайтынын және Full Adder теориясын түсінгеннен кейінгі бірінші қадам - схеманы құру. Мен барлық қажетті компоненттерді жинай бастадым: 10K және 1K резисторлары, NPN транзисторлары, Breadboard, Jumperwires. Мен толық қосқышты басып шығарумен бірге жүрдім. Процесс ауыр болды, бірақ мен толық қосқыштың жұмыс схемасын ала алдым. Мен кірістерді жоғары немесе төмен байлап, шығуларды тексеру үшін мультиметр қолдандым. Енді мен тақта мен схеманы ПХД -ге аударуға дайын болдым.

3 -қадам: Full Adder ПХД жобалау

Full Adder ПХД жобалау
Full Adder ПХД жобалау
Full Adder ПХД жобалау
Full Adder ПХД жобалау
Full Adder ПХД жобалау
Full Adder ПХД жобалау

ПХД құрастыру үшін мен тек Fritzing қолдандым. Бұл мен бірінші рет ПХД құрастырдым, және бұл бағдарлама ең кіші оқу қисығы бар ең ыңғайлы және интуитивті болып көрінді. ПХД құрастыруға көмектесетін EasyEDA және Eagle сияқты басқа да керемет бағдарламалар бар. Fritzing көмегімен сіз виртуалды тақтада немесе схемада жобалауды бастауға болады, содан кейін ПХД -ге өтіңіз. Мен бұл жобаның екі әдісін де қолдандым. Егер сіз ПХД дайындауға дайын болсаңыз, бұл сіздің файлдарыңызды экспорттауға және оларды фритзинг бойынша серіктестің өндірушісі Aisler -ге тікелей жүктеуге арналған түймені басу сияқты қарапайым.

Процесті бастау үшін мен схеманы қойдым. Біріншіден, мен жұмыс кеңістігіне барлық компоненттерді енгіздім. Содан кейін мен компоненттер арасындағы барлық іздерді салдым. Мен тиісті жерлерге 5В кіріс пен жерге қосу керек екеніне көз жеткіздім.

ПХД қойындысында басылған PCBI дизайнын жасаңыз. Схемадан тікелей көшкенде, сіз схемада жасаған іздеріңізге негізделген ratsnest сызықтарымен қосылған барлық компоненттермен шатасасыз. Мен жасаған бірінші нәрсе - сұр түсті ПХД өлшемін мен қалағандай етіп өзгертіп, бекіту тесіктерін қостым. Мен сонымен қатар кіріс пен шығысқа 16 түйреуіш қостым. Содан кейін мен компоненттерді логикалық түрде реттей бастадым. Мен іздеу қашықтығын азайту үшін бір -біріне жақын қосылымдары бар компоненттерді топтастыруға тырыстым. Мен қосымша қадам жасадым және компоненттерді логикалық шлюз арқылы топтастырдым. Менің мақсаттарымның бірі - тізбектің қалай жұмыс істейтінін елестете алу және «битті» схема бойынша қадағалай білу болды, содан кейін мен автоматты түрде өтетін және компоненттер арасындағы оңтайландырылған бақылауды жүргізетін авторутинг функциясын қолдандым. Мен бұл процестің барлық дұрыс іздеулерді аяқтағанына күмәнмен қарадым, сондықтан мен іздеуді екі рет тексеріп, олар қажет болған жерде қайта құрдым. Бақытымызға орай, автотрансляция функциясы өте жақсы жұмыс жасады, мен тек бірнеше бақылауды түзетуге тура келді. Автотранслятор іздермен кейбір таңқаларлық бұрыштар жасады, бұл «ең жақсы тәжірибе» емес, бірақ мен мұнымен жақсы болдым және бәрі де жақсы жұмыс істеді. Мен жасаған соңғы нәрсе - жібек экран ретінде басылатын мәтінді қосу. Мен барлық компоненттердің таңбаланғанына көз жеткіздім. Мен сондай -ақ компоненттерді топтастыруға баса назар аудару үшін логикалық қақпа суреттерін импорттадым. Жоғарыдағы соңғы суретте жібек экраны көрсетілген.

Экранның төменгі жағындағы ойлап шығару түймесін басқан PCBI құрастырыңыз. Ол мені Aisler веб -сайтына бағыттады, онда мен есептік жазба жасай алдым және барлық Fritzing файлдарымды жүктей алдым. Мен барлық әдепкі параметрлерді қалдырып, тапсырыс бердім.

4 -қадам: Басқа ПХД құрастыру

Басқа ПХД құрастыру
Басқа ПХД құрастыру
Басқа ПХД құрастыру
Басқа ПХД құрастыру
Басқа ПХД құрастыру
Басқа ПХД құрастыру

Маған қалған ПХД - бұл кіріс/шығыс интерфейс тақтасы және IC үшін тақта. Мен осы тақталар үшін 3 -қадам ретінде процесті орындадым. Схемалардың pdf файлдары төменде орналастырылған. IC үшін мен виртуалды тақтаның көмегімен барлық қосылымдарды жасадым. Мен схеманы толықтығы үшін енгіздім, бірақ тікелей тақтадан ПХД қойындысына өтуге мүмкіндік болды, ол өте керемет болды. Мен сонымен қатар Aisler -ге жүктеу мен тапсырыс бермес бұрын енгізу -шығару интерфейс тақтасындағы жібек экрандағы 2 базалық конверсия диаграммасына 10 базасын қостым.

5 -қадам: Компоненттерді ПХД -ге дәнекерлеу

ПХД компоненттерін дәнекерлеу
ПХД компоненттерін дәнекерлеу
ПХД компоненттерін дәнекерлеу
ПХД компоненттерін дәнекерлеу
ПХД компоненттерін дәнекерлеу
ПХД компоненттерін дәнекерлеу
ПХД компоненттерін дәнекерлеу
ПХД компоненттерін дәнекерлеу

Барлық ПХД келді, мен сапаға таң қалдым. Мен басқа өндірістермен тәжірибе алмадым, бірақ Айслерді қайтадан қолданудан тартынбаймын.

Келесі тапсырма барлық компоненттерді дәнекерлеу болды, бұл күрделі процесс болды, бірақ менің дәнекерлеу дағдыларым айтарлықтай жақсарды. Мен толық жинау тақталарынан бастадым және транзисторлардан басталатын компоненттерді, содан кейін 1К резисторларды, содан кейін 10К резисторларды дәнекерледім. Мен басқа компоненттерді енгізу -шығару және IC тақтасына дәнекерлеудің ұқсас әдісін қолдандым. Full Adder тақтасы аяқталғаннан кейін мен оларды Full Adder тақтасының әдісімен сынап көрдім. Бір таңқаларлығы, барлық тақталар ақаусыз дұрыс жұмыс істеді. Бұл тақталардың дұрыс бағытталуын және олардың дұрыс дәнекерленгенін білдірді. Келесі қадамға өтіңіз!

6 -қадам: Дестелеуге арналған ПХД аяқтау

Жинақтау үшін ПХД аяқталуы
Жинақтау үшін ПХД аяқталуы
Дестелеуге арналған ПХД аяқталуы
Дестелеуге арналған ПХД аяқталуы
Дестелеуге арналған ПХД аяқталуы
Дестелеуге арналған ПХД аяқталуы

Келесі тапсырма - барлық тақтаға бекіткіш түйреуіштерді дәнекерлеу. Сондай -ақ, дұрыс ағытқыш пен Full Adder тақталарының (A, B, Cin, V+, GND, Sum, Cout) кіріс/шығыс арасына қосқыш сымдарды қосу керек болды. Егер сіз қосқыш тізбегінің әр деңгейіне әр түрлі ПХД әзірлеген болсаңыз, бұл қадамнан аулақ болуға болады, бірақ мен тек бір толық аддер ПХД жасау арқылы дизайн мен шығындарды азайтқым келді. Нәтижесінде, бұл кірістерге/шығуларға қосылу үшін өтпелі сымдар қажет. Бұл тапсырманы қалай орындағаным және Full Adder тақталарының әр деңгейі үшін қандай түйреуіштер қолданылғандығы схемада келтірілген. Суреттер менің әр тақтаға қосқыш сымдарды қалай дәнекерлегенімді көрсетеді. Мен бос сымдарды тақырыптағы дұрыс түйреуіштерге дәнекерлеу арқылы бастадым. Содан кейін мен тақырыпты ПХД -ге дәнекерледім. Өткізгіш сымдары бар бастық түйреуіштері дәнекерленгеннен кейін, мен секіргіштердің бос ұштарын ПХД -дағы дұрыс сымдарға дәнекерледім. Жоғарыдағы суретте секіру сымдары дәнекерленген түйреуіш түйреуіштердің жақын орналасуы көрсетілген.

7 -қадам: тізбектерді қуаттандыру

Тізбектерді қуаттандыру
Тізбектерді қуаттандыру
Тізбектерді қуаттандыру
Тізбектерді қуаттандыру
Тізбектерді қуаттандыру
Тізбектерді қуаттандыру

Мен бұл жобада 12В тұрақты ток баррельді ұялы қуат көзін пайдалануды жоспарладым, сондықтан мен енгізу -шығару интерфейс тақтасын қуат кірісі үшін тұрақты ток барреліне/коннекторына арналған етіп жасадым. Мен сол енгізу -шығару тақтасын қолданғандықтан және кернеуді 5В дейін реттеу үшін қажет жалғыз қуат көзін қолданғым келді, себебі бұл SN7483A IC үшін максималды кіріс. Мұны істеу үшін маған 5 В кернеу реттегіші мен 12 В пен 5 В арасында ауыса алатын қосқыш қажет болды. Жоғарыда келтірілген схема қуат тізбегін қалай қосқанымды көрсетеді.

8 -қадам: базаны 3D басып шығару

Негізді 3D басып шығару
Негізді 3D басып шығару
Негізді 3D басып шығару
Негізді 3D басып шығару
Негізді 3D басып шығару
Негізді 3D басып шығару

Енді барлық сымдар мен дәнекерлеу аяқталғаннан кейін, мен мұның бәрі бірге қалай өтетінін анықтауым керек болды. Мен осы жобаның барлық бөліктерін орналастыратын және көрсететін CADing мен 3D басып шығаруды таңдадым.

Дизайн туралы ойлар ПХД -ны болттармен және бекітпелермен орнататын орындар қажет болды. Жиналған қосқыштар ең көрнекі болып табылады және мен оларды қолданылмаған кезде көргім келеді, сондықтан мен ПХД сақтауға орын алғым келді. Маған коммутатор мен DC баррель ұясы/коннекторының үзілулері бар қуат тізбегін орналастыру қажет болды. Ақырында, мен ашық ПХД -да шаңның жиналуын болдырмау үшін қоршаудың қандай да бір корпусын алғым келді, сондықтан қоршауға отыратын орын қажет болды.

3D модельдеу Мен базаны жобалау үшін Fusion360 қолдандым. Мен ПХД өлшемдерінен және бекіту тесіктерінің аралықтарынан бастадым. Осыдан кейін мен ПХД орнату нүктелері бар негіздің биіктігі мен өлшемін орнату үшін бірнеше эскиздер мен экструзияларды қолдандым. Содан кейін мен қоршау мен электр тізбегінің қиылыстарын жасадым. Содан кейін, мен пайдаланылмайтын кезде IC ПХД сақтау үшін аймақ жасадым. Ақырында мен соңғы бөлшектерді қостым және оны кесуге арналған бағдарламалық жасақтама Cura -ға жібердім.

Мен қара PLA талшығын таңдадым. Басып шығару 6 сағаттан астам уақытқа созылды және керемет болды. Бір таңқаларлығы, барлық өлшемдер дұрыс болды және бәрі бір -біріне сәйкес келетін сияқты болды. Жоғарыдағы суретте монтаждау тесіктеріне тоқтауларды қосқаннан кейінгі басып шығару көрсетілген. Олар керемет жарасымды болды!

9 -қадам: құрастыру

Ассамблея
Ассамблея
Ассамблея
Ассамблея
Ассамблея
Ассамблея

Кедергілерді енгізіңіз. Мен барлық кедергілерді негіздің бекіту тесіктеріне қойдым.

Қуат тізбегін негізге орналастырыңыз. Мен бәрін сыммен байланыстырдым және барлық компоненттерді қосқыштың саңылауынан шығардым. Содан кейін мен қуат ұясын/адаптерді базаның артқы жағына салдым. Мен 5В реттегішті оның ұясына итердім, ақырында қосқышты орнына қоюға болады.

Енгізу -шығару ПХД орнатыңыз. Мен IC ПХД сақтау орнына орналастырдым және енгізу -шығару интерфейсінің ПХД -ін үстіне қойдым. Мен ПХД -ны 4x M3 болттары мен алты бұрышты драйвер көмегімен бұрап алдым. Ақырында мен DC баррель ұясын ПХД -ге қостым.

Adder PCB карталарын жинаңыз. Мен бірінші аддерді орнына қойдым. Мен ПХД -дің артқы жағын бекітетін тесіктерге 2 бекіткішпен бұрап алдым. Мен бұл процесті соңғы Аддер орнында болғанша қайталадым және оны М3 тағы 2 болтпен бекіттім.

Қоршауды жасаңыз. Мен корпус үшін 1/4 дюймдік акрилді қолдандым. Мен жобаның соңғы биіктігін өлшедім және АЖЖ өлшемдерімен төменгі жағы бар қарапайым қорап жасау үшін бүйірлері мен үстінен 5 бөлікті кесіп алдым. Мен желімдеу үшін эпоксидті қолдандым. Ақырында мен қосқышты орналастыру үшін оң жақта жартылай шеңбер тәрізді кішкене кескішті тегістедім.

Есептеуге дайын

10 -қадам: Есептеу және салыстыру

Image
Image
Есептеу және салыстыру
Есептеу және салыстыру
Есептеу және салыстыру
Есептеу және салыстыру

Жаңа калькуляторды қосыңыз және қосуды бастаңыз! Негізгі 10 -дан 2 -ге дейінгі диаграмманы екілік және бүтін сандар арасында жылдам түрлендіру үшін қолдануға болады. Мен кірісті орнатуды жөн көремін, содан кейін қуат қосқышын аударып, светодиодтардан екілік шығуды бақылау арқылы «тең» дегенді басыңыз.

Дискретті компоненттерді интегралды схемамен салыстыру. Енді сіз толық қосқыштарды босатып, SN7483A IC енгізу -шығару тақтасына қосуға болады. (12 В орнына 5 В кернеуі бар IC -ды қосу үшін қосқышты қарама -қарсы бағытқа аударуды ұмытпаңыз). Сіз бірдей есептеулерді жасай аласыз және сіз бірдей нәтиже аласыз. Аддер дискретті компоненті де, ИК де әр түрлі масштабта бірдей жұмыс істейді деп ойлау өте әсерлі. Суреттер схемалар үшін бірдей кірістер мен шығуларды көрсетеді.

11 -қадам: Қорытынды

Сізге бұл жоба ұнады және мен сияқты көп нәрсені үйрендіңіз деп сенемін. Жаңа нәрсені үйрену және оны бірегей жобаға айналдыру өте қанағаттанарлық, бұл ПХД дизайны/өндірісі сияқты жаңа дағдыларды үйренуді талап етеді. Барлық схемалар төменде көрсетілген. Қызығушылық танытқандар үшін мен PCB Gerber файлдарын байланыстыра аламын, осылайша сіз 4 биттік екілік калькуляторды жасай аласыз. Бақытты жасау!

Ұсынылған: