Jumat, 29 November 2013

Mikrokontroler ATMEGA 8535

ATMega8535 merupakan salah satu mikrokontroler 8 bit buatan Atmel untuk keluarga AVR. Karena merupakan keluarga AVR, maka ATMega8535 juga menggunakan arsitektur RISC. Bentuk fisik dari mikrokontroler ATMGEA 8535 dapat dilihat dalam Gambar 2.1 dibawah ini. 


Gambar 2.1 Bentuk fisik mikrokontroler ATMEGA 8535

Secara singkat, ATMega8535 memiliki beberapa kemampuan:
Jalur I/O 32 buah yang terbagi dalam PORT A, PORT B, PORT C, PORT D dengan masing-masing PORT ada 8 pin. ADC 10 bit sebanyak 8 input, 2 buah Timer/Counter dengan kemampuan pembanding. CPU 8 bit yang terdiri dari 32 register, Frekuensi clock maksimum 16 MHz. Watchdog Timer dengan osilator internal.SRAM sebesar 512 byte. Memori flash sebesar 8 KB dengan kemampuan read while write. Interrupt internal dan eksternal. PORT komunikasi SPI.EEPROM sebesar 512 byte yang dapat diprogram saat operasi .Analog Comparator dan komunikasi serial standart USART dengan kecepatan maksimal 2,5Mbps.

2.1.1 Arsitektur dan Konfigurasi Pin ATMEGA 8535
ATMEGA 8535 yang digunakan pada rangkaian alat “Pendeteksi Banjir berbasis ATMEGA 8535 ” mempunyai arsitektur IC seperti yang dapat dilihat dalam Gambar 2.2 dibawah ini.
Gambar 2.2 Arsitektur IC mikrokontroler ATMEGA 8535

Mikrokontroler ATMEGA 8535 mempunyai 40 kaki. 32 diantaranya merupakan PORT I/O yaitu PORT A, PORT B, PORT C, PORT D. masing-masing PORT tersebut memiliki 8 buah pin. Konfigurasi pin-pin ATMEGA 8535 dapat dilihat pada Gambar 2.2.


Gambar 2.3 Konfigurasi pin ATMEGA 8535

Berikut penjelasan dari masing-masing pin pada ATMEGA 8535.
Pin 1 – Pin 8 (Port B)
Port B adalah suatu Port I/O 8-bit dua arah dengan resistor internal pull-up (yang dipilih untuk beberapa bit). Port B output buffer mempunyai karakteristik gerakan simetris dengan keduanya sink tinggi dan kemampuan sumber. Sebagai input, pin port B yang secara eksternal ditarik rendah akan arus sumber jika resistor pullup diaktifkan. Pin Port B adalah tri-stated manakala suatu kondisi reset menjadi aktif, sekalipun waktu habis. Selain sebagai port I/O, port B juga mempunyai fungsi tambahan yang dapat dilihat dalam Tabel 2.1 dibawah ini.

Tabel 2.1 Fungsi tambahan Port B
PORT B
Fungsi Tambahan
PB0
T0 (Timer / Counter 0 External Counter Input) XCK (USART Eksternal Clock Input/Output)
PB1
T1 (Timer/Counter 1 External Counter Input)
PB2
AIN0 (Analog Comparator Positive Input) INT2 (Eksternal Interrupt 2 Input)
PB3
AIN1 (Analog Comparator Negative Input) OC0 (Timer / Counter0 Output - Compare Match Output)
PB4
SS (SPI Slave Select Input)
PB5
MOSI (SPI Bus Master Output Slave Input)
PB6
MISO (SPI Bus Master Input Slave Output)
PB7
SCK (SPI Bus Serial Clock)

1.  T0/T1 sebagai input Timer/Counter Eksternal
2.  AIN0 dan AIN1 sebagai input komparator (AIN0 = input positif, AIN1 = input negatif )
3.  SS (SPI) sebagai port untuk komunikasi antar mikrokontroler
4.  MOSI, MISO, SCK sebagai input downloader ISP
     Pin 9 (RST)
            Reset merupakan pin untuk mereset mikrokontroler (active low)
     Pin 10 (VCC)
     Vcc merupakan pin input catu daya sebesar 5 Volt.
    Pin 11 dan Pin 31 (GND)
            Gnd merupakan pin yang terhubung ke ground.
    Pin 12 dan Pin 13 (XTAL1 dan XTAL2)
            Xtal1 dan Xtal2 merupakan pin yang terhubung dengan clock eksternal.
    Pin 14 – Pin 21 (Port D)
