Ada banyak platform MCU dan begitu seseorang terbiasa dengan satu, mereka umumnya enggan untuk beralih ke platform lain.
Pertanyaan saya adalah: Jika seseorang mulai menggunakan MCU untuk tugas-tugas keperluan umum hari ini, bagaimana cara memilihnya? Apa nilai jual unik dari platform yang berbeda?
Jawaban:
Setahun berlalu, saya memberi ceramah tentang masalah memilih mikrokontroler (butuh sekitar 1,5 jam). Para hadirin adalah pemrogram dan pembuat perangkat lunak tingkat tinggi. Mayoritas audiens tidak memiliki pengalaman μC sebelumnya, sisanya hanya bermain dengan Arduino. Penghitungan kepala di antara penonton adalah sekitar 30. Jadi, ini adalah multicast, bukan klinik satu-satu.
Slide kunci dalam pembicaraan adalah ini:
ps
Saya harus mendefinisikan ruang lingkup dimana jawaban saya terbatas. Saya melihat pertanyaan pemilihan platform ini melalui dua jenis lensa. Yang pertama adalah prototyper. Yang kedua adalah pengembang peralatan profesional dengan harga jalan di urutan $ 3k dan jumlah dalam ratusan tahun. Lensa penghobi juga tidak jauh. Dalam kasus ini, biaya tambahan mikrokontroler kecil, dibandingkan dengan biaya pengembangan, atau dengan biaya peralatan profesional yang digunakan mikrokontroler.
Tentu saja ada perspektif produksi massal yang sangat berbeda. Ketika seseorang memilih mikrokontroler untuk perangkat murah yang akan diproduksi dalam jumlah besar (mainan utama adalah contoh yang baik), mereka akan didorong oleh biaya perangkat keras. Penghematan sederhana dalam biaya perangkat keras dikalikan dengan volume produksi yang besar (dalam ratusan ribu atau lebih) dapat membenarkan rasa sakit menggunakan lingkungan pengembangan yang sulit dan mikrokontroler harga murah dengan dukungan mediochre.
sumber
Karena pertanyaan ini belum cukup menghasilkan perbandingan platform yang saya harapkan, saya telah berusaha membuat sendiri dengan mempelajari literatur serta jawaban lainnya. Mungkin ini bisa membantu orang lain di masa depan.
Harap beri tahu saya jika ada kesalahan atau jika ada informasi yang bisa saya tambahkan.
Perbandingan Platform
Catatan tentang perbandingan:
PIC:
AVR:
Arm Cortex-M:
PSoc: (dari jawaban Rocketmagnet)
Propeller: (dari jawaban Rocketmagnet)
Perbandingan dengan Aplikasi
USB:
"Legenda" untuk daftar di bawah ini:
Properti perangkat yang paling murah: (dalam kisaran harga pesanan)
Ethernet:
sumber
MCU pilihan Anda sangat tergantung pada jenis proyek yang akan Anda kerjakan. Apakah Anda membuat perangkat volume tinggi, super-murah dan sederhana seperti lampu sepeda berkedip? Apakah Anda mengembangkan robot prototipe kompleks yang harus berhadapan dengan banyak perangkat dan sensor IO yang aneh?
Saya kebanyakan mengerjakan yang terakhir. Masalah utama bagi saya adalah mencoba menemukan mikrokontroler yang memiliki perangkat periferal yang saya inginkan. Ini sangat sulit karena persyaratan kami tampaknya tidak menjadi arus utama. Kami menginginkan hal-hal seperti 5 saluran PWM, 5 decoder Quadrature, 2 port SPI non-standar, dan UART dengan IO yang dinegasikan.
Satu-satunya MCU yang saya lihat yang dapat menangani persyaratan semacam itu dengan mudah adalah PSoC dan Propeller.
Propeller pada dasarnya adalah delapan MCU 32-bit dalam satu chip. Jika Anda menginginkan beberapa jenis periferal, Anda cukup memprogram salah satu MCU untuk melakukan pekerjaan itu. Jadi, Anda dapat memiliki apa pun yang Anda inginkan.
PSoC datang dengan dua rasa, 3 dan 5. 3 adalah inti 8.051, dan 5 adalah korteks M3 ARM. Juga termasuk dalam chip adalah blok digital dan analog yang dapat dikonfigurasi ulang yang dapat dibuat menjadi berbagai periferal: ADC, filter, op-amp, DAC, SPI, UART, decoder quadrature, generator CRC, dll.
Lingkungan pengembangan fantastis. Anda memiliki pengeditan kode sumber yang biasa untuk IDE biasa, tetapi Anda juga memiliki editor skematik. Anda benar-benar dapat menghubungkan sirkuit digital yang Anda suka, menghubungkan periferal dengan gerbang, flipflop, dll. Butuh 5 PWM? Mudah, masukkan saja ke dalam skema, pasang kabelnya, dan pergilah. Anda bahkan dapat menulis perangkat Anda sendiri di Verilog jika Anda menginginkan sesuatu yang tidak disediakan. Banyak aplikasi Anda dapat dengan mudah diimplementasikan dalam perangkat keras semacam ini.
Manfaat sebenarnya adalah Anda dapat bertahan dengan satu chip, mengetahui bahwa itu dapat menangani banyak sekali proyek yang ingin Anda lakukan di masa depan. Apa yang saya anggap menjengkelkan tentang PICs adalah terus-menerus menjelajahi puluhan perangkat mencari perangkat yang memiliki set perangkat khusus yang saya butuhkan. Sekarang saya tidak punya masalah itu.
sumber
Bagi saya persyaratan yang paling penting adalah jika perangkat / IDE didukung dengan baik pada PC non-Windows (Linux). Ternyata bagi saya Atmel AVR memiliki dukungan (open source) yang lebih baik daripada PIC.
sumber
Menggunakan lebih dari satu platform tidak apa-apa. Memilih yang terbaik untuk setiap pekerjaan dan juga ketersediaan kode dan contoh yang terkait dengan pekerjaan tersebut.
Sebagian besar dari mereka memiliki alat pengembangan yang baik, Arduino memiliki studio visual, pic memiliki alat yang hebat dan begitu juga yang lainnya. Jadi, bagi saya, seberapa cepat dan mudah saya dapat menyelesaikan pekerjaan dengan baik, + berapa banyak orang open source yang mengerjakan hal yang sama?
sumber
Microcontrollers adalah dunia yang berubah dengan cepat, ada banyak keuntungan dari belajar pada chip "in" saat ini dan IDE paling populer yang paling terkenal adalah mendapatkan bantuan dari komunitas. Sebagai orang PIC, saya akan mengatakan Aduino mungkin memiliki IDE dan papan pengembangan terbaik untuk pemula saat ini dan Anda dapat menambahkan banyak ke papan aduino dasar tanpa menyentuh besi solder.
Siapa pun yang menggunakan aduino untuk hal-hal kehidupan nyata mungkin ingin segera pindah tetapi pada saat itu Anda akan belajar banyak elektronik digital dasar dan sub-set C yang baik untuk dengan mudah menggunakan sesuatu yang lebih cocok.
Seperti seseorang telah menyebutkan Anda memilih chip untuk proyek Anda, saya telah melihat beberapa proyek menggunakan chip ARM sebagai sensor suhu sederhana atau konverter AD, cara yang sama saya telah melihat aduinos dan PIC 16 didorong ke batas mereka untuk menghasilkan permainan penjajah luar angkasa, FPGA's benar-benar galat dan bagus untuk memahami HDL jika Anda serius masuk ke desain elektronik .. tapi sayangnya tidak ada banyak proyek di luar sana di dunia nyata di mana Anda akan perlu menggunakan satu pekerjaan yang paling volume rendah, desain cepat dan harga dibatasi dan ini adalah tempat bit 8C berkuasa
sumber
Karena banyak dari jawaban yang diposting berfokus pada penggunaan hobi, inilah berbagai rekomendasi yang ditujukan hanya untuk pengembang profesional.
Persyaratan minimum
jika MCU tidak memenuhi semua ini, tidak boleh digunakan.
Tanda-tanda peringatan - Perangkat keras MCU
Ini adalah hal-hal yang tidak boleh Anda buang waktu di tahun 2019.
int
, yang pada gilirannya dilengkapi dengan semua bahaya tersembunyi dari promosi integer bahasa C.Tanda-tanda peringatan - rantai alat
sumber
Jika Anda pergi untuk tugas-tugas tujuan umum yang dapat memiliki pemrosesan analog dan digital maka saya lebih suka PSoC untuk IDE, Debugger dan banyak hal yang dapat Anda lakukan dengan itu.
Saya telah menggunakan PSoC3 di kampus untuk proyek-proyek saya dan cukup sederhana untuk dikuasai. Satu-satunya hal adalah jika Anda memerlukan beberapa chip kinerja, Anda masih harus mendapatkannya secara terpisah. Ini memiliki port yang cukup baik. Jadi jika Anda mencari beberapa chip kinerja bersama dengan kit pengembangan, lebih baik pergi untuk komponen yang terpisah.
sumber