Ketika datang ke Internet of Things (IoT) dan objek pintar, kemampuan komputasi mereka biasanya didorong oleh mikrokontroler atau MCU. Ini pada dasarnya adalah komputer kecil yang mengoperasikan perangkat pintar dengan menyediakan daya pemrosesan, memori, dan periferal input/output. Pada artikel ini, kami memberikan panduan lengkap tentang mikrokontroler untuk IoT, termasuk: - Apa itu mikrokontroler di IoT?
- Mikrokontroler versus mikroprosesor
- Fitur Mikrokontroler
- RTOS/OS untuk Mikrokontroler
- Cara Memilih Mikrokontroler untuk IoT
- Daftar Mikrokontroler untuk IoT
Apa itu mikrokontroler di IoT?Saat memikirkan mikrokontroler di IoT, paling mudah untuk melihat tumpukan teknologi IoT untuk perangkat yang disematkan dan melihat tempatnya di sini. Tumpukan IoT yang disederhanakan untuk perangkat kamera pintar mungkin terlihat seperti ini: - Lapisan protokol komunikasi
- Lapisan abstraksi perangkat keras (HAL)
- Lapisan OS/RTOS
MCU beroperasi pada lapisan abstraksi perangkat keras, menjalankan OS/RTOS yang dipilih, yang mengoperasikan perangkat. Mikrokontroler versus MikroprosesorPertanyaan umum lainnya yang kami dengar adalah apa perbedaan antara mikrokontroler versus mikroprosesor. Mikroprosesor adalah chip terintegrasi tunggal yang berisi CPU perangkat. Namun, itu tidak mengandung RAM atau memori ROM atau periferal lain yang mungkin dimiliki perangkat. Chip sebaliknya bergantung pada input/output (I/Os) untuk terhubung ke memori dan periferal. Di sisi lain, mikrokontroler memiliki CPU, RAM, ROM, dan periferal yang semuanya tertanam dalam satu chip. Ini secara efektif menjadikannya komputer dalam satu chip. Dengan segala sesuatu yang tertanam dalam satu chip, mikrokontroler tentu saja memiliki kemampuan kinerja yang lebih rendah daripada komputer bertenaga mikroprosesor. Namun, ketika datang ke perangkat IoT khas seperti mesin industri pintar , mikrokontroler adalah pilihan yang jauh lebih baik, karena mereka menyediakan daya komputasi yang cukup sambil menjaga biaya dan kompleksitas tetap rendah. Fitur MikrokontrolerAda ratusan CPU di pasaran, jadi penting untuk memahami fitur umum sebelum memutuskan CPU terbaik untuk proyek IoT Anda. bitIni adalah perbedaan utama antara MCU yang berbeda. Anda akan menemukan lima opsi berbeda yang tersedia saat ini: - 4-8 bit : Digunakan dalam kendali jarak jauh dan aplikasi murah dan terbatas lainnya. Umumnya, tidak cocok untuk digunakan dalam aplikasi IoT.
- 8-bit : Sebagian besar digunakan dalam aplikasi yang sangat terbatas biayanya tetapi lebih rumit daripada 4-8 bit. Dengan pengaturan yang benar, ini dapat digunakan dalam aplikasi IoT, terkadang menjalankan RTOS, tetapi sebagian besar dengan loop kontrol sederhana. Proyek Arduino yang terkenal adalah contoh desain 8-bit.
- 16-bit : Meskipun ini adalah opsi, arsitektur 16-bit tidak terlalu umum di IoT. Implementasi biasanya akan beralih antara 8 dan 32-bit.
- 32-bit* : Ini adalah titik masuk normal untuk aplikasi IoT kecuali aplikasi tersebut sesuai dengan arsitektur 8-bit dan memiliki kendala biaya. Namun, perbedaan harga antara arsitektur 8-bit dan 32-bit cukup kecil sehingga pengembang harus berpikir dua kali ketika memilih 8-bit. Apakah MCU ini menjalankan RTOS atau OS sebagian besar bergantung pada daya komputasi MCU dan/atau apakah MCU memiliki unit MMU. Raspberry Pi adalah desain 32-bit yang terkenal.
- 64-bit : Ini dicadangkan untuk sistem kelas atas, biasanya Linux atau OS lainnya. Anda biasanya memerlukan alasan tertentu (intensitas komputasi) untuk melompat dari sistem 32-bit ke 64-bit.
*Catatan pada sistem 32-bit: Biasanya, frekuensi clock merupakan faktor desain yang penting. Jam di atas 100Mhz (terutama desain Ghz) biasanya memerlukan pemikiran ekstra pada desain PCB karena jejak PCB dapat mulai mengganggu satu sama lain. ArsitekturMayoritas MCU menggunakan salah satu arsitektur berikut: RAMIni dapat sangat bervariasi, dari sekitar 16B pada MCU 8-bit pada ujung terendah hingga sekitar 4,5MB pada MCU 32 dan 64-bit. Dalam pikiran kebanyakan orang, semakin banyak RAM, semakin baik, tetapi ini akan meningkatkan biaya secara substansial. GPIOIni adalah singkatan dari input/output tujuan umum dan merupakan pin yang memungkinkan konektivitas perangkat keras seperti sensor ke CPU. Seperti halnya RAM, jumlah GPIO dapat berkisar secara substansial untuk mengakomodasi semua jenis tumpukan perangkat. KonektivitasCPU yang berbeda hadir dengan opsi konektivitas yang berbeda, termasuk protokol Wi-FI, Bluetooth, dan port ethernet kabel. RTOS/OS untuk MikrokontrolerAda beberapa opsi sistem operasi yang berbeda untuk MCU. Inilah yang akan Anda temukan di pasar: RTOSRTOS adalah singkatan dari Sistem Operasi Real-Time. Ini adalah komponen perangkat lunak yang hanya dapat menjalankan satu program pada satu waktu tetapi dengan cepat beralih di antara tugas-tugas pemrograman untuk menyelesaikan banyak tugas secara bersamaan. Ini memberikan apa yang dikenal sebagai respons real-time keras deterministik terhadap peristiwa eksternal. Apa artinya ini dalam praktiknya adalah bahwa perangkat lunak RTOS dapat memberikan pemrosesan yang sangat responsif untuk sejumlah tugas yang telah ditentukan sebelumnya jauh lebih cepat daripada OS tradisional, yang dapat menjadi keuntungan dalam hal perangkat IoT. Anda dapat membaca lebih lanjut di sini tentang cara memilih RTOS terbaik untuk IoT . OSOS adalah sistem operasi "tradisional", seperti Linux. Tidak seperti RTOS, OS tradisional memberikan respons real-time lunak non-deterministik. Ini berarti jauh lebih efektif dalam memproses sejumlah besar tugas yang berbeda daripada RTOS, tetapi membutuhkan lebih banyak kekuatan pemrosesan. Oleh karena itu, software OS biasanya hanya terdapat pada MCU 32 dan 64-bit yang memiliki unit MMU. Anda dapat membaca lebih lanjut di sini tentang kelebihan dan kekurangan RTOS v OS . logam telanjangBeberapa CPU tidak memiliki perangkat lunak sistem operasi; sebagai gantinya, firmware ditulis langsung ke perangkat keras. Pemrograman bare metal sangat umum dengan perangkat tertanam generasi lama dan MCU IoT. Namun, karena kekuatan pemrosesan MCU telah maju dan turun dalam biaya, lebih sedikit perangkat yang sekarang dioperasikan dengan logam kosong. Meskipun mengatakan itu, ini masih digunakan ketika MCU memiliki memori yang sangat rendah atau ketika Anda ingin kontrol langsung atas setiap bagian dari perangkat keras untuk memenuhi persyaratan waktu yang sangat ketat. Cara Memilih Mikrokontroler Terbaik untuk IoTSeperti disebutkan di atas, ada banyak mikrokontroler yang digunakan dalam proyek IoT . Kami menyediakan daftar MCU komersial umum di bagian berikutnya, tetapi pertama-tama, kami akan menjelaskan cara memilih mikrokontroler terbaik untuk IoT. PenyimpananJumlah memori yang Anda pilih tentu saja akan berdampak mendasar pada kinerja perangkat secara keseluruhan. Oleh karena itu, hitung dengan cermat kebutuhan memori untuk tugas pemrograman perangkat Anda, baik RAM maupun ROM. Anda juga perlu memastikan bahwa Anda membuktikan keputusan Anda di masa mendatang dengan memiliki kapasitas cadangan yang cukup untuk menangani tuntutan yang diberikan oleh pembaruan di masa mendatang. KekuatanPersyaratan daya perangkat Anda adalah pertimbangan utama lainnya dalam memilih MCU terbaik. Sebuah IOT medis cerdas perangkat seperti alat bantu dengar, misalnya, akan berjalan pada daya baterai sangat rendah. Di sisi lain, peralatan industri pintar yang berat akan menghabiskan banyak listrik, tetapi Anda ingin perangkat tersebut sehemat energi mungkin. Internet dan Protokol Komunikasi lainnyaBagaimana perangkat IoT Anda akan terhubung ke aplikasi? Jenis data apa yang akan didorong oleh perangkat, dan di mana? Apakah perlu berinteraksi dengan perangkat lain secara lokal? Misalnya, sistem alarm pintar perumahan mungkin memerlukan protokol Wi-Fi, sedangkan sistem HVAC IoT kantor mungkin memerlukan koneksi ethernet kabel. Untuk komunikasi perangkat lokal, koneksi Bluetooth mungkin diperlukan, dan perangkat jarak jauh di luar jangkauan Wi-Fi akan memerlukan konektivitas data 4G. Port KoneksiUntuk mengetahui berapa banyak GPIO yang Anda butuhkan di mikrokontroler, Anda harus terlebih dahulu menentukan input data apa yang dibutuhkan perangkat Anda. Juga, ingatlah bahwa ada port digital dan port analog pada CPU, yang memproses berbagai jenis input dan output data. ArsitekturSebagaimana dinyatakan di atas, sebagian besar aplikasi menjalankan ARM, MIPS, X86. Oleh karena itu, Anda perlu memastikan bahwa pilihan Anda dapat mendukung kompleksitas perangkat dan sistem Anda, termasuk I/O dan pemrosesan data, serta berapa banyak daya yang diperlukan. Dukungan Pengembang dan KomunitasJika tim atau organisasi Anda tidak memiliki pengalaman sebelumnya dalam bekerja dengan MCU, maka dukungan pengembang yang ditawarkan oleh produsen dan komunitas pengembang sangat penting. Periksa apakah ada dokumentasi lengkap dari pabrikan. Kemudian periksa tempat-tempat seperti StackOverflow dan Reddit untuk dukungan komunitas. Anda juga akan menemukan banyak tutorial berguna di blog kami . BiayaAnda harus selalu memperhatikan masa depan saat mempertimbangkan biaya mikrokontroler. Tidak ada gunanya membangun prototipe dengan papan yang kemudian menjadi sangat mahal untuk skala dan dipasarkan. Perlu diketahui juga bahwa beberapa MCU dilengkapi dengan biaya lisensi untuk masing-masing driver perangkat. KeamananKeamanan adalah pertimbangan penting dalam semua proyek IoT dan perlu direkayasa di seluruh tumpukan. Fitur keamanan standar pada papan komersial termasuk bootloader kriptografi dan akselerator perangkat keras, lapisan pelindung, dan unit perlindungan memori. Daftar Mikrokontroler Populer untuk IoTATMEL AVR seri ATMEGA32 seri ATMEGA16 Seri AVR128 mikrocip PIC18 seri (termasuk PIC12 dan PIC16) seri PIC32 seri SAM NXP Seri LPC (ARM Cortex-M0) Seri K32 (ARM Cortex-M4/M0) Seri LPC55x (ARM CortexM33) seri i.MX (Cortex-M7) Instrumen Texas Seri SimpleLink (ARM Cortex M4) Seri MSP430 (MSP432) C2000 SERI CC3200/CC3120/CC3220 (WI-FI DIAKTIFKAN) Renesa Seri S1/S3/S5/S7 Espressif ESP8266 ESP32 Yang lain 8051 Intel KesimpulanJika Anda mengembangkan proyek IoT, maka ada beberapa faktor yang perlu Anda pertimbangkan saat memilih MCU terbaik untuk IoT. sumber: www-nabto-com
|