Pengertian Mengenai Mikrokontroler

Dipublikasikan oleh Jovita Aurelia Sugihardja

05 Maret 2024, 08.06

Sumber: Wikipedia

Komputer mikro (MC, μC, ⟨μ⟩ dan ⟨μ⟩ dan ⟨u⟩, karena kebingungan antara UC) dan unit mikrokontroler (MCU) adalah komputer kecil dalam satu sirkuit terintegrasi. Mikrokontroler berisi satu atau lebih inti prosesor (CPU), memori, dan perangkat input/output. Memori program berupa RAM ferroelektrik, NOR Flash, atau ROM OTP bersifat on-chip dengan jumlah RAM yang kecil. Mikrokomputer didesain untuk aplikasi tertanam, tidak seperti mikroprosesor yang digunakan pada komputer pribadi atau aplikasi tujuan umum lainnya yang mencakup banyak chip individual.

Dalam istilah modern, komputer mikro mirip dengan sistem dalam sebuah chip, namun lebih kecil. rumit . (SoC). SoC mungkin menyertakan mikrokontroler sebagai salah satu komponennya, namun paling sering menyertakan periferal canggih seperti unit pemrosesan grafis (GPU), modul Wi-Fi, satu atau beberapa prosesor.

Elektronik bersifat independen . Ini digunakan untuk Produk dan perangkat seperti sistem kendali pada mesin mobil, perangkat medis tertanam, kendali jarak jauh, mesin kantor, peralatan rumah tangga, perangkat elektronik, mainan, dan sistem tertanam lainnya. Dengan mengurangi ukuran dan biaya dibandingkan dengan desain yang menggunakan mikroprosesor , memori, dan perangkat input/output terpisah, mikrokontroler membuat kontrol digital pada lebih banyak perangkat dan proses menjadi praktis. Mikrokontroler sinyal campuran adalah hal yang umum, mengintegrasikan komponen analog yang diperlukan untuk mengontrol sistem elektronik non-digital. Dalam konteks internet of things , mikrokontroler adalah sarana pengumpulan data , penginderaan , dan penggerak dunia fisik yang ekonomis dan populer sebagai perangkat tepi .

Beberapa mikrokontroler mungkin menggunakan kata-kata empat-bit dan beroperasi pada frekuensi serendah 4 kHz untuk konsumsi daya rendah ( miliwatt satu digit atau mikrowatt). Mereka umumnya memiliki kemampuan untuk mempertahankan fungsionalitas sambil menunggu kejadian seperti penekanan tombol atau interupsi lainnya ; konsumsi daya saat tidur (jam CPU dan sebagian besar periferal mati) mungkin hanya nanowatt, sehingga banyak di antaranya cocok untuk aplikasi baterai yang tahan lama. Mikrokontroler lain mungkin memiliki peran yang sangat penting bagi kinerja, di mana mereka mungkin perlu bertindak lebih seperti prosesor sinyal digital (DSP), dengan kecepatan clock dan konsumsi daya yang lebih tinggi.

Sejarah
Latar Belakang
Multi Mikroprosesor pertama, AL1 Empat Fase pada tahun 1969 dan Garrett AiResearch MP944 pada tahun 1970, dibuat dari beberapa chip LSI MOS. Mikroprosesor chip tunggal pertama adalah Intel 4004, dirilis pada tahun 1971 pada chip MOS LSI tunggal. Ini dikembangkan oleh Federico Faggin menggunakan teknologi MOS gerbang silikon dengan insinyur Intel Marcian Hoff dan Stan Mazor dan insinyur Busicom Masatoshi Shima. .  Disusul oleh Intel 4040 4 bit, Intel 8008 8 bit, dan Intel 8080 8 bit. Semua prosesor ini memerlukan beberapa chip eksternal untuk mengimplementasikan sistem operasinya, termasuk chip memori dan antarmuka. Oleh karena itu, biaya seluruh sistem mencapai ratusan dolar (dolar AS pada tahun 1970an), sehingga mustahil untuk membuat komputer perangkat keras kecil secara ekonomis.

Model 6501 dan 6502, yang harganya kurang dari $100 pada tahun 1975. . Tujuan utama mereka adalah untuk mengurangi hambatan biaya ini, namun mikrokomputer ini masih memerlukan dukungan eksternal, memori, dan chip latar belakang, sehingga total biaya sistem tetap mencapai ratusan dolar.

Pengembangan
Dalam buku yang sama, insinyur Gary Boone dan Michael Cochran berhasil menciptakan mikrokontroler pertama pada tahun 1971. Hasil penelitiannya adalah TMS 1000 yang dikomersialkan pada tahun 1974. Produk ini menggabungkan memori read-only, memori baca/tulis, prosesor dan jam dalam satu chip dan dimaksudkan untuk diintegrasikan sistem. 

