ARSITEKTUR DAN PRINSIP KERJA
MIKROKONTROLER
Mikrokontroler
berasal dari kata microcontroller
yang berarti pengendali mikro, Mikrokontroler adalah suatu IC {Integrated Circuit} pengontrol yang
bersistem computer, yang memiliki kemampauan manipulasi data {informasi}
berdasarkan suatu urutan instruksi {program} yang dibuat programmer.
A. ARSITEKTUR
MIKROKONTROLER
Mikrokontroler
terdiri dari bagian-bagian yang saling dihubungkan melalui internal bus
biasanya terdiri dari 3 bus yaitu addres bus, data bus dan control bus. Untuk
paham bagaimana prinsip kerja
mikrokontroler sebelumnya harus memahami bagian-bagian utama dan fungsinya
secara umum. Berikut ini diagram blok mikrokontroler secara umum :
Gambar.
Diagram Blok Mikrokontroler.
Ada
4 komponen utama dari mikrokontroler yaitu
prosesor CPU, memori, input/output dan pendukung, masing-masing komponen
tersebut terdiri dari bagian-bagian yang masing-masing mempunyai fungsi :
1. Komponen Prosesor
CPU { Central Processing Unit }
CPU
merupakan otak merupakan otak dari mikrokontroler yang berfungsi
mengordinasikan seluruh operasi komputasi, melakukan operasi aritmatika,
melakukan operasi logika dan mengendalikan kerja sistem secara keseluruhan. CPU
terdiri dari 2 bagian yaitu ALU, CU, dan RU.
a. ALU {Arithmetic and Logic Unit}
Bagian
yang mengerjakan proses-proses aritmatika atau perhitungan matematis {penjumlahan,
pengurangan, perkalian, pembagian} dan operasi logika {AND, OR, XOR, NOT} terhadap
bilangan bulat 8 ataupun 16 bit. Dan mempertimbangkan suatu kondisi untuk
pengambilan keputusan yang dibutuhkan pada instruksi-instruksi berikutnya.
b. CU {Control Unit}
Bagian
yang mengambil, mengkodekan dan melaksanakan urutan instruksi dari sebuah
program yang tersimpan di dalam memori.
c. RU {Register Unit}.
Bagian
yang berfungsi untuk tempat penyimpanan {varibel} bilangan bulat 8 atau 16 bit.
Register jumlahnya banyak, masing-masing berfungsi umum dan khusus. Register
umum digunakan untuk menyimpan data sementara yangdiperlukan untuk proses
penghitungan dan operasi mikrokontroler. Register umum dibutuhkan mengingat
pada saat bersamaan mikrokontroler hanya mampu melakukan operasi aritmatika
atau logika hanya pada 1 atau 2 operand saja. Sehingga untuk operasi-operasi
yang melibatkan banyak varibel harus dimanipulasi dengan menggunakan variable-variabel
register umum.
Sedangkan
register khusus dibutukhkan untuk fungsi-fungsi khusus, yaitu timer, accumulator
dan program counter.
1.Timer adalah register khusus yang berfungsi sebagai
tempat penyimpanan data penghitungan pulsa.
2.Accumulator adalah register
khusus yang berfungsi sebagai tempat penyimpanan data operand umum proses aritmetika
logika.
3.Program Counter adalah
register khusus yang berfungsi sebagai tempat penyimpanan data pencacah/penghitung
eksekusi program mikrokontroler.
2. Komponen Memori
Mikrokontroler.
Komponen memori mikrokontroler ada 2 bagian yaitu ROM dan RAM
a. Internal ROM {Read Only Memory}.
ROM
adalah jenis memori untuk menyimpan program secara permanen yang tidak dapat
diubah atau dihapus {hanya dapat dibaca} dan digunakan untuk menyimpan program
utama. Memori ini jenisnya non-volatile memory, program yang tersimpan tidak
akan hilang ketika catu dayanya dimatikan.
Memori
ROM ada 2 jenis yaitu EPROM {Erasable Programmable Read Only Memori} dan EEPROM
{Electrically Erasable Programmable Read Only Memory}. EEPROM dapat menyimpan
data secara permanen, tetapi isinya masih bias dihapus secara elektris melalui
program.
b. RAM {Random Acces Memory}.
RAM
adalah jenis memori yang digunakan untuk menyimpan data dan hasil sementara
yang dibuat dan digunakan selama mirkokontroler bekerja. RAM biasanya berisi
data-data variable dan register. RAM memproses data yang tersimpan secara acak
dan random, isi memori ini akan hilang ketika catu daya dimatikan.
3. Komponen Input Dan
Output {I/O} Mikrokontroler.
I/O
mikrokontroler yang terdiri dari I/O port serial dan pararel merupakan bagian yang
berfungsi untuk mengeluarkan ataupun menginputkan data digital dan sebagai
penghubung CPU dengan alat-alat input output seperti sensor/ transduser,
aktuator. Bagian I/O juga bisa berfungsi sebagai saluran komunikasi antara
sistem CPU dengan sistem luar, biasanya digunakan I/O serial.
4. Komponen Pendukung
Mikrokontroler.
Komponen
pendukung mikrokontroler terdiri dari bagian-bagian yang mendukung
komponen-komponen seperti CPU, RAM dan I/O sehingga mikrokontroler bias bekerja.
Bagian-bagian yang terdapat pada komponen pendukung yaitu seperti berikut :
clock circuits, stack pointer dan
interrupt cicrcuits.
a. Clock Circuits.
Bagian
yang memiliki fungsi menyediakan clock bagi seluruh bagian rangkaian, dimana
proses kerjanya berjalan melalui sinkronisasi clock dari rangkaian logika
sekuensial.
b. Stack Pointer.
Bagian
dari RAM penyimpanan dan pengambilan data dilakukan dengan metode khusus. Data
yang disimpan dan dibaca tidak dapat dilakukan dengan metode acak, karena data
yang masuk kedalam stack pada urutan terakhir adalah data yang pertama kali
dibaca kembali.
c. Interrupt Circuits.
Bagian
yang memiliki fungsi mengendalikan sinyal-sinyal interupsi baik internal maupun
eksternal, adanya sinyal interupsi akan menghentikan eksekusi normal program
mikrokontroler untuk selanjutnya menjalankan sub-program untuk melayani
interupsi tersebut.
B.
PRINSIP KERJA MIKROKONTROLER
Prinsip kerja mikrokontroler adalah sebagai berikut:
- Berdasarkan
nilai yang berada pada register Program Counter, mikrokontroler mengambil data
pada ROM dengan alamat sebagaimana yang tertera pada register Program Counter.
Selanjutnya isi dari register Program Counter ditambah dengan satu (Increment)
secara otomatis.
- Data
yang diambil pada ROM merupakan urutan instruksi program yang telah dibuat dan
diisikansebelumnya
oleh pengguna.
- Instruksi
yang diambil tersebut diolah dan dijalankan oleh mikrokontroler. Proses
pengerjaan bergantung pada jenis instruksi, bisa membaca, mengubah nilai-nilai
pada register, RAM, isi Port,atau melakukan pembacaan dan dilanjutkan dengan
pengubahan data.
- Program
Counter telah berubah nilainya (baik karena penambahan otomatis pada langkah 1,
atau karena pengubahan-pengubahan pada langkah 2). Selanjutnya yang dilakukan
oleh mikrokontroler adalah mengulang kembali siklus ini pada langkah 1.
Demikian seterusnya hingga power dimatikan.