2 Mikrokontroler Avr

13

Click here to load reader

Transcript of 2 Mikrokontroler Avr

Page 1: 2 Mikrokontroler Avr

2 MIKROKONTROLER AVR

Mikrokontroler AVR merupakan salah satu jenis arsitektur mikrokontroler yang menjadi

andalan Atmel. Arsitektur ini dirancang memiliki berbagai kelebihan dan merupakan

penyempurnaan dari arsitektur mikrokontroler-mikrokontroler yang sudah ada.

Berbagai seri mikrokontroler AVR telah diproduksi oleh Atmel dan digunakan di dunia

sebagai mikrokontroler yang bersifat low cost dan high performance. Di Indonesia,

mikrokontroler AVR banyak dipakai karena fiturnya yang cukup lengkap, mudah untuk

didapatkan, dan harganya yang relatif terjangkau.

2.1 Varian Mikrokontroler AVR

Antar seri mikrokontroler AVR memiliki beragam tipe dan fasilitas, namun kesemuanya

memiliki arsitektur yang sama, dan juga set instruksi yang relatif tidak berbeda. Tabel 2.1

membandingkan beberapa seri mikrokontroler AVR buatan Atmel.

Seri Flash (kbytes)

RAM (bytes)

EEPROM (kbytes)

Pin I/O

Timer 16-bit

Timer 8-bit

UART PWM ADC 10-bit

SPI ISP

ATmega8 8 1024 0.5 23 1 1 1 3 6/8 1 YaATmega8535

8 512 0.5 32 2 2 1 4 8 1 Ya

ATmega16 16 1024 0.5 32 1 2 1 4 8 1 YaATmega162 16 1024 0.5 35 2 2 2 6 8 1 YaATmega32 32 2048 1 32 1 2 1 4 8 1 YaATmega128 128 4096 4 53 2 2 2 8 8 1 YaATtiny12 1 - 0.0625 6 - 1 - - - - YaATtiny2313 2 128 0.125 18 1 1 1 4 - 1 YaATtiny44 4 256 0.25 12 1 1 - 4 8 1 YaATtiny84 8 512 0.5 12 1 1 - 4 8 1 Ya

Page 2: 2 Mikrokontroler Avr

Keterangan:

Flashadalah suatu jenis Read Only Memory yang biasanya diisi dengan program

hasil buatan manusia yang harus dijalankan oleh mikrokontroler

RAM (Random Acces Memory) merupakan memori yang membantu CPU untuk

penyimpanan data sementara dan pengolahan data ketika program sedang running

EEPROM (Electrically Erasable Programmable Read Only Memory) adalah memori

untuk penyimpanan data secara permanen oleh program yang sedang running

Port I/O adalah kaki untuk jalur keluar atau masuk sinyal sebagai hasil keluaran

ataupun masukan bagi program

Timer adalah modul dalam hardware yang bekerja untuk menghitung waktu/pulsa

UART (Universal Asynchronous Receive Transmit) adalah jalur komunikasi data

khusus secara serial asynchronous

PWM (Pulse Width Modulation) adalah fasilitas untuk membuat modulasi pulsa

ADC (Analog to Digital Converter) adalah fasilitas untuk dapat menerima sinyal

analog dalam range tertentu untuk kemudian dikonversi menjadi suatu nilai digital

dalam range tertentu

SPI (Serial Peripheral Interface) adalah jalur komunikasi data khusus secara serial

secara serial synchronous

ISP (In System Programming) adalah kemampuan khusus mikrokontroler untuk

dapat diprogram langsung dalam sistem rangkaiannya dengan membutuhkan

jumlah pin yang minimal

2.2 Arsitektur Mikrokontroler AVR

Mikrokontroler AVR sudah menggunakan konsep arsitektur Harvard yang memisahkan

memori dan bus untuk data dan program, serta sudah menerapkan single level pipelining.

Selain itu mikrokontroler AVR juga mengimplementasikan RISC (Reduced Instruction Set

Computing) sehingga eksekusi instruksi dapat berlangsung sangat cepat dan efisien. Blok

sistem mikrokontroler AVR dapat dilihat dalam Gambar 2.1.

Page 3: 2 Mikrokontroler Avr

Gambar 2.1 Blok Diagram Mikrokontroler AVR

Page 4: 2 Mikrokontroler Avr

Salah satu seri mikrokontroler AVR yang banyak menjadi andalan saat ini adalah tipe

ATtiny2313 dan ATmega8535. Seri ATtiny2313 banyak digunakan untuk sistem yang

