Mündəricat:

4 bitlik İkili Kalkulyator: 11 addım (şəkillərlə)
4 bitlik İkili Kalkulyator: 11 addım (şəkillərlə)

Video: 4 bitlik İkili Kalkulyator: 11 addım (şəkillərlə)

Video: 4 bitlik İkili Kalkulyator: 11 addım (şəkillərlə)
Video: CASIO fx-991CW fx-570CW CLASSWIZ Calculator Full Example Manual 2024, Noyabr
Anonim
4 bitlik ikili kalkulyator
4 bitlik ikili kalkulyator
4 bitlik ikili kalkulyator
4 bitlik ikili kalkulyator
4 bitlik ikili kalkulyator
4 bitlik ikili kalkulyator
4 bitlik ikili kalkulyator
4 bitlik ikili kalkulyator

Kompüterlərin təməl səviyyədə işləməsi ilə maraqlandım. Daha mürəkkəb vəzifələri yerinə yetirmək üçün lazım olan ayrı -ayrı komponentlərin və sxemlərin istifadəsini başa düşmək istədim. CPU -da vacib bir əsas komponent arifmetik məntiq vahidi və ya tam ədədlər üzərində əməliyyatlar yerinə yetirən ALU -dur. Bu vəzifəni yerinə yetirmək üçün kompüterlər ikili ədədlərdən və məntiq qapılarından istifadə edirlər. Edilən ən sadə əməliyyatlardan biri, iki ədədin bir toplama dövrəsində birlikdə əlavə edilməsidir. Numberphile tərəfindən hazırlanan bu video, bu konsepsiyanı Domino Əlavəsi ilə izah etmək üçün əla bir iş görür. Matt Parker bu əsas konsepsiyanı genişləndirir və 10 min domino istifadə edərək bir Domino Kompüter dövrəsi qurur. Dominosdan bütün bir fərdi kompüter qurmaq absurddur, amma yenə də bu əlavə vəzifəni yerinə yetirmək üçün ayrı -ayrı komponentlərin istifadəsini başa düşmək istədim. Videolarda məntiq qapıları dominolardan yaradılıb, lakin onlar da əsas komponentlərdən, yəni tranzistorlardan və rezistorlardan hazırlana bilər. Bu layihənin məqsədi, bu 4 ayrı bit hesablayıcıyı öyrənmək və yaratmaq üçün bu ayrı-ayrı komponentlərdən istifadə etmək idi.

Bu layihə üçün məqsədlərimə aşağıdakılar daxildir: 1) Xüsusi bir PCB necə yaratmağı və istehsal etməyi öyrənin2) Dizaynı ikili ədədlər əlavə etməklə konseptual olaraq asanlaşdırın

Bu layihənin ilham və anlayışının çoxu Simon Inns -dən gəldi.

Təchizat

Fritzing -dən sxemlər hazırlamaq, PCB -lər yaratmaq və hazırlamaq üçün istifadə etdim

Addım 1: nəzəriyyə

Nəzəriyyə
Nəzəriyyə
Nəzəriyyə
Nəzəriyyə
Nəzəriyyə
Nəzəriyyə
Nəzəriyyə
Nəzəriyyə

Baza 10 -da saymaq sadədir, çünki iki tam ədədin cəmini təmsil etmək üçün fərqli bir tam ədəd var. Ən sadə nümunə:

1 + 1 = 2

Baza 2 və ya ikili saymaq yalnız 1 və 0 istifadə edir. Fərqli tam ədədləri və onların cəmlərini təmsil etmək üçün 1 və 0 -un birləşməsi istifadə olunur. Baza 2 -də sayma nümunəsi:

1+1 = 0 və 1 -i növbəti bitə daşıyırsınız

İki bit (A və B) birlikdə əlavə edildikdə, Sum və Carry (Cout) nəticələri ilə 4 fərqli nəticə mümkündür. Cədvəldə göstərilən budur.

Məntiq qapıları girişləri alır və bir çıxış yaradır. Ən əsas məntiq qapılarından bəziləri, bu layihədə istifadə olunan NOT, AND və OR qapılarından ibarətdir. Transistorlar və rezistorların müxtəlif birləşmələrindən və naqillərindən ibarətdir. Hər qapının sxemləri verilir.

