Mundarija:

4-bitli ikkilik kalkulyator: 11 qadam (rasmlar bilan)
4-bitli ikkilik kalkulyator: 11 qadam (rasmlar bilan)

Video: 4-bitli ikkilik kalkulyator: 11 qadam (rasmlar bilan)

Video: 4-bitli ikkilik kalkulyator: 11 qadam (rasmlar bilan)
Video: CASIO fx-991CW fx-570CW CLASSWIZ Calculator Full Example Manual 2024, Iyul
Anonim
4-bitli ikkilik kalkulyator
4-bitli ikkilik kalkulyator
4-bitli ikkilik kalkulyator
4-bitli ikkilik kalkulyator
4-bitli ikkilik kalkulyator
4-bitli ikkilik kalkulyator
4-bitli ikkilik kalkulyator
4-bitli ikkilik kalkulyator

Menda kompyuterning asosiy darajada ishlashiga qiziqish paydo bo'ldi. Men murakkabroq vazifalarni bajarish uchun zarur bo'lgan diskret komponentlar va sxemalarni qo'llashni tushunmoqchi edim. Protsessor protsessorining muhim tarkibiy qismlaridan biri bu arifmetik mantiq birligi yoki butun sonlar bo'yicha operatsiyalarni bajaradigan ALU. Bu vazifani bajarish uchun kompyuterlar ikkilik raqamlar va mantiq eshiklaridan foydalanadilar. Amalga oshiriladigan eng oddiy operatsiyalardan biri bu ikkita raqamni yig'uvchi pallasida qo'shishdir. Numberphile tomonidan tayyorlangan ushbu video Domino Addition orqali ushbu kontseptsiyani tushuntirishda juda yaxshi ish qiladi. Mett Parker bu asosiy kontseptsiyani kengaytiradi va 10 000 domino yordamida Domino kompyuter sxemasini quradi. Dominodan butun shaxsiy kompyuterni yaratish bema'nilik, lekin men bu vazifani bajarish uchun alohida komponentlardan foydalanishni tushunishni xohlardim. Videolavhalarda mantiq eshiklari dominodan yaratilgan, lekin ularni asosiy komponentlardan, ya'ni tranzistorlar va rezistorlardan ham yasash mumkin. Loyihaning maqsadi-bu 4-bitli yig'uvchi kalkulyatorimni o'rganish va yaratish uchun ushbu diskret komponentlardan foydalanish.

Ushbu loyihadagi maqsadlarim quyidagilardan iborat edi: 1) shaxsiy PCBni yaratish va yasashni o'rganing 2) dizaynni ikkilik sonlarni qo'shishni kontseptualizatsiya qilishni osonlashtiring 3) diskret komponentlar va bir xil vazifani bajaradigan integral mikrosxemalar orasidagi farqni ko'rsating.

Ushbu loyihaning ilhomi va tushunchasining ko'p qismi Simon Innsdan kelgan.

Ta'minotlar

Men Fritzing -dan sxemalar tuzish, tenglikni yaratish va ishlab chiqarish uchun foydalanardim

1 -qadam: nazariya

Nazariya
Nazariya
Nazariya
Nazariya
Nazariya
Nazariya
Nazariya
Nazariya

10 -bazada hisoblash oddiy, chunki ikkita tamsayı yig'indisini ifodalash uchun boshqa tamsayı mavjud. Eng oddiy misol:

1 + 1 = 2

2 -tayanch yoki ikkilikda sanashda faqat 1 va 0 -lar ishlatiladi. 1 va 0 kombinatsiyalari har xil sonlarni va ularning yig'indisini ifodalash uchun ishlatiladi. 2 -tayanchda hisoblashning misoli:

1+1 = 0 va siz 1 -ni keyingi bitga o'tkazasiz

Ikkita bitni (A va B) qo'shganda, Sum va Carry (Cout) chiqishlari bilan 4 xil natijaga erishish mumkin. Bu jadvalda ko'rsatilgan narsa.

Mantiq eshiklari kirishni oladi va natijani beradi. Eng asosiy mantiq eshiklari bu loyihada ishlatilgan NOT, AND, OR eshiklaridan iborat. Ular har xil kombinatsiyalar va tranzistorlar va rezistorlar simlaridan iborat. Har bir eshikning sxemasi keltirilgan.