relatif sederhana dan berukuran kecil. Berikut adalah feature-feature mikrokontroler seri

ATtiny2313.

Kapasitas memori Flash 2 Kbytes untuk program

Kapasitas memori EEPROM 128 bytes untuk data

Maksimal 18 pin I/O

8 interrupt

8-bit timer

Analog komparator

On-chip oscillator

Fasilitas In System Programming (ISP)

Sedangkan ATmega8535 banyak digunakan untuk sistem yang kompleks, memiliki input

sinyal analog, dan membutuhkan memori yang relatif lebih besar. Berikut adalah feature-

feature mikrokontroler seri ATmega8535.

Memori Flash 8 Kbytes untuk program

Memori EEPROM 512 bytes untuk data

Memori SRAM 512 bytes untuk data

Maksimal 32 pin I/O

20 interrupt

Satu 16-bit timer dan dua 8-bit timer

8 channel ADC 10 bit

Komunikasi serial melalui SPI dan USART

Analog komparator

4 I/O PWM

Fasilitas In System Programming (ISP)

2.3 Peta Memori Mikrokontroler AVR

Page 5: 2 Mikrokontroler Avr

Gambar 2.2 memperlihatkan peta memori mikrokontroler AVR yang dapat dijelaskan

sebagai berikut:

Gambar 2.2 Peta memori mikrokontroler AVR

2.3.1 Memori Program

Mikrokontroler AVR memiliki 8 kbyte On Chip In System Reprogrammable Flash Memory

untuk menyimpan program. Karena semua instruksi AVR

The ATmega8535 contains 8K bytes On-chip In-System Reprogrammable Flash memoryfor program storage. Since all AVR instructions are 16 or 32 bits wide, the Flash isorganized as 4K x 16. For software security, the Flash Program memory space isdivided into two sections, Boot Program section and Application Program section.The Flash memory has an endurance of at least 10,000 write/erase cycles. TheATmega8535 Program Counter (PC) is 12 bits wide, thus addressing the 4K programmemory locations. The operation of Boot Program section and associated Boot Lockbits for software protection are described in detail in “Boot Loader Support – Read-While-Write Self-Programming” on page 224. “Memory Programming” on page 237 containsa detailed description on Flash Programming in SPI or Parallel Programmingmode.Constant tables can be allocated within the entire program memory address space (seethe LPM – Load Program Memory instruction description).

2.3.2 Memori Data

Page 6: 2 Mikrokontroler Avr

2.4 Penjelasan Fungsi Pin Mikrokontroler AVR

IC mikrokontroler dikemas (packaging) dalam bentuk yang berbeda. Namun pada dasarnya

fungsi kaki yang ada pada IC memiliki persamaan. Gambar 2.3 menunjukkan salah satu

bentuk IC seri mikrokontroler AVR ATmega8535.

Gambar 2.3 Bentuk fisik Mikrokontroler ATMega8535

Berikut adalah penjelasan fungsi tiap kaki.

A. Port A

Merupakan 8-bit directional port I/O. Setiap pinnya dapat menyediakan internal pull-up

resistor (dapat diatur per bit). Output buffer Port A dapat memberi arus 20 mA dan dapat

mengendalikan display LED secara langsung. Data Direction Register port A (DDRA) harus

disetting terlebih dahulu sebelum Port A digunakan. Bit-bit DDRA diisi 0 jika ingin

memfungsikan pin-pin port A yang bersesuaian sebagai input, atau diisi 1 jika sebagai

Page 7: 2 Mikrokontroler Avr

output. Selain itu, kedelapan pin port A juga digunakan untuk masukan sinyal analog bagi

A/D converter.

B. Port B

Merupakan 8-bit directional port I/O. Setiap pinnya dapat menyediakan internal pull-up

resistor (dapat diatur per bit). Output buffer Port B dapat memberi arus 20 mA dan dapat

mengendalikan display LED secara langsung. Data Direction Register port B (DDRB) harus

disetting terlebih dahulu sebelum Port B digunakan. Bit-bit DDRB diisi 0 jika ingin

memfungsikan pin-pin port B yang bersesuaian sebagai input, atau diisi 1 jika sebagai

output. Pin-pin port B juga memiliki untuk fungsi-fungsi alternatif khusus seperti yang

dapat dilihat dalam Tabel 2.2.

Tabel 2.2 Fungsi Khusus Port B