Pada awal hingga pertengahan tahun 1970-an, pabrikan elektronik Jepang mulai memproduksi mikrokontroler, termasuk MCU 8-bit dan bahkan MCU 4-bit untuk hiburan mesin, wiper otomatis, kunci daya, dan kontrol dasbor. Untuk manajemen mesin. 

Sebagian sebagai respons terhadap keberadaan chip tunggal TMS 1000,  Intel mengembangkan Intel 8048, sistem komputer dalam chip yang dioptimalkan untuk aplikasi operasional, dan unit komersial pertama kali dirilis pada tahun 1977. [ 4] RAM dan ROM terintegrasi pada chip yang sama dengan mikroprosesor. Di antara banyak aplikasi lainnya, chip ini memberi daya pada lebih dari satu miliar keyboard PC. Luke J. Valenter, presiden Intel pada saat itu, menganggap mikrokontroler sebagai salah satu produk paling sukses dalam sejarah perusahaan dan meningkatkan anggaran divisi mikrokontroler lebih dari 25 persen. .

Saat ini, sebagian besar mikrokontroler bersifat asinkron. Yang satu memiliki memori program EPROM dan jendela kuarsa bening pada tutup kemasan yang dapat terhapus bila terkena sinar ultraviolet. Chip yang dapat dilepas ini sering digunakan, misalnya. Varian lainnya termasuk varian ROM dan PROM yang diprogram hanya satu kali. Untuk yang terakhir, terkadang digunakan kode OTP, yang artinya "sekali dapat diprogram". Pada mikrokontroler OTP, PROM memiliki tipe yang sama dengan EPROM, namun paket chipnya tidak memiliki jendela kuarsa. EPROM tidak dapat dihapus karena tidak dapat terkena sinar ultraviolet. Karena versi yang dapat dihapus memerlukan kemasan keramik dengan jendela kuarsa, harganya jauh lebih mahal daripada versi OTP, yang dapat dibuat dalam kemasan plastik buram dengan biaya lebih rendah. Untuk varian yang dapat dihapus, diperlukan kuarsa, bukan kaca yang lebih murah, karena transparansinya terhadap sinar ultraviolet—yang sebagian besar kacanya buram—tetapi pembeda biaya utama adalah kemasan keramik itu sendiri.

Pada tahun 1993, pengenalan memori EEPROM memungkinkan mikrokontroler (dimulai dengan Microchip PIC16C84 )  untuk dihapus secara elektrik dengan cepat tanpa paket mahal seperti yang diperlukan untuk EPROM , memungkinkan pembuatan prototipe cepat, dan pemrograman dalam sistem . (Teknologi EEPROM telah tersedia sebelumnya,  tetapi EEPROM sebelumnya lebih mahal dan kurang tahan lama, sehingga tidak cocok untuk mikrokontroler produksi massal berbiaya rendah.) Pada tahun yang sama, Atmel memperkenalkan mikrokontroler pertama yang menggunakan memori Flash , jenis EEPROM khusus.  Perusahaan lain dengan cepat mengikutinya, dengan kedua jenis memori tersebut.

Saat ini mikrokontroler murah dan tersedia bagi para penghobi, dengan komunitas online yang besar seputar prosesor tertentu.

Volume dan Harga
Pada tahun 2002, sekitar 55% dari seluruh CPU yang dijual di seluruh dunia adalah mikrokontroler dan mikroprosesor 8-bit. 

Pada tahun 1997 lebih dari 2 miliar mikrokontroler 8-bit terjual.  Menurut Semico, lebih dari 4 miliar mikrokontroler 8-bit terjual pada tahun 2006.  Baru-baru ini, Semico telah memimpin pasar MCU. Angka ini meningkat sebesar 36,5% pada tahun 2010 dan 12% pada tahun 2011.

Rumah pada umumnya di negara berkembang hanya dapat memiliki empat mesin bundar dan sebanyak 36 mesin. Mesinnya memiliki 30 mikrokontroler. Mereka juga dapat ditemukan di banyak perangkat listrik seperti mesin cuci, oven microwave, dan telepon.