Jadvalga qaytsak, bu darvozalarning kombinatsiyasidan jadvaldagi sum natijalarini chiqarish mumkin. Bu mantiq kombinatsiyasi eksklyuziv OR (XOR) darvozasi sifatida ham tanilgan. Chiqish natijasi 1 bo'lishi uchun kirish 1 bo'lishi kerak. Agar ikkala kirish ham 1 bo'lsa, natija 0 ga teng bo'ladi. O'tkazish biti natijalarini oddiy VA shlyuz bilan ko'rsatish mumkin. Shunday qilib, AND darvozasi bo'lgan XOR -dan foydalanish butun jadvalni aks ettirishi mumkin. Bu Half Adder deb nomlanadi va sxemasi yuqorida ko'rsatilgan.

Kattaroq ikkilik raqamlarni qo'shish uchun tashish biti kirish sifatida kiritilishi kerak. Bu Full Adderni yaratish uchun 2 Half Adder sxemasini birlashtirish orqali amalga oshiriladi. Keyinchalik katta ikkilik raqamlarni qo'shish uchun to'liq qo'shuvchilar kaskadlanishi mumkin. Mening loyihamda men 4 ta to'liq qo'shimchani kaskad qildim, bu menga 4 bitli kirishga imkon berdi. Full Adder sxemasi yuqorida keltirilgan.

Simon Innsda nazariya haqida ajoyib va chuqurroq yozilgan. Menga foydali bo'lgan bir nechta PDF -fayllar ham bor.

2 -qadam: O'chirish tizimini sinovdan o'tkazish

O'chirish davri
O'chirish davri
O'chirish davri
O'chirish davri

Mantiq eshiklari qanday ishlashini va Full Adder nazariyasini tushungandan keyin birinchi qadam - bu sxemani tuzish. Men o'zimga kerak bo'lgan barcha komponentlarni yig'ishdan boshladim: 10K va 1K rezistorlar, NPN tranzistorlari, Breadboard, Jumperwires. Men to'liq qo'shimchaning chop etishini kuzatdim. Jarayon zerikarli edi, lekin men to'liq qo'shimchaning ishchi sxemasini topa oldim. Men kirishni baland yoki past bog'lab qo'ydim va chiqishlarni tekshirish uchun multimetrdan foydalanardim. Endi men taxtani va sxemani PCBga tarjima qilishga tayyor edim.

3 -qadam: Full Adder PCB ni loyihalash

Full Adder PCB dizayni
Full Adder PCB dizayni
Full Adder PCB dizayni
Full Adder PCB dizayni
Full Adder PCB dizayni
Full Adder PCB dizayni

PCBni loyihalash uchun men faqat Fritzing -dan foydalandim. Bu men birinchi marta PCB loyihasini ishlab chiqardim va bu dastur eng kichik o'qish egri bilan eng qulay va intuitiv bo'lib tuyuldi. PCB loyihalashda yordam beradigan EasyEDA va Eagle kabi boshqa ajoyib dasturlar mavjud. Fritzing yordamida siz virtual taxtada yoki sxemada loyihalashni boshlashingiz mumkin, so'ngra PCBga o'tishingiz mumkin. Men ushbu loyihada ikkala usulni ham qo'lladim. Agar siz tenglikni ishlab chiqarishga tayyor bo'lsangiz, bu sizning fayllaringizni eksport qilish va to'g'ridan -to'g'ri Fritzing uchun ishlab chiqaruvchi Aisler -ga yuklash uchun tugmani bosish kabi oddiy.

Jarayonni boshlash uchun men sxematik yorliqdan boshladim. Birinchidan, men topdim va barcha komponentlarni ish maydoniga joylashtirdim. Keyin men komponentlar orasidagi barcha izlarni chizdim. Tegishli joylarga 5V kuchlanishni va erni qo'shishga ishonch hosil qildim.

