Senin, 05 Desember 2016

Perkenalan Mikrokontroler AVR

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