Tuesday, January 20, 2015

Arsitektur Atmega32

Atmega32 merupakan sebuah mikrokontroler low power CMOS 8 bit berdasarkan arsitektur AVR RISC. Mikrokontroler ini memiliki karakteristik sebagai berikut.

Berikut kelebihan yang dimiliki ATmega32 (Aozon mengambil referensi langsung dari Atmel termasuk datasheet yang diterbitkannya):
  1. Kinerja Tinggi, Low-Power AVR® 8-bit Microcontroller
  2. Seperti yang disebutkan Atmel dalam websitenya "The low-power Atmel 8-bit AVR RISC-based microcontroller... The device supports throughput of 16 MIPS at 16 MHz and operates between 2.7-5.5 volts".
  3. Menggunakan Arsitektur RISC
  4. Mikrokontroler AVR memiliki arsitektur Reduced Instruction Set Computing (RISC) atau " set instruksi Komputasi yang disederhanakan".
  5. Daya Tahan Tinggi dan Segmen Memori Non-Volatile
  6. Mikrokontroler AVR memiliki daya tahan data (retensi data) 20 tahun ketika suhu mencapai 85°C atau 100 tahun ketika suhu mencapai 25°C.
  7. Memiliki Antarmuka JTAG (IEEE std. 1149.1 Compliant)
  8. Tidak hanya SPI, ATmega32 memiliki antarmuka JTAG yang memungkinkan pengguna dapat memprogram Flash, EEPROM, Fuse, dan Lock Bits.
  9. Memiliki Fitur Perangkat
  10. Mikrokontroler AVR memiliki fitur tambahan yang sangat membantu kita untuk melakukan penelitian yang lebih baik, seperti terdapat ADC, PWM dan Timer.
  11. Memiliki Fitur Tambahan
  12. Mikrokontroler ini memiliki fitur menarik yang patut dicoba seperti 5 mode Sleep, eksternal dan internal interupsi, dan kalibrasi RC Oscillator internal.
  13. Mempunyai 32 jalur Program I/O
  14. ATmega32 mempunyai 32 jalur Program sehingga memungkinkan kita untuk mengontrol lebih banyak device/ perangkat, seperti Tombol/ switch, LED, buzzer dan LCD.
  15. Memiliki operasi tegangan dari 2,7 Volt sampai 5,5 Volt
  16. ATmega32 memiliki operasi tegangan dari 2,7 Volt sampai 5,5 Volt. Ini sangat membantu kita untuk menghemat listrik. Kecepatan maksimal bisa mencapai 16 MHz (tanpa overclock).
  17. Daya yang dibutuhkan ketika aktif hanya 1,1 mA
  18. ATmega32 membutuhkan arus yang sangat kecil dibanding komponen analog yang biasa kita pakai. Hal ini dibuktikan dengan konsumsi daya yang dibutuhkan ketika aktif saja hanya 1,1 mA, bahkan bisa mencapai 1 uA ketika mode power-down.

·    Menggunakan arsitektur AVR RISC
-       131 perintah dengan satu clock cycle
-       
32 x 8 register umum
·     Data dan program memori
     -          32 Kb In-System Programmable Flash
     -          2 Kb SRAM
     -          1 Kb In- System EEPROM
·         8 Channel 10-bit ADC
·         Two Wire Interface
·         USART Serial Communication
·         Master/Slave SPI Serial Interface
·         On-Chip Oscillator
·         Watch-dog Timer
·         32 Bi-directional I/O
·         Tegangan operasi 2,7 – 5,5 V

Arsitektur AVR ini menggabungkan perintah secara efektif dengan 32 register umum. Semua register tersebut langsung terhubung dengan Arithmetic Logic Unit (ALU) yang memungkinkan 2 register terpisah diproses dengan satu perintah tunggal dalam satu clock cycle. 

Hal ini menghasilkan kode yang efektif dan kecepatan prosesnya 10 kali lebih cepat dari pada mikrokontroler CISC biasa. Berikut adalah blok diagram Mikrokontroler AVR ATMega32.



 Konfigurasi pin Mikrokontroler AVR ATMega32


     Secara fungsional konfigurasi pin ATMega32 adalah sebagai berikut:

a.       VCC
- Sumber Tegangan
b.       GND (Ground)
     - Ground