PCB yorlig'ida bosilgan PCBIni loyihalash. To'g'ridan -to'g'ri sxemadan ko'chganingizda, siz sxemada qilgan izlaringiz asosida ratsnest chiziqlari bilan bog'langan barcha komponentlar bilan tartibsizlikni boshdan kechirasiz. Men qilgan birinchi narsa - kulrang PCB o'lchamini men xohlagan hajmga o'zgartirish va o'rnatish teshiklarini qo'shish. Bundan tashqari, kirish va chiqish uchun 16 ta pin qo'shdim. Keyin men komponentlarni mantiqiy tartibda joylashtira boshladim. Men iz masofasini minimallashtirish uchun komponentlarni bir -biriga yaqin bo'lgan ulanishlar bilan guruhlashga harakat qildim. Men qo'shimcha qadam tashladim va tarkibiy qismlarni mantiqiy eshik orqali guruhladim. Maqsadlarimdan biri - sxemaning qanday ishlashini tasavvur qilish va "bit" ni sxema bo'yicha kuzatib borish edi, shundan so'ng men avtorouting funktsiyasidan foydalanardim, u avtomatik ravishda o'tadi va komponentlar orasidagi optimallashtirilgan izlarni chizadi. Men bu jarayon to'g'ri izlanishlarning barchasini tugatganiga shubha bilan qaradim, shuning uchun men izlarni ikki marta tekshirish va ular bo'lishi kerak bo'lgan joyni qayta chizishga o'tdim. Yaxshiyamki, autorouting funktsiyasi juda yaxshi ish qildi va men faqat bir nechta izlarni tuzatishga majbur bo'ldim. Avtoto'riqnoma izlari bilan g'alati burchaklarni yaratdi, bu "eng yaxshi amaliyot" emas, lekin men bunga rozi bo'ldim va hammasi yaxshi ishladi. Oxirgi qilgan ishim, ipak ekran sifatida chop etiladigan matnni qo'shish edi. Men barcha komponentlar etiketlanganligiga ishonch hosil qildim. Men komponentlarning guruhlanishini ta'kidlash uchun maxsus mantiq eshiklari rasmlarini ham import qildim. Yuqoridagi oxirgi rasmda ipak ekran ko'rsatilgan.

Ekranning pastki qismidagi tugmachani bosgan PCBI -ni ishlab chiqaring. Bu meni to'g'ridan -to'g'ri Aisler veb -saytiga yo'naltirdi, u erda men hisob qaydnomasini yaratishga va barcha Fritzing fayllarini yuklashga muvaffaq bo'ldim. Men barcha standart sozlamalarni qoldirdim va buyurtma berdim.

4 -qadam: Boshqa PCBlarni loyihalash

Boshqa PCBlarni loyihalash
Boshqa PCBlarni loyihalash
Boshqa PCBlarni loyihalash
Boshqa PCBlarni loyihalash
Boshqa PCBlarni loyihalash
Boshqa PCBlarni loyihalash

Menga kerak bo'lgan qolgan tenglikni kartalari kirish/chiqish interfeysi va IC uchun karta edi. Men ushbu taxtalar uchun 3 -qadam jarayonini kuzatdim. Sxemalar pdf quyida joylashtirilgan. IC uchun men virtual ulanish paneli yordamida barcha ulanishlarni o'rnatdim. Men sxemani to'liqlik uchun kiritdim, lekin to'g'ridan -to'g'ri non panelidan PCB yorlig'iga o'tishga muvaffaq bo'ldim, bu juda zo'r edi. Aisler -ga yuklash va buyurtma berishdan oldin, men kirish -chiqish interfeysi platasidagi silkscreen -dagi 2 -konvertatsiya jadvaliga 10 -bazani qo'shdim.

5 -qadam: Komponentlarni PCB ga lehimlash

Komponentlarni lehimlash
Komponentlarni lehimlash
Komponentlarni PCB ga lehimlash
Komponentlarni PCB ga lehimlash
Komponentlarni PCB ga lehimlash
Komponentlarni PCB ga lehimlash
Komponentlarni PCB ga lehimlash
Komponentlarni PCB ga lehimlash

Barcha tenglikni kartalari keldi va men sifatidan juda hayratlandim. Men boshqa ishlab chiqaruvchilar bilan hech qanday tajribaga ega emasman, lekin Aisler -ni qayta ishlatishdan tortinmayman.

Keyingi vazifa barcha komponentlarni lehimlash edi, bu mashaqqatli jarayon edi, lekin mening lehimlash mahoratim ancha yaxshilandi. Men to'liq yig'uvchi taxtalardan boshladim va komponentlarni tranzistorlardan, keyin 1K rezistorlardan, keyin 10K rezistorlardan lehimladim. Qolgan komponentlarni I/U va IC platasiga lehimlash uchun men ham shunga o'xshash usulni qo'lladim. Har bir Full Adder taxtasi tugagandan so'ng, men ularni Full Adder taxtasi bilan bir xil usul bilan sinab ko'rdim. Ajablanarlisi shundaki, barcha taxtalar muammosiz to'g'ri ishlagan. Bu shuni anglatadiki, taxtalar to'g'ri yo'naltirilgan va ular to'g'ri lehimlangan. Keyingi bosqichga o'ting!

6 -qadam: PCB -larni yig'ish uchun tugatish

