BAB II LANDASAN TEORI
H. Mikrokontroler ATmega32
Mikrokontrol adalah prosesor kecil dan digunakan untuk aplikasi khusus dari Mikrokomputer atau Komputer. Perbedaan antara mikrokomputer dan mikrokontrol adalah kecepatan mikrokomputer mencapai 2 GHz sedangkan mikrokontrol hanya sebatas 8 MHz – 40 MHz, mikrokontrol hanya menjalankan program yang tersimpan dalam ROM yang bersifat non-volatile (tetap tersimpan walupun tidak ada sumber daya), RAM mikrokomputer sampai ukuran Mbyte sedangkan mikrokontrol hanya berukuran sangat kecil 128 byte, 256 byte, 2Kbyte dan seterusnya, dan mikrokomputer merupakan general purpose computer (komputer serbaguna) sedangkan mikrokontrol merupakan specia l purpose computer (komputer dengan tujuan khusus).
( http://agfi.staff.ugm.ac.id/blog/index.php/2008/11/apakah-mikrokontroler-itu/ )
Mikrokontroler AVR adalah mikrokontrol sistem RISC 8 bit berdasarkan arsitektur Harvard buatan Atmel. AVR (Advance Versatile
RISC atau Alf and Vegard’s RISC Processor) memiliki kecepatan eksekusi program yang lebih cepat karena sebagian besar instruksi dieksekusi dalam 1 siklus clock dibandingkan dengan mikrokontrol MCS51 dengan arsitektur CISC yang membutuhkan 12 siklus clock untuk 1 instruksi. (Heri Andrianto: 2008).
2. Arsitektur Mikrokontroler ATmega32
Arsitektur mikrokontroler AVR menggunakan arsitektur Harvard dengan memisahkan antara memori dan bus untuk program dan data
untuk memaksimalkan kecepatan. Proses instruksi dalam memori program dieksekusi dengan pipelining single level. Ketika satu instruksi dieksekusi, instruksi berikutnya diambil dari memori program. Dengan proses ini instruksi dapat dieksekusi setiap clock cycle.
Gambar 17. Arsitektur Harvard mikrokontrol AVR
3. Fitur ATmega32
Keluarga AVR memiliki bermacam-macam fitur yang dapat digunakan oleh programmer dan desainer untuk mengembangkan berbagai sistem kontrol. Fitur fitur ATmega32 adalah sebagai berikut: a. Mikrokontroler AVR 8 bit daya rendah dengan kemampuan kinerja
tinggi.
b. Arsitektur RISC dengan kecepatan prosesor mencapai 16 MIPS (Million Instruction Per Second) pada frekuensi kristal 16 MHz. c. Memiliki kapasitas memori non-volatile seperti Flash memori 32
Kbyte, EEPROM kapasitas 1024 byte dan SRAM kapasitas 2 Kbyte d. Antarmuka JTAG yang berfungsi untuk akses debugger ke unit
perangkat internal dan eksternal RAM, file internal register, program counter, EEPROM dan memori flash, juga digunakan dalam memprogram memori flash, EEPROM, Fuses dan Lock bit.
e. Fitur Per ipheral
1) 2 buah timer/counter 8 bit 2) Sebuah timer/counter 16 bit
3) Real time counter dengan osilator yang terpisah 4) 4 buah channel PWM
5) 8 buah channel, 10 bit ADC
6) Byte-oriented Two wire Seria l Interfa ce 7) Progra mma ble seria l USART
8) Antar muka serial SPI
9) Wa cthdog Timer dengan osilator internal 10)On-chip Ana log Compa ra tor
f. Saluran I/O (Input/Output) berjumlah 32 buah yaitu PORTA, PORTB, PORTC, dan PORTD
g. Tegangan operasi mikrokontrol ATmega32L sebesar 2,7V – 5,5V dengan osilator kristal maksimal 8 MHz, untuk ATmega32 sebesar 4,5V – 5,5V dengan osilator kristal sebesar 16 MHz.
4. Konfigurasi Pin ATmega32
ATmega32 memiliki 40 buah pin/kaki, dimana 32 pin tersebut adalah berfungsi sebagai jalur I/O dan fungsi khusus yang dapat berkomunikasi dari dan menuju mikrokontroler tergantung dari inisialisasi register di dalamnya. Berikut ini adalah susunan kaki-kaki dari ATmega32 pada kemasan PDIP (Plastic Dual Inline Package).
a. VCC adalah pin masukan catu daya positif b. GND adalah pin ground dari catu daya
c. PORTA – PORTD merupakan jalur input/output dua arah yang dapat diseting tegangan tinggi atau rendah melalui resistor pull-up.
d. PORTA (PA7 – PA0) adalah input analog menuju ADC7 – ADC0 e. PORTB (PB7 – PB0) merupakan fungsi khusus seperti pada tabel 3
Tabel 3. Fungsi khusus PORTB
f. PORTC (PC7 – PC0) merupakan fungsi khusus seperti pada tabel 4. Jika JTAG masih diaktifkan (enable), PC5, PC3, PC2 akan tetap dalam kondisi aktif walaupun telah direset.
Tabel 4. Fungsi khusus PORTC
g. PORTD (PD7 – PD0) merupakan fungsi khusus seperti tabel 5 berikut Tabel 5. Fungsi khusus PORTD
h. RESET merupakan pin untuk mereset mikrokontrol dengan menghubungsingkatkan kaki 9 pada mikrokontroler ke GND
i. XTAL1 dan XTAL2 untuk masukan clock eksternal
j. AVCC merupakan pin masukan tegangan untuk PORTA dan ADC. AVCC selalu disambungkan ke VCC walaupun ADC tidak dipakai.
k. AREF merupakan pin masukan untuk tegangan referensi ADC
Gambar 18. Blok diagram ATmega32
5. ADC Mikrokontroler ATmega32
ADC (Analog to Digital Converter ) mikrokontroler ATmega32 adalah jenis successive approximation ADC sebanyak 8 channel dengan resolusi 10 bit. ATmega32 memiliki fitur ADC diantaranya waktu konversi yang
cepat 13 μS – 260 μS dan resolusi maksimalnya sampai 15 kSPS.
Tegangan referensi VREF adalah sama dengan VCC yaitu 5V, jika memakai internal VREF sebesar 2,56V.
Resolusi maksimal pada jenis successive approximation ADC memerlukan input frekuensi clock antara 50 kHz sampai 200 kHz. Jika resolusi yang lebih rendah dari 10 bit dibutuhkan, maka input frekuensi clock ADC bisa lebih besar dari 200 kHz untuk mendapatkan sample rate (kecepatan pencuplikan) yang tinggi. Hasil sampling sinyal dikonversi (single ended conversion) menggunakan rumus matematika berikut:
Kecepatan hasil cuplikan ADC tergantung dari nilai kristal pada mikrokontroler. Kristal 16 MHz (maksimum clock) dengan prescaler (faktor pembagi) 16 maka clock ADC adalah 1 MHz. ADC memerlukan 13 clock cycle untuk menyelesaikan konversinya pada single ended conversion. Jadi clock ADC dibagi dengan 13 menghasilkan sample rate 76923 Hz atau 76,9 Khz. Bandwidth frekuensi input ADC ATmega32 adalah 38,5 kHz. (datasheet ATmega32: 293).
6. Peta Memori ATmega32
Arsitektur AVR telah memiliki dua memori utama, memori untuk data dan memori untuk program. Selain itu, AVR memiliki EEPROM sebagai memori penyimpan data. ATmega32 memiliki 32 kbyte On-chip In-System Reprogra mable Fla sh Memory atau memori yang dapat diprogram berkali-kali yang berfungsi sebagai penyimpan program. Untuk keamanan AVR program, memori program dibagi menjadi dua bagian, yaitu boot progra m dan program aplikasi. Memori flash termasuk dalam memori program dalam arsitektur AVR.
Gambar 22. Peta memori data AVR ATmega32
Memori data dibagi menjadi dua bagian yaitu SRAM (Static Random Access Memory) dan EEPROM (Electronically Erasable Programmable Rea d Only Memory). Memori data SRAM adalah memori penyimpan sementara terbagi menjadi 3 bagian, yaitu 32 buah GPR (General Purpose Register), 64 buah register I/O dan 2 kbyte SRAM internal.
Memori data EEPROM terdiri dari 1024 byte memori 8 bit yang dapat dibaca dan ditulis. Data yang tersimpan adalah data terakhir ketika catu daya dimatikan karena EEPROM bersifat nonvolatile. Alamat memori EEPROM dimulai dari $000 sampai $1FF.
7. Sistem Clock ATmega32
Sistem clock AVR terbagi menjadi 5 bagian, yaitu CPU Clock, I/O Clock, Fla sh Clock, Asynchronous Timer Clock dan ADC Clock. CPU Clock untuk menjalankan sistem inti CPU dan RAM dan juga menjalankan modul-modul seperti GPR, SR (Status Register) dan dalam memori pada SP (Stack Pointer). I/O Clock menjalankan modul-modul seperti Timer/Counter, SPI, dan USART. Sumber clock ini juga digunakan oleh modul External Interupt. Flash Clock digunakan dalam
operasi antar muka flash seperti memori Flash dan EEPROM. Asynchronous Timer Clock merupakan clock untuk Asynchronous Timer/Counter yang sumber clock langsung dari kristal luar 32 kHz. ADC Clock adalah clock yang sepenuhnya untuk sumber clock ADC.
Gambar 23. Pembagian clock ATmega32
I. Downloader ATmega8
Donwloader ATmega8 adalah perangkat yang digunakan untuk menulis, membaca, dan menghapus program dari/ke mikrokontroler keluarga AVR seperti ATmega8, ATmega16, ATmega32, ATmega128 dll. Rangkaian Donwloa der ATmega 8 yang dipakai dibuat oleh Thomas Fischl. (Dayat Kurniawan.2009). ATmega8 sebagai komponen utama karena bentuknya yang kecil, hanya terdiri dari 23 I/O (In-Out) sehingga lebih praktis sebagai perangkat downloader.
Perangkat lunak atau firmware pada downloader menggunakan firmwa re AVRISP MKII (AVR In System Progra ming MKII) yang merupakan salah satu jenis programmer pada software kompilasi CodeVisionAVR. Driver
downloa der mengggunakan software AVR Studio 4.18 yang didalamnya terdapat driver MKII.
Gambar 24. Skema rangkaian Downloader ATmega8 AVRISP MKII
Spesifikasi dari downloader ATmega8 AVRISP MKII adalah sebagai berikut:
1. Compa tible AVR Studio Versi 4.12 atau di atasnya 2. Compa tible CodeVisionAVR 2.05.3 Standard
3. Dapat digunakan untuk semua mikrokontroler keluarga AVR 4. Progra mer flash memory dan EEPROM
5. Dapat digunakan untuk setting fuses dan lock bits
6. Progra ming speed yang dapat diatur (50 Hz – 8 Mhz SCK frekuensi) 7. Digunakan pada USB 2.0 (full speed, 12 Mbps)
J. Graphic LCD 128 x 64 pixel
GLCD (Graphic Liquid Crystal Display) 128 x 64 pixel adalah perangkat penampil berbahan kristal cair yang dapat memendarkan cahaya berupa titik –
titik cahaya (pixel) tersusun secara matriks berjumlah 128 x 64 pixel. GLCD dapat menampilkan gambar (bitmap), angka, huruf dan simbol-simbol
tertentu. WG12864C-TMI VN adalah modul dengan tampilan grafik 128 x 64 pixel tipe STN Negative Transmissive Blue dengan white led backlight
Gambar 25. GLCD tipe WG12864C-TMI VN
. Modul GLCD ini dilengkapi dengan mikroprosesor KS0107-KS0108 buatan Samsung sebagai driver 64 channel output pada penampil matriks GLCD. Perangkat ini terdiri dari display RAM (Random Access Memmor y) kapasitas 512 bytes, 64 bit data lacth 64 bit drivers dan decoder logic. GLCD 128 x 64 memerlukan program (library) khusus untuk mikroprosesor KS0108 agar dapat berkomunikasi dengan mikrokontroler. Library tersebut terdapat pada program compiler CodeVisionAVR versi 2.05.3 Standar .