• Tidak ada hasil yang ditemukan

BAB II DASAR TEORI

2.4 Mikrokontroler AVR Attiny2313

Bagian ini akan mendeskripsikan Mikrokontroler AVR ATtiny2313 yang merupakan inti rangkaian yang dibangun. Beberapa bagian yang akan dibahas diantaranya yaitu mengenai arsitektur mikrokontroler, gambaran mengenai instruksi, mode pengalamatan memori dan program, serta periferal-periferal pendukung.

2.4.1 Arsitektur Mikrokontroler AVR ATtiny2313

AVR adalah mikrokontroler 8-Bit yang dibangun pada arsitektur komputer RISC (Reduce Instruction Set Computer). CPU (Central

Processing Unit) mampu melakukan sebuah instruksi dalam satu putaran

clock, sehingga ATtiny2313 dapat mencapai 1 MIPS (Millions of

Instructions Per Second) per MHz, dan memungkinkan perancangan yang

optimal untuk konsumsi daya dan kecepatan proses.

Inti kombinasi AVR adalah kombinasi instruksi yang beraneka ragam dengan 32 register (32General Purpose Working Registers). Ke-32 register tersebut langsung dihubungkan ke Arithmetic Logic Unit (ALU).

Dengan dua register independen, proses pengaksesan dapat dilakukan dalam satu instruksi yaitu satu siklus clock. Hasil dari arsitektur ini lebih

efisien sepuluh kali dari mikrokontroler jenis CISC seperti AT89Cxxx atau AT89Sxxx.

Enam dari 32registerdapat digunakan sebagai tiga buah pasangan

register untuk pengalamatan tak langsung ( Indirect Addressing ). Ketiga

pasangan register ini kemudian disebut sebagai 16-bit register

X ( R27:R26 ), register Y ( R29:R28 ), register Z ( R31:R30 ), yang digunakan juga sebagai penunjuk alamat ( address pointer ) untuk mengakses tabel konstanta yang tersimpan dalam program memory.

ATtiny2313 memiliki 2K byte In-System Programmable Flash, 128 byte EEPROM, 128 byte SRAM, 18 salurangeneral purpose I/O line,

32general purpose working register,interface Single-wire untukOn-chip

debugging, 2 flexible Timer/Counter dengan mode pembanding, interupsi

internal dan eksternal, sebuah programmable serial USART, USI

(Universal Serial Interface) dengan detektor kondisi awal,programmable

WatchDog Timer dengan osilator internal, dan tiga software selectable

mode power-saving yaitu mode Idle, mode Power-down, dan mode

Standby.

AVR memiliki arsitektur Harvad dengan memory terpisah antara program dan data. Program memory diakses dalam 2 tahap berurutan (2

stage pipeline). Saat sebuah instruksi sedang dijalankan instruksi

berikutnya diambil dari program memory. Konsep ini memungkinkan sebuah instruksi dapat dijalankan dalam satu putaranclock.

ATtiny2313 menggunakan (SRAM) untuk stack pointer. Saat terjadi interupsi atau sebuah instruksicall dijalankan, alamat asal program

yang ditinggalkan disimpan dalam stack pointer, kemudian CPU menjalankan program yang dipanggil atau program yang melayani interupsi seperti yang ditunjukkan dalam vector interupsi. Program akan kembali ke alamat yang ditinggalkan setelah instruksi RET (Return) untuk

subroutine atau RETI (Return From Interrupt) dijalankan.

2.4.2 Organisasi Memori

Secara garis besar ATtiny2313 mempunyai dua memori utama,yaitu :

1. Data Memory, dengan pembagian :

1) 32 register keperluan umum (GPR) digunakan untuk seluruh operasi instruksi.

2) Register I/O digunakan untuk mengontrol mikrokontroler.

3) 128 x 8 SRAM untuk keperluan penyimpan data sementara. 2. Program Memory ; memiliki kapasitas 1Kx16 dengan lebar data 10

bit.

Selain dua memori utama diatas, ATtiny2313 juga memiliki memori EEPROM yang digunakan untuk memori data program

nonvolatile.

(a) (b)

2.4.3 Hardware AVR ATtiny2313