Stacking uchun PCBlarni tugatish
Stacking uchun PCBlarni tugatish
Stacking uchun PCBlarni tugatish
Stacking uchun PCBlarni tugatish
Stacking uchun PCB -larni tugatish
Stacking uchun PCB -larni tugatish

Keyingi vazifa, har bir taxtaga barcha sarlavhali pinlarni lehimlash edi. Menga to'g'ri sarlavha pimi va Full Adder platalari (A, B, Cin, V+, GND, Sum, Cout) kirish/chiqishlari orasiga o'tish simlarini qo'shish kerak edi. Agar siz yig'uvchi pallasida har bir daraja uchun har xil PCBlarni ishlab chiqsangiz, bu qadamni chetlab o'tish mumkin edi, lekin men faqat bitta Full Adder PCB yaratish orqali dizayn va xarajatlarni minimallashtirishni xohlardim. Natijada, bu kirish/chiqish ulanishlari o'tish simlarini talab qiladi. Taqdim etilgan sxemada men bu vazifani qanday bajardim va Full Adder taxtalarining har bir darajasi uchun qaysi pinlardan foydalanilganligi ko'rsatilgan. Rasmlar har bir taxta uchun o'tish simlarini qanday lehimlaganimni ko'rsatadi. Men bo'sh simlarni sarlavhadagi to'g'ri pinlarga lehimlashdan boshladim. Keyin men sarlavhani PCBga lehimladim. O'rnatilgan paychalarining simlari joyiga ulanganidan so'ng, men paychalarining bo'sh uchlarini tenglikni to'g'ri chiziqlariga lehimladim. Yuqoridagi rasmda ulagich simlari lehimlangan bosh pimlari yaqin joylashgan.

7 -qadam: davralarni quvvatlantirish

Zanjirlarni quvvatlantirish
Zanjirlarni quvvatlantirish
Zanjirlarni quvvatlantirish
Zanjirlarni quvvatlantirish
Zanjirlarni quvvatlantirish
Zanjirlarni quvvatlantirish

Men ushbu loyiha uchun 12V kuchlanishli, shahar, barreli razryadli quvvat manbaini ishlatishni rejalashtirdim, shuning uchun men kirish -chiqish interfeysi platasini quvvat kiritish uchun shahar bochkasi/ulagichiga ega qilib yaratdim. Chunki men bir xil kirish -chiqish taxtasidan foydalanganman va 5V kuchlanishini tartibga solish uchun zarur bo'lgan yagona quvvat manbaidan foydalanmoqchi edim, chunki bu SN7483A IC uchun maksimal kirishdir. Buni amalga oshirish uchun menga 5V regulyator va 12V va 5V o'rtasida almashtiriladigan kalit kerak edi. Yuqoridagi sxemada men elektr zanjirini qanday ulaganimni ko'rsataman.

8 -qadam: bazani 3D bosib chiqarish

3D bosib chiqarish bazasi
3D bosib chiqarish bazasi
3D bosib chiqarish bazasi
3D bosib chiqarish bazasi
3D bosib chiqarish bazasi
3D bosib chiqarish bazasi

Endi barcha simlar va lehim tugagandan so'ng, men qanday qilib birgalikda o'tkazilishini aniqlashim kerak edi. Men CADing va 3D bosib chiqarishni tanladim, bu dizaynning barcha qismlarini o'z ichiga oladi.

Dizayn masalalari PCB -larni murvat va mahkamlagich bilan o'rnatish uchun joy kerak edi. Yig'ilgan qo'shimchalar eng jozibali va men ularni ishlatilmaganda ham namoyish qilishni xohlardim, shuning uchun men IC PCB saqlanadigan joyni xohlardim. Menga elektr zanjirini kalit va shahar barreli uyasi/ulagichi kesilgan joylari kerak edi. Oxir -oqibat, men ochiq PCBlarda chang to'planishining oldini olish uchun qandaydir korpusni ko'rishni xohlardim, shuning uchun menga korpus o'tiradigan joy kerak edi.

3D modellashtirish Men bazani loyihalash uchun Fusion360 -dan foydalanganman. Men tenglikni o'lchamlari va o'rnatish teshiklarining oralig'idan boshladim. Shundan so'ng, men tenglikni o'rnatish nuqtalari bilan tayanchning balandligi va hajmini o'rnatish uchun bir qator eskizlar va ekstruziyalardan foydalandim. Keyin men korpus va quvvat davri uchun kesmalar qildim. Keyin, men ishlatilmaganda IC PCBni saqlash uchun joy ajratdim. Oxir -oqibat, men ba'zi tafsilotlarni qo'shdim va uni kesish dasturim bo'lgan Cura -ga yubordim.

