Sebelum kita cuap2 tentang AVR, ada baiknya kita tau dulu apa itu
mikrokontroler, kalo di tanya ke mbah google, pasti ada banyak penjelasannya,
tapi intinya itu, mikrokontroler adalah chip yang telah berisi prosessor,
memori dan I/O programmable. mikrokontroler di desain untuk aplikasi embedded. mikrokontrol biasanya digunakan untuk
mengontrol produk atau perangkat secara
otomatis, seperti pada kontrol mesin mobil, remote control, alat listrik, dan lain2nya. kelebihan penggunaan mikrokontroler dalam
kontrol digital, adalah karena lebih ekonomis dalam mengontrol baik perangkat
maupun proses, dimana jika dibandingkan dengan mengunakan system dengan
prosessor terpisah dengan memori dan perangkat I/O, seperti komputer desktop
dan sejenisnya, karena dengan mikrokontroler ketiga komponen tersebut sudah
berada dalam satu chip, sehingga ukuran dan biayanya lebih rendah.
okey…..:D,
salah satu mikrokontroler yang banyak digunakan, yaitu AVR, salah satu
mikrokontroler yang diproduksi oleh Atmel
Arsitektur
Mikrokontroler AVR RISC(Reduced
instruction set computing atau “Komputasi set instruksi yang disederhanakan”
pertama kali digagas oleh John Cocke) adalah perangkat yang di desain untuk
berjalan dengan cepat, dengan menggunakan instruksi mesin yang disederhanakan
sehingga dapat meningkatkan kinerja dari mikrokontroler. (sebelum ada RISC,
namanya CISC(Complex Instruction Set Computers) nantilah kalo sempat di tulis 😀 sekalian kelebihan dan kekurangnnya).
dengan pengunaan instruksi yang lebih sederhana memberikan konstribusi pada
kecepatan dengan instruksi mesin yang terbatas. Mikrokontroler AVR RISC dapat
berjalan pada single cycle dari prosesor clock, yang berarti Mikrokontroler AVR
dengan clock 8 MHz, dapat mengeksekusi sekitar 8 juta instruksi perdetiknya
atau 8 MIPS(million instruction per second).
Memori
Bagian memori dari mikrokontrol
Atmel RISC AVR berbasis Harvard Model, yang mana memorinya terbagi sehingga
dapat meningkatkan kecepatan akses dan meningkatkan kapasitas. CPU membagi antarmuka untuk bagian kode memori
FLASH, bagian memori data , dan memori EEPROM.
kode memori FLASH
memori FLASH merupakan blok
dari memori FLASH yang dimulai dari lokasi 0x000 dan ukurannya tergantung dari
mikrokontroler yang digunakan. Memori FLASH merupakan memori non-volatile dan
digunakan untuk menyimpan kode eksekusi dan konstanta, karena kode-kode
tersebut akan digunakan kembali meskipun mikrokontroler tidak terhubung ke catu
daya, oh iya….. yang dimaksud non-volatile yaitu kode yang disimpan dalam
memori tidak hilang meskipun mikrokontrol tidak dialiri listrik, ruang memori antara 16 bit pada setiap lokasi
untuk menagani instruksi mesin yang khusunya single-16 bit word.
Memori Data
Memori data Atmel AVR
khasnya terdiri dari tiga bagian memori
baca/tulis terpisah .bagian terendah
terdiri dari 32 register kerja umum, yang diikuti oleh 64 register I/O, yang
diikuti oleh internal SRAM. Register kerja umum hanya : digunakan untuk menyimpan
variabel lokal dan data temporal yang digunakan oleh program saat dieksusi dan
dapat juga digunakan untuk penyimpanan data variabel global, 64 register I/O
digunakan sebagai antarmuka untuk perangkat I/O dan peripheral yang berada di
papan mikrokontroler. dan internal SRAM digunakan sebagai area penyimpanan
variable umum dan juga untuk prosessor stack.
Register-register
Register kerja umum menempati
32 sel terndah dalam data memori. register ini kebanyakan digunakan seperti
data penyimpanan dalam kalkulator yang mana hanya disimpan sementara. terkadang
digunakan untuk menyimpan variable lokal, dan terkadang variable global, dan
terkadang sebagai pengarah ke memori yang digunakan oleh prosessor. singkatnya
prosessor menggunakan 32 register kerja sebagaimana program dieksekusi.
Rigister I/O
Setiap regiter memberikan akses
ke register kontrol atau ke register data I/O peripheral yang berada dalam
mikrokontroler. Programer lebioh sering menggunakan I/O register untuk
mengantarmuka ke peripheral I/O dari mikrokontroler.
ukuran Register I/O tergantung dari perangkat. setiap register I/O memiliki
nama, sebuah alamat I/O, dan alamat SRAM.
SRAM
Bagian SRAM dari memori
digunakan untuk menyimpan variabel yang tidak dapat disimpan kedalam register
dan untuk menyimpan prosessor satck.
Memori EEPROM
bagian memori EEPROM adalah
area memori baca/tulis yang non volatile. ini biasanya digunakan untuk
menyimpan data yang tidak boleh hilang saat catu daya dilepas (mikrokontroler
dimatikan) dan dipasang kembali (mikrokontroler dinyalakan). ruang EEPROM
dimulai dari 0x000 dan ke nilai maksimum tergantung spesifikasi mikrontroler
yang digunakan.
Jangan lupa tinggalkan komentar gaes !!!
Tidak ada komentar:
Posting Komentar