Port D adalah suatu Port I/O 8-bit dua arah dengan resistor internalpull-up (yang dipilih untuk beberapa bit). Port D output buffer mempunyai karakteristik gerakan simetris dengan keduanya sinktinggi dan kemampuan sumber. Sebagai input, pin port D yangsecara eksternal ditarik rendah akan arus sumber jika resistor pullup diaktifkan. Pin Port D adalah tri-stated manakala suatu kondisi reset menjadi aktif, sekalipun waktu habis. Selain sebagai port I/O, port B juga mempunyai fungsi tambahan yang dapat dilihat dalam Tabel 2.2 dibawah ini.

Tabel 2.2 Fungsi tambahan Port D
PORT D
Fungsi Tambahan
PD0
RXD (Pin Input USART/Pin terima komunikasi Serial)
PD1
TXD (Pin Output USART/Pin kirim komunikasi Serial)
PD2
INT0 (input Interrupt Eksternal 0)
PD3
INT1 (input Interrupt Eksternal 1)
PD4
OC1B (Timer/Counter1 Output Compare B Match Ouput)
PD5
OC1A (Timer/Counter1 Output Compare A Match Ouput)
PD6
ICP1 (Timer/Counter1 Input Capture Pin)
PD7
OC2 (Timer/Counter Ouput Compare Match Ouput)

1.  RXD dan TXD sebagai pin komunikasi serial (USART)
2.  INT0 dan INT1 sebagai input Interupsi Eksternal 0 dan Interupsi Eksternal 1.
3.  OC1A dan OC1B sebagai Output untuk PWM mode fungsi timer dan OC1A juga berfungsi sebagai Output Eksternal dari pembanding timer/counter A. Sedangkan OC1B berfungsi sebagai Output Eksternal dari pembanding timer/counter B.
4.  ICP1 sebagai penampung input timer/counter 1
5.  OC2 sebagai output untuk PWM mode fungsi timer dan Output Eksternal dari pembanding timer/counter.
Pin 22 – Pin 29 (Port C)
Port C adalah suatu Port I/O 8-bit dua arah dengan resistor internal pull-up (yang dipilih untuk beberapa bit). Port C output buffer mempunyai karakteristik gerakan simetris dengan keduanya sink tinggi dan kemampuan sumber. Sebagai input, pin port C yang secara eksternal ditarik rendah akan arus sumber jika resistor pull-up diaktifkan. Pin Port C adalah tri-stated manakala suatu kondisi reset menjadi aktif, sekalipun waktu habis. Selain sebagai port I/O, port C juga mempunyai fungsi tambahan yang dapat dilihat dalam Tabel 2.3 dibawah ini.

Tabel 2.3 Fungsi tambahan Port C
PORT C
Fungsi Tambahan
PC0
SCL (Two-wire Serial Bus Clock Line)
PC1
SDA (Two-wire Serial Bus Data I/O Line)
PC2
TCK (JTAG Tesr Clock)
PC3
TMS (JTAG Test Mode Select)
PC4
TDO (JTAG Test Data In)
PC5
TDI (JTAG Test Data Out)
PC6
TOSC1 (Timer Oscilator Pin 1)
PC7
TOSC2 (Timer Oscilator PIN 2)

1.  SCL dan SDA sebagai pengatur Interface Serial 2 jalur
2.  TCK sebagai operasi sinkronisasi dari JTAG ke TCK. Jika pin ini digunakan seperti fungsi peripheral tersebut maka pin ini tidak berfungsi sebagai I/O
3.  TMS sebagai pengontrol navigasi mesin TAP. Jika pin ini digunakan seperti fungsi peripheral tersebut maka pin ini tidak dapat berfungsi sebagai I/O
4.  TDO dan TDI sebagai Output/Input data serial ke register atau data register
5.  TOSC1 dan TOSC2 sebagai penguat amplifier oscillator ketika disambungkan dengan kristal dan bit ASR serta ASSR di set “1” untuk mengaktifkan asynchronous clocking dari Timer/Counter2.
Pin 30 (AVCC)
            Avcc merupakan pin input tegangan ADC.
Pin 32 (AREF)
            AREF merupakan pin referensi analog untuk A/D konverter.
Pin 33 – Pin 40 (Port A)
Port A berfungsi sebagai input analog pada A/D Konverter. Port A juga berfungsi sebagai suatu Port I/O 8-bit dua arah, jika A/DKonverter tidak digunakan. Pin - pin Port dapat menyediakan resistor internal pull-up (yang dipilih untuk masing-masing bit). Port A output buffer mempunyai karakteristik gerakan simetris dengan keduanya sink tinggi dan kemampuan sumber. Ketika pin PA0 ke PA7 digunakan sebagai input dan secara eksternal ditarik rendah, pin – pin akan memungkinkan arus sumber jika resistor internal pull-up diaktifkan. Pin Port A adalah tri-stated manakala suatu kondisi reset menjadi aktif, sekalipun waktu habis. Fungsi tambahan pada Port A dapat dilihat dalam Tabel 2.4 dibawah ini.

