Rabu, 14 September 2011


Mikrokontroler AVR ( Alf and Vegaard’s Risc Processor)

Mikrokontroler jenis AVR adalah prosesor yang sekarang ini paling banyak digunakan dalam membuat aplikasi sistem kendali bidang instrumentasi, dibandingkan dengan mikrokontroler keluarga MCS51 seperti AT 89C51/52.
Mikrokontroler seri AVR pertama kali diperkenalkan ke pasaran sekitar tahun 1997 oleh perusahaan Atmel, yaitu sebuah perusahaan yang sangat terkenal dengan produk mikrokontroler seri AT89S51/52-nya yang sampai sekarang masih banyak digunakan di lapangan.  Keterbatasan pada mikrokontroler tersebut (resolusi, memori, dan kecepatan) menyebabkan banyak orang beralih ke mikrokontroler AVR. Hal ini karena ada beberapa kelebihan dari tipe AVR ini yaitu diantaranya ADC, DAC, Counter, Timer, I2C, USART, dan sebagainya.
Mikrokontroler AVR standar memiliki arsitektur 8 bit, dimana semua instruksi dikemas dalam kode 16 bit dan sebagian besar instruksi dieksekusi dalam satu situs clock, berbeda dengan instruksi MCS51 yang membutuhkan 12 situs clock (Widodo Budiharto dan Gamayel Rizal, 2007:28). Hal ini karena kedua jenis mikrokontroler tersebut memiliki arsitektur yang berbeda. AVR berteknologi RISC(Reduce Insruction Set Computing), sedangkan seri MCS51 berteknologi CISC(Complex Instruction Set Computing). AVR dapat dikelompokkan menjadi empat kelas yaitu keluarga ATtiny, keluarga AT90Sxx, keluarga ATmega, dan AT86RFFxx. Perbedaan dari masing - masing keluarga AVR tersebut adalah memori, peripheral, dan fungsinya.
A.       Fitur ATmega16
Fitur-fitur yang terdapat pada mikrokontroler ATmega16 antara lain  adalah sebagai berikut:
1.      High-performance, Low-power AVR 8-bit Microcontroller
2.      Advanced RISC Architecture
a.        131 Powerful Instructions-Most Single-clock Cycle Execution
b.        32 x 8 General Purpose Working Registers
c.         Fully Static Operation
d.        Up to 16 MIPS Throughput at 16 MHz
e.         On-chip 2-cycle Multiplier
3.      Nonvolatile Program and Data Memories
a.      16K Bytes of In-System Self-Programmable Flash
Endurance: 10,000 Write/Erase Cycles
b.      Optional Boot Code Section with Independent Lock Bits
1)        In-System Programming by On-chip Boot Program
2)        True Read-While-Write Operation
c.       512 Bytes EEPROM
Endurance: 100,000 Write/Erase Cycles
d.      1K Byte Internal SRAM
e.       Programming Lock for Software Security
4.      JTAG (IEEE std. 1149.1 Compliant) Interface
a.      Boundary-scan Capabilities According to the JTAG Standard
b.      Extensive On-chip Debug Support
c.       Programming of Flash, EEPROM, Fuses, and Lock Bits through the JTAG Interface
5.      Peripheral Features
a.      Two 8-bit Timer/Counters with Separate Prescalers and Compare Modes
b.      One 16-bit Timer/Counter with Separate Prescaler, Compare Mode, and Capture Mode
c.       Real Time Counter with Separate Oscillator
d.      Four PWM Channels
e.       8-channel, 10-bit ADC
1)      8 Single-ended Channels
2)      7 Differential Channels in TQFP Package Only
3)      2 Differential Channels with Programmable Gain at 1x, 10x, or 200x
f.        Byte-oriented Two-wire Serial Interface
g.      Programmable Serial USART
h.      Master/Slave SPI Serial Interface
i.        Programmable Watchdog Timer with Separate On-chip Oscillator
j.        On-chip Analog Comparator
6.      Special Microcontroller Features
a.      Power-on Reset and Programmable Brown-out Detection
b.      Internal Calibrated RC Oscillator
c.       External and Internal Interrupt Sources
d.      Six Sleep Modes: Idle, ADC Noise Reduction, Power-save, Power-down, Standby and Extended Standby
7.       I/O and Packages
a.      32 Programmable I/O Lines
b.      40-pin PDIP, 44-lead TQFP, and 44-pad QFN/MLF
8.      Operating Voltages
a.      2.7 - 5.5V for ATmega16L
b.      4.5 - 5.5V for ATmega16
9.      Speed Grades
a.      0 - 8 MHz for ATmega16L
b.      0 - 16 MHz for ATmega16
10.  Power Consumption at 1 MHz, 3V, and 25°C for ATmega16L
a.      Active: 1.1 mA
b.      Idle Mode: 0.35 mA
c.       Power-down Mode: < 1 Μa

