Isi kandungan:

Kalkulator Perduaan 4-bit: 11 Langkah (dengan Gambar)
Kalkulator Perduaan 4-bit: 11 Langkah (dengan Gambar)

Video: Kalkulator Perduaan 4-bit: 11 Langkah (dengan Gambar)

Video: Kalkulator Perduaan 4-bit: 11 Langkah (dengan Gambar)
Video: Binary to Gray code | Find Binary to gray code 2024, November
Anonim
Kalkulator Perduaan 4-bit
Kalkulator Perduaan 4-bit
Kalkulator Perduaan 4-bit
Kalkulator Perduaan 4-bit
Kalkulator Perduaan 4-bit
Kalkulator Perduaan 4-bit
Kalkulator Perduaan 4-bit
Kalkulator Perduaan 4-bit

Saya mengembangkan minat terhadap cara komputer berfungsi pada tahap asas. Saya ingin memahami penggunaan komponen diskrit dan litar yang diperlukan untuk menyelesaikan tugas yang lebih kompleks. Salah satu komponen asas penting dalam CPU adalah unit logik aritmetik atau ALU yang melakukan operasi pada nombor bulat. Untuk menyelesaikan tugas ini, komputer menggunakan nombor binari dan gerbang logik. Salah satu operasi termudah yang dilakukan adalah menambahkan dua nombor bersama-sama, dalam litar penambah. Video by numberphile ini berfungsi dengan baik untuk menerangkan konsep ini melalui Domino Addition. Matt Parker memperluas konsep asas ini dan membina litar Komputer Domino menggunakan 10, 000 dominos. Membina keseluruhan komputer peribadi dari dominos adalah tidak masuk akal tetapi saya masih mahu memahami penggunaan komponen diskrit untuk menyelesaikan tugas penambahan ini. Dalam video tersebut, gerbang logik dibuat dari dominos tetapi ia juga dapat dibuat dari komponen asas, iaitu transistor dan perintang. Tujuan projek ini adalah untuk menggunakan komponen diskrit ini untuk belajar dan membuat kalkulator penambah 4-bit saya sendiri.

Tujuan saya untuk projek ini merangkumi: 1) Belajar bagaimana membuat dan membuat PCB khusus2) Membuat reka bentuk mudah dikonsepkan menambah nombor binari3) Menunjukkan perbezaan skala antara komponen diskrit dan litar bersepadu yang menjalankan tugas yang sama

Sebilangan besar inspirasi dan pemahaman mengenai projek ini berasal dari Simon Inns.

Bekalan

Saya menggunakan Fritzing untuk membuat skema, membuat dan membuat PCB

Langkah 1: Teori

Teori
Teori
Teori
Teori
Teori
Teori
Teori
Teori

Membilang dalam asas 10 adalah mudah kerana terdapat bilangan bulat yang berbeza untuk mewakili jumlah dua bilangan bulat. Contoh paling mudah:

1 + 1 = 2

Membilang dalam asas 2 atau binari hanya menggunakan 1 dan 0. Kombinasi 1 dan 0 digunakan untuk mewakili bilangan bulat yang berbeza dan jumlahnya. Contoh pengiraan di pangkalan 2:

1 + 1 = 0 dan anda membawa 1 ke bit seterusnya

Semasa menambahkan dua bit (A dan B) bersama-sama, 4 hasil yang berbeza mungkin dilakukan dengan output Sum dan Carry (Cout). Inilah yang ditunjukkan dalam jadual.

Gerbang logik mengambil input dan menghasilkan output. Sebilangan gerbang logik paling asas terdiri daripada gerbang NOT, AND, dan OR yang semuanya digunakan dalam projek ini. Mereka terdiri daripada pelbagai kombinasi dan pendawaian transistor dan perintang. Skema setiap pintu disediakan.

