Rabu, 17 Januari 2018

Mikrokontroler Atmega8535

MIKROKONTROLER ATMEGA8535

Mikrokontroler adalah sebuah piranti elektronika digital yang terintegrasi dalam sebuah chip, tersusun dari mikroprosesor dan piranti pendukungnya yang membentuk system perangkat mikroprosesor berfungsi sebagai perangkat utama pengendali terprogram. Mikrokontroler merupakan sistem mikroprosesor dalam satu chip untuk keperluan pengendalian terprogram. Ada beberapa jenis mikrokontroler dengan produsen pembuatnya antara lain Atmel, PIC, Renesas, dll. Mikrokontroler dalam sebuah rangkaian elektronika berfungsi sebagai pengatur keseluruhan kerja dari sistem yang terprogram. Mikrokontroler adalah otak dari sebuah sistem elektronika digital, dimana sistem kerjanya diatur berdasarkan program dalam bahasa pemrograman yang digunakan, ada beberapa bahasa pemrograman yang dapat digunakan, pada umumnya semua bahasa pemrograman dapat diaplikasikan ke mikrokontroler, akan tetapi membutuhkan kompiler yang mendukung mikrokontroler tersebut.
ATmega8535 adalah mikrokontroler daya rendah CMOS 8-bit berdasarkan arsitektur AVR RISC yang ditingkatkan. Dengan melaksanakan instruksi dalam satu siklus clock tunggal, ATmega8535 mencapai throughputs mendekati 1 MIPS per MHz memungkinkan perancang sistem untuk mengoptimalkan konsumsi daya berbanding kecepatan pemrosesan.
Inti AVR menggabungkan set instruksi yang kaya dengan 32 register kerja kegunaan umum. 32 register semuanya secara langsung terhubung ke Logic Unit Arithmetic (ALU), yang memungkinkan dua register independen untuk diakses dalam satu eksekusi instruksi tunggal di satu siklus clock. Arsitektur menghasilkan kode lebih efisien sementara mencapai throughputs hingga sepuluh kali lebih cepat daripada mikrokontroler CISC konvensional.



Bagian-bagian blok dan fungsi Atmega8535  seperti yang ada pada gambar blok diagram diatas adalah :
ALU, Arithmetic Logic Unit memiliki fungsi melakukan tiga fungsi utama yaitu operasi artitmatika, operasi logika dan operasi bit. Dihubungkan langsung dengan GPR dan dapat melakukan operasi dengan hanya satu siklus clock.
Status Register menyimpan informasi tentang hasil operasi aritmatika yang sedang dijalankan, seperti informasi hasilaritmatika adalah bilangan nol, negatif, carry, dan overflow.
GPR, General Purpose Register merupakan penyimpan data yang akan diolah oleh ALU dan hasil operasi dari ALU terdiri dari 32 file register 8bit yang terhubung langsung dengan ALU. GPR dapat mendukung operasi data 16 bit dengan menggunakan pasangan register X, pasangan register Y atau pasangan register Z.
Program Counter berfungsi untuk menyimpan alamat instruksi pada flash program yang akan dijalankan. Dengan lebar 12 bit, Program Counter dapat menjangkau alamat lokasi memori sebanyak 4K.
SP, Stack Pointer memiliki fungsi utama sebagai penyimpan data sementara, untuk menyimpan variabel lokal dan menyimpan alamat kembali ketika menjalankan subrutin atau interupsi selesai. stack pointer selalu berada dipuncak dari stack, stack selalu berkembang dari yang paling atas menuju  yang lebih rendah. SP dialokasikan pada SRAM dengan alamat dimulai diatas 0X60 terdiri dari dua register 8 bit.
Instruction Register, berfungsi untuk menyimpan instruksi yang sedang dikerjakan diambil dari Flash Program.
Instruction Decoder, memecahkan sandi instruksi menjadi sinyal kontrol proses pada semua bagian melalui jalur kendali (control line).

Control Line, merupakan jalur kendali ke semua bagian yang mengirimkan sinyal kontrol seperti kendali baca, tulis, berhenti, tunggu. bagian yang dikendalikan dipilih oleh address bus.
Flash Program berfungsi untuk menyimpan instruksi program dengan kapasitas  8K byte In-System Programmable flash dengan kemampuan Baca-Sambil-Tulis. Semenjak AVR menggunakan lebar instruksi 16 dan 32 bit, Flash Program diorganisasikan kedalam 4K x 16bit,  dibagi menjadi dua bagian yaitu bagian Program boot dan bagian program aplikasi.  Flash Program memiliki kemampuan sekurang-kurangnya 10.000 kali tulis/hapus. 
SRAM, Static Random Access Memory, digunakan untuk menyimpan data tak permanen dengan kapasitas 512 byte. penulisan dan pembacaan data lebih lama karena menggunakan pengalamatan tak langsung dibandingkan dengan GPR yang menggunakan pengalamatan langsung. SRAM menempati alamat lokasi memori 0x0060 sampai 0x025F.

EEPROM, Electrical Erasable Programable Read Only Memory, digunakan untuk menyimpan data non volatil (tidak hilang meskipun catu daya mati) dengan kapasitas 512 byte.  Untuk membaca data dari EEPROM, CPU dihentikan sementara 4 siklus clock. Sedangkan untuk menulis data ke EEPROM, CPU dihentikan sementara 2 siklus clock.

PORT I/O, Port Input Output berfungsi menghubungkan CPU dengan perangkat luar untuk pengiriman dan pengambilan data. Terdiri dari 4 port dengan lebar data 8byte, yaitu PA, PB, PC dan PC. Port I/O bersifat biderctional, dapat mengirimkan data keluar dan menerima data dari luar dengan melakukan pengaturan pada register Data Direction (DDRx). Data yang dikirim ditempatkan pada Register PORT (PORTx), sedangkan pengambilan data dari luar dengan mengakses register PIN. Register I/O sebanyak 64 register diakses dengan pengalamatan langsung pada alamat 0x00 sampai 0x3F. 32 baris 

ADC, Analog to Digital Converter, berfungsi untuk mengubah tegangan analog pada saluran masukkannya menjadi besaran diskrit dalam bentuk bilangan biner10 bit (0 -1024) atau 8 bit  (0-255). 8 Saluran masukan tunggal dapat dipilih menggunakan register ADMUX maupun menggunakan masukan differential dengan 2 saluran masukan. Hasil konversi disimpan pada register ADC (ADCH dan ADCL).

Timer/Counter, berfungsi untuk menghitung lama waktu atau menghitung jumlah pulsa clock yang masuk ke timer/counter. Terdiri dari 2 counter yaitu, Timer/Counter1 (TCNT1) 16 bit dengan hitungan maksimum 65.535 dan Timer/counter2 (TCNT2) 8 bit dengan hitungan maksimum 255.   Perangkat ini dapat melakukan perhitungan naik maupun turun dengan nilai hitungan yang dapat diprogram. 

USART, Universal Synchronous and Asynchronous Receiver and Transmitter  perangkat ini berfungsi untuk mengirimkan dan menerima data serial dengan mode sinkron maupun asinkron. Pada komunikasi data sinkron, perangkat master mengirimkan pulsa clock untuk sinkronisasi kepada slave terpisah dengan paket data. Pada komunikasi data asinkron, tidak ada pengiriman pulsa clock sinkron, tetapi dengan mengirimkan bit start dan bit stop dalam satu paket data yang dikirim. Kecepatan pengiriman data setiap detik atau baud rate antara pengirim dan penerima harus sama.

Tidak ada komentar:

Posting Komentar