Cara Memilih Mikrokontroler untuk Aplikasi Pemrosesan Sinyal Digital
Artikel ini membahas fitur yang harus Anda cari saat Anda memerlukan MCU untuk bertindak sebagai pengontrol sistem dan pemroses sinyal digital.
Artikel ini membahas fitur yang harus Anda cari saat Anda membutuhkan MCU untuk bertindak sebagai pengontrol sistem dan pemroses sinyal digital.
Pemrosesan sinyal digital dapat menambahkan fungsionalitas yang berharga ke berbagai macam produk dan aplikasi. Bahkan desain yang dibatasi oleh biaya, faktor bentuk, atau jadwal dapat dengan mudah menggabungkan manfaat DSP, karena saat ini para insinyur memiliki akses ke banyak kode perpustakaan, proyek contoh, dan prosesor berkinerja tinggi yang murah dan relatif ramah pengguna. .
Pemroses sinyal digital sejati—seperti bagian dari keluarga C5000 dari Texas Instruments atau keluarga SHARC dari Analog Devices—bisa menjadi perangkat yang mengintimidasi. Saya telah bekerja terutama dengan DSP dari Texas Instruments, dan secara keseluruhan pengalaman itu produktif dan memuaskan. Namun, dalam hal ini saya tidak perlu mendesain papan sirkuit, dan saya tidak menikmati proses mencoba men-debug crash sistem yang aneh dan memahami detail sistem operasi.
Tidak ada keraguan bahwa tugas-tugas DSP intensif komputasi tertentu akan memerlukan prosesor sinyal digital sejati atau bahkan FPGA. Namun, juga benar bahwa dalam banyak aplikasi, mikrokontroler yang dipilih dengan benar sudah cukup. Artikel ini membahas karakteristik dan kemampuan yang perlu Anda fokuskan saat ingin memastikan bahwa MCU Anda akan memiliki banyak daya DSP.
8-Bit, 16-Bit, atau 32-Bit?
Masalah ini tidak sesederhana yang Anda kira. Secara umum, perangkat 16-bit dan 32-bit akan lebih sesuai untuk aplikasi DSP. Pemrosesan sinyal digital melibatkan prosedur matematis yang sering kali menghasilkan angka besar, dan Anda menginginkan prosesor yang dapat memanipulasi angka besar ini secara langsung.
Namun, pemrosesan 8-bit pada dasarnya tidak buruk, dan jika Anda tahu bahwa Anda akan berurusan dengan rentang nilai digital yang terbatas, mikrokontroler 8-bit mungkin merupakan pilihan yang baik.
Selain itu, para insinyur sering tidak memiliki waktu atau keinginan untuk mempelajari detail tingkat rendah prosesor, dan akibatnya mungkin sulit untuk membuat hubungan yang jelas antara lebar bit yang ditentukan dan efisiensi komputasi yang sebenarnya. Misalnya, apakah "mikrokontroler 32-bit" memiliki register 32-bit? ALU 32-bit? Bus alamat 32-bit? Antarmuka komunikasi 32-bit? Apa sebenarnya yang dimaksud dengan "32-bit"? Detail ini dapat memengaruhi keputusan Anda, terutama jika Anda berharap akan berurusan terutama dengan jumlah kecil yang tidak memerlukan semua bit tambahan tersebut.
Arsitektur 8-bit modern ini dikembangkan oleh Silicon Labs (diagram diambil dari dokumen ini). Mereka memperingatkan terhadap asumsi bahwa perangkat 16-bit atau 32-bit akan secara konsisten mengungguli perangkat 8-bit.
Kecepatan Jam
Frekuensi clock maksimum mikrokontroler tentu saja merupakan indikator yang baik dari kemampuannya sebagai prosesor sinyal digital. Namun, penting untuk memahami perbedaan antara siklus clock per detik dan instruksi per detik. Prosesor menyelesaikan tugas DSP dengan mengeksekusi instruksi, dan akibatnya kinerjanya dipengaruhi oleh frekuensi clock dan jumlah siklus clock yang diperlukan untuk mengeksekusi instruksi.
Sayangnya, masalah ini dengan cepat menjadi agak rumit. Jumlah siklus clock yang diperlukan untuk sebuah instruksi bervariasi dari satu instruksi ke instruksi berikutnya, dan rata-rata jumlah siklus clock per instruksi dapat dikurangi dengan menggunakan arsitektur pipelined. Kemudian, Anda harus mempertimbangkan jumlah “fungsionalitas per instruksi”—yaitu, mungkin Mikrokontroler A hanya memerlukan satu instruksi untuk melakukan sesuatu yang memerlukan banyak instruksi pada Mikrokontroler B.
Diagram ini menyampaikan konsep prosesor pipelined. Lihat artikel ini untuk informasi lebih lanjut. Colin M.L. Burnett [CC-BY-SA-3.0].
Berikut adalah rekomendasi singkat saya:Jika Anda membandingkan perangkat dari keluarga yang sama, pilih frekuensi jam yang lebih tinggi. Jika Anda membandingkan perangkat dengan perbedaan arsitektur utama, coba temukan spesifikasi andal yang menunjukkan kecepatan eksekusi instruksi (dinyatakan sebagai MIPS, jutaan instruksi per detik) atau jumlah rata-rata siklus clock per instruksi.
Titik Tetap vs. Titik Mengambang
Istilah "titik-mengambang" mengacu pada representasi numerik di mana titik radix dapat "mengambang" karena jumlahnya terdiri dari bagian bilangan bulat (mantissa) dan eksponen. Alternatif ("titik tetap") sesuai dengan cara di mana kami biasanya menangani dan melihat data dalam mikrokontroler normal. Perbandingan yang cermat antara aritmatika titik-mengambang dan aritmatika titik-tetap bukanlah tugas yang sederhana, tetapi tampaknya ada konsensus bahwa pemrosesan titik-mengambang dapat lebih unggul dalam aplikasi intensif matematis.
Saya pikir aman untuk mengatakan bahwa semua mikrokontroler adalah perangkat titik tetap, karena menurut saya jika itu benar-benar prosesor titik-mengambang, itu bukan lagi mikrokontroler. Namun, jika Anda benar-benar bertekad untuk memaksimalkan kinerja matematika Anda sambil tetap berada dalam domain mikrokontroler, Anda harus mempertimbangkan perangkat yang menyertakan co floating-point prosesor.
LPC3180FEL320 dari NXP, mikrokontroler berbasis Arm 16/32-bit, memiliki koprosesor titik-mengambang, dan dapat mencapai hingga 220 MIPS. STMicroelectronics juga memiliki mikrokontroler STM32 yang menggabungkan floating-point unit (FPU).
Saya menggunakan beberapa matematika floating-point dalam proyek sensor-sentuh melingkar saya. Dalam kebanyakan kasus, FPU terpisah tidak diperlukan—kompiler pandai mengimplementasikan variabel titik-mengambang di mikrokontroler biasa.
Rekap
Pada artikel ini, kami mengeksplorasi karakteristik CPU yang membuat mikrokontroler kurang lebih cocok untuk aplikasi DSP. Saya pikir dalam kebanyakan situasi masuk akal untuk fokus pada lebar bit dan MIPS — Anda tidak perlu terlalu khawatir tentang floating-point versus fixed-point kecuali Anda berencana untuk melakukan beberapa perhitungan serius dengan MCU Anda. Kami akan melanjutkan topik ini di artikel berikutnya, yang akan membahas fitur periferal terkait DSP.
Pengantar Seri Mikrokontroler
Artikel ini adalah bagian dari seri yang lebih besar. Anda dapat menemukan artikel lainnya di bawah ini:
- Apa itu Mikrokontroler? Pengenalan Komponen Pusat di Perangkat Elektronik yang Tak Terhitung
- Cara Memilih Mikrokontroler yang Tepat untuk Aplikasi Anda
- Cara Membaca Datasheet Mikrokontroler:Pengenalan dan Langkah Pertama
- Cara Membaca Lembar Data Mikrokontroler:Menjelajahi Perangkat Keras