Dunia
Mikroprosesor dan Mikrokontroler
1.1. Mikroprosesor
Peranan elektronika disegala bidang
menjadi semakin besar diabad ke dua satu ini. Bermula dari penerapan rangkaian
elektronika analog, kemudian digital dan kini hampir semua peralatan
menggunakan sistem mikroprosesor , misalnya; perangkat yang dekat dengan kita,
seperti handphone, televisi, radiocassete, mesin cuci sampai ke instrumen ruang
angkasa.
Banyak jenis mikroprosesor telah
dibuat dengan kemampuan dan fungsi yang berbeda, tetapi secara prinsip cara
kerjanya sama. Perangkat keras dibuat menjadi semakin canggih, jutaan
transistor dijejalkan didalamnya, miniaturisasi dimensi semakin ditingkatkan
dengan kemampuan mengolah program yang lebih komplek sehingga memungkinkan
untuk aplikasi di segala bidang. Perkembangan perangkat lunak juga berkembang
tak terbatas, seakan hanya dibatasi oleh kemampuan imajinasi manusia saja.
Pada mulanya mikroprosesor terdiri
dari beberapa komponen chip digital yang satu sama lainnya digabungkan dalam
suatu PCB dan dikoneksikan satu dengan yang lain sesuai dengan fungsi rangkaiannya.
Ide pertama membangun suatu mikroprosesor dalam suatu IC dikemukakan oleh Intel
Corporation pada tahun 1969. Tahun 1971 adalah tahun pertama kali mikroprosesor
dalam satu IC dipasarkan yaitu Intel 4004, mikroprosesor yang menggunakan
teknologi PMOS 4 bit, tahun 1976 Intel meluncurkan mikrokontroler pertama yang
disebut seri MCS-48 yang berisi lebih dari 17.000 transistor, hingga saat ini
seri ini masih digunakan untuk aplikasi khusus. Saat ini, tahun 2005, prosesor
canggih dari Intel adalah Pentium IV yang berisi jutaan transitor didalamnya
dan dengan kecepatan orde gigahertz, disamping itu banyak yang membuat
kompatibelnya, seperti prosesor AMD. Dunia mikrokontroler juga berkembang pesat
dengan hadirnya ratusan jenis mikrokontroler dan kompatibelnya, seperti turunan
dari MCS-51, 68HC11, PIC microcontroller, Fujitsu dan sebagainya.
Dalam perkembangannya, mikroprosesor
dibuat menurut kebutuhan aplikasinya yang lebih spesifik, dalam hal ini
menjadi beberapa jenis, yaitu;
- Mikoprosesor RISC (Reduced Instruction Set of
Computing) dan CISC (Complex Instruction Set of Computing). Jenis
ini yang digunakan untuk pengolahan informasi dengan software yang rumit
dan digunakan untuk kebanyakan PC saat ini.
- Pengolah Sinyal Digital – DSP (Digital Signal
Processor). Memiliki software dan hardware yang ditujukan untuk
mempermudah memproses sinyal-sinyal digital. Digunakan pada perangkat
audio – video modern seperti VCD, DVD, home teatre dan juga pada card-card
multimedia di komputer.
- Mikrokontroler, adalah mikroprosesor yang dikhususkan
untuk instrumentasi dan kendali. Contoh aplikasi pada kendali motor,
berperan seperti PLC (Programmable Logic Controller), pengaturan
pengapian dan injeksi bahan bakar pada kendaraan bermotor atau alat
mengukur suatu besaran, seprti suhu, tekanan, kelembaban dan lain-lain.
1.2. Isi dari sebuah IC
Dalam perkembangannya yang begitu
cepat, batasan-batasan tersebut menjadi kabur, seperti definisi mini, mikro dan
mainframe komputer beberapa saat lalu. Beberapa mikrokontroler disebut embedded
processor, atau embedded processor adalah mikrokontroler, artinya
prosesor yang diberikan program khusus yang selanjutnya diaplikasikan untuk
akusisi data dan kendali khusus, dan bisa diprogram ulang. Sementara itu
prosesor ‘kuno’ Intel 486 juga telah digunakan untuk kendali instrumentasi
dalam bentuk kemasan motherboard yang tahan terhadap lingkungan industri dan
diprogram khusus untuk aplikasi kendali industri. Aplikasi DCS (Distributed
Control System) yang digunakan di industri besar, juga menggunakan prosesor
canggih untuk instrumentasinya., bahkan monitor dan kendali bisa dilakukan lewat
internet. Beberapa mikrokontroller modern juga sudah dilengkapi dengan DSP atau
mikrokontroller yang tergolong RISC.
Mempelajari mikroprosesor semacam
pentium atau seri 80XXX sangat sulit, terutama bagi yang baru mempelajari
mikroprosesor, karena begitu banyak fungsi dan bagian-bagian yang cukup rumit,
belum lagi perkembangannya yang begitu cepat, sehingga sebelum selesai belajar
produk lama, produk baru sudah muncul dengan konfigurasi yang berbeda, meskipun
demikian pengetahuan dasar mikroprosesor dapat dimengerti dengan mudah dan
dapat diterapkan untuk aplikasi sederhana.
Mikroprosesor adalah piranti keras
yang tidak akan bisa bekerja kalau tidak ada perangkat lunak. Inilah yang
membedakan mikroprosesor dengan rangkaian digital diskrit. Kemampuannya untuk
diprogram, dan diprogram ulang adalah suatu kelebihan didalam sistem
mikroprosesor. Contohnya dalam suatu sistem pengendali lampu lalu lintas dengan
rangkaian diskrit perlu menambahkan atau merubah rangkaian bila diperlukan
perubahan sistem, tetapi dengan sistem mikroprosesor, bisa dilakukan dengan
hanya merubah program. Perhatikan juga bahwa PC saat ini bisa multi fungsi
dengan hanya mengganti programnya saja.
Hampir semua fungsi rangkaian
digital dapat diambil alih oleh suatu sistem mikroprosesor atau mikrokontroler,
tetapi tidak perlu semua rangkaian digital harus dengan sistem mikroprosesor.
Rangkaian yang sederhana cukup direalisasikan dengan komponen diskrit akan
lebih menghemat dana, waktu dan justru bisa lebih handal. Disamping itu untuk
rangkaian digital yang memerlukan kecepatan sangat tinggi, masih diperlukan
rangkaian digital diskrit, sebagai contoh sederhana suatu fungsi AND gate dapat
diemulasikan dengan suatu mikroprosesor dengan program tertentu, fungsi AND
dengan AND gate dieksekusi dalam orde nanodetik, sedangkan dengan mikroprosesor
memerlukan waktu dalam orde mikro atau milli detik. Meskipun demikian dengan
makin majunya teknologi, kendala kecepatan tersebut menjadi hilang, sebagai
contoh rangkaian dekoder MPEG, tadinya memerlukan card khusus dalam suatu PC
(hardware), kini dapat dilakukan dengan hanya mengisntall program saja asalkan
komputernya memiliki kecepatan tinggi.
Secara umum suatu sistem
mikroprosesor akan memiliki kelebihan dibanding sistem diskrit atau dengan
digital IC sebagai berikut;
- Reprogrammable, artinya dapat diprogram ulang untuk
mendapatkan fungsi yang berbeda
- Rangkaian lebih terintegrasi, lebih kompak, sederhana
dan tidak rumit, memudahkan membuat PCB.
- Fleksibel dalam pengembangannya
Selain
itu perlu diperhatikan kekurangannya sebagai berikut;
- Banyak jenis mikroprosesor dengan bahasa yang berbeda,
yang mana satu sama lain kadang tidak kompatibel, sehingga menyulitkan
pemakai dalam pengembangannya.
- Kerusakan software berakibat sistem macet dan tidak
dapat diperbaiki jika tidak diketahui kode-kodenya.
- Ketergantungan pada pembuat software
- Sistem mikroprosesor lebih sensitif terhadap ganguan
derau dari luar.
- Kecepatan relatif rendah.
- Cepat usang (obsolete)
1.3. Mikrokontroler
Sebagaimana dijelaskan diatas,
mikrokontroler adalah pengembangan dari mikroprosesor untuk keperluan
instrumentasi ‘sederhana’, misalnya untuk pengaturan motor, pengaturan
permukaan cairan, pengukuran suhu, pH, konduktifitas, aplikasi PLC sederhana
dan semacamnya. Mikrokontroler adalah suatu chip yang dibuat dengan ciri-ciri
kekhasannya, biasanya adalah ;
- Memiliki memory internal relatif sedikit.
- Memiliki unit I/O langsung
- Pemroses bit, selain byte
- Memiliki perintah / program yang langsung berhubungan
dengan I/O
- Program relatif sederhana.
- Beberapa varian memiliki memori yang tidak hilang bila
catu padam didalamnya untuk menyimpan program
Sedangkan dalam hal aplikasi, sistem
mikokontroler memiliki karakteristik sebagai berikut;
- Memiliki program khusus yang disimpan dalam memori
untuk aplikasi tertentu, tidak seperti PC yang multifungsi karena mudahnya
memasukan program. Program mikrokontroler relatif lebih kecil daripada
program-program pada PC.
- Konsumsi daya kecil.
- Rangkaian sederhana dan kompak
- Murah, karena komponen sedikit
- Unit I/O yang sederhana, misalnya keypad, LCD, LED,
Latch.
- Lebih tahan terhadap kondisi lingkungan ekstrem
misalnya temperatur, tekanan, kelembaban dan sebagainya.
Untuk mempelajari mikrokontroler
perlu praktek, atau minimal dengan suatu simulatornya, tanpa praktek tidak akan
didapat apa-apa. Untuk mempelajari suatu mikrokontroler atau ingin
mengaplikasikan mikrokontroler untuk kendali atau kontrol harus diperhatikan
hal-hal sebagai berikut;
- Layaklah digunakan suatu sistem mikrokontroler ?. Jika
rangkaian terlalu sederhana cobalah dengan rangkaian diskrit saja. Sebagai
contoh, jika ingin membuat flasher (lampu kedap-kedip), tidaklah
perlu dengan rangkaian mikrokontroler, tetapi jika durasi kedap-kedip
diinginkan sangat presisi dan mudah diubah, maka dengan mikrokontroler
adalah solusi yang baik.
- Apakah mikrokontroler mudah didapat dipasaran ?. Faktor
keberadaan barang sangat mendukung untuk berekperimen.
- Apakah harganya terjangkau ?. Berekperimen dengan
mikrokontroler kemungkinan membuat chip menjadi gampang rusak, jadi
sebaiknya gunakan yang harganya relatif murah. Kecuali bagi kalangan
industri, dimana harga tidak menjadi masalah.
- Adakah tersedia perangkat pengembangannya ?. Belajar
mikrokontroler tidak hanya belajar hardware, tetapi juga software. Data
Hardware bisa didapat dari internet, sebab setiap pabrik pembuat chip
mikrokontroler, pasti memberikan data sheet di website nya, ini tidak
menjadi masalah. Daftar perintah software biasanya juga disediakan di
website , tetapi ini belum menjamin bisa membuat program, karena
diperlukan latihan dan pengalaman untuk menyusun perintah-perintah menjadi
suatu program yang berhasil guna.
- Adakah, atau seberapa banyak kah forum-forum atau situs
di internet yang membahas atau mendiskusikan tentang mikrokontroler
tersebut ?. Tukar menukar pengalaman, berdiskusi, bertanya melalui forum
di internet adalah sarana efektif saat ini untuk mempercepat mempelajari
mikrokontroler.
Perangkat pengembangan suatu sistem
mikrokontroler adalah sangat penting untuk melatih dan berekperimen dengan
mikrokontroler yang dipilih, adapun yang disebut perangkat pengembangan atau
dalam bahasa Inggris disebut development tools, bisa terdiri dari;
- Compiler atau
penterjemah (Software). Mikrokontroler bekerja dalam bahasa mesin,
sedangkan manusia sulit untuk mengerti bahasa mesin, untuk mudahnya dibuat
program dengan bahasa yang lebih tinggi tingkatnya, yaitu C, BASIC, atau
ASSEMBLER, selanjutnya dengan bantuan Compiler, program akan diterjemahkan
dalam bahasa mesin, tentu saja butuh PC (Personal Computer)
- Simulator (Software),
adalah program komputer yang mensimulasikan kerja dari mikrokontroler.
Dengan memasukan program dan dijalankan, maka register, memori dan
input-output (I/O) yang nampak dilayar PC akan menunjukan isi, sesuai
dengan program yang dijalankan.
- Emulator (Software
dan Hardware), suatu alat yang berhubungan dengan PC yang dapat
mengemulasikan kerja mikrokontroler, artinya program-program dibuat dan di
compile di PC setelah itu di download ke emulator
(istilahnya target), dan emulator akan bekerja secara sendiri (stand
alone), hubungan dengan PC bisa dilepas. Jika ada kesalahkan program,
maka cukup melakukan koreksi di PC, dan didownload ulang. Dengan
demikian menghemat waktu reprogramming.
- In Circuit Emulator (ICE),
adalah pengembangan dari emulator, hubungan dengan PC tetap ada, karena PC
dianggap sebagai chip mikrokontroler bayangan, artinya bila kita membuat
suatu rangkaian yang menggunakan suatu chip mikrokontroler sebagai
komponen utamanya, chip tersebut dapat kita cabut dari soketnya, dan
digantikan oleh konektor berbentuk chip yang terhubung kabel-kabel ke PC
(emulator card), sekarang PC menggantikan chip tersebut. Selama program
dijalankan, isi register-register dalam mikrokontroler ditampilkan
dilayar, program juga dapat diperlambat, sehingga mempermudah penyelusuran
kesalahan (bug).
- Programmer,
adalah alat yang digunakan untuk mengisi program dalam suatu
mikrokontroler, biasanya alat ini menggunakan PC sebagai terminal
pintarnya, selanjutnya melalui serial port, paralel port, USB atau card
khusus antarmuka ke programmer, kode-kode mesin dimasukkan dalam memory
ROM, EPROM yang berada diluar MCU atau Flash memory yang jadi satu kemasan
dengan MCU.
1.4. perangkat pengembang
Dari perangkat-perangkat tersebut,
compiler merupakan software yang mutlak diperlukan, apabila tidak ingin dipusingkan
dengan bahasa mesin. Sedangkan programmer (downloader) adalah hardware dan
software/firmware yang mutlak diperlukan untuk dapat men’download’ kode-kode
perintah ke mikrokontroler. Compiler, simulator mudah didapat disitus internet
sesuai dengan jenis produknya. Cara membuat programmer juga banyak tersedia di
situs internet, tetapi ini diperlukan pengetahuan elektronika praktis. Emulator
harus membuat hardware dan juga diisi software yang bisa didapatkan dari
internet. ICE agak susah membuatnya, beberapa perusahaan membuat dan menjual
dengan harga yang cukup mahal.
Jadi dapat disimpulkan bahwa suatu
mikrokontrontroler adalah suatu chip (rangkaian terintegrasi – IC) VLSI (Very
Large Scale IC) mikroprosesor yang dikhususkan untuk instrumentasi dan kendali
dan bersifat reprogrammable. Mikrokontroler memiliki unit memory sendiri
(meskipun sangat terbatas), unit I/O (Input/Output) yang bisa dikoneksikan
langsung dengan sensor atau aktuator. Program disimpan dalam memori yang tidak
hilang bila catu daya padam, biasanya dalam bentuk ROM, PROM atau EPROM diluar
mikrokontroler, atau beberapa seri atau varian memiliki ROM didalam
mikrokontroler itu sendiri. Cara mengisi program dengan suatu alat pemrogram,
yang biasanya berhubungan dengan PC. Untuk mempelajari dan mengaplikasikan
mikrokontroler diperlukan perangkat pengembang, literatur dan forum-forum
diskusi.