Port Pin Fungsi Khusus PB0 T0 = timer/counter 0 external counter input PB1 T1 = timer/counter 0 external counter input PB2 AIN0 = analog comparator positive input PB3 AIN1 = analog comparator negative input PB4 SS = SPI slave select input PB5 MOSI = SPI bus master output / slave input PB6 MISO = SPI bus master input / slave output PB7 SCK = SPI bus serial clock

C. Port C

Merupakan 8-bit directional port I/O. Setiap pinnya dapat menyediakan internal pull-up

resistor (dapat diatur per bit). Output buffer Port C dapat memberi arus 20 mA dan dapat

mengendalikan display LED secara langsung. Data Direction Register port C (DDRC) harus

disetting terlebih dahulu sebelum Port C digunakan. Bit-bit DDRC diisi 0 jika ingin

memfungsikan pin-pin port C yang bersesuaian sebagai input, atau diisi 1 jika sebagai

output. Selain itu, dua pin port C (PC6 dan PC7) juga memiliki fungsi alternatif sebagai

oscillator untuk timer/counter 2.

D. Port D

Page 8: 2 Mikrokontroler Avr

Merupakan 8-bit directional port I/O. Setiap pinnya dapat menyediakan internal pull-up

resistor (dapat diatur per bit). Output buffer Port D dapat memberi arus 20 mA dan dapat

mengendalikan display LED secara langsung. Data Direction Register port D (DDRD) harus

disetting terlebih dahulu sebelum Port D digunakan. Bit-bit DDRD diisi 0 jika ingin

memfungsikan pin-pin port D yang bersesuaian sebagai input, atau diisi 1 jika sebagai

output. Selain itu, pin-pin port D juga memiliki untuk fungsi-fungsi alternatif khusus seperti

yang dapat dilihat dalam Tabel 2.3.

Tabel 2.3 Fungsi Khusus Port D

Port Pin Fungsi KhususPD0 RDX (UART input line)PD1 TDX (UART output line)PD2 INT0 ( external interrupt 0 input )PD3 INT1 ( external interrupt 1 input )PD4 OC1B (Timer/Counter1 output compareB match output)PD5 OC1A (Timer/Counter1 output compareA match output)PD6 ICP (Timer/Counter1 input capture pin)PD7 OC2 (Timer/Counter2 output compare match output)

E. RESET

RST pada pin 9 merupakan reset dari AVR. Jika pada pin ini diberi masukan low selama

minimal 2 machine cycle maka system akan di-reset.

F. XTAL1

XTAL1 adalah masukan ke inverting oscillator amplifier dan input ke internal clock

operating circuit.

G. XTAL2

XTAL2 adalah output dari inverting oscillator amplifier.

H. AVcc

Avcc adalah kaki masukan tegangan bagi A/D Converter. Kaki ini harus secara eksternal

terhubung ke Vcc melalui lowpass filter.

Page 9: 2 Mikrokontroler Avr

I. AREF

AREF adalah kaki masukan referensi bagi A/D Converter. Untuk operasionalisasi ADC,

suatu level tegangan antara AGND dan Avcc harus dibeikan ke kaki ini.

J. AGND

AGND adalah kaki untuk analog ground. Hubungkan kaki ini ke GND, kecuali jika board

memiliki anlaog ground yang terpisah.

2.5 Rangkaian Sistem Minimum AVR 8535

Sistem minimum (sismin) mikrokontroler adalah rangkaian elektronik minimum yang

diperlukan untuk beroperasinya IC mikrokontroler. Sismin ini kemudian bisa dihubungkan

dengan rangkaian lain untuk menjalankan fungsi tertentu. Di keluarga mikrokontroler AVR,

seri 8535 adalah salah satu seri yang sangat banyak digunakan.

Untuk membuat rangkaian sismin Atmel AVR 8535 diperlukan beberapa komponen yaitu:

IC mikrokontroler ATmega8535

1 XTAL 4 MHz atau 8 MHz (XTAL1)

kapasitor kertas yaitu dua 22 pF (C2 dan C3) serta 100 nF (C4)

1 kapasitor elektrolit 4.7 uF (C12) 2 resistor yaitu 100 ohm (R1) dan 10 Kohm (R3)

1 tombol reset pushbutton (PB1)

Selain itu tentunya diperlukan power suply yang bisa memberikan tegangan 5V DC.

Rangkaian sistem minimum ini sudah siap untuk menerima sinyal analog (fasilitas ADC) di

port A. Rangkaiannya dapat dilihat dalam Gambar 2.4.

Page 10: 2 Mikrokontroler Avr

Gambar 2.4 Sistem Minimum Mikrokontroler ATMega 8535