Merujuk kembali ke meja, Gabungan gerbang ini dapat digunakan untuk menghasilkan hasil Jumlah di dalam jadual. Gabungan logik ini juga dikenali sebagai gerbang OR (XOR) eksklusif. Input mestilah tepat 1 untuk menghasilkan output 1. Sekiranya kedua-dua input adalah 1 maka output yang dihasilkan adalah 0. Hasil bawa bit dapat diwakili oleh gerbang AND yang sederhana. Oleh itu, menggunakan kedua XOR dengan gerbang AND dapat mewakili keseluruhan jadual. Ini dikenali sebagai Half Adder dan skema ditunjukkan di atas.

Untuk menambah nombor perduaan yang lebih besar, bit bawa mesti dimasukkan sebagai input. Ini dicapai dengan menggabungkan 2 litar Half Adder untuk menghasilkan Penambah Penuh. Penambah Penuh kemudian boleh disatukan untuk menambah nombor binari yang lebih besar. Dalam projek saya, saya memasukkan 4 Penambah Penuh yang membolehkan saya mendapat input 4 bit. Skema untuk Penambah Penuh ada di atas.

Simon Inns mempunyai penulisan teori yang hebat dan mendalam. Terdapat juga beberapa PDF yang saya anggap bermanfaat.

Langkah 2: Menguji Litar

Menguji Litar
Menguji Litar
Menguji Litar
Menguji Litar

Langkah pertama setelah memahami bagaimana pintu logik berfungsi dan teori di sebalik Penambah Penuh adalah membina litar. Saya mulakan dengan mengumpulkan semua komponen yang saya perlukan: perintang 10K dan 1K, NPN Transistor, Breadboard, Jumperwires. Saya mengikuti dan cetakan penambah penuh. Prosesnya membosankan tetapi saya dapat mendapatkan rangkaian kerja untuk penambah penuh. Saya mengikat input tinggi atau rendah dan menggunakan multimeter untuk menguji output. Sekarang saya sudah bersedia untuk menerjemahkan papan roti dan skema ke PCB.

Langkah 3: Merancang PCB Penambah Penuh

Merancang PCB Penambah Penuh
Merancang PCB Penambah Penuh
Merancang PCB Penambah Penuh
Merancang PCB Penambah Penuh
Merancang PCB Penambah Penuh
Merancang PCB Penambah Penuh

Untuk merancang PCB saya menggunakan Fritzing secara eksklusif. Ini adalah kali pertama saya merancang PCB dan program ini nampaknya paling mesra pengguna dan intuitif dengan keluk pembelajaran terkecil. Terdapat program hebat lain seperti EasyEDA dan Eagle yang tersedia untuk membantu merancang PCB. Dengan Fritzing, anda boleh mula merancang pada papan roti maya atau skema, kemudian beralih ke PCB. Saya menggunakan kedua-dua kaedah ini untuk projek ini. Apabila anda sudah bersedia untuk memalsukan PCB, semudah klik butang untuk mengeksport fail anda dan memuat naiknya terus ke Aisler, pembuat fabrikasi untuk Fritzing.

Lukiskan Skema Saya bermula dengan tab skematik untuk memulakan proses. Pertama, saya menemui dan memasukkan semua komponen ke ruang kerja. Seterusnya, saya menarik semua jejak antara komponen. Saya memastikan untuk menambah input 5V dan ground ke tempat yang sesuai.

