Langsung ke konten utama

Mikroprosesor & Mikrokontroler

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.
Register: tempat penyimpanan sementara dalam mikroprosesor



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.
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 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.
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).

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

Postingan populer dari blog ini

Banana Pi

Banana Pi adalah komputer mini yang merupakan kloning dari Raspberry Pi. Meski disebut sebagai kloning, komputer mini Banana Pi ini memiliki spesifikasi dan kinerja yang jauh lebih tinggi dari Raspberry Pi. Banana Pi ini ditawarkan dengan harga yang terjangkau, yakni $57 atau sekitar Rp 650 ribu saja. Banana Pi ini mengusung konsep yang sama dengan Raspberry Pi, yakni single-board dengan konsumsi daya rendah. Seperti halnya Raspberry Pi, Banana Pi ini juga menawarkan kemudahan pengguna untuk merakit dan mengembangkan PC sesuai dengan kebutuhan atau yang sering disebut DIY (Do it Yourself). Seperti yang kita ketahui, komputer mini Raspberry Pi mengusung spesifikasi yang terbatas, yakni chipset Broadcom BCM2835 yang mengusung prosesor single-core ARM11 berkecepatan 700MHz yang didukung oleh memori RAM sebesar 512MB. Jelas, kinerja yang ditawarkan oleh Raspberry Pi ini cukup terbatas. Lalu bagaimana dengan Banana Pi? Kompute...

Flowchart Lift

Penjelasan dari flowchart lift yang diatas adalah sebagai berikut: Untuk memulai suatu diagram alur atau sering kita sebut “Flowchart” adalah “START” Lalu setelah itu untuk memproses nya adalah lift selalu standby di tempat tersebut. Selanjutnya kita input data nya misalkan “Cek Tombol” pilihan anda Jika “Ada Perintah” NO maka lift loop, artinya lift tetap standby Namun jika “Ada Perintah YES maka anda menentukan “Tombol/Lantai” yang anda tuju. Jika anda memilih tombol “UP” maka lift akan “Naik” Jika anda memilih tombol “Down” maka lift akan turun, Namun jika memilih tombol “Down” maka lift akan loop arti nya lift akan tetap standby. Setelah itu adalah “Cek Tujuan” anda ingin ke lantai berapa? Misalkan lantai paling atas yaitu 5, maka pilih perintah tekan tombol 5. Jika YES maka lift akan “UP” artinya naik. Sesudah “Sampai Tujuan” lantai 5, maka jika YES “Pintu Terbuka”. Namun jika NO maka lift akan mengecek tujuan selanjutnya. Kalau sudah sampa...

Pengolah Sinyal Digital

A. Pengertian Sinyal Sinyal adalah besaran yang berubah dalam waktu dan atau dalam ruang, dan membawa suatu informasi. Berbagai contoh sinyal dalam kehidupan sehari-hari : arus atau tegangan dalam rangkaian elektrik, suara, suhu. Representasi sinyal berdasarkan dimensinya dibagi menjadi Dimensi-1 (contoh : sinyal audio), Dimensi-2 (contoh : citra), Dimensi-3 (contoh : video). Suatu sinyal mempunyai beberapa informasi yang dapat diamati, misalnya amplitudo, frekuensi, perbedaan fase, dan gangguan akbiat noise, untuk dapat mengamati informasi tersebut, dapat digunakan secara langsung peralatan ukur elektronik seperti osciloskop, spektrum analyser. Pengolahan sinyal adalah suatu operasi matematik yang dilakukan terhadap suatu sinyal sehingga diperoleh informasi yang berguna. Dalam hal ini terjadi suatu transformasi. Pengolahan sinyal analog memamfaatkan komponen-komponen analog, misalnya dioda, transistor, op-amp dan lainnya. Pengolahan sinyal secara digital menggunakan komponenkompone...