Secara historis, segmen 8-bit telah mendominasi pasar MCU [..] Mikrokontroler 16-bit menjadi kategori MCU dengan volume terbesar pada tahun 2011, menyalip perangkat 8-bit untuk pertama kalinya pada tahun itu [..] IC Insights meyakini komposisinya pasar MCU akan mengalami perubahan besar dalam lima tahun ke depan dengan perangkat 32-bit yang terus meraih pangsa penjualan dan volume unit yang lebih besar. Pada tahun 2017, MCU 32-bit diharapkan menyumbang 55% dari penjualan mikrokontroler [..] Dalam hal volume unit, MCU 32-bit diperkirakan menyumbang 38% dari pengiriman mikrokontroler pada tahun 2017, sementara perangkat 16-bit akan mewakili 34% dari total, dan desain 4-/8-bit diperkirakan mencapai 28% unit yang terjual pada tahun itu. Pasar MCU 32-bit diperkirakan akan tumbuh pesat karena meningkatnya permintaan akan tingkat presisi yang lebih tinggi dalam sistem pemrosesan tertanam dan pertumbuhan konektivitas menggunakan Internet. [..] Dalam beberapa tahun ke depan, MCU 32-bit yang kompleks diperkirakan akan menguasai lebih dari 25% kekuatan pemrosesan di kendaraan.

— IC Insights, Pasar MCU tentang Jalur Migrasi ke Perangkat 32-bit dan berbasis ARM 
Biaya produksi bisa di bawah US$0,10 per unit.

Biaya anjlok seiring berjalannya waktu, dengan mikrokontroler 8-bit termurah tersedia dengan harga di bawah US$0,03 pada tahun 2018,  dan beberapa mikrokontroler 32-bit sekitar US$1 dengan jumlah yang sama.

Pada tahun 2012, setelah krisis global—penurunan dan pemulihan penjualan tahunan terburuk yang pernah ada serta harga penjualan rata-rata anjlok 17% dari tahun ke tahun—pengurangan terbesar sejak tahun 1980an—harga rata-rata mikrokontroler adalah US $0,88 ( US$0,69 untuk 4 -/8-bit, US$0,59 untuk 16-bit, US$1,76 untuk 32-bit). 

Pada tahun 2012, penjualan mikrokontroler 8-bit di seluruh dunia berjumlah sekitar US$4 miliar , sementara mikrokontroler 4-bit juga mengalami penjualan yang signifikan. 

Pada tahun 2015, mikrokontroler 8-bit dapat dibeli seharga $0,311 (1.000 buah),  dan mikrokontroler 16-bit seharga $0,385 (1.000 buah).  dan mikrokontroler 32-bit di Amerika Serikat. . $0,378 (1000 unit, biaya $0,35). 5.000). 

Pada tahun 2018, Anda dapat membeli 8 token seharga $0,03,  dan 16 token seharga $0,393 (1000 buah), tetapi harganya $0,563 untuk 100 buah. $0,349 untuk keseluruhan buku. 2.000),  dan $0,503 untuk 32-bit ($0,466 untuk 1.000 unit dan 5.000 unit). 

Harga peralatan mesin lebih tinggi pada tahun 2018 dibandingkan tahun 2015 (dengan mempertimbangkan kenaikan harga antara tahun 2018 dan 2015 untuk beberapa peralatan). Mikrokontroler 8-bit tersedia dengan harga $0,319 (1000 unit) atau $2,60. % lebih tinggi,  16-bit berharga $0,464 (1000 unit) atau 21% lebih tinggi,  32-bit berharga $0,503 (1000 unit, 5000 unit bernilai $0,466) atau 33% lebih tinggi.

Komputer kecil Pada tanggal 21 Juni 2018, Universitas Michigan mengumumkan "komputer terkecil di dunia". Perangkat ini adalah "sistem sensor nirkabel bebas Bluetooth 0,04mm3 _ 16nW dengan prosesor Cortex-M0+ terintegrasi dan komunikasi untuk termometer seluler." "Dengan ukuran sisinya yang hanya 0,3 mm, ini lebih kecil dari sebutir beras. [...] Selain RAM dan grafis, perangkat komputasi modern memiliki prosesor dan transmisi serta penerima nirkabel. Terlalu kecil untuk menggunakan radio tradisional. Antena mengirimkan data . dalam cahaya tampak. Menerima dan mengirimkan. Stasiun pangkalan menyediakan daya dan cahaya untuk memproyeksikan dan menerima data. ."  Perangkat ini berukuran sepersepuluh dari komputer berukuran rekor dunia yang diumumkan IBM pada awal Maret 2018.  Lebih kecil dari garam.  Ada jutaan transistor dan harganya murah. 10 di antaranya biaya produksinya kurang dari $0, dan fokus pada logika dan “jangkar kripto” (aplikasi sidik jari) dan teknologi blockchain. 

Desain tertanam
Mikrokontroler dapat dianggap sebagai sistem mandiri dengan prosesor, memori, dan periferal dan dapat digunakan sebagai sistem tertanam .  Mayoritas mikrokontroler yang digunakan saat ini tertanam di mesin lain, seperti mobil, telepon, peralatan, dan periferal untuk sistem komputer.

