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