AVR ATtiny2313 tersedia dalam dua jenis kemasan yaitu 20 DIP dan 20 SOIC. Kemasan ini tidak memerlukan instalasi kabel yang melibatkan banyak jalur sebagaimana pada mikrokontroler dengan jumlah pin diatas 40 buah. Konfigurasi pin pada mikrokontroler AVR ATtiny2313 ditunjukan gambar 2.8.

Gambar 2.8 Konfigurasi Pin ATtiny2313 Fungsi dari masing-masing pin :

1. VCC sebagaipower supply (pin 20). 2. GND sebagaiground (pin 10).

3. Port A (PA2..PA0) merupakan port I/O 3-bit bi-directional. Memiliki fungsi khusus lain seperti XTAL1, XTAL2, danReset. 4. Port B (PB7..PB0) merupakanport I/O 8-bitbi-directional.Buffer

output port ini mempunyai karakteristik penggerak dengan

kemampuan mencatu (source) dan menyerap (sink).

5. Port D (PD6..PD0) merupakanport I/O 7-bitbi-directional.

6. RESET merupakan reset input, yang akan aktif apabila pin ini

7. XTAL1 merupakan input bagi inverting oscillator amplifier dan

input untuk rangkaianclock internal.

8. XTAL2 merupakanoutput inverting oscillator amplifier.

2.4.4 Port I/O

ATtiny2313memiliki 3 buahport I/O yaitu : 1. Port B

Port B merupakan port I/O 8 bit bidirectional yang masing-masing pinnya dapat dikonfigurasi secara individual. Masing-masing pin dalam port ini juga memiliki fasilitas berupa resistor

pull-up internal yang berguna untuk memberikan kondisi yang

tentu pada saat dikonfigurasi sebagai input tanpa harus memberi

pull-upeksternal.

Port B mempunyai 3 perangkatregister dengan fungsi tertentu, yaitu :

i. Data register port B (PORTB), berlokasi $18 ($38).

Register ini dapat ditulis dan dibaca.

ii. Data direction register port B (DDRB), berlokasi $17

($37).Register ini dapat ditulis dan dibaca.

iii. Port B Input Pin (PINB), berlokasi $16 ($36). Merupakan

pin fisik padahardware dan hanya dapat dibaca.

Beberapa pin dari Port B memiliki fungsi khusus yang bisa digunakan sesuai kebutuhan, yaitu PB7, PB6, PB5, PB4, PB3, PB2, PB1, dan PB0.

2. Port D

Port D memiliki tiga buah lokasi memori yang berkaitan dengan penggunaanya sebagai port I/O. Memori-memori tersebut adalah:

i. PORTD (Data Direction) berlokasi pada $12.

ii. DDRD (Data Direction Register port D) berlokasi pada $11.

iii. PIND (Port D Input Pins) berlokasi pada $10. PIND bukanlah register. PIND hanya dapat dibaca.

Format Port D hampir sama dengan Port B dalam hal konfigurasi I/O dan dalam penggunaan resistor pull-up. Hal yang membedakan dengan Port B adalah jumlah pin yang bisa digunakan hanya 7 buah, karena sesuai dengan jumlah pin yang ada pada Port D. Pin-pin pada Port D juga memiliki fungsi alternatif lain.

3. PortA

Port A mempunyai 3 bitbi-directional, berbeda denganPortB maupun Port D. Namun, seperti halnya Port B, port ini dapat dikonfigurasi secara individual (per bit sebagai input ataupun

output).Port A juga memiliki 3 perangkatregister, yaitu :

i. Dataregister port A (PORTA), berlokasi di $1B($3B).

ii. Data Direction Register port A (DDRA), berlokasi di

$1A($3A).

Fungsi alternatifportA dapat digunakan jika dalam pengaturan

system clock yang dipakai menggunakanoscillatoreksternal.

Gambar 2.9Reset input

Penentuan reset (PA2) dapat dilakukan dengan mengatur nilai resistor dan kapasitornya. Untuk membuat keadaanreset, tegangan maksimal yang harus diberikan pada pin ini Vc = 0,85 Vcc

(datasheet AVR ATtiny2313). Persamaan yang terjadi adalah

sebagai berikut :

)

e

1