Reka bentuk PCBI yang diklik pada tab PCB. Apabila anda bergerak secara langsung dari skematik, anda akan mengalami kekacauan dengan semua komponen yang dihubungkan oleh garis tikus berdasarkan jejak yang anda buat dalam skema. Perkara pertama yang saya lakukan adalah mengubah saiz PCB kelabu dengan ukuran yang saya mahukan dan menambah lubang pemasangan. Saya juga menambah 16 pin untuk input dan output. Seterusnya, saya mula menyusun komponen secara logik. Saya cuba mengelompokkan komponen dengan sambungan yang berdekatan antara satu sama lain sehingga saya dapat mengurangkan jarak jejak. Saya melangkah lebih jauh dan mengelompokkan komponennya mengikut logik pintu. Salah satu tujuan saya adalah untuk dapat membayangkan bagaimana litar berfungsi dan dapat mengikuti "bit" melalui litar. Selepas itu, saya menggunakan fungsi autorouting yang melalui secara automatik dan menarik jejak yang dioptimumkan antara komponen. Saya ragu-ragu bahawa proses ini menyelesaikan semua penjejakan yang betul sehingga saya menjalani untuk memeriksa semula dan menyusun semula jejak di mana mereka sepatutnya berada. Nasib baik, ciri autorouting melakukan tugas yang cukup baik dan saya hanya perlu memperbaiki beberapa jejak. Autorouter juga membuat beberapa sudut pelik dengan jejak yang bukan "amalan terbaik" tetapi saya baik-baik saja dengan itu dan semuanya masih berjalan lancar. Perkara terakhir yang saya lakukan ialah menambahkan teks yang akan dicetak sebagai silkscreen. Saya memastikan semua komponen dilabelkan. Saya juga mengimport gambar gerbang logik tersuai untuk menekankan pengelompokan komponen. Gambar terakhir di atas menunjukkan skrin sutera.

Buat PCBI yang diklik pada butang reka di bahagian bawah skrin. Ia secara langsung mengarahkan saya ke laman web Aisler di mana saya dapat membuat akaun dan memuat naik semua fail Fritzing saya. Saya meninggalkan semua tetapan lalai dan membuat pesanan.

Langkah 4: Merancang PCB Lain

Merancang PCB Lain
Merancang PCB Lain
Merancang PCB Lain
Merancang PCB Lain
Merancang PCB Lain
Merancang PCB Lain

Baki PCB yang saya perlukan adalah papan antara muka input / output dan papan untuk IC. Saya mengikuti proses sebagai Langkah 3 untuk papan ini. Pdf skema dipaparkan di bawah. Untuk IC, saya membuat semua sambungan menggunakan ciri papan roti maya. Saya memasukkan skema untuk kelengkapan tetapi dapat pergi terus dari papan roti ke tab PCB yang cukup keren. Saya juga menambah carta penukaran base 10 to base 2 pada silkscreen pada papan antara muka I / O sebelum memuat naik dan membuat pesanan di Aisler.

Langkah 5: Komponen Pematerian ke PCB

Komponen Pematerian ke PCB
Komponen Pematerian ke PCB
Komponen Pematerian ke PCB
Komponen Pematerian ke PCB
Komponen Pematerian ke PCB
Komponen Pematerian ke PCB
Komponen Pematerian ke PCB
Komponen Pematerian ke PCB

Semua PCB tiba dan saya sangat kagum dengan kualitinya. Saya tidak mempunyai pengalaman dengan pembuatan lain tetapi tidak akan ragu untuk menggunakan Aisler lagi.

Tugas seterusnya adalah menyolder semua komponen yang merupakan proses yang sukar tetapi kemahiran pematerian saya bertambah baik. Saya mulakan dengan papan penambah penuh dan menyolder komponen bermula dengan transistor, kemudian perintang 1K, dan perintang 10K. Saya mengikuti kaedah yang serupa untuk menyisipkan sisa komponen ke papan I / O dan IC. Setelah setiap papan Penuh Penuh selesai, saya mengujinya dengan kaedah yang sama seperti papan Penuh Penuh roti. Anehnya, semua papan berfungsi dengan betul tanpa masalah. Ini bermaksud papan dipasang dengan betul dan disolder dengan betul. Ke langkah seterusnya!

Langkah 6: Menyelesaikan PCB untuk Menyusun

Menyelesaikan PCB untuk Susun
Menyelesaikan PCB untuk Susun
Menyelesaikan PCB untuk Susun
Menyelesaikan PCB untuk Susun
Menyelesaikan PCB untuk Susun
Menyelesaikan PCB untuk Susun