Meskipun beberapa sistem tertanam sangat canggih, banyak yang memiliki persyaratan minimal untuk memori dan panjang program, tanpa sistem operasi , dan kompleksitas perangkat lunak yang rendah. Perangkat input dan output yang umum mencakup sakelar, relai , solenoida , LED , layar kristal cair kecil atau khusus , perangkat frekuensi radio, dan sensor untuk data seperti suhu, kelembapan, tingkat cahaya, dll. Sistem tertanam biasanya tidak memiliki keyboard, layar , disk, printer, atau perangkat I/O lain yang dapat dikenali pada komputer pribadi , dan mungkin tidak memiliki perangkat interaksi manusia apa pun.

Interupsi
Mikrokontroler harus memberikan respon real-time (dapat diprediksi, meskipun tidak harus cepat) terhadap kejadian di sistem tertanam yang mereka kendalikan. Ketika peristiwa tertentu terjadi, sistem interupsi dapat memberi sinyal kepada prosesor untuk menunda pemrosesan urutan instruksi saat ini dan memulai rutinitas layanan interupsi (ISR, atau "penanganan interupsi") yang akan melakukan pemrosesan apa pun yang diperlukan berdasarkan sumber interupsi, sebelum kembali ke urutan instruksi asli. Kemungkinan sumber interupsi bergantung pada perangkat dan sering kali mencakup peristiwa seperti kelebihan pengatur waktu internal, penyelesaian konversi analog-ke-digital, perubahan tingkat logika pada masukan seperti dari penekanan tombol, dan data yang diterima pada tautan komunikasi . Jika konsumsi daya penting seperti pada perangkat baterai, interupsi juga dapat membangunkan mikrokontroler dari kondisi tidur berdaya rendah di mana prosesor dihentikan hingga diminta melakukan sesuatu oleh kejadian periferal.

Program
Biasanya program mikrokontroler harus sesuai dengan memori on-chip yang tersedia, karena akan memakan banyak biaya untuk menyediakan sistem dengan memori eksternal yang dapat diperluas. Kompiler dan perakit digunakan untuk mengubah kode bahasa tingkat tinggi dan bahasa rakitan menjadi kode mesin ringkas untuk disimpan dalam memori mikrokontroler. Tergantung pada perangkatnya, memori program mungkin bersifat permanen, memori hanya-baca yang hanya dapat diprogram di pabrik, atau dapat berupa flash yang dapat diubah di lapangan atau memori hanya-baca yang dapat dihapus.

Produsen sering kali memproduksi versi khusus mikrokontroler mereka untuk membantu pengembangan perangkat keras dan perangkat lunak dari sistem target. Awalnya ini termasuk versi EPROM yang memiliki "jendela" di bagian atas perangkat di mana memori program dapat dihapus dengan sinar ultraviolet , siap untuk pemrograman ulang setelah pemrograman ("pembakaran") dan siklus pengujian. Setelah tahun 1998, versi EPROM digantikan oleh EEPROM dan Flash, yang lebih langka, lebih mudah digunakan (dapat dimatikan), dan lebih murah untuk diproduksi.
\ Versi lain tersedia jika ROM diakses dari perangkat eksternal. Perangkat tidak memiliki memori internal, namun hal ini menjadi semakin jarang karena meningkatnya ketersediaan pemrogram mikrokontroler berbiaya rendah.

Menggunakan perangkat yang dapat diprogram pada mikrokontroler dapat memperbarui, firmware lapangan, atau perubahan pabrik sebelumnya pada produk manufaktur. Itu mungkin Dikumpulkan tetapi belum diterbitkan. Memori mengurangi waktu yang dibutuhkan untuk menerapkan produk baru.

Saat dibutuhkan ratusan ribu perangkat identik, sebaiknya gunakan komponen yang telah direncanakan sebelumnya untuk membuatnya. Komponen "logika yang dapat diprogram" ini juga ditetapkan ke program dengan cara yang sama seperti logika pada chip.

Mikrokontroler khusus berisi komponen digital yang dapat disesuaikan untuk komponen lain. kekuatan pemrosesan, periferal, dan antarmuka khusus tergantung pada aplikasinya. persyaratan terjalin. Contohnya adalah AT91CAP Atmel.

Fitur Mikrokontroler Lainnya Mikrokontroler biasanya memiliki banyak atau banyak pin input/output (GPIO). Pin GPIO dapat dikonfigurasi oleh komputer untuk mode input atau output. Pin GPIO digunakan untuk membaca sensor dan sinyal eksternal dan diatur ke mode input. Pin GPIO yang dikonfigurasi dengan karakteristik keluaran dapat mengontrol perangkat eksternal seperti LED atau motor, sering kali melalui elektronik bertenaga eksternal.

Banyak sistem masukan memerlukan pembacaan yang menghasilkan sinyal analog. Inilah tujuan dari konverter analog ke digital (ADC). Karena prosesor dirancang untuk menafsirkan dan memproses data digital, yaitu satu dan nol, prosesor tidak dapat bekerja dengan sinyal analog yang dikirim ke perangkat. Oleh karena itu, konverter analog-ke-digital digunakan untuk mengubah data yang masuk ke dalam format yang dapat dipahami oleh prosesor. Fitur yang kurang umum pada beberapa mikrokontroler adalah konverter digital-ke-analog (DAC), yang memungkinkan prosesor mengeluarkan sinyal analog atau level tegangan. Salah satu jenis pengatur waktu yang paling umum adalah pengatur waktu yang dapat diprogram (PIT). PIT dapat menghitung mundur dari suatu nilai ke nol, hingga register penghitung mampu mengisi nol. Ketika mencapai 0, interupsi dikirim ke prosesor yang menunjukkan bahwa operasi telah selesai. Hal ini berguna untuk perangkat seperti termostat yang secara berkala menguji suhu ruangan untuk mengetahui apakah perangkat tersebut perlu menyalakan atau mematikan AC, atau menyalakan atau mematikan pemanas, dll.

Menggunakan blok Modulasi Lebar Pulsa (PWM) khusus, Anda dapat CPU mengontrol inverter, beban resistif, motor, dll. tanpa menggunakan banyak sumber daya CPU dalam waktu singkat. Anda dapat mengunduh dan mengirim data melalui jalur serial dengan biaya yang sangat rendah. Sebuah beban ditempatkan pada CPU. Perangkat on-chip khusus sering kali mencakup kemampuan untuk berkomunikasi dengan perangkat (pintar) lain dalam format digital seperti IC (I²C), Serial Peripheral Interface (SPI), Universal Serial Bus (USB), dan Ethernet.

Integrasi yang lebih tinggi 
Mikrokontroler mungkin tidak mengimplementasikan alamat eksternal atau bus data karena mereka mengintegrasikan RAM dan memori non-volatile pada chip yang sama dengan CPU. Dengan menggunakan lebih sedikit pin, chip dapat ditempatkan dalam paket yang jauh lebih kecil dan lebih murah.

Mengintegrasikan memori dan periferal lain pada satu chip dan mengujinya sebagai satu unit akan meningkatkan biaya chip tersebut, namun sering kali mengakibatkan penurunan biaya bersih sistem tertanam secara keseluruhan. Meskipun biaya CPU yang memiliki periferal terintegrasi sedikit lebih mahal dibandingkan biaya CPU dan periferal eksternal, memiliki chip yang lebih sedikit biasanya memungkinkan papan sirkuit yang lebih kecil dan lebih murah, serta mengurangi tenaga kerja yang dibutuhkan untuk merakit dan menguji papan sirkuit, di selain cenderung menurunkan tingkat cacat pada perakitan akhir.

Mikrokontroler adalah sirkuit terpadu tunggal , umumnya dengan fitur-fitur berikut:

unit pemrosesan pusat – mulai dari prosesor 4-bit yang kecil dan sederhana hingga prosesor 32-bit atau 64-bit yang kompleks
memori volatil ( RAM ) untuk penyimpanan data
ROM , EPROM , EEPROM atau memori Flash untuk penyimpanan program dan parameter pengoperasian
bit input dan output terpisah, memungkinkan kontrol atau deteksi keadaan logika pin paket individual
input/output serial seperti port serial ( UART )
antarmuka komunikasi serial lainnya seperti I²C , Serial Peripheral Interface dan Controller Area Network untuk interkoneksi sistem
periferal seperti pengatur waktu , penghitung peristiwa, generator PWM , dan pengawas
generator jam – sering kali merupakan osilator untuk kristal pengatur waktu kuarsa, resonator, atau rangkaian RC
banyak yang menyertakan konverter analog-ke-digital, beberapa menyertakan konverter digital-ke-analog
pemrograman dalam sirkuit dan dukungan debugging dalam sirkuit
Integrasi ini secara drastis mengurangi jumlah chip dan jumlah kabel serta ruang papan sirkuit yang diperlukan untuk menghasilkan sistem setara dengan menggunakan chip terpisah. Selain itu, khususnya pada perangkat dengan jumlah pin rendah, setiap pin dapat dihubungkan ke beberapa periferal internal, dengan fungsi pin dipilih oleh perangkat lunak. Hal ini memungkinkan suatu bagian untuk digunakan dalam variasi aplikasi yang lebih luas dibandingkan jika pin memiliki fungsi khusus.

Mikrokontroler telah terbukti sangat populer dalam sistem tertanam sejak diperkenalkan pada tahun 1970an.

Beberapa mikrokontroler menggunakan arsitektur Harvard : memisahkan bus memori untuk instruksi dan data, sehingga memungkinkan akses dilakukan secara bersamaan. Dengan arsitektur Harvard, instruksi prosesor dapat memiliki ukuran bit yang berbeda dari panjang memori internal dan registernya. Contoh: instruksi 12-bit dan register data 8-bit.

Memutuskan perangkat mana yang akan disertakan cukup sulit. Pelanggan mikrokontroler sering kali mengorbankan frekuensi operasi dan fleksibilitas desain sistem untuk memenuhi persyaratan waktu ke pasar dan pengurangan biaya sistem. Produsen harus menyeimbangkan fungsionalitas tambahan dengan kebutuhan untuk mengurangi ukuran chip.

Arsitektur mikrokontroler bervariasi. Beberapa desain terdiri dari inti mikroprosesor dan satu atau lebih fungsi ROM, RAM, atau I/O yang terpasang di dalam paket. Desain lainnya dirancang khusus untuk aplikasi operasional. Kumpulan instruksi bitwise menyediakan banyak instruksi untuk manipulasi bit (operasi berorientasi bit) untuk membuat program berjalan lebih efisien.  Misalnya, prosesor tujuan umum memiliki beberapa instruksi untuk menguji bit di register dan cabang jika bit tersebut disetel, dan biasanya ada satu instruksi untuk mikrokontroler untuk memberikan tindakan yang diperlukan. Tak sebanyak itu. Karena ini adalah prosesor matematika, operasi floating point sudah dilakukan di perangkat lunak. Namun, beberapa desain baru menyertakan fitur yang dioptimalkan FPU dan DSP. Contohnya adalah jalur MIPS PIC32 Microchip.

Lingkungan pemrograman
Mikrokontroler awalnya hanya diprogram dalam bahasa assembly , namun berbagai bahasa pemrograman tingkat tinggi , seperti C , Python , dan JavaScript , kini juga umum digunakan untuk menargetkan mikrokontroler dan sistem tertanam .  Kompiler untuk bahasa tujuan umum biasanya memiliki beberapa batasan serta peningkatan untuk lebih mendukung karakteristik unik mikrokontroler. Beberapa mikrokontroler mempunyai lingkungan untuk membantu pengembangan jenis aplikasi tertentu. Vendor mikrokontroler sering kali menyediakan alat secara gratis untuk memudahkan adopsi perangkat keras mereka.

Mikrokontroler dengan perangkat keras khusus mungkin memerlukan dialek C non-standarnya sendiri, seperti SDCC untuk 8051 , yang mencegah penggunaan alat standar (seperti pustaka kode atau alat analisis statis) bahkan untuk kode yang tidak terkait dengan fitur perangkat keras. Penerjemah juga dapat berisi fitur-fitur yang tidak standar, seperti MicroPython , meskipun sebuah fork, CircuitPython , berupaya memindahkan dependensi perangkat keras ke perpustakaan dan menjadikan bahasa tersebut mematuhi standar CPython yang lebih banyak .

Firmware juru bahasa juga tersedia untuk beberapa mikrokontroler. Misalnya BASIC mikrokontroler Intel 8052 pertama;  BASIC dan FORTH pada Zilog Z8  dan beberapa perangkat keras yang lebih baru. Biasanya, konverter ini mendukung pemrograman interaktif.

Beberapa mikrokomputer tersedia komputer. Hal ini memungkinkan pengembang untuk menganalisis perilaku mikrokontroler dan programnya saat menggunakan komponen secara real-time. Simulator menunjukkan keadaan dan keluaran prosesor internal dan mengirimkan sinyal masukan ke keluaran. Di satu sisi, sebagian besar simulator terbatas karena tidak dapat mensimulasikan sebagian besar perangkat lain dalam sistem, namun dapat melakukan prosedur yang sulit untuk menghasilkan apa yang diperlukan dalam implementasi fisik, dan ini adalah cara tercepat untuk melakukan debug. Jadi kami menganalisisnya. Masalah.

Mikrokontroler saat ini sering kali menyertakan sirkuit debug pada chip yang memungkinkan proses debug melalui debugger ketika diakses melalui emulator internal (ICE) melalui JTAG. ICE waktu nyata memungkinkan Anda melihat atau memanipulasi gambar saat sedang berjalan. Trace ICE dapat merekam program yang dijalankan dan status MCU sebelum dan sesudah fase boot.
 