(

Vcc

Vc

RC t

=

(2-3)

Dengan VC =tegangan maksimal ; 0.85VCC (volt) = R resistansi ( ) = C kapasitansi (Farad) = t reset time (mS)

2.4.5 Instruksi pada Mikrokontroler AVR ATtiny2313

ATtiny2313 memiliki 120 instruksi yang dapat dikelompokkan dalam 4 bagian yaitu: 22 instruksi aritmatik dan logika, 35 instruksi percabangan, 35 instruksi transfer data, dan 28 buah instruksi operasi bit

dan tes bit. Terdapat beberapa operasi “skip” yang dapat melewati (skip) sebuah instruksi setelah satu instruksi tes dilakukan.

Seluruh register dalam ATtiny2313 dapat digunakan sebagai akumulator, setengah bagian bawah register file digunakan untuk nilai segera (immediate value). Hampir seluruh op code ATtiny2313 mempunyai panjang 16-bit, hanya 2 instruksi mempunyai panjang 32-bit yaitu, LDS (Load Direct From Data Spac) dan STS Store Direct to Data

Space).

2.4.6 Mode Pengalamatan Memori dan Program ATtiny2313

Terdapat lima buah pengalamatan data memory yang dapat dilakukan yaitu:

1. Pengalamatan Langsung (Direct Addressing). 2. Pengalamatan Tak Langsung (Indirect Addressing).

3. Pengalamatan Tak Langsung dengan Displacement (Indirect

Addressing With Displacement).

4. Pengalamatan Tak Langsung dengan Post-increment (Indirect

Addressing With Post-increment).

5. Pengalamatan Tak Langsung dengan Pre-decrement

(IndirectAddressing With Pre-decremen) .

Sedang untuk pengaksesan konstanta pada program memory

digunakan sebuah instruksi khusus yaitu LPM ( Load Program Memory) yang mengambil data pada alamat program memory yang ditunjukregister

Untuk pengalamatan relatif dari program yang dijalankan

(Relative Program Addressing) digunakan RJMP (Relative Jump) dan

RCALL (Relative Call). Sedang pengalamatan tak langsung program

(Indirect Program Addressing) digunakan perintah IJMP (Indirect Jump)

dan ICALL (Indirect Call).

2.4.7 Periferal Mikrokontroler AVR ATtiny2313

Mikrokontroler AVR ATtiny2313 dilengkapi dengan beberapa periferal. Untuk dapat mengkonfigurasi fungsi dari periferal-periferal tersebut maka yang harus dilakukan adalah mengatur setting bit pada

register kontrol yang bersangkutan.

2.4.7.1Timer/Counter

ATtiny2313 memiliki 2 buah timer/counter yang masing-masing mempunyai seleksiprescale terpisah dari sebuah prescale

yang sama.

Yang pertama adalah Timer/Counter0 yang merupakan

8-bit timer/counter dengan dua unit output compare match

independen, dan mendukung untuk operasi PWM. Timer/Counter0

dapat di-clock melalui sumber clock internal maupun eksternal. Sumberclockdipilih melaluiclock select logic yang dikontrol oleh

bitclock select (CS02..0) yang berada dalamregister TCCR0B.

Yang kedua adalah Timer/Counter1 merupakan 16-bit

pembangkitan gelombang, dan pengukuran waktu (timing) sinyal.

Timer/Counter1 dapat di-clock secara internal maupun eksternal

(pin T1). Sumber clock dipilih melalui clock select logic yang dikontrol oleh bit clock select (CS12..10) yang berada dalam

register TCCR1B.

2.4.7.2On-chip Osilator

ATtiny2313 dilengkapi denganon-chip osilator yang dapat berosilasi dengan hanya menghubungkan 3 buah komponen luar tambahan. Pin XTAL1 dan XTAL2 adalah input dan output

inverting amplifier. Untuk membangkitkan frekuensi osilasi yang

diinginkan dapat menggunakan kristal atau keramik resonator

30pF 30pF

GND XTAL1

XTAL2

Gambar 2.10Koneksi Osilator

ATtiny-10PC dapat dihubungkan dengan kristal yang mampu menghasilkan frekuensi osilasi sampai 10 MHz. Selain dihubungkan dengan kristal kedua pin tersebut harus dihubungkan dengan kapasitor keramik 30 pF keground.

Dokumen terkait