ATMega328
ATMega328 adalah
mikrokontroller keluaran dari atmel yang mempunyai arsitektur RISC (Reduce
Instruction Set Computer) yang dimana setiap proses eksekusi data lebih
cepat dari pada arsitektur CISC (Completed Instruction Set Computer).
ATMega328 merupakan
mikrokontroler keluarga AVR 8 bit. Beberapa tipe mikrokontroler yang sama
dengan ATMega8 ini antara lain ATMega8535, ATMega16, ATMega32, ATmega328, yang
membedakan antara mikrokontroler antara lain adalah, ukuran memori, banyaknya
GPIO (pin input/output), peripherial (USART, timer, counter,
dll). Dari segi ukuran fisik, ATMega328 memiliki ukuran fisik lebih kecil
dibandingkan dengan beberapa mikrokontroler diatas. Namun untuk segi memori dan
periperial lainnya ATMega328 tidak kalah dengan yang lainnya karena ukuran
memori dan periperialnya relatif sama dengan ATMega8535, ATMega32, hanya saja
jumlah GPIO lebih sedikit dibandingkan mikrokontroler diatas.
Mikrokontroller ini memiliki beberapa fitur antara
lain :
§
130 macam instruksi yang hampir semuanya
dieksekusi dalam satu siklus clock.
§
32 x 8-bit register serba guna.
§
Kecepatan mencapai 16 MIPS dengan clock
16 MHz.
§
32 KB Flash memory dan pada
arduino memiliki bootloader yang menggunakan 2 KB dari flash memori
sebagai bootloader.
§
Memiliki EEPROM (Electrically
Erasable Programmable Read Only Memory) sebesar 1KB sebagai tempat
penyimpanan data semi permanent karena EEPROM tetap dapat menyimpan data
meskipun catu daya dimatikan.
§
Memiliki SRAM (Static Random
Access Memory) sebesar 2KB.
§
Memiliki pin I/O digital sebanyak 14 pin
6 diantaranya PWM (Pulse Width Modulation) output.
§
Master / Slave SPI Serial interface.
Mikrokontroller
ATmega 328 memiliki arsitektur Harvard, yaitu memisahkan memori untuk kode
program dan memori untuk data sehingga dapat memaksimalkan kerja dan parallelism.
instruksi
– instruksi dalam memori program dieksekusi dalam satu alur tunggal, dimana
pada saat satu instruksi dikerjakan instruksi berikutnya sudah diambil dari
memori program. Konsep inilah yang memungkinkan instruksi – instruksi dapat
dieksekusi dalam setiap satu siklus clock. 32 x 8-bit register serba guna
digunakan untuk mendukung operasi pada ALU ( Arithmatic Logic unit ) yang
dapat dilakukan dalam satu siklus. 6 dari register serbaguna ini dapat
digunakan sebagai 3 buah register pointer 16-bit pada mode pengalamatan tidak
langsung untuk mengambil data pada ruang memori data.
Ketiga register pointer 16-bit ini disebut
dengan register X ( gabungan R26 dan R27 ), register Y ( gabungan R28 dan R29
), dan register Z ( gabungan R30 dan R31 ). Hampir semua instruksi AVR memiliki
format 16-bit. Setiap alamat memori program terdiri dari instruksi 16-bit atau
32-bit.
Selain
register serba guna di atas, terdapat register lain yang terpetakan dengan
teknik memory mapped I/O selebar 64 byte. Beberapa register ini
digunakan untuk fungsi khusus antara lain sebagai register control Timer/
Counter, Interupsi, ADC, USART, SPI, EEPROM, dan fungsi I/O lainnya. Register –
register ini menempati memori pada alamat 0x20h – 0x5Fh.
Instruksi
– instruksi dalam memori program dieksekusi dalam satu alur tunggal, dimana
pada saat satu instruksi dikerjakan instruksi berikutnya sudah diambil dari
memori program. Konsep inilah yang memungkinkan instruksi – instruksi dapat
dieksekusi dalam setiap satu siklus clock. 32 x 8-bit register serba guna
digunakan untuk mendukung operasi pada ALU ( Arithmatic Logic unit ) yang
dapat dilakukan dalam satu siklus. 6 dari register serbaguna ini dapat
digunakan sebagai 3 buah register pointer 16-bit pada mode pengalamatan tidak
langsung untuk mengambil data pada ruang memori data.
Ketiga register pointer 16-bit ini disebut
dengan register X ( gabungan R26 dan R27 ), register Y ( gabungan R28 dan R29
), dan register Z ( gabungan R30 dan R31 ). Hampir semua instruksi AVR memiliki
format 16-bit. Setiap alamat memori program terdiri dari instruksi 16-bit atau
32-bit.
Selain
register serba guna di atas, terdapat register lain yang terpetakan dengan
teknik memory mapped I/O selebar 64 byte. Beberapa register ini
digunakan untuk fungsi khusus antara lain sebagai register control Timer/
Counter, Interupsi, ADC, USART, SPI, EEPROM, dan fungsi I/O lainnya. Register –
register ini menempati memori pada alamat 0x20h – 0x5Fh.
Berikut gambar diagram blok ATMEga328:
Gambar diagram blok ATmega328
bisa minta lengkap materi tentang mikrokonreller ATMega 328??
BalasHapusgood job gan
BalasHapuslampu service hp