Tugas seterusnya adalah memasangkan semua pin header ke setiap papan. Saya juga perlu menambah wayar jumper antara pin header yang betul dan input / output dari papan Penambah Penuh (A, B, Cin, V +, GND, Sum, Cout). Langkah ini dapat dielakkan jika anda merancang PCB yang berbeza untuk setiap tahap litar penambah tetapi saya ingin meminimumkan reka bentuk dan kos dengan membuat hanya satu Penuh PCB Penuh. Akibatnya, sambungan ke input / output ini memerlukan kabel jumper. Skema yang disediakan adalah bagaimana saya menyelesaikan tugas ini dan pin mana yang digunakan untuk setiap peringkat papan Penambah Penuh. Gambar menunjukkan bagaimana saya menyolder wayar pelompat untuk setiap papan. Saya mulakan dengan memateri wayar percuma ke pin yang betul pada tajuk. Saya kemudian memasukkan header ke PCB. Setelah saya memasang pin header dengan wayar jumper yang disolder di tempatnya, saya menyisipkan hujung wayar jumper bebas ke petunjuk yang betul pada PCB. Gambar di atas menunjukkan jarak dekat pin header dengan wayar pelompat dipateri pada mereka.

Langkah 7: Menghidupkan Litar

Menghidupkan Litar
Menghidupkan Litar
Menghidupkan Litar
Menghidupkan Litar
Menghidupkan Litar
Menghidupkan Litar

Saya merancang untuk menggunakan bekalan kuasa jack 12V DC tong untuk projek ini, jadi saya merancang papan antara muka I / O untuk mempunyai jack / penyambung tong DC untuk input kuasa. Kerana saya menggunakan papan I / O yang sama dan ingin menggunakan satu-satunya bekalan kuasa, saya perlu mengatur voltan hingga 5V kerana ini adalah input maksimum untuk SN7483A IC. Untuk mencapai ini, saya memerlukan pengatur 5V dan suis yang boleh beralih antara 12V dan 5V. Skema di atas menunjukkan bagaimana saya memasang kabel kuasa bersama-sama.

Langkah 8: 3D Mencetak Pangkalan

3D Mencetak Pangkalan
3D Mencetak Pangkalan
3D Mencetak Pangkalan
3D Mencetak Pangkalan
3D Mencetak Pangkalan
3D Mencetak Pangkalan

Setelah semua pendawaian dan pematerian selesai, saya perlu memikirkan bagaimana semuanya akan diadakan bersama. Saya memilih CADing dan mencetak 3D reka bentuk yang akan menampung dan memaparkan semua bahagian projek ini.

Saya memerlukan tempat untuk memasang PCB dengan bolt dan penyekat. Penambah yang bertumpuk adalah yang paling menarik secara visual dan saya ingin memaparkannya ketika tidak digunakan jadi saya mahukan tempat untuk menyimpan IC IC. Saya perlu menampung rangkaian kuasa dengan potongan untuk suis dan soket / penyambung tong DC. Terakhir, saya mahukan semacam kotak paparan penutup untuk mengelakkan habuk terkumpul di dalam PCB yang terbuka sehingga saya memerlukan tempat untuk kandang duduk.

Pemodelan 3D Saya menggunakan Fusion360 untuk merancang pangkalan. Saya bermula dengan dimensi PCB dan jarak lubang pemasangan. Selepas itu saya menggunakan rangkaian lakaran dan penyemperitan untuk mengatur ketinggian dan ukuran pangkal dengan titik pemasangan PCB. Seterusnya saya membuat potongan untuk penutup, dan rangkaian kuasa. Kemudian, saya membuat kawasan untuk menyimpan IC PCB ketika tidak digunakan. Terakhir saya menambahkan beberapa perincian akhir dan menghantarnya ke Cura, perisian pemotong saya.