Men qora PLA filamentini tanladim. Chop etish 6 soatdan ko'proq vaqtni oldi va ajoyib chiqdi. Ajablanarlisi shundaki, barcha o'lchamlar to'g'ri edi va hamma narsa bir -biriga mos keladigan tarzda paydo bo'ldi. Yuqoridagi rasmda men o'rnatish teshiklariga to'siqlarni qo'shganimdan keyin chop etilgan. Ular juda mos kelishdi!

9 -qadam: yig'ish

O'rnatish
O'rnatish
O'rnatish
O'rnatish
O'rnatish
O'rnatish

Qarama -qarshiliklarni joylashtiring. Men barcha to'siqlarni taglikning o'rnatish teshiklariga joylashtirdim.

Quvvat sxemasini taglikka joylashtiring. Men hamma narsani bir -biriga bog'lab qo'ydim va barcha komponentlarni kalit uchun teshikdan tortib oldim. Keyin, quvvat simini/adapterni taglikning orqa qismiga joylashtirdim. Men 5V regulyatorni o'z uyasiga tiqdim va nihoyat kalitni joyiga o'rnatishga muvaffaq bo'ldi.

I/U PCB ni joylashtiring. Men IC PCB -ni saqlash joyiga joylashtirdim va kirish -chiqish interfeysi tenglikni tepasiga joylashtirdim. Men tenglikni 4x M3 murvat va olti burchakli drayver yordamida vidaladim. Oxir -oqibat, men DC barreli uyasini PCBga uladim.

Adder PCB -ni yig'ing. Men birinchi Adderni joyiga qo'ydim. Men tenglikni orqa tarafini 2 tiqin bilan orqa o'rnatish teshiklariga burab qo'ydim. Men bu jarayonni oxirgi Adder joyida bo'lguncha takrorladim va uni yana ikkita M3 murvat bilan mahkamladim.

Qoplamani yarating. Men korpus uchun 1/4 dyuymli akrildan foydalanardim. Men loyihaning yakuniy balandligini o'lchadim va SAPR o'lchamlari bilan pastki va ochiq quti yasash uchun yon va tepadan 5 bo'lak kesib oldim. Yelimlash uchun epoksi ishlatardim. Oxir -oqibat men kalitni joylashtirish uchun o'ng tomonda yarim doira shaklidagi kichik kesmani silliqladim.

Hisoblashga tayyor

10 -qadam: Hisoblash va solishtirish

Image
Image
Hisoblash va taqqoslash
Hisoblash va taqqoslash
Hisoblash va taqqoslash
Hisoblash va taqqoslash

Yangi kalkulyatorni ulang va qo'shishni boshlang! Baza 10 dan bazaga 2 diagrammasi ikkilik va butun sonlarni tez aylantirish uchun ishlatilishi mumkin. Men kirishni o'rnatishni afzal ko'raman, keyin quvvat tugmachasini siljitish va LEDlarning ikkilik chiqishini kuzatish orqali "teng" ni bosing.

Diskret komponentlarni integral sxemaga solishtirish. Endi siz to'liq qo'shuvchilarni olib tashlashingiz va SN7483A IC -ni kirish -chiqish taxtasiga ulashingiz mumkin. (ICni 12V o'rniga 5V bilan quvvatlantirish uchun kalitni teskari tomonga burishni unutmang). Siz bir xil hisob -kitoblarni bajarishingiz mumkin va siz bir xil natijalarga erishasiz. Diskret komponentli Adder ham, IC ham bir xil o'lchamdagi shkalada ishlaydi deb o'ylash juda ta'sirli. Rasmlar sxemalar uchun bir xil kirish va chiqishlarni ko'rsatadi.

11 -qadam: Xulosa

Umid qilamanki, sizga bu loyiha yoqdi va men kabi ko'p narsani o'rgandingiz. Yangi narsalarni o'rganish va uni noyob loyihaga aylantirish juda mamnun, bu esa PCB dizayni/ishlab chiqarish kabi yangi ko'nikmalarni o'rganishni talab qiladi. Barcha sxemalar quyida keltirilgan. Kim xohlasa, men PCB Gerber fayllarimni bog'lay olaman, shunda siz o'zingiz 4 bitli ikkilik kalkulyatorni yaratishingiz mumkin. Baxtli qilish!

Tavsiya: