Jika kita bicara tentang Mikrokontroler, maka tidak
terlepas dengan pengertian atau definisi tentang Komputer itu sendiri, mengapa?
Ada kesamaan-kesamaan antara Mikrokontroler dengan Komputer (atau
Mikrokomputer), antara lain:
- Sama-sama memiliki unit pengolah pusat atau yang lebih dikenal dengan CPU (Central Processing Unit);
- CPU tersebut sama-sama menjalankan program dari suatu lokasi atau tempat, biasanya dari ROM (Read Only Memory) atau RAM (Random Access Memory);
- Sama-sama memiliki RAM yang digunakan untuk menyimpan data-data sementara atau yang lebih dikenal dengan variabel-variabel;Sama-sama memiliki beberapa keluaran dan masukan yang digunakan untuk melakukan komunikasi timbal-balik dengan dunia luar.
Lantas apa
yang membedakan antara Mikrokontroler dengan Komputer atau Mikrokomputer?
Begitu mungkin pertanyaan yang ada di benak kita, saat kita membaca beberapa
daftar kesamaan yang sudah saya tuliskan tersebut. Sama sekali berbeda, itu
jawaban yang saya berikan kepada Anda.Mikrokontroler adalah versi mini dan
untuk aplikasi khusus dari Mikrokomputer atau Komputer!
Berikut saya
berikan kembali daftar kesamaan yang pernah ditulis sebelumnya dengan
menekankan pada perbedaan antara Mikrokontroler dan Mikrokomputer:
- CPU pada Mikrokomputer berada eksternal dalam suatu sistem, sampai saat ini kecepatan operasionalnya sudah mencapai tingkat lebih dari 2 GHz, sedangkan CPU pada Mikrokontroler berada internal dalam sebuah chip, kecepatan bekerja masih cukup rendah, dalam orde MHz (misalnya, 24 MHz, 40 MHz dan lain sebagainya). Kecepatan yang relatif rendah ini sudah mencukupi untuk aplikasi-aplikasi berbasis mikrokontroler.
- Jika CPU pada mikrokomputer menjalankan program dalam ROM atau yang lebih dikenal dengan BIOS pada saat awal dihidupkan, kemudian mengambil atau menjalankan program yang tersimpan dalam hard disk. Sedangkan mikrokontroler sejak awal menjalankan program yang tersimpan dalam ROM internal-nya (bisa berupa Mask ROM atau Flash PEROM). Sifat memori program ini non volatile, artinya tetap akan tersimpan walaupun tidak diberi catu daya.
- RAM pada mikrokomputer bisa mencapai ukuran sekian MByte dan bisa di-upgrade ke ukuran yang lebih besar dan berlokasi di luar chip CPU-nya, sedangkan RAM pada mikrokontroler ada di dalam chip mikrokontroler yang bersangkutan dan ukurannya sangat minim, misalnya 128 byte, 256 byte dan seterusnya dan ukuran yang relatif kecil inipun dirasa cukup untuk aplikasi-aplikasi mikrokontroler.
- Keluaran dan masukan pada mikrokomputer jauh lebih kompleks dibandingkan dengan mikrokontroler, yang jauh lebih sederhana, selain itu, pada mikrokontroler tingkat akses keluaran dan masukan bisa dalam satuan per bit.
- Jika diamati lebih lanjut, bisa saya katakan bahwa Mikrokomputer atau Komputer merupakan komputer serbaguna atau general purpose computer, bisa dimanfaatkan untuk berbagai macam aplikasi (atau perangkat lunak). Sedangkan mikrokontroler adalah special purpose computer atau komputer untuk tujuan khusus, hanya satu macam aplikasi saja.
Perhatikan
gambar berikut agar Anda mendapatkan gambaran tentang mikrokontroler…
ALU,
Instruction Decoder, Accumulator dan Control merupakan Otak-nya mikrokontroler yang
bersangkutan. Jantungnya berasal dari detak OSC (lihat gambar sebelah kiri
atas). Sedangkan di sekeliling ‘Otak’ terdapat berbagai macam periferal seperti
SFR (Special Function Register yang bertugas menyimpan data-data sementara
selama proses berlangsung), Memori RAM (tugas hampir sama seperti SFR hanya
saja tidak berhubungan langsung selama proses operasional mikrokontroler), ADC
(untuk mengubah data-data analog menjadi digital untuk diolah atau diproses
lebih lanjut), EEPROM (sama seperti RAM hanya saja tetap akan menyimpan data
walaupun tidak mendapatkan sumber listrik/daya) dan port-port I/O untuk
masukan/luaran, untuk melakukan komunikasi dengan pihak-pihak eksternal
mikrokontroler (sensor dan aktuator).
Ciri khas
mikrokontroler lainnya, antara lain:
- ‘Tertanam’ (atau embedded) dalam beberapa piranti (umumnya merupakan produk konsumen) atau yang dikenal dengan istilah embedded system atau embedded controller;
- Terdedikasi untuk satu macam aplikasi saja (lihat contoh-contoh yang akan saya terangkan pada bagian berikutnya);
- Hanya membutuhkan daya yang rendah (low power) sekitar 50 mWatt (Anda bandingkan dengan komputer yang bisa mencapai 50 Watt lebih);
- Memiliki beberapa keluaran maupun masukan yang terdedikasi, untuk tujuan atau fungsi-fungsi khusus;
- Kecil dan relatif lebih murah (seri AT89 di pasaran serendah-rendahnya bisa mencapai Rp. 15.000,00 sedangkan Basic Stamp bisa mencapai Rp. 500.000,00);
- Seringkali tahan-banting, terutama untuk aplikasi-aplikasi yang berhubungan dengan mesin atau otomotif atau militer.
Pengetahuan Dasar Mikrokontroler AVR
Pendahulua
Keluarga Mikrokontroler
AVR merupakan mikrokontroler dengan arsitektur modern (emang selama ini ada
yang kuno kali??). Terdapat 3 macam atau jenis mikrokontroler AVR, yaitu:
- TinyAVR (tidak ada kaitannya ama mbak Tini yang jualan gudeg…)
- AVR atau Classic AVR, dan
- megaAVR (nah yang ini sudah mulai banyak yang nulis bukunya…)
Perbedaan
jenis-jenis tersebut terletak dari fasilitas, atau lebih dikenal dengan
fitur-fiturnya. Jenis TinyAVR merupakan mikrokontroler dengan jumlah pin
yang terbatas (sedikit maksudnya) dan sekaligus fitur-fiturnya juga terbatas
dibandingkan yang megaAVR. Semua mikrokontroler AVR memiliki set
instruksi (assembly) dan organisasi memori yang sama, dengan demikian
berpindah-pindah (walaupun tidak disarankan) antar mikrokontroler AVR gak
masalah dan mudah!
Beberapa
mikrokontroler AVR memiliki SRAM, EEPROM, antarmuka SRAM eksternal, ADC,
pengali perangkat keras, UART, USART dan lain sebagainya. Bayangkan saja Anda
punya TinyAVR dan MegaAVR, kemudian telanjangi (maksudnya copotin) semua
periferal-nya, nah Anda akan memiliki AVR Core yang sama! Kayak membuang semua
isi hamburger, maka Anda akan mendapatkan rotinya doang yang sama…
Memilih AVR
“yang benar”
Moralnya…
tidak peduli tinyAVR, AVR (Classic AVR) atau megaAVR semuanya memiliki
unjuk-kerja yang sama saja, tetapi dengan “kompleksitas” atau fasilitas yang
berbeda-beda, ibaratnya begini: banyak fasilitas dan fitur = megaAVR, fitur
atau fasilitas terbatas = TinyAVR. Gitu aja kok repot…
Nah AVR
(Classic AVR) ada di antara kedua jenis tersebut dan perbedaan antara
kelompok-kelompok ini semakin menjadi tidakjelas. Nah untuk aplikasi yang ingin
Anda buat, sebaiknya Anda memilih mikrokontroler AVR dengan fitur-fitur yang
Anda butuhkan, apalagi sekarang mikrokontroler AVR dijual dengan harga yang
relatif terjangkau (nb: harga di Yogyakarta).
Tidak ada komentar:
Posting Komentar