Jenis 

Pada tahun 2008 , terdapat beberapa lusin arsitektur dan vendor mikrokontroler termasuk:

  • Prosesor inti ARM (banyak vendor)

    • Inti ARM Cortex-M secara khusus ditargetkan untuk aplikasi mikrokontroler

  • Teknologi Microchip Atmel AVR (8-bit), AVR32 (32-bit), dan AT91SAM (32-bit)

  • Inti M8C Cypress Semiconductor digunakan dalam PSoC (Programmable System-on-Chip) mereka

  • ColdFire skala bebas (32-bit) dan S08 (8-bit)

  • Freescale 68HC11 (8-bit), dan lainnya berdasarkan keluarga Motorola 6800

  • Intel 8051 , juga diproduksi oleh NXP Semiconductors , Infineon dan banyak lainnya

  • Infineon : 8-bit XC800 , 16-bit XE166 , 32-bit XMC4000 (ARM berbasis Cortex M4F), 32-bit TriCore dan, mikrokontroler Aurix Tricore Bit 32-bit 

  • Pepatah Terintegrasi MAX32600, MAX32620, MAX32625, MAX32630, MAX32650, MAX32640

  • MIPS

  • Teknologi Microchip PIC , (8-bit PIC16, PIC18, 16-bit dsPIC33 / PIC24), (32-bit PIC32)

  • Semikonduktor NXP LPC1000, LPC2000, LPC3000, LPC4000 (32-bit), LPC900, LPC700 (8-bit)

  • Baling-Baling Paralaks

  • PowerPC ISE

  • Kelinci 2000 (8-bit)

  • Renesas Elektronik : RL78 16-bit MCU ; RX MCU 32-bit ; SuperH ; V850 MCU 32-bit ; H8 ; R8C MCU 16-bit

  • Silicon Laboratories Menyalurkan mikrokontroler 8-bit 8051 dan mikrokontroler 32-bit berbasis sinyal campuran ARM

  • STMicroelectronics STM8 (8-bit), ST10 (16-bit), STM32 (32-bit), SPC5 (otomotif 32-bit)

  • Texas Instruments TI MSP430 (16-bit), MSP432 (32-bit), C2000 (32-bit)

  • Toshiba TLCS-870 (8-bit/16-bit)

Masih banyak lagi yang lain, beberapa di antaranya digunakan dalam rentang aplikasi yang sangat sempit atau lebih mirip prosesor aplikasi daripada mikrokontroler. Pasar mikrokontroler sangat terfragmentasi, dengan banyak vendor, teknologi, dan pasar. Perhatikan bahwa banyak vendor menjual atau telah menjual banyak arsitektur.

Latensi interupsi
Berbeda dengan komputer tujuan umum, mikrokontroler yang digunakan dalam sistem tertanam sering kali berupaya mengoptimalkan latensi interupsi dibandingkan throughput instruksi. Permasalahannya mencakup pengurangan latensi dan membuatnya lebih mudah diprediksi (untuk mendukung kontrol real-time).

Ketika perangkat elektronik menyebabkan interupsi, selama peralihan konteks, hasil antara (register) harus disimpan sebelum perangkat lunak yang bertanggung jawab menangani interupsi dapat dijalankan. Mereka juga harus dipulihkan setelah penanganan interupsi selesai. Jika terdapat lebih banyak register prosesor , proses penyimpanan dan pemulihan ini mungkin memerlukan waktu lebih lama, sehingga meningkatkan latensi. (Jika ISR tidak memerlukan penggunaan beberapa register, maka ISR mungkin akan membiarkannya begitu saja dibandingkan menyimpan dan memulihkannya, sehingga dalam hal ini register tersebut tidak terlibat dengan latensi.) Cara untuk mengurangi konteks tersebut/memulihkan latensi termasuk memiliki relatif sedikit register di unit pemrosesan pusatnya (tidak diinginkan karena memperlambat sebagian besar pemrosesan non-interupsi secara substansial), atau setidaknya perangkat keras tidak menyimpan semuanya (ini gagal jika perangkat lunak kemudian perlu memberikan kompensasi dengan menyimpan sisanya "secara manual") . Teknik lainnya adalah dengan menggunakan port silikon untuk "pengecoran bayangan". Satu atau lebih register yang hanya digunakan oleh perangkat lunak interupsi (yang mungkin mendukung tumpukan terpisah).

Hal lain yang memengaruhi durasi interupsi meliputi:

  • Perubahan yang diperlukan untuk menyelesaikan tugas CPU saat ini. Ini adalah sebuah masalah. Untuk mengurangi biaya ini, mikrokomputer memiliki pipa pendek (tiga instruksi atau kurang) dan kerangka tata letak kecil yang dapat meneruskan dan mengulangi instruksi panjang. Prinsip desain RISC memastikan bahwa sebagian besar instruksi memiliki jumlah siklus yang sama, sehingga menghilangkan kebutuhan akan kontinuitas/pembaruan logika.

  • Setiap bagian utama memiliki durasi yang wajar. ini sudah berakhir Akses ke struktur data terbatas saat menavigasi ke bagian yang besar. Jika penangan interupsi perlu mengakses struktur data, bagian kritis harus memblokir interupsi. Semakin lama waktu menganggur, semakin lama pula waktu menganggurnya. Ketika ada kendala eksternal yang kuat pada latensi sistem, pengembang sering kali memerlukan alat untuk mengukur latensi interupsi dan melacak komponen penting mana yang melambat.

    • Metode yang umum adalah menghilangkan semua hambatan secara massal. . Cukup Penerapannya mudah, namun terkadang bagian utamanya memerlukan waktu.

    • Metode yang lebih rumit mencegah akses ke struktur data tersebut. Hal ini sering kali didasarkan pada prioritas interupsi yang tidak sesuai dengan struktur data sistem yang benar. Oleh karena itu, teknologi ini digunakan dalam situasi yang sangat terbatas.

    • Prosesor perangkat hanya mendukung fungsi dasar tertentu. Hal ini mencakup, misalnya, dukungan untuk akses atomik ke bit atau byte sebuah kata, atau dukungan akses atomik lama lainnya, seperti akses LDREX/STREX khusus yang diperkenalkan dalam arsitektur ARMv6.

  • memecahkan sarang. Beberapa mikrokontroler mengizinkan interupsi dengan prioritas lebih tinggi untuk mengesampingkan interupsi dengan prioritas lebih rendah. Hal ini memungkinkan perangkat lunak mengelola latensi dengan mengirimkan interupsi real-time dengan prioritas lebih tinggi (latensi lebih rendah dan lebih dapat diprediksi) dibandingkan interupsi tingkat rendah.

  • Tingkat pengaktifan. Saat terjadi interupsi, mikrokontroler mungkin menghindari peralihan konteks pemulihan/pemulihan tambahan menggunakan semacam pengoptimalan panggilan antrean.

Mikrokontroler kelas bawah mungkin kurang mendapat dukungan. Interupsi Mikrokontroler Tingkat Lanjut.

Teknologi memori

Dua jenis memori berbeda yang biasa digunakan dengan mikrokontroler, memori non-volatil untuk menyimpan firmware dan memori baca-tulis untuk data sementara.

Data
Dari mikrokontroler paling awal hingga saat ini, SRAM enam transistor hampir selalu digunakan sebagai memori kerja baca/tulis, dengan beberapa transistor lagi per bit digunakan dalam file register .

Selain SRAM, beberapa mikrokontroler juga memiliki EEPROM internal dan/atau NVRAM untuk penyimpanan data; dan yang tidak memilikinya (seperti BASIC Stamp ), atau yang memori internalnya tidak mencukupi, sering kali dihubungkan ke EEPROM eksternal atau chip memori flash.

Beberapa mikrokontroler mulai tahun 2003 memiliki memori flash yang "dapat diprogram sendiri". 

Firmware
Mikrokontroler paling awal menggunakan mask ROM untuk menyimpan firmware . Mikrokontroler selanjutnya (seperti versi awal Freescale 68HC11 dan mikrokontroler PIC awal ) memiliki memori EPROM , yang menggunakan jendela tembus pandang untuk memungkinkan penghapusan melalui sinar UV, sedangkan versi produksi tidak memiliki jendela seperti itu, karena OTP (dapat diprogram satu kali) . Pembaruan firmware setara dengan mengganti mikrokontroler itu sendiri, sehingga banyak produk yang tidak dapat diupgrade.

Motorola MC68HC805  adalah mikrokontroler pertama yang menggunakan EEPROM untuk menyimpan firmware. Mikrokontroler EEPROM menjadi lebih populer pada tahun 1993 ketika Microchip memperkenalkan PIC16C84  dan Atmel memperkenalkan mikrokontroler 8051-core yang pertama menggunakan memori NOR Flash untuk menyimpan firmware.  Kebanyakan mikrokontroler saat ini menggunakan memori flash, dengan beberapa model menggunakan FRAM dan beberapa unit mahal masih menggunakan OTP atau mask ROM.
 

Disadur dari: https://en.wikipedia.org/wiki/Microcontroller