Cədvələ qayıdaraq, bu qapıların birləşməsi cədvəldəki Sum nəticələrini çıxarmaq üçün istifadə edilə bilər. Bu məntiq birləşməsi eksklüziv OR (XOR) qapısı kimi də tanınır. 1 çıxışı ilə nəticələnmək üçün giriş tam olaraq 1 olmalıdır. Hər iki giriş 1 olarsa, çıxan nəticə 0 -dır. Daşıma biti nəticələri sadə VƏ qapısı ilə təmsil oluna bilər. Beləliklə, AND qapısı olan bir XOR istifadə etmək bütün masanı təmsil edə bilər. Bu Half Adder olaraq bilinir və sxem yuxarıda göstərilmişdir.

Daha böyük ikili ədədlər əlavə etmək üçün, daşıma biti giriş olaraq daxil edilməlidir. Bu, Tam Yarıcı yaratmaq üçün 2 Half Adder sxemini birləşdirərək əldə edilir. Daha böyük ikili ədədlər əlavə etmək üçün Tam Əlavələr birlikdə kaskad edilə bilər. Layihəmdə 4 bit girişə sahib olmağım üçün imkan verən 4 Tam Əlavəni kəsdim. Full Adder üçün sxem yuxarıdadır.

Simon Inns-də nəzəriyyə haqqında daha böyük və daha dərindən yazılar var. Faydalı hesab etdiyim bir neçə PDF də var.

Addım 2: Dövrəni yoxlayın

Dövrə Testi
Dövrə Testi
Dövrə Testi
Dövrə Testi

Məntiq qapılarının necə işlədiyini və Tam Qılıncın arxasındakı nəzəriyyəni başa düşdükdən sonra ilk addım dövrə qurmaqdır. Lazım olan bütün komponentləri toplamaqla başladım: 10K və 1K rezistorlar, NPN Transistorlar, Breadboard, Jumperwires. Tam toplayıcının çapı ilə birlikdə izlədim. Proses yorucu idi, amma tam toplayıcı üçün bir iş dövrəsi əldə edə bildim. Girişləri yüksək və ya aşağı bağlayardım və çıxışları yoxlamaq üçün bir multimetrdən istifadə edərdim. İndi çörək taxtasını və sxemini bir PCB -yə çevirməyə hazır idim.

Addım 3: Tam Adder PCB dizaynı

Tam Adder PCB dizaynı
Tam Adder PCB dizaynı
Tam Adder PCB dizaynı
Tam Adder PCB dizaynı
Tam Adder PCB dizaynı
Tam Adder PCB dizaynı

PCB dizayn etmək üçün yalnız Fritzing istifadə etdim. İlk dəfə bir PCB hazırlayırdım və bu proqram ən kiçik öyrənmə əyrisi ilə ən çox istifadəçi dostu və intuitiv görünürdü. Bir PCB dizaynına kömək etmək üçün EasyEDA və Eagle kimi digər möhtəşəm proqramlar mövcuddur. Fritzing ilə, virtual çörək taxtası və ya sxematik olaraq dizayn etməyə başlaya, sonra PCB -yə keçə bilərsiniz. Bu layihə üçün bu iki metoddan da istifadə etdim. PCB istehsal etməyə hazır olduğunuzda, sənədlərinizi ixrac etmək və birbaşa Fritzing üçün ortaq istehsalçı Aisler -ə yükləmək üçün bir düyməni basmaq qədər sadədir.

Prosesə başlamaq üçün sxematik nişanı ilə başladım. Əvvəlcə bütün komponentləri tapdım və iş sahəsinə daxil etdim. Sonra, komponentlər arasındakı bütün izləri çəkdim. Uyğun yerlərə 5V giriş və torpaq əlavə etməyi təmin etdim.

