A. MICROPROSESOR
Mikroprosesor adalah
sebuah chip (IC=Integrated Circuits) yang di dalamnya terkandung rangkaian ALU
(Arithmetic-Logic Unit), rangkaian CU (Control Unit) dan register-register.
Mikroprosesor disebut juga dengan CPU (Central Processing Unit). yang digunakan
sebagai otak/pengolah utama dalam sebuah sistem komputer. Mengatur kerja sistem
berdasarkan urutan program yang telah ditetapkan. Ia mengatur keluar masuknya
data dari/ke antar bagian dalam sistem. Ia juga mengatur aktivitas keluar/masuk
data dari/ke perangat diluar sistem.
ALU: menyediakan fungsi
pengolahan.
CU: mengontrol fungsi
prosesor.
1. Jenis-jenis Mikroprosesor
Berdasarkan pada
banyaknya bit yang dikerjakan oleh ALU(Arithmatic Logic Unit), CPU dibedakan menjadi
4 jenis :
a. Bit Slices Prosesor : Perancangan
CPU dengan menambahkan jumlah irisan bit(slices) untuk aplikasi-aplikasi
tertentu. CPU jenis ini dapat dikatakan dengan CPU custom.
b. General Purpose CPU : CPU
serbaguna atau mikrokomputer dengan semua kemampuan dari kini komputer
terdahulu.
c. I/O Prosessor : Prosesor
khusus yang berfungsi menangani input/output request membantu prosesor utama.
d. Dedicated/Embedded
Controller : Membuat mesin menjadi smart, seperti : mesin cuci, microwave,
oven, mesin jahit, sistem pengapian otomotif. Prosesor jenis ini lebih dikenal
dengan mikrokontroler.
2. Komponen Sistem Mikroprosesor
Sistem mikroprosesor
tersusun dari empat komponen, yaitu
Mikroprosesor itu sendiri
Random Access Memory(RAM)
Read Only memory(ROM)
Port Input/Output(PIO)
Dalam bekerja, keempat
komponen tersebut saling berkomunikasi/mentransfer data.Media transfer datanya
berupa sekelompok jalur-jalut penghubung yang disebut bus.Ada tiga jenis bus
dalam sistem mikroprosesor, yaitu bus alamat, bus data, dan bus kontrol.
3. Karakteristik Mikroprosesor
Berikut adalah
karakteristik penting dari mikroprosesor :
Ukuran bus data internal
(internal data bus size): Jumlah saluran yang terdapat dalam mikroprosesor yang
menyatakan jumlah bit yang dapat ditransfer antar komponen di dalam
mikroprosesor.
Ukuran bus data eksternal
(external data bus size): Jumlah saluran yang digunakan untuk transfer data
antar komponen antara mikroprosesor dan komponen-komponen di luar
mikroprosesor.
Ukuran alamat memori (memory
address size): Jumlah alamat memori yang dapat dialamati oleh mikroprosesor
secara langsung.
Kecepatan clock (clock
speed): Rate atau kecepatan clock untuk menuntun kerja
mikroprosesor.
Fitur-fitur spesial (special
features): Fitur khusus untuk mendukung aplikasi tertentu seperti fasilitas
pemrosesanfloating point, multimedia dan sebagainya.
Cara kerja sebuah
Mikroprosesor diarahkan oleh suatu program dalam kode-kode bahasa mesin yang
telah dimasukkan terlebih dahulu ke dalam sebuah memori. Di dalam Mikroprosesor
minimal terdiri dari rangkaian digital, register, pengolah logika aritmatika,
rangkaian sekuensial.
4. Fungsi Mikroprosesor
Fungsi utama
Mikroprosesor adalah sebagai unit yang mengendalikan seluruh kerja sistem
mikroprosesor. Beberapa fungsi lain dari mikroprosesor, antara lain :
Mengambil instruksi dan
data dari memori.
Memindah data dari dan ke
memori.
Mengirim sinyal kendali
dan melayani sinyal interupsi.
Menyediakan pewaktuan
untuk siklus kerja sistem mikroprosesor.
Mengerjakan fungsi –
fungsi operasi logika dan aritmetika.
B.
MIKROKONTROLER
Mikrokontroler adalah sebuah chip yang
didalamnya terdapat mikroprosesor yang telah dikombinasikan dengan I/O dan
memori (ROM/RAM). Penggunaan mikrokontroler lebih menguntungkan dibandingkan
penggunaan mikroprosesor. Hal ini dikarenakan dengan mikrokontroler tidak
perlu lagi penambahan memori dan I/O eksternal selama memori dan I/O internal
masih bisa mencukupi. Selain itu proses produksinya secara masal, sehingga
harganya menjadi lebih murah dibandingkan mikroprosesor.
1. Jenis-jenis Mikrokontroller
Secara teknis, hanya ada
2 macam mikrokontroller. Pembagian ini didasarkan pada kompleksitas instruksi-instruksi
yang dapat diterapkan pada mikrokontroler tersebut. Pembagian itu yaitu RISC
dan CISC.
a. RISC
merupakan kependekan dari Reduced Instruction Set Computer. Instruksi yang
dimiliki terbatas, tetapi memiliki fasilitas yang lebih banyak.
b. Sebaliknya,
CISC kependekan dari Complex Instruction Set Computer. Instruksi bisa dikatakan
lebih lengkap tapi dengan fasilitas secukupnya.
Masing-masing mempunyai
keturunan atau keluarga sendiri-sendiri. jenis-jenis mikrokonktroler yang
telah umum digunakan.
a.
Keluarga MCS51
Mikrokonktroler ini
termasuk dalam keluarga mikrokonktroler CISC. Sebagian besar instruksinya
dieksekusi dalam 12 siklus clock.
Mikrokontroler ini
berdasarkan arsitektur Harvard dan meskipun awalnya dirancang untuk aplikasi
mikrokontroler chip tunggal, sebuah mode perluasan telah mengizinkan sebuah ROM
luar 64KB dan RAM luar 64KB diberikan alamat dengan cara jalur pemilihan chip
yang terpisah untuk akses program dan memori data.
Salah satu kemampuan dari
mikrokontroler 8051 adalah pemasukan sebuah mesin pemroses boolean yang
mengijikan operasi logika boolean tingkatan-bit dapat dilakukan secara langsung
dan secara efisien dalam register internal dan RAM. Karena itulah MCS51
digunakan dalam rancangan awal PLC (programmable Logic Control).
b.
AVR
Mikrokonktroler Alv and
Vegard’s Risc processor atau sering disingkat AVR merupakan mikrokonktroler
RISC 8 bit. Karena RISC inilah sebagian besar kode instruksinya dikemas dalam
satu siklus clock. AVR adalah jenis mikrokontroler yang paling sering dipakai
dalam bidang elektronika dan instrumentasi.
Secara umum, AVR dapat
dikelompokkan dalam 4 kelas. Pada dasarnya yang membedakan masing-masing kelas
adalah memori, peripheral dan fungsinya. Keempat kelas tersebut adalah keluarga
ATTiny, keluarga AT90Sxx, keluarga ATMega dan AT86RFxx.
c.
PIC
Pada awalnya, PIC
merupakan kependekan dari Programmable Interface Controller. Tetapi
pada perkembangannya berubah menjadiProgrammable Intelligent Computer.
PIC termasuk keluarga
mikrokonktroler berarsitektur Harvard yang dibuat oleh Microchip Technology.
Awalnya dikembangkan oleh Divisi Mikroelektronik General Instruments dengan
nama PIC1640. Sekarang Microhip telah mengumumkan pembuatan PIC-nya yang keenam
PIC cukup popular
digunakan oleh para developer dan para penghobi ngoprek karena biayanya yang
rendah, ktersediaan dan penggunaan yang luas, database aplikasi yang besar,
serta pemrograman (dan pemrograman ulang) melalui hubungan serial pada
komputer.
2.
MEMORY MAP
Mikrokontroler AVR
memiliki peta memori yang terpisah antara memori data dan program.
Memory data : berupa
memory volatile (RAM) yang terbagi atas :
- 32
register General purpose (alamat 0x00 sampai 0x1F)
- 64
register I/O (alamat 0x20 sampai 0x5F) à register yang digunakan
untuk mengatur fungsi beberapa peripheral mikrokontroler
- SRAM
internal (alamat 0x60 sampai 0x25F)
Memori program :
berupa flash memory (non volatile) yang bisa dihapus tulis. Memory program
tersusun atas word (2 byte) karena setiap instruksi memiliki lebar 16 bit atau
32 bit. ATmega8535 memiliki 4KWord flash dengan alamat 0x000 sampai 0xFFF.
Flash tersebut dialamati oleh program counter (PC)
3.
BAHASA ASSEMBLY
Tersusun dari
instruksi-instruksi berupa kata-kata singkat dan dieksekusi perbaris. Contoh
program dalam bahasa assembly:
;program
menghidup-matikan LED di port B
.NOLIST
.INCLUDE "C:\appnotes\m8535def.inc"
;menggunakan file include atmega8535
;berisi
definisi2 periferal atmega8535
.LIST
.DEF mp
= R16 ;melakukan
rename terhadap r16 menjadi mp
;program
utama
main:
ldi mp,0b11111111
;
The command LDI (LoaD Immediate) loads an 8-bit value into the register
;
mp. This command is only valid for the registers R16 to R31.
out DDRB,mp
;
The command OUT writes register values (here: mp or R16) to a port
;
(here DDRB).
loop:
ldi mp,0x00 ;hidupkan
LED
out PORTB,mp
rcall delay ;panggil
subrutin delay
ldi mp,0xFF ;matikan
LED
out PORTB,mp
rcall delay ;panggil
subrutin delay
rjmp loop
delay: ;definisi
subrutin delay
ldi R17,#0xFF ;subrutin
tunda menggunakan pengurangan register berulang2
del1:
ldi R18,#0xFF
del2:
dec R18 ;r18=r18-1
brne del2 ;jika
belum 0, lompat ke del2
dec R17 ;r17=r17-1
brne del1
ret ;subrutin
selalu diakhiri ret
Sebuah chip mikrokontroler
umumnya memiliki fitur:
central processing unit -
mulai dari prosesor 4-bit yang sederhana hingga prosesor kinerja tinggi 64-bit.
input/output antarmuka
jaringan seperti port serial (UART)
antarmuka komunikasi
serial lain seperti IC, Serial Peripheral Interface and Controller
Area Network untuk sambungan sistem
periferal seperti timer dan watchdog
RAM untuk
penyimpanan data
ROM, EPROM, EEPROM atau Flash
memory untuk menyimpan program komputer
pembangkit clock -
biasanya berupa resonator rangkaian RC
pengubah
analog-ke-digital
Contoh Aplikasi
Mikrokontroler dan Programnya
Tahap pertama adalah merancang perangkat keras (hardware), yang meliputi rangkaian – rangkaian
elektronika dan alat putar keramik. Tahap kedua adalah perancangan algoritma, listing program pada software Code Vision AVR dan penanaman listing program pada mikrokontroler AVR ATMega16 dengan menggunakan software ISP Programmer.
Perancangan Perangkat Keras
Seluruh perangkat atau komponen yang digunakan dalam perancangan pengaturan
kecepatan pada alat putar keramik menggunakan motor AC ini, tersusun seperti pada
blok diagram di bawah ini.
Gambar Blok Diagram Pengaturan Kecepatan Motor AC Pada Alat Putar
Keramik.
Blok diagram diatas,
secara garis besar dapat dijelaskan sebagai berikut.
1. Keypad digunakan sebagai alat untuk memasukkan nilai kecepatan putaran yang diinginkan (nilai setpoint). Keypad dihubungkan ke PORTB mikrokontroler AVR ATMega16. Nilai dari keypad tersebut mewakili nilai kecepatan putaran dengan satuan rotation per minute (rpm). Nilai yang diijinkan sebesar antara 60–150rpm.
2. Nilai setpoint akan diolah sedemikian rupa dengan menggunakan suatu program yang ditanamkan pada mikrokontroler AVR ATMega16, sehingga nilai tersebut dapat ditampilkan pada LCD dan digunakan pada register OCR1A yang berfungsi untuk membangkitkan sinyal PWM.
3. Sinyal PWM dibangkitkan setelah nilai pada register OCR1A terisi (OCR1A ≠ 0) dan sinyal PWM dikeluarkan melalui Pin 19 PORTD.5 (OC1A) pada mikrokontroler AVR ATMega16.
4. Sinyal PWM tersebut akan memicu TRIAC Optoisilator pada rangkaian driver motor AC. Rangkaian zero crossing detector telah tersedia dalam satu paket (Onpackage) IC TRIAC Optoisolators MOC3041, sehingga titik acuan sinyal PWM pada saat mengatur sinyal sinusoidal (tegangan AC) dimulai pada saat perpotongan titik nol (zero crossing). Keluaran dari TRIAC Optoisolators tersebut (pin 6) akan memicu gate TRIAC (Q4004LT) sehingga memberikan arus pada motor AC.
5. Motor AC akan menggerakkan alat putar keramik dan alat putar tersebut akan dideteksi putarannya setiap 1 detik (Timer 0) oleh sensor putaran (phototransistor). Pendeteksian putaran alat putar ini bertujuan untuk mengetahui apakah kecepatan putaran alat putar sama dengan nilai setpoint yang diberikan. Kecepatan alat putar akan dipengaruhi oleh beban (tanah liat) yang bervariasi. Kecepatan akan berkurang apabila beban semakin berat, oleh karena itu sensor pun berfungsi untuk mengetahui kecepatan alat putar terhadap beban.
fitur interupsi eksternal mikrokontroler akan mengetahui setiap kali sensor memberikan respon (logika 0).
6. Program pengaturan alat putar pada mikrokontroler ATMega16 akan mengatur dan membandingkan antara kecepatan setpoint dan kecepatan yang sesungguhnya (real time). Jika sensor mendeteksi kecepatan alat putar setpoint-nya, maka program akan mengatur (mengurangi) nilai pada OCR1A dan jika sensor mendeteksi kecepatan alat putar lebih lambat dari pada kecepatan setpointnya, maka program akan mengatur (menambahi) nilai pada register OCR1A.
1. Keypad digunakan sebagai alat untuk memasukkan nilai kecepatan putaran yang diinginkan (nilai setpoint). Keypad dihubungkan ke PORTB mikrokontroler AVR ATMega16. Nilai dari keypad tersebut mewakili nilai kecepatan putaran dengan satuan rotation per minute (rpm). Nilai yang diijinkan sebesar antara 60–150rpm.
2. Nilai setpoint akan diolah sedemikian rupa dengan menggunakan suatu program yang ditanamkan pada mikrokontroler AVR ATMega16, sehingga nilai tersebut dapat ditampilkan pada LCD dan digunakan pada register OCR1A yang berfungsi untuk membangkitkan sinyal PWM.
3. Sinyal PWM dibangkitkan setelah nilai pada register OCR1A terisi (OCR1A ≠ 0) dan sinyal PWM dikeluarkan melalui Pin 19 PORTD.5 (OC1A) pada mikrokontroler AVR ATMega16.
4. Sinyal PWM tersebut akan memicu TRIAC Optoisilator pada rangkaian driver motor AC. Rangkaian zero crossing detector telah tersedia dalam satu paket (Onpackage) IC TRIAC Optoisolators MOC3041, sehingga titik acuan sinyal PWM pada saat mengatur sinyal sinusoidal (tegangan AC) dimulai pada saat perpotongan titik nol (zero crossing). Keluaran dari TRIAC Optoisolators tersebut (pin 6) akan memicu gate TRIAC (Q4004LT) sehingga memberikan arus pada motor AC.
5. Motor AC akan menggerakkan alat putar keramik dan alat putar tersebut akan dideteksi putarannya setiap 1 detik (Timer 0) oleh sensor putaran (phototransistor). Pendeteksian putaran alat putar ini bertujuan untuk mengetahui apakah kecepatan putaran alat putar sama dengan nilai setpoint yang diberikan. Kecepatan alat putar akan dipengaruhi oleh beban (tanah liat) yang bervariasi. Kecepatan akan berkurang apabila beban semakin berat, oleh karena itu sensor pun berfungsi untuk mengetahui kecepatan alat putar terhadap beban.
fitur interupsi eksternal mikrokontroler akan mengetahui setiap kali sensor memberikan respon (logika 0).
6. Program pengaturan alat putar pada mikrokontroler ATMega16 akan mengatur dan membandingkan antara kecepatan setpoint dan kecepatan yang sesungguhnya (real time). Jika sensor mendeteksi kecepatan alat putar setpoint-nya, maka program akan mengatur (mengurangi) nilai pada OCR1A dan jika sensor mendeteksi kecepatan alat putar lebih lambat dari pada kecepatan setpointnya, maka program akan mengatur (menambahi) nilai pada register OCR1A.
Perancangan
Rangkaian Sistem Minimum AVR ATMega16
Mikrokontroler AVR
ATMega16 dapat dioperasikan dengan cara menambahkan beberapa komponen
elektronika yang berfungsi sebagai komponen pendukungnya.
Mikrokontroler AVR ATMega16 dapat dioperasikan dengan cara menambahkan beberapa komponen elektronika yang berfungsi sebagai komponen pendukungnya.
Mikrokontroler AVR ATMega16 dapat dioperasikan dengan cara menambahkan beberapa komponen elektronika yang berfungsi sebagai komponen pendukungnya.
Mikrokontroler dan
komponen komponen pendukung tersebut tergabung dalam satu rangkaian
yang disebut sebagai rangkaian sistem minimum.
Gambar Rangkaian
Sistem Minimum AVR ATMega16
Kristal yang digunakan
pada rangkaian sistem minimum di atas, mengunakan frekuensi 4 MHz. Kristal
tersebut digunakan untuk pembangkit clock (osilator), dimana setiap 1
intruksi/perintah dalam program dieksekusi dalam 1 siklus clock. Pin RESET dihubungkan
dengan rangkaian kombinasi RC dan push button, yang bertujuan
agar mikrokontroler dapat di-reset. Fungsi dari port - port lainnya adalah
sebagai berikut.
1. PORTA, digunakan sebagai pin masukkan untuk Keypad 3X4
2. PORTB, digunakan sebagai pin keluaran untuk LCD
3. PORTD.0 dan PORTD.1, digunakan sebagai pin masukan untuk tombol START
dan tombol STOP
4. PORTD.3, digunakan sebagai pin masukkan untuk sensor putaran (Ext. Interrupt)
5. PORTD.5 dan PORTD.6, digunakan sebagai pin keluaran untuk sinyal PWM.
1. PORTA, digunakan sebagai pin masukkan untuk Keypad 3X4
2. PORTB, digunakan sebagai pin keluaran untuk LCD
3. PORTD.0 dan PORTD.1, digunakan sebagai pin masukan untuk tombol START
dan tombol STOP
4. PORTD.3, digunakan sebagai pin masukkan untuk sensor putaran (Ext. Interrupt)
5. PORTD.5 dan PORTD.6, digunakan sebagai pin keluaran untuk sinyal PWM.
Perancangan Rangkaian
Downloader
Rangkaian downloader merupakan rangkaian penghubung antara komputer dan mikrokontroler yang berfungsi untuk memasukan listing program (berupa bit – bit logika) ke dalam mikrokontroler. Listing program yang dikirim oleh software dari komputer ke dalam mikrokontroler biasanya berbentuk file *.hex (heksadesimal). Pada umumnya rangkaian downloader terdiri dari kabel penghubung jenis DB25 atau jenis
DB9. Sinkronisasi tegangan antara tegangan dari komputer dan tegangan mikrokontroler menggunakan sebuah buffer.
Rangkaian downloader ditunjukkan seperti gambar di bawah ini :
Gambar Rangkaian
downloader DB 25
Gambar. Rangkaian downloader mikrokontroler
Rangkaian di atas
menggunakan port DB 25 sebagai alat penghubung antara komputer dan alat
downloader, sedangkan IC 74HCT244 digunakan sebagai buffer. Software yang
digunakan untuk mendownload program
(file: *.hex) ke dalam mikrokontroler ini adalahISP Programmer (Adam Dybkowsky).
(file: *.hex) ke dalam mikrokontroler ini adalahISP Programmer (Adam Dybkowsky).
Gambar.Tampilan Software ISP Programmer (Adam Dybkowsky)
DAFTAR PUSTAKA
1. Microprocessors & Interfacing, Programming & Hardware, by
: Douglass V. Hall, 1986, Mc Graw Hill
2. Panduan Praktis : Teknik Antarmuka & Pemrograman
Mikrokontroler AT89C51, oleh : Paulus Andi Nalwan,
2003, Elex Media Komputindo
3. Perangkat Keras Mikroprosesor, by : GHK Dam, alih bahasa :
The Houw Liong, 1985, Elex Media Komputindo
(1983, Elektuur B. V.)
Komentar
Posting Komentar