Tabel 2.4 Fungsi tambahan Port A
PORT A
Fungsi Tambahan
PA0
ADC 0 (input ADC channel 0)
PA1
ADC 1 (input ADC channel 1)
PA2
ADC 2 (input ADC channel 2)
PA3
ADC 3 (input ADC channel 3)
PA4
ADC 4 (input ADC channel 4)
PA5
ADC 5 (input ADC channel 5)
PA6
ADC 6 (input ADC channel 6)
PA7
ADC 7 (input ADC channel 7)

2.1.2 Port Sebagai Input / Output Digital

ATmega8535 mempunyai empat buah port yang bernama PortA, PortB, PortC, dan PortD. Keempat port tersebut merupakan jalur bi-directional dengan pilihan internal pull-up. Tiap port mempunyai tiga buah register bit, yaitu DDxn, PORTxn, dan PINxn. Huruf ‘x’ mewakili nama huruf dari port sedangkan huruf ‘n’ mewakili nomor bit. Bit DDxn terdapat pada I/O address DDRx, bit PORTxn terdapat pada I/O address PORTx, dan bit PINxn terdapat pada I/O address PINx.
Bit DDxn dalam regiter DDRx (Data Direction Register) menentukan arah pin. Bila DDxn diset 1 maka Px berfungsi sebagai pin output. Bila DDxn diset 0 maka Px berfungsi sebagai pin input. Bila PORTxn diset 1 pada saat pin terkonfigurasi sebagai pin input, maka resistor pull-up akan diaktifkan. Untuk mematikan resistor pull-up, PORTxn harus diset 0 atau pin dikonfigurasi sebagai pin output. Pin port adalah tri-state setelah kondisi reset. Bila PORTxn diset 1 pada saat pin terkonfigurasi sebagai pin output maka pin port akan berlogika 1. Dan bila PORTxn diset 0 pada saat pin terkonfigurasi sebagai pin output maka pin port akan berlogika 0. Saat mengubah kondisi port dari kondisi tri-state (DDxn=0, PORTxn=0) ke kondisi output high (DDxn=1, PORTxn=1) maka harus ada kondisi peralihan apakah itu kondisi pull-up enabled (DDxn=0, PORTxn=1)atau kondisi output low (DDxn=1, PORTxn=0). Biasanya, kondisi pull-up enabled dapat diterima sepenuhnya, selama lingkungan impedansi tinggi tidak memperhatikan perbedaan antara sebuah strong high driver dengan sebuah pull-up. Jika ini bukan suatu masalah, maka bit PUD pada register SFIOR dapat diset 1 untuk mematikan semua pull-up dalam semua port. Peralihan dari kondisi input dengan pull-up ke kondisi output low juga menimbulkan masalah yang sama. Maka harus menggunakan kondisi tri-state (DDxn=0, PORTxn=0) atau kondisi output high (DDxn=1, PORTxn=0) sebagai kondisi transisi.

2.1.3 Peta Memori ATMEGA 8535
ATMEGA 8535 memiliki dua jenis memori, yaitu program memory dan data memory ditambah satu fitur yaitu EEPROM memory untuk menyimpan data.

a. Program Memory
     ATMEGA 8535 memiliki On-Chip In-System Reprogrammable Flash Memory untuk menyimpan program. Untuk alasan keamanan, program memory dibagi menjadi dua bagian, yaitu Boot Flash Section dan Application Flash Section. Boot Flash Section digunakan untuk menyimpan program Boot Loader, yaitu program yang harus dijalankan  pada saat AVR reset atau pertama kali diaktifkan.
     Application Flash Section digunakan untuk menyimpan program aplikasi yang dibuat user. AVR tidak dapat menjalakan program aplikasi ini sebelum menjalankan program Boot Loader. Besarnya memori Boot Flash Section dapat deprogram dari 128 word sampai 1024 word tergantung setting pada konfigurasi bit di register BOOTSZ. Jika Boot Loader diproteksi, maka program pada Application Flash Section juga sudah aman.

b. Data Memory
Terdapat 608 lokasi address data memori. 96 lokasi address digunakan untuk Register File dan I/O Memory sementara 512 likasi address lainnya digunakan untuk internal data SRAM. Register file terdiri dari 32 general purpose working register, I/O register terdiri dari 64 register.
c. EEPROM Data Memory
     ATMEGA 8535 memiliki EEPROM 8 bit sebesar 512 byte untuk menyimpan data. Loaksinya terpisah dengan system address register, data register dan control register yang dibuat khusus untuk EEPROM. Alamat EEPROM dimulai dari $000 sampai $1FF.

sumber :






Tidak ada komentar:

Posting Komentar