c.       Port A (PA7 – PA0)

          Port A adalah 8-bit port I/O yang bersifat bi-directional dan setiap pin memilki internal pull-up resistor. Output buffer port A dapat mengalirkan arus sebesar 20 mA. Ketika port A digunakan sebagai input dan di pull-up secara langsung, maka port A akan mengeluarkan arus jika internal pull-up resistor diaktifkan. 

       Pin-pin dari port A memiliki fungsi khusus yaitu dapat berfungsi sebagai channel ADC (Analog to Digital Converter) sebesar 10 bit. Fungsi-fungsi khusus pin-pin port A dapat ditabelkan seperti yang tertera pada tabel ….



Port
Alternate Function
PA7
ADC7 (ADC input channel 7)
PA6
ADC6 (ADC input channel 6)
PA5
ADC5 (ADC input channel 5)
PA4
ADC4 (ADC input channel 4)
PA3
ADC3 (ADC input channel 3)
PA2
ADC2 (ADC input channel 2)
PA1
ADC1 (ADC input channel 1)
PA0
ADC0 (ADC input channel 0)


d.      Port B (PB7 – PB0)

          Port B adalah 8-bit port I/O yang bersifat bi-directional dan setiap pin mengandung internal pull-up resistor. Output buffer port B dapat mengalirkan arus sebesar 20 mA. Ketika port B digunakan sebagai input dan di pull-down secara external, port B akan mengalirkan arus jika internal pull-up resistor diaktifkan.

       Pin-pin port B memiliki fungsi-fungsi khusus, diantaranya :

·         SCK port B, bit 7
Input pin clock untuk up/downloading memory.
·         MISO port B, bit 6
Pin output data untuk uploading memory.
·         MOSI port B, bit 5
Pin input data untuk downloading memory.
Fungsi-fungsi khusus pin-pin port B dapat ditabelkan seperti pada tabel …


Port
Alternate Function
PB7
SCK (SPI Bus Serial Clock)
PB6
MISO (SPI Bus Master Input/Slave Output)
PB6
MOSI (SPI Bus Master Output/Slave Input)
PB5
SS (SPI Slave Select Input)
PB3
AIN1 (Analog Comparator Negative Input)
OCO (Timer/Counter0 Output Compare Match Output)
PB2
AIN0 (Analog Comparator Positive Input)
INT2 (External Interrupt 2 Input)
PB1
T1 (Timer/Counter1 External Counter Input)
PB0
T0 (Timer/Counter External Counter Input) XCK (USART External Clock Input/Output)

















e.       Port C (PC7 – PC0)

          Port C adalah 8-bit port I/O yang berfungsi bi-directional dan setiap pin memiliki internal pull-up resistor. Output buffer port C dapat mengalirkan arus sebesar 20 mA. Ketika port C digunakan sebagai input dan di pull-down secara langsung, maka port C akan mengeluarkan arus jika internal pull-up resistor diaktifkan. Fungsi-fungsi khusus pin-pin port C dapat ditabelkan seperti yang tertera pada tabel dibawah ini.


Port
Alternate Function
PC7
TOSC2 (Timer Oscillator Pin 2)
PC6
TOSC1 (Timer Oscillator Pin 1)
PC6
TD1 (JTAG Test Data In)
PC5
TD0 (JTAG Test Data Out)
PC3
TMS (JTAG Test Mode Select)
PC2
TCK (JTAG Test Clock)
PC1
SDA (Two-wire Serial Bus Data Input/Output Line)
PC0
SCL (Two-wire Serial Bus Clock Line)














f.       Port D (PD7 – PD0)

          Port D adalah 8-bit port I/O yang berfungsi bi-directional dan setiap pin memiliki internal pull-up resistor. Output buffer port D dapat mengalirkan arus sebesar 20 mA. Ketika port D digunakan sebagai input dan di pull-down secara langsung, maka port D akan mengeluarkan arus jika internal pull-up resistor diaktifkan. Fungsi-fungsi khusus pin-pin port D dapat ditabelkan seperti yang tertera pada tabel dibawah ini.



Port
Alternate Function
PD7
OC2 (Timer / Counter2 Output Compare Match Output)
PD6
ICP1 (Timer/Counter1 Input Capture Pin)
PD6
OCIB (Timer/Counter1 Output Compare B Match Output)
PD5
TD0 (JTAG Test Data Out)
PD3
INT1 (External Interrupt 1 Input)
PD2
INT0 (External Interrupt 0 Input)
PD1
RXD (USART Input Pin)