PercetakanSaya memilih filamen PLA hitam. Cetakannya memakan masa lebih dari 6 jam dan ternyata hebat. Anehnya, semua dimensi itu betul dan semuanya kelihatan seperti itu sesuai dengan betul. Gambar di atas menunjukkan cetakan setelah saya menambahkan penahan ke lubang pemasangan. Mereka sangat sesuai!

Langkah 9: Perhimpunan

perhimpunan
perhimpunan
perhimpunan
perhimpunan
perhimpunan
perhimpunan

Masukkan kebuntuan. Saya meletakkan semua penyekat ke lubang pemasangan pangkalan.

Letakkan litar kuasa ke dasar. Saya telah menyatukan semuanya dan menarik semua komponen melalui lubang untuk suis. Seterusnya, saya memasukkan soket kuasa / penyesuai ke bahagian belakang pangkalan. Saya mendorong pengatur 5V ke dalam slotnya dan akhirnya suis dapat didorong dipasang ke kedudukannya.

Pasang PCB I / O. Saya meletakkan IC PCB ke dalam ruang simpanannya dan meletakkan PCB antara muka I / O di atas. Saya mengacaukan PCB menggunakan bolt 4x M3 dan pemacu hex. Akhirnya saya memasang jack laras DC ke dalam PCB.

Susun PCB Adder. Saya meletakkan Adder pertama ke tempatnya. Saya mengacaukan bahagian belakang PCB ke lubang pemasangan belakang dengan 2 penyekat. Saya mengulangi proses ini sehingga Adder terakhir berada di tempat dan mengamankannya dengan 2 lagi bolt M3.

Buat kandang. Saya menggunakan 1/4 akrilik untuk kandang. Saya mengukur ketinggian akhir projek dan, dengan dimensi CAD, memotong 5 keping untuk sisi dan bahagian atas untuk membuat kotak sederhana dengan bahagian bawah terbuka. Saya menggunakan epoksi untuk merekatkan kepingan itu bersama-sama. Akhirnya saya mengiris potongan separuh bulatan kecil di sebelah kanan untuk menampung suis.

Bersedia untuk Mengira

Langkah 10: Pengiraan dan Perbandingan

Image
Image
Mengira dan Membanding
Mengira dan Membanding
Mengira dan Membanding
Mengira dan Membanding

Pasang kalkulator baru anda dan mulakan penambahan! Carta base 10 hingga base 2 boleh digunakan untuk menukar antara binari dan integer dengan cepat. Saya lebih suka mengatur input kemudian tekan "sama" dengan membalik suis kuasa dan memerhatikan output binari dari LED.

Membandingkan komponen diskrit dengan litar Bersepadu. Sekarang, anda boleh mencabut Penambah penuh dan memasukkan IC SN7483A ke papan I / O. (Jangan lupa untuk menukar suis ke arah yang berlawanan untuk menghidupkan IC dengan 5V dan bukannya 12V). Anda boleh melakukan pengiraan yang sama dan anda akan mendapat hasil yang sama. Cukup mengagumkan apabila berfikir bahawa komponen diskrit Adder dan IC berfungsi dengan cara yang sama hanya pada skala ukuran yang sangat berbeza. Gambar menunjukkan input dan output yang sama untuk litar.

Langkah 11: Kesimpulannya

Saya harap anda menikmati projek ini dan belajar sebanyak yang saya lakukan. Cukup memuaskan untuk belajar sesuatu yang baru dan mengubahnya menjadi projek unik yang juga memerlukan pembelajaran kemahiran baru seperti reka bentuk / fabrikasi PCB. Semua skema disenaraikan di bawah. Bagi sesiapa yang berminat, saya juga boleh memautkan fail PCB Gerber saya supaya anda dapat membuat Kalkulator Binari 4-bit anda sendiri. Selamat membuat!

Disyorkan: