Mikropengawal | Jenis, Perbedaan dengan Mikropemproses

Dalam artikel sebelumnya kita telah membincangkan sepenuhnya mengenai definisi mikro pengawal atau microcontroller.

Nah, dalam artikel ini akan dibincangkan dengan lebih lengkap mengenai mikropengawal, seperti sejarah, jenis, dan perbezaan dengan mikropemroses.

Sesungguhnya, dalam zaman yang semakin moden ini peranan microcontroller sangat penting. Terdapat banyak peralatan yang kita gunakan dalam kehidupan seharian kita yang menggunakan peranti ini.

Sejarah Microcontroller

Anda perlu tahu bahawa pada asasnya sejarah mikropengawal tidak boleh dipisahkan daripada sejarah mikropemproses dan juga komputer.

Bermula dari penemuan microprocessor, kemudian penemuan komputer, dan selepas itu microcontroller. Berikut adalah sejarah lengkap microcontroller.

Tahun 1617John Napier mencipta sistem untuk melakukan pendaraban serta pembahagian berdasarkan algoritma.
Tahun 1694Gottfried Wilhelm Leibniz membuat mesin mekanikal yang boleh melakukan operasi tambahan, penolakan, pendaraban, pembahagian, dan punca kuasa dua.
Tahun 1835Charles Babbage mencadangkan komputer digital pertama di dunia menggunakan punched card untuk data serta arahan, dan program kawalan dengan unit aritmetik dan unit penyimpanan.
Tahun 1850George Boole, membangunkan simbol logik termasuk operasi binari.
Tahun 1946Von Neumann mencadangkan bahawa arahan menjadi kod angka yang boleh disimpan dalam ingatan. Komputer dan semua microcontroller adalah berdasarkan komputer Von Neumann.
Tahun 1848Mula dibangunkan hardware penting dengan konsep software, iaitu transistor.
Tahun 1959IC (Integrated Circuit) pertama dibuat.
Tahun 1971Intel (Integrated Electronics) membuat mikropemproses pertama, iaitu Intel 4004.
Tahun 1972Microcontroller pertama dibuat oleh Gary Boone dari TI (Texas Instrumen), iaitu TMS 1000.
Tahun 1975Microcontroller PIC (Peripheral Interface Controller / Programmable Intelligent Computer) pertama kali dibangunkan dan dibuat di Universiti Harvard.
Tahun 1976Intel membuat microcontroller pertama mereka yang dinamakan Intel 8084.

Jenis Mikropengawal

jenis mikropengawal

Pada asasnya terdapat beberapa klasifikasi jenis mikropengawal, iaitu seperti berikut:

Berdasarkan Bus Width

Bus dalam microcontroller merujuk kepada garis selari sambungan antara pelbagai komponen dalam microcontroller.

Fungsi bus dalam microcontroller adalah untuk menghantar arahan dan data antara CPU, memori, dan I/O. Dalam microcontroller terdapat 3 jenis bus, iaitu data bus, address bus, dan control bus.

susun atur bas dalam mikropengawal

Lebar bus yang dirujuk di sini merujuk kepada bilangan garis selari atau kabel atau sambungan yang berada di dalam bus.

Semakin luas bus di dalam microcontroller, ketepatan dan prestasi keseluruhan microcontroller semakin meningkat. Berdasarkan lebar bus, microcontroller dibahagikan kepada beberapa jenis, iaitu seperti berikut:

Mikropengawal 8 Bit

Seperti namanya, jenis microcontroller ini mempunyai lebar bus 8 bit (1 bait). Ini bermakna bahawa microcontroller ini boleh memindahkan dan memproses 8 bit data dalam satu kitaran.

Halangan yang akan timbul adalah dalam operasi matematik, kerana ALU (Arithmetic Logic Unit) dalam microcontroller ini juga adalah 8 bit.

Oleh itu, apabila memproses data besar seperti 16 bit, microcontroller ini akan menggunakan beberapa kitaran untuk melengkapkan fungsi matematik yang mudah.

Sudah tentu ini akan meningkatkan masa penyelesaian atau dengan kata lain mempunyai prestasi yang buruk dari litar logik keseluruhan.

Ciri utama microcontroller 8 bit adalah timer. Timer dalam jenis ini mempunyai julat maksimum 0x00 (0) hingga 0xFF (255).

Ini sudah tentu akan menyebabkan fungsi masa tidur tidak sesuai. Beberapa contoh microcontroller 8-bit adalah Intel 8031/8051, PIC1x, dan Motorola MC68HC11.

Mikropengawal 16 Bit

Lebar bus pada jenis microcontroller ini adalah 16 bit atau sama dengan 2 bait. ALU dalam microcontroller ini adalah 16 byte.

Ini sudah tentu akan menghasilkan prestasi yang lebih cekap jika dibandingkan dengan jenis 8 bit.

Di samping itu, timer 16-bit boleh memberikan julat yang agak luas jika dibandingkan dengan 8 bit, iaitu 0x0000 (0) hingga 0xFFFF (65535).

Ini sudah tentu akan dapat memberikan ketepatan terbaik untuk sebarang aplikasi atau pekerjaan yang memerlukan fungsi timer.

Terdapat beberapa contoh biasa microcontroller 16-bit, iaitu 8051XA, PIC2x, Intel 8096 dan Motorola MC68HC12.

Mikropengawal 32 Bit

Seperti namanya, microcontroller 32-bit tentu saja mempunyai lebar bus 32 bit atau sama dengan 4 byte.

Kerana microcontroller ini mempunyai lebar bas yang lebih besar daripada jenis sebelumnya, oleh itu jenis ini mempunyai prestasi dan ketepatan yang lebih tinggi daripada 16 bit dan 8 bit.

Kerana jenis ini mempunyai prestasi terbaik dari jenis sebelumnya, harga jualan microcontroller jenis ini juga lebih mahal.

Mempunyai kelajuan pemprosesan yang lebih tinggi menjadikan mikropengawal ini dapat melakukan pelbagai tugas kompleks seperti pemprosesan audio, video, imej, dan sebagainya.

Terdapat beberapa contoh biasa microcontroller 32-bit, iaitu Intel atau Atmel 251, dan PIC3x.

Berdasarkan Memory

Selain dibezakan oleh lebar bus, microcontroller juga dibezakan berdasarkan memory, iaitu seperti berikut:

Embedded Memory

mikropengawal dengan memory internal

Microcontroller jenis ini mempunyai semua blok memori atau modul penting yang dibenamkan dalam satu pakej.

Beberapa blok functional yang bersangkutan adalah CPU, timers / counters, interrupts, I/O, dan sebagainya.

Blok memori sedia ada ini mempunyai sifat tetap dan tidak boleh dialih keluar, tetapi untuk microcontroller yang mempunyai ciri sokongan ROM luaran, mereka boleh mengembangkan memori storannya.

External Memory

microcontroller dengan memory external

Jenis microcontroller ini tidak mempunyai blok memori penting dalam cipnya dan perlu disambungkan secara luaran untuk berfungsi.

Penggunaan modul luaran sudah tentu boleh meningkatkan saiz keseluruhan peranti.

Berdasarkan Instruction Set

Set arahan atau biasanya dipanggil ISA (Instruction Set Architecture) adalah sebahagian daripada microcontroller yang bertindak untuk memerintahkan mikropemproses untuk melaksanakan fungsi tertentu.

Set arahan ini termasuk addressing modes, instructions, data types, registers, interrupts dan juga external I/O.

Terdapat beberapa arahan dalam microcontroller, seperti membaca, menulis, menyalin, memindahkan, menambah, menolak, mendarab, membahagi, membandingkan, memanggil ke alamat lokasi, dan sebagainya.

Satu set arahan yang kompleks dicipta daripada beberapa kombinasi arahan yang mudah. Set arahan digunakan untuk arahan yang memerlukan beberapa langkah termasuk penggunaan beberapa blok functional.

beberapa fungsi kompleks yang wujud dalam microcontroller, contohnya, seperti memindahkan data dari atau ke beberapa registers, menyalin rentetan data, punca kuasa dua, log, sinus, dan sebagainya.

Berdasarkan set arahan, microcontroller terdiri daripada beberapa jenis, iaitu seperti berikut:

CISC (Complex Instruction Set Computer)

CISC (Complex Instruction Set Computer) ialah sejenis microcontroller yang direka dengan tujuan untuk dapat menjalankan pelbagai arahan yang kompleks.

Jenis ini boleh melaksanakan berbilang arahan atau langkah menggunakan satu arahan. Kelebihan jenis ini ialah saiz program yang kecil.

Walau bagaimanapun, kerana jenis ini mempunyai saiz set arahan yang besar dengan banyak mod pengalamatan, jenis ini memerlukan beberapa kitaran mesin untuk dilaksanakan dan menyebabkan masa yang lebih lama untuk dilaksanakan.

Satu lagi masalah ialah pelaksanaan selari arahan yang mustahil dilakukan dalam CISC. Contoh jenis microcontroller ini adalah Intel 80C51 dan Motorola 68HC11.

RISC (Reduced Instruction Set Computer)

RISC ialah sejenis microcontroller yang direka untuk melaksanakan pelbagai arahan mudah yang lebih kecil daripada CISC.

Kerana jenis ini memerlukan satu kitaran mesin untuk melaksanakan satu arahan, bilangan arahan boleh dikurangkan untuk melaksanakan tugas yang kompleks pada kelajuan yang lebih tinggi daripada CISC.

Jenis ini mempunyai saiz set arahan yang kecil dan mod program yang ditulis biasanya sangat panjang dan terdiri daripada banyak baris. Contoh jenis microcontroller ini adalah COP8 dan PIC2 atau 16CXX.

Berdasarkan Senibina Mikropengawal

Pada asasnya seni bina microcontroller adalah satu set peraturan yang mentakrifkan kefungsian dan pelaksanaan microcontroller.

Memori program (ROM / Read Only Memory) digunakan untuk menyimpan dan juga mengakses kod atau arahan.

Manakala memori data (RAM / Random Access Memory) digunakan untuk menyimpan dan juga mengakses data yang digunakan oleh pelbagai arahan.

Terdapat 2 jenis seni bina yang berbeza antara satu sama lain berdasarkan penggunaan memori tunggal atau berasingan untuk data dan arahan ini, iaitu seperti berikut:

Mikropengawal Senibina Harvard

mikropengawal senibina harvard

Microcontroller yang menggunakan seni bina Harvard mempunyai storan memori yang berasingan secara fizikal untuk kod program atau arahan dan data.

Oleh itu, kedua-dua memory itu mempunyai laluan bus yang berasingan dan boleh diakses oleh kedua-duanya pada masa yang sama.

Oleh itu, microprocessor berdasarkan seni bina Harvard boleh melengkapkan arahan dalam satu kitaran mesin.

Oleh kerana microcontroller ini mempunyai 2 laluan bas yang berasingan secara fizikal, reka bentuk microcontroller ini lebih kompleks dan memerlukan kos yang lebih tinggi.

Mikropengawal Senibina Von Neumann (Princeton)

mikropengawal senibina von neumann

Microcontroller yang menggunakan arsitektur Von Neumann atau Princeton menggunakan memori tunggal yang digunakan untuk program dan penyimpanan data.

Konsep ini dicadangkan oleh Von Neumann yang merupakan ahli matematik pada tahun 1946. Konsep ini juga merupakan konsep yang paling banyak digunakan di seluruh peranti sedia ada setakat ini.

Terdapat hanya satu bus yang diperlukan untuk mengakses data dan juga mengambil arahan. Oleh itu, kedua-dua operasi tidak boleh dilakukan pada masa yang sama dan mesti dilakukan secara bergantian.

Inilah sebabnya mengapa microcontroller berasaskan seni bina Von Neumann memerlukan dua kitaran mesin untuk menyelesaikan arahan.

Oleh kerana jenis ini hanya menggunakan sistem bus tunggal, reka bentuk microcontroller jenis ini adalah mudah dan kos pembuatan juga lebih murah jika dibandingkan dengan seni bina Harvard.

Contoh Mikro pengawal yang Biasa digunakan

Terdapat beberapa contoh microcontroller yang sering digunakan, iaitu seperti berikut:

1. PIC

pic peripheral interface controller

PIC (Peripheral Interface Controller) adalah salah satu microcontroller yang menggunakan senibina Harvard.

PIC digunakan secara meluas untuk pembangunan sistem elektronik dalam kenderaan, robotik, peranti perubatan, mesin pejabat, dan sebagainya.

PIC adalah keluarga microcontroller yang dibuat menggunakan teknologi microchip. Ini boleh diprogramkan dengan mudah melalui software dengan menggunakan bahasa Assembly, C, atau basic C untuk menyelesaikan tugas tertentu.

Biasanya PIC boleh didapati dalam 8 bit dan 16 bit, tetapi kini boleh didapati 32 bit dan sudah menggunakan RISC.

2. Intel 8051

intel 8051

8051 adalah microcontroller yang paling umum dan murah yang dibuat oleh Intel pada tahun 1981. 8051 adalah berdasarkan seni bina CISC Harvard kerana 8051 mempunyai memori program dan memori data yang berasingan.

Secara umum, 8051 digunakan dalam projek elektronik terutamanya untuk tujuan pembelajaran. Di samping itu, 8051 juga boleh digunakan untuk peranti yang boleh melakukan tugas tertentu seperti penggera kebakaran, penderiaan suhu, dan sebagainya.

3. AVR

avr alf and vegards risc processor

AVR bermaksud (Alf and Vegard’s RISC Processor) kerana AVR mula-mula dibangunkan oleh Alf-Egil Bogen dan Vegard Wollan yang merupakan pelajar Norway.

AVR adalah microcontroller yang dibangunkan oleh Atmel sejak tahun 1996 dan Microchip sejak 2016.

Sama seperti PIC dan 8051, AVR juga menggunakan seni bina yang diubah suai di Harvard. Jika dibandingkan dengan PIC dan juga 8051, AVR pasti mempunyai kelajuan yang lebih tinggi.

AVR biasanya boleh didapati dalam beberapa kategori, iaitu TinyAVR, MegaAVR, XMEGAAVR, Application Specific AVR, dan AVR 32-bit.

Mikropengawal AVR yang paling biasa digunakan adalah jenis MegaAVR yang dikenali sebagai ATmega16, ATmega32, dan ATmega64.

Perbezaan antara MegaAVR ini adalah ruang penyimpanan flash 16Kb, 32Kb, dan 64Kb yang dikenal pasti dengan nombor terakhir dalam namanya.

4. ARM

arm advanced risc machine

ARM bermaksud Advanced RISC Machine dan merupakan keluarga microcontroller yang menggunakan Arsitektur Harvard dan Von Neumann.

Di samping itu, ARM juga menggunakan set arahan RISC yang menawarkan pelaksanaan arahan pantas.

ARM adalah pilihan popular yang digunakan untuk peranti elektronik pegang tangan seperti telefon bimbit, tablet, multimedia players, dan sebagainya.

5. RENESAS

renesas renaissance semiconductor for advanced solutions

RENESAS bermaksud (Renaissance Semiconductor for Advanced Solutions) yang menawarkan ciri prestasi terbaik selain penggunaan kuasa yang sangat rendah dan pembungkusan compact.

Oleh kerana RENESAS mempunyai kapasiti memori yang besar dan sebilangan besar pin, RENESAS digunakan dalam pelbagai aplikasi tertanam kawalan automotif canggih.

RL78 dan RX adalah yang paling popular digunakan kerana diketahui mempunyai penggunaan kuasa yang rendah dan mempunyai prestasi yang tinggi.

Perbedaan Mikropemproses, dan Mikropengawal

perbedaan mikropemproses dan mikropengawal

Kebanyakan orang hari ini berfikir bahawa microcontroller dengan microprocessor adalah perkara yang sama, tetapi kedua-duanya berbeza.

Terdapat beberapa perbezaan antara microcontroller dan microprocessor, iaitu seperti berikut:

MikropengawalMikropemroses
Digunakan untuk melaksanakan satu tugas dalam aplikasi.Digunakan untuk aplikasi yang lebih besar.
Dibina menggunakan teknologi CMOS, yang memerlukan sedikit kuasa untuk beroperasi.Kerana ia perlu mengawal keseluruhan sistem, jadi penggunaan kuasa adalah tinggi.
Terdiri daripada port I/O, ROM, RAM, dan CPU.Tidak terdiri daripada RAM, ROM, dan port I/O. Pin digunakan untuk menyambung ke peranti peripheral.
Mudah diganti.Tidak mudah diganti.
MurahMahal
Pada masa ini kelajuan purata adalah antara 1Mhz hingga 300Mhz.Pada masa ini kelajuan purata adalah antara 1Ghz hingga 4Ghz.