B.           Konfigurasi Pin ATmega16

Gambar 2. Susunan pin ATmega16

Berikut ini adalah susunan pin/kaki dari ATmega16:
1.           VCC adalah merupakan pin masukan positip catu daya.
2.           GND  sebagai pin Ground
3.           PORT A (A.0-A.7) merupakan input analog ke A/D konverter. Port A juga sebagai 8-bit bi-directional port   I/O, jika A/D konverter tidak digunakan. Pin-pin port dapat menyediakan resistor-resistor internal pull-up. Ketika port A digunakan sebagai input dan pull eksternal yang rendah akan menjadi sumber arus jika resistor-resistor pull-up diaktifkan. Pin-pin port A adalah tri-state ketika kondisi reset menjadi aktif sekalipun clock tidak aktif.
4.           PORT B (B.0-B.7) merupakan port I/O 8-bit bi-directional dengan resistor-resistor internal pull-up. Buffer output port B mempunyai karaketristik drive yang simetris dengan kemampuan keduanya sink dan source yang tinggi. Sebagai input, port B yang mempunyai pull eksternal yang rendah akan menjadi sumber arus jika resistor-resistor pull-up diaktifkan. Pin-pin port B adalah tri-state ketika kondisi reset menjadi aktif sekalipun clock tidak aktif.
5.            PORT C (C.0-C.7) merupakan port I/O 8-bit bi-directional dengan resistor-resistor internal pull-up. Buffer output port C mempunyai karaketristik drive yang simetris dengan kemampuan keduanya sink dan source yang tinggi. Sebagai input, port C yang mempunyai pull eksternal yang rendah akan menjadi sumber arus jika resistor-resistor pull-up diaktifkan. Pin-pin port C adalah tri-state ketika kondisi reset menjadi aktif seklipun clock tidak aktif. Jika antarmuka JTAG enable, resistor-resistor pull-up pada pin-pin PC5(TDI), PC3(TMS), PC2(TCK) akan diktifkan sekalipun terjadi reset.
6.           PORT D (D.0-D.7) merupakan port I/O 8-bit bi-directional dengan resistor-resistor internal pull-up. Buffer output port D mempunyai karaketristik drive yang simetris dengan kemampuan keduanya sink dan source yang tinggi. Sebagai input, port D yang mempunyai pull eksternal yang rendah akan menjadi sumber arus jika resistor-resistor pull-up diaktifkan. Pin-pin port D adalah tri-state ketika kondisi reset menjadi aktif seklipun clock tidak aktif.
7.           Reset merupakan pin yang digunakan untuk me-reset mikrokontroler.
8.           XTAL1 dan XTAL2 sebagai pin masukan clock eksternal. Suatu mikrocontroller membutuhkan sumber detak (clock) agar dapat mengeksekusi instruksi yang ada di memori. Semakin tinggi kristalnya, semakin cepat kerja mikrokontroler tersebut.
9.           AVCC sebagai pin supply tegangan untuk ADC.
10.       AREF sebagi pin masukan tegangan referensi untuk ADC.
C.          Peta Memori
ATMega16 memiliki dua ruang memori utama, yaitu data dan memori program. Selain dua memori utama, ATMega16 juga memiliki fitur EEPROM yang dapat digunakan sebagai penyimpan data.
1.      Flash Memory
      ATMega16 memiliki flash memori sebesar 16 Kbytes untuk memori program. Karena semua interupsi AVR memiliki organisasi memori 4 Kbyte x 16 dengan alamat dari $000 hingga $FFF. Untuk keamanan software, memori flash dibagi menjadi dua lagi, yaitu Boot program dan bagian Application Program . AVR tersebut memiliki 12 bit program Counter (PC) sehingga mampu mengalamati isi flash memori.
 
2.      SRAM
ATMega8535 memiliki 608 alamat memori data yang terbagi menjadi 3 bagian, yaitu 32 buah register file, 64 buah I/O register dan 512byte internal SRAM.
  
Tampak pada peta memori data bahwa alamat $000-$001F ditempati oleh register file. I/O register menempati alamat dari $0020-$005F. sedangkan sisanya sebagai internal SRAM sebesar 512byte ($060-$025F).

3.      EEPROM
ATMega8535 juga memiliki memori data berupa EEPROM 8 bit sebesar  512 byte ($000-$1FF).


1 komentar:

bisa saya pesan coding buat bel sekolah

Posting Komentar

Share

Twitter Delicious Facebook Digg Stumbleupon Favorites More