Volume campuran global berkecepatan tinggi PCBA pabrikan
9:00 -18:00, Senin. - Jum. (GMT+8)
9:00 -12:00, Sabtu (GMT+8)
(Kecuali hari libur umum Tiongkok)
Beranda > Blog > Basis Pengetahuan > FPGA vs. Mikrokontroler – Memahami Perbedaan Utama
Mikrokontroler dan field programmable gate array (FPGA) sering digunakan dalam perancangan sistem digital. Sistem berbasis mikrokontroler semakin populer. Di satu sisi, biaya rendah, konsumsi daya rendah, dan kesesuaiannya untuk tugas-tugas kontrol dasar menjadikannya pilihan yang jelas. Di sisi lain, popularitas FPGA yang semakin meningkat, ketersediaan perangkat pengembangan yang tangguh, serta peningkatan kemampuan dan kepadatan pemrosesan paralelnya menjadikan sistem berbasis FPGA pilihan yang menarik.
Saat ini, terdapat beberapa inti mikrokontroler yang tersedia untuk pasar tertanam (embedded), mulai dari desain konvensional seperti 8051 hingga mesin RISC atau DSP. Keputusan untuk memilih desain yang berbeda ditentukan oleh kriteria seperti kecepatan, daya, basis terpasang, potensi penggunaan ulang, dan pertimbangan teknis lainnya. Aplikasi tertanam merupakan subjek studi yang terus berkembang dalam sistem komputer. Banyaknya port komunikasi, unit Modulasi Lebar Pulsa (PWM), dan Konverter Analog-ke-Digital (ADC) pada MCU yang dikemas dalam satu chip menjadikannya ideal untuk aplikasi industri.
Dalam berbagai bidang teknik elektro, MCU biasanya digunakan untuk kontrol dasar, komunikasi, dan tugas-tugas dengan kompleksitas rendah, sementara Field Programmable Gate Array (FPGA) digunakan untuk tugas-tugas pemrosesan berkecepatan tinggi dan kritis waktu. Namun, aplikasi berbasis perangkat yang terintegrasi ke dalam perangkat elektronik konsumen memiliki berbagai batasan desain. Dalam hal ini, konsumsi daya, kepadatan kode, dan integrasi periferal mungkin lebih diutamakan daripada persyaratan kinerja. Di sisi lain, dari sudut pandang teknologi, meningkatnya kepadatan FPGA dan penurunan harganya karena volume produksi yang tinggi memungkinkan integrasi sistem tertanam dalam satu chip FPGA.
Mikrokontroler adalah perangkat elektronik yang termasuk dalam keluarga mikrokomputer. Komponen-komponen mikrokontroler difabrikasi menggunakan teknologi Integrasi Skala Sangat Besar (VLSI) untuk membentuk sebuah chip tunggal. Mikrokontroler juga dikenal sebagai Komputer-dalam-Chip (Computer-on-Chip). Mikrokontroler memiliki sejumlah RAM dan ROM (EEPROM, EPROM, dll.) atau memori flash untuk menyimpan kode program. Fitur tambahannya antara lain timer, port paralel, port serial, port interupsi, ADC, PWM, dan DAC. Mikrokontroler adalah mikroprosesor dengan kemampuan memori dan I/O. Mikrokontroler banyak digunakan dalam sistem tertanam karena integrasi CPU, memori, dan periferal I/O ke dalam satu chip.
PC atau laptop adalah mesin serbaguna (digunakan untuk berbagai tugas seperti bermain game, menjelajahi internet, mendengarkan musik, mengolah kata, dll.). Sebaliknya, sistem tertanam biasanya merupakan perangkat dengan fungsi tunggal yang dirancang untuk tugas-tugas tertentu. Karakteristik utama sistem mikrokontroler adalah seringkali dapat menjalankan tugas-tugas khusus tanpa memerlukan sistem operasi yang lengkap (misalnya, Windows, Linux, macOS, iOS). Jam tangan, pemutar MP3, mesin penjual otomatis, dan perangkat elektronik lainnya mengandung sistem tertanam. Komputer yang lengkap terkadang dapat mengganggu fungsi perangkat tersebut. Bayangkan perlu menjalankan Windows untuk mengoperasikan mesin pencuci piring. Gambar 2 menggambarkan arsitektur mikrokontroler.
Kompiler memverifikasi validitas kode bahasa pemrograman tingkat tinggi, baik dari segi tata bahasa maupun alokasi memori. Dalam situasi ini, kesalahan atau peringatan sering muncul, dan kode yang mengandung kesalahan tidak disimpan di mikrokontroler. Setelah kode benar, kompiler mengubahnya menjadi kode mesin dan menghasilkan berkas HEX yang dimuat ke dalam memori mikrokontroler.
Array gerbang yang dapat diprogram di lapangan (FPGAs) adalah sirkuit terpadu (IC) digital yang mencakup blok logika yang dapat diubah (dapat diprogram) dan interkoneksi. Insinyur desain dapat memprogram perangkat tersebut untuk menjalankan berbagai fungsi. Tergantung pada bagaimana perangkat tersebut dibangun, FPGA tertentu mungkin hanya dapat diprogram sekali, sementara yang lain dapat diprogram berulang kali. Tidak mengherankan, perangkat yang hanya dapat diprogram sekali dikenal sebagai perangkat yang dapat diprogram sekali.
Bagian "field-programmable" dari nama FPGA mengacu pada fakta bahwa pemrograman terjadi "di lapangan" (berbeda dengan perangkat yang fungsionalitas intinya sudah terpasang secara permanen oleh produsen). Hal ini dapat diterapkan pada konfigurasi FPGA di laboratorium atau mengubah operasi perangkat dalam sistem elektronik yang telah diterapkan di dunia nyata. Jika suatu perangkat dapat diprogram sambil tetap berada dalam sistem tingkat yang lebih tinggi, perangkat tersebut dikatakan dapat diprogram dalam sistem. Gambar 3 menggambarkan papan pengembangan untuk FPGA.
FPGA sering digunakan sebagai koprosesor untuk prosesor yang sudah ada, baik untuk mempercepat tugas-tugas yang membutuhkan waktu kritis maupun untuk memperluas fungsionalitas ALU pada umumnya. Misalnya, ketika menggunakan mikrokontroler, menghitung persamaan dengan lebih dari dua suku memerlukan serangkaian operasi aritmatika dan/atau logika, dan dalam banyak keadaan, variabel sementara harus ditetapkan. FPGA dapat meningkatkan kinerja sistem tersebut dengan menyelesaikan komputasi tersebut secara paralel sambil menggunakan logika kombinasional yang memadai.
FPGA juga umum digunakan dalam sistem komputasi khusus, di mana seluruh perangkat komputasi dibuat dan diimplementasikan dalam FPGA. Mikrokontroler chip tunggal sering digunakan dan cukup untuk kebutuhan aplikasi tertentu. Dalam hal ini, hanya perangkat lunak untuk aplikasi yang diinginkan yang perlu ditulis. Antarmuka perangkat keras sangat penting untuk merancang sistem semacam itu dan sering diimplementasikan menggunakan chip khusus standar. Hal ini menghasilkan sistem tetap yang tidak dapat diubah tanpa desain ulang perangkat keras. FPGA menawarkan fleksibilitas yang signifikan dalam aplikasi ini, memungkinkan kustomisasi perangkat keras dan pemrosesan paralel. Gambar 4 menunjukkan diagram blok internal papan pengembangan FPGA.
Performance
Karena mikrokontroler bergantung pada kecepatan clock, kinerjanya biasanya lebih rendah daripada FPGA karena frekuensinya bergantung pada desain. Sebagian besar aplikasi ini adalah pemrosesan gambar dan video.
Konsumsi daya
Mikrokontroler (MCU) mengonsumsi daya lebih rendah daripada FPGA karena ukurannya yang ringkas. Mikrokontroler ideal untuk menjalankan baterai, inverter, dan konverter. Di sisi lain, FPGA lebih unggul dalam pemrosesan digital untuk pemrosesan gambar dan video.
Fleksibilitas dan Kustomisasi
Pengaturan perangkat keras fleksibel saat dijalankan di FPGA, sementara di mikrokontroler, semua perubahan dilakukan melalui pengembangan perangkat lunak. Hal ini membuat mikrokontroler kurang fleksibel dibandingkan FPGA. Kustomisasi berbasis perangkat lunak lebih disukai di MCU, sementara kustomisasi berbasis perangkat keras lebih mudah di FPGA.
Waktu dan Kompleksitas Pengembangan
MCU dan FPGA berbeda dalam hal arsitektur memori dan karakteristik kinerja. Mikrokontroler memiliki memori non-volatil, yang berarti setelah daya dimatikan, MCU tetap menyimpan memorinya. Fitur ini tidak ada pada FPGA karena adanya Random Access Memory (RAM). Mikrokontroler biasanya diprogram menggunakan bahasa tingkat tinggi seperti C/C++, sementara pengembangan FPGA membutuhkan bahasa deskripsi perangkat keras seperti Verilog atau VHDL. Verilog dan FPGA didukung oleh perangkat keras, sementara C/C++ didukung oleh perangkat lunak.
Komponen Dasar
Mikrokontroler tidak ada apa-apanya jika terintegrasi dengan sirkuit terpadu (IC), sementara FPGA sebagian besar berisi IC dan sirkuit terpadu lainnya. Singkatnya, kedua teknologi tersebut merupakan perpaduan antara sirkuit terpadu dan bahasa tingkat tinggi.
Kustomisasi
Setelah diproduksi, baik FPGA maupun mikrokontroler dapat diprogram ulang, dan perubahan fungsinya dapat dilakukan setelah infrastrukturnya dibangun. Namun, FPGA umumnya cocok untuk aplikasi tingkat tinggi, sementara MCU seperti Arduino juga cocok untuk aplikasi yang lebih sederhana.
Mikrokontroler tersedia secara luas dengan harga terjangkau dan menawarkan beragam fitur untuk aplikasi daya dan elektronik. Namun, penggunaan MCU membutuhkan keahlian dalam bahasa pemrograman tingkat tinggi seperti C/C++. Di sisi lain, FPGA lebih mahal tetapi jauh lebih ramah pengguna. Mikrokontroler bekerja secara efisien dengan daya rendah, yang mengurangi kebutuhan energi. Di sisi lain, FPGA membutuhkan daya tinggi, yang membutuhkan lebih banyak energi untuk beroperasi. Solusi berbasis perangkat lunak tidak dapat dikustomisasi secara langsung, sementara solusi berbasis perangkat keras dapat dikustomisasi secara langsung. Inverter, UPS, dan konverter merupakan aplikasi ideal untuk MCU, sementara pemrosesan video dan gambar lebih cocok untuk FPGA karena kemampuan pemrosesan paralelnya.
Meskipun demikian, keduanya bergantung pada aplikasi. Para desainer dan insinyur menemukan MCU lebih canggih dalam sistem tertanam karena ukurannya yang ringkas, dan sebagian besar aplikasi memiliki batasan ukuran seperti konverter DC-DC dan banyak aplikasi elektronika daya lainnya. Di sisi lain, FPGA tahan lama dan efisien dalam kecerdasan buatan, pemrosesan gambar, dan pemrosesan video. FPGA ramah pengguna dan dapat menangani kalkulasi berat jauh lebih cepat daripada MCU. Keahlian yang dibutuhkan pengguna untuk menggunakan FPGA lebih sedikit daripada MCU.
Perbedaan antara FPGA, CPLD, dan MCU dijelaskan di bagian ini.
FPGA vs CPLD
|
Aspek Perbandingan |
FPGA |
CPLD |
|
Struktur internal |
Hsebagai tabel pencarian |
Has kompleksitas yang lebih rendah dan blok logika yang lebih kecil |
|
Waktu Penyalaan |
Ttidak punya waktu |
Twaktu luang |
|
Konsumsi daya |
Persyaratan Konsumsi Daya Tinggi |
Persyaratan Konsumsi Daya Rendah |
FPGA vs Mikroprosesor
|
Aspek Perbandingan |
FPGA |
Mikroprosesor |
|
Fungsionalitas & Fleksibilitas |
Sebuah programarray logika yang mampu melakukan banyak tugas, termasuk pemrosesan, enkripsi, dan jaringan, menawarkan fleksibilitas tinggi |
Menjalankan instruksi untuk tugas umum, dirancang untuk fungsi tertentu dan kurang fleksibel |
|
Eksekusi Tugas |
Melakukan tugas secara paralel, menangani set data besar secara efisien |
Menjalankan tugas secara berurutan |
|
Memori Jenis |
Menggunakan memori volatil dan perlu diprogram ulang setelah kehilangan daya |
Menggunakan memori non-volatil, menyimpan data setelah daya mati |
|
Gunakan Kasus |
Cocok untuk komputasi kecepatan tinggi, pemrosesan aliran data, dan tugas perangkat keras khusus |
Digunakan untuk komputasi tujuan umum, seperti kontrol OS dan manajemen I/O |
Baik MCU maupun FPGA bermanfaat untuk berbagai aplikasi digital, listrik, dan daya. Mikrokontroler ekonomis, mengonsumsi daya rendah, dan ramah perangkat lunak, sementara FPGA mahal, mengonsumsi daya tinggi, dan ramah perangkat keras, tetapi memiliki kinerja tinggi dan kemudahan pemrosesan paralel. MCU tetap berfungsi meskipun daya mati karena RAM, sementara fitur ini tidak ada pada FPGA karena memori volatilnya. Meskipun keduanya berlaku untuk teknologi berbasis desain, pengguna dapat mempertimbangkan konsumsi daya, waktu pengembangan, pemrosesan paralel, dan fleksibilitas untuk aplikasi di mana MCU merupakan FPGA, keduanya dapat digunakan.
Pertanyaan Perakitan
Kutipan Instan
Kontak telepon
+ 86-755-27218592
Selain itu, kami juga telah menyiapkan Pusat Bantuan. Kami sarankan Anda memeriksanya sebelum menghubungi, karena pertanyaan Anda dan jawabannya mungkin sudah dijelaskan dengan jelas di sana.
Dukungan WeChat
Selain itu, kami juga telah menyiapkan Pusat Bantuan. Kami sarankan Anda memeriksanya sebelum menghubungi, karena pertanyaan Anda dan jawabannya mungkin sudah dijelaskan dengan jelas di sana.
Dukungan WhatsApp
Selain itu, kami juga telah menyiapkan Pusat Bantuan. Kami sarankan Anda memeriksanya sebelum menghubungi, karena pertanyaan Anda dan jawabannya mungkin sudah dijelaskan dengan jelas di sana.