PCB sekmesini tıklayarak PCBI dizayn edin. Bir sxemdən birbaşa hərəkət edərkən, sxematik olaraq etdiyiniz izlərə əsaslanaraq ratsnest xətləri ilə əlaqəli bütün komponentlərlə qarışıqlıq əldə edirsiniz. Etdiyim ilk şey, boz rəngli PCB -ni istədiyim ölçüdə dəyişdirmək və montaj delikləri əlavə etmək idi. Giriş və çıxışlar üçün 16 pin əlavə etdim. Sonra komponentləri məntiqli bir şəkildə düzməyə başladım. İz məsafəsini minimuma endirmək üçün komponentləri bir -birinə yaxın olan bağlantılarla qruplaşdırmağa çalışdım. Əlavə bir addım atdım və komponentləri məntiq qapısı ilə qruplaşdırdım. Məqsədlərimdən biri də dövrənin necə işlədiyini təsəvvür etmək və "bit" in dövrəni izləyə bilməsi idi. Bundan sonra avtomatik olaraq keçən və komponentlər arasında optimallaşdırılmış izləri çəkən autorouting funksiyasından istifadə etdim. Bu prosesin bütün lazımi izləri tamamladığına şübhə ilə yanaşırdım, buna görə də izləri lazım olduğu yerdə təkrar yoxlamaq və yenidən çəkmək üçün keçdim. Xoşbəxtlikdən, autorouting xüsusiyyəti olduqca yaxşı bir iş gördü və yalnız bir neçə izi düzəltməli oldum. Autorouter, "ən yaxşı təcrübə" olmayan izlərlə bəzi qəribə açılar da etdi, amma bununla razıydım və hər şey hələ də yaxşı işləyirdi. Etdiyim son iş, ipək ekran kimi çap olunacaq mətn əlavə etmək idi. Bütün komponentlərin etiketli olduğundan əmin oldum. Komponentlərin qruplaşdırılmasını vurğulamaq üçün xüsusi məntiq qapısı şəkilləri də idxal etdim. Yuxarıdakı son şəkil ipək ekranı göstərir.

Ekranın altındakı uydurma düyməsini basaraq PCBI istehsal edin. Məni birbaşa Aisler veb saytına yönləndirdi, burada hesab aça və bütün Fritzing sənədlərimi yükləyə bildim. Varsayılan parametrlərin hamısını tərk etdim və sifariş verdim.

Addım 4: Digər PCB -lərin dizaynı

Digər PCB -lərin dizaynı
Digər PCB -lərin dizaynı
Digər PCB -lərin dizaynı
Digər PCB -lərin dizaynı
Digər PCB -lərin dizaynı
Digər PCB -lərin dizaynı

Qalan PCB -lər giriş/çıxış interfeysi lövhəsi və IC üçün lövhə idi. Bu lövhələr üçün 3 -cü addım kimi bir prosesi izlədim. Sxemlərin pdf aşağıda yerləşdirilmişdir. IC üçün, virtual çörək taxtası xüsusiyyətindən istifadə edərək bütün əlaqələri qurdum. Tamlığı üçün sxem daxil etdim, ancaq çörək taxtasından olduqca sərin olan PCB sekmesine keçə bildim. Aisler -də yükləmədən və sifariş vermədən əvvəl I/O interfeys lövhəsindəki silkscreen -də baza 2 -yə çevrilmə cədvəlinə baza 10 əlavə etdim.

Addım 5: Komponentləri PCB -yə lehimləmək

Komponentləri PCB -yə lehimləmək
Komponentləri PCB -yə lehimləmək
Komponentləri PCB -yə lehimləmək
Komponentləri PCB -yə lehimləmək
Komponentləri PCB -yə lehimləmək
Komponentləri PCB -yə lehimləmək
Komponentləri PCB -yə lehimləmək
Komponentləri PCB -yə lehimləmək

Bütün PCB -lər gəldi və keyfiyyətdən çox təsirləndim. Digər istehsalatlarla bağlı heç bir təcrübəm yox idi, amma Aisler -dən yenidən istifadə etməkdən çəkinməzdim.

Növbəti vəzifə çətin bir proses olan bütün komponentləri lehimləmək idi, amma lehimləmə qabiliyyətim çox yaxşılaşdı. Tam toplayıcı lövhələrdən başladım və tranzistorlardan başlayaraq komponentləri, sonra 1K rezistorları, sonra 10K rezistorları lehimlədim. Qalan komponentləri I/O və IC lövhəsinə lehimləmək üçün bənzər bir üsul izlədim. Hər bir Tam Adder lövhəsi tamamlandıqdan sonra, onları Tam Adder çörək taxtası ilə eyni üsulla sınadım. Təəccüblüdür ki, bütün lövhələr problemsiz düzgün işləyirdi. Bu, lövhələrin düzgün istiqamətləndirilməsi və düzgün lehimlənməsi deməkdir. Növbəti mərhələyə keçin!

Addım 6: Yığma üçün PCB -lərin bitməsi

Yığma üçün PCB -lərin bitməsi
Yığma üçün PCB -lərin bitməsi
Yığma üçün PCB -lərin bitməsi
Yığma üçün PCB -lərin bitməsi
Yığma üçün PCB -lərin bitməsi
Yığma üçün PCB -lərin bitməsi

Növbəti vəzifə, bütün başlıq pinlərini hər lövhəyə lehimləmək idi. Düzgün başlıq pimi ilə Tam Adder lövhələrinin (A, B, Cin, V+, GND, Sum, Cout) girişləri/çıxışları arasında tullanan tellər əlavə etməliydim. Əlavə dövrənin hər bir səviyyəsi üçün fərqli PCB -lər hazırlasanız bu addımın qarşısını almaq olar, ancaq dizaynı və xərcləri minimuma endirmək istəyirdim, yalnız bir Tam Adder PCB yaratmaqla. Nəticədə, bu giriş/çıxış əlaqələri tullanan telləri tələb edir. Təqdim olunan sxem, bu vəzifəni necə yerinə yetirdiyim və Full Adder lövhələrinin hər səviyyəsi üçün hansı sancaqların istifadə edildiyi. Şəkillər hər bir lövhə üçün tullanan telləri necə lehim etdiyimi göstərir. Başlıqdakı düzgün sancaqlara pulsuz telləri lehimləməklə başladım. Sonra başlığı PCB -yə lehimlədim. Keçid telləri ilə lehimlənmiş başlıq sancaqlarını tutduqdan sonra tullanan tellərin sərbəst uclarını PCB -də düzgün aparatlara lehimlədim. Yuxarıdakı şəkil, keçid telləri ilə lehimlənmiş başlıq pinlərinin yaxın bir görünüşünü göstərir.

Addım 7: Dövrləri Gücləndirin

Dövrləri Gücləndirmək
Dövrləri Gücləndirmək
Dövrləri Gücləndirmək
Dövrləri Gücləndirmək
Dövrləri Gücləndirmək
Dövrləri Gücləndirmək

Bu layihə üçün 12V DC lüləli bir cərəyan təchizatı istifadə etməyi planlaşdırdım, buna görə də I/O interfeys lövhəsini güc girişi üçün DC barel jakı/konnektoru üçün dizayn etdim. Eyni G/Ç lövhəsindən istifadə etdiyim və gərginliyi 5V -ə qədər tənzimləmək üçün lazım olan tək bir enerji təchizatı istifadə etmək istədiyim üçün bu SN7483A IC üçün maksimum girişdir. Bunu etmək üçün 5V tənzimləyiciyə və 12V ilə 5V arasında dəyişə bilən bir açara ehtiyacım var. Yuxarıdakı sxem, elektrik dövrəsini necə bağladığımı göstərir.

Addım 8: Baza 3D Çap

Baza 3D Çap
Baza 3D Çap
Baza 3D Çap
Baza 3D Çap
Baza 3D Çap
Baza 3D Çap

İndi bütün naqillər və lehimləmə işləri başa çatdıqdan sonra hamısının bir yerdə necə olacağını anlamalıydım. Bu layihənin bütün hissələrini yerləşdirə biləcək və nümayiş etdirəcək dizaynı CADing və 3D çap üçün seçdim.

PCB -ləri boltlar və dayaqlar ilə bağlamaq üçün yerlərə ehtiyacım var. Yığılmış Əlavəedicilər ən çox görmə qabiliyyətli olanlardır və istifadə olunmadıqda bunları nümayiş etdirmək istədim, buna görə IC PCB saxlamaq üçün bir yer istədim. Şalter və DC barel jakı/konnektoru üçün kəsiklər olan elektrik dövrəsini yerləşdirməliydim. Nəhayət, açıq PCB -lərdə toz yığılmasının qarşısını almaq üçün bir növ korpus vitrini istədim, buna görə də korpusun oturması üçün bir yerə ehtiyacım var idi.

Baza dizayn etmək üçün Fusion360 istifadə etdim. PCB ölçüləri və montaj deliklərinin aralığından başladım. Bundan sonra, PCB montaj nöqtələri ilə bazanın hündürlüyü və ölçüsünü təyin etmək üçün bir sıra eskizlər və ekstruziyalardan istifadə etdim. Daha sonra korpus və elektrik dövrəsi üçün kəsiklər etdim. Sonra, istifadə edilmədikdə IC PCB -ni saxlamaq üçün bir sahə yaratdım. Nəhayət, son detalları əlavə etdim və dilimləmə proqramım olan Cura -ya göndərdim.

Qara PLA filamentini seçdim. Çap 6 saatdan çox çəkdi və əla oldu. Təəccüblüdür ki, bütün ölçülər düzgün idi və hər şey düzgün bir araya gələrək göründü. Yuxarıdakı şəkil, montaj deliklərinə ziddiyyətlər əlavə etdikdən sonra çapı göstərir. Mükəmməl uyğun idilər!

Addım 9: Quraşdırma

Məclis
Məclis
Məclis
Məclis
Məclis
Məclis

Qarşılaşmaları daxil edin. Bütün dayaqları bazanın montaj deliklərinə qoydum.

Güc sxemini bazaya yerləşdirin. Hər şeyi bir yerə bağladım və bütün komponentləri açarın deliyindən çəkdim. Sonra, güc yuvasını/adapteri bazanın arxasına daxil etdim. 5V tənzimləyicisini yuvasına itirdim və nəhayət açarı itələyərək yerinə yerləşdirə bildim.

I/O PCB -ni quraşdırın. IC PCB -ni saxlama yerinə qoydum və G/Ç interfeysi PCB -ni üstünə qoydum. PCB -ni 4x M3 boltlar və altıbucaqlı bir sürücü istifadə edərək sökdüm. Nəhayət, DC barel jakını PCB -yə bağladım.

Adder PCB -lərini yığın. İlk Adder'i yerə yığdım. PCB -nin arxasını 2 dayaqla arxa montaj deliklərinə vidaladım. Bu əməliyyatı son Adder yerində olana qədər təkrar etdim və daha 2 M3 boltla bağladım.

Qapağı düzəldin. Qapı üçün 1/4 akril istifadə etdim. Layihənin son hündürlüyünü ölçdüm və CAD ölçüləri ilə, altları açıq olan sadə bir qutu düzəltmək üçün yanları və üstü üçün 5 ədəd kəsdim. Yapışdırmaq üçün epoksi istifadə etdim. Nəhayət, keçid yerləşdirmək üçün sağ tərəfdəki kiçik bir dairə kəsikini zımparaladım.

Hesablamağa Hazır

Addım 10: Hesablama və müqayisə

Image
Image
Hesablama və müqayisə
Hesablama və müqayisə
Hesablama və müqayisə
Hesablama və müqayisə

Yeni kalkulyatoru qoşun və əlavə etməyə başlayın! Baza 10 -dan baza 2 -yə qədər olan cədvəl, ikili və tam ədədlər arasında sürətlə çevirmək üçün istifadə edilə bilər. Girişləri təyin etməyi üstün tuturam, sonra güc düyməsini çevirərək və LED -lərdən ikili çıxışı müşahidə edərək "bərabərdir".

Diskret komponentlərin inteqrasiya edilmiş bir dövrə ilə müqayisəsi. İndi tam Əlavələri aça və SN7483A IC -ni I/O lövhəsinə qoşa bilərsiniz. (IC -ni 12V əvəzinə 5V ilə gücləndirmək üçün açarı əks istiqamətə çevirməyi unutmayın). Eyni hesablamaları edə bilərsiniz və eyni nəticələr əldə edəcəksiniz. Həm diskret komponent Adderin, həm də IC -nin eyni dərəcədə fərqli bir ölçüdə işlədiyini düşünmək olduqca təsir edicidir. Şəkillər dövrələr üçün eyni giriş və çıxışları göstərir.

Addım 11: Nəticə

Ümid edirəm bu layihədən zövq aldınız və mənim qədər çox şey öyrəndiniz. Yeni bir şey öyrənmək və onu PCB dizaynı/istehsalı kimi yeni bir bacarıq öyrənməyi tələb edən bənzərsiz bir layihəyə çevirmək olduqca məmnun edir. Bütün sxemlər aşağıda verilmişdir. Maraqlanan hər kəs üçün PCB Gerber sənədlərimi də əlaqələndirə bilərəm ki, öz 4 bitlik İkili Kalkulyatorunuzu edə biləsiniz. Xoşbəxtlik!

Tövsiyə: