Professional Documents
Culture Documents
1.2 Arsitektur Mikrokontroler Kerugian menggunakan mikrokontroler antara lain: Lebih kaku, fungsi yang terbatas Memori yang terbatas Kecepatan yang terbatas Kinerja I/O yang lebih rendah
Rangkaian Interupsi
Prosesor (CPU)
Timer
ROM
RAM
Gambar 1.1 Komponen Mikrokontroler Prosesor: Prosesor (CPU) melaksanakan penjemputan instruksi dari memori, mendekodekan dan menjalankannya dan mengarahkan perpindahan data antar register atau antara register dan memori. Register dalam prosesor mikrokontroler pada umumnya dipetakan sebagai memori (RAM). Semua kegiatan ini
diserempakkan (synchronized) oleh penabuh (Clock) yang dibangkitkan oleh pembangkit penabuh (Clock Generator) yang dicatu oleh osilator kristal, RC (Resitor-Capacitor) atau sumber luar. ROM: ROM digunakan untuk menyimpan data yang bersifat permanen. Dalam mikrokontroler, program disimpan dalam ROM, atau EPROM, atau Flash ROM. Ada mikrokontroler yang dapat ditambah ROM eksternal di luar serpih mikrokontroler. Dalam beberapa mikrokontroler, di samping ROM untuk program, juga digunakan EEPROM untuk menyimpan data. RAM: RAM digunakan untuk menyimpan data yang bersifat sementara. Dalam kebanyakan mikrokontroler, RAM yang tersedia sangat sedikit yang sebagiannya digunakan lagi sebagai register prosesor, dikatakan register dipetakan sebagai memori. Timer: Timer (pewaktu) adalah counter (pencacah) yang digunakan untuk membangkitkan pulsa atau deretan pulsa pada saat-saat tertentu atau dengan frkuensi tertentu. Pulsa ini digunakan untuk sebagai interupsi internal untuk memulai ayau mengakhiri kegiatan tertentu. Dalam kebanyakan mikrokontroler, pencacah ini adalah pencacah naik, berbeda dengan pencacah turun yang diterapkan dalam sistem mikroprosesor. Bandar I/O: Bandar I/O (I/O ports) terdiri atas bandar paralel dan bandar seri yang pada umumnya mempunyai kemampuan tristate. Pada beberapa mikrokontroler, juga disediakan bandar masukan/keluaran analog. Fungsi bandar ini dalam kebanyakan dipilih (dikonfigurasi) sebagai masukan atau keluaran paralel atau seri atau analog. Arah aliran data pada bansar, masukan atau keluaran pada umumnya dipilih melalui register arah (Data Direction Register, disingkat DDR). Bandar-bandar ini juga dipetakan sebagai memori. Interupsi: Interupsi dapat dibedakan atas interupsi perangkat lunak yang dibangkitkan oleh instruksi interupsi yang ditanamkan dalam program dan interupsi perangkat keras yang dibangkitkan oleh sinyal perangkat keras baik yang berasal dari sumber internal seperti timer atau sumber eksternal dari bandar seri atau paralel. Masing-masing interupsi ini dapat dihalang (masked) atau dimampukan (enabled) tersendiri melalui bit terkait dalam register status tertentu, dan pada umumnya dapat juga di kendalikan secara menyeluruh melalui bit tertentu, disebut bit GIE (General Interrupt Enable) dalam register status. Di samping itu ada juga interupsi yang tak dapat dihalang (unmaskable). Pelayanan interupsi dapat dilakukan secara tervektor atau tak tervektor. Dalam layanan tervektor, untuk setiap permintaan interupsi ditetapkan alamat memori program sebagai vektornya dan setiap vektor mengandung alamat memori di mana rutin layanan interupsi bersangkutan ditempatkan sehingga setiap munculnya interupsi tertentu pelaksanaan program akan dialihkan (jumps) ke lokasi memori yang ditunjuk tersebut. Umumnya vektor interupsi ditempatkan di lokasi rendah. Dalam mikro kontroler yang menerapkan inte-
1.3 Perbandingan Beberapa Mikrokontroler rupsi tak tervektor, setiap munculnya interupsi memaksa pemindahan pelaksanaan program ke satu lokasi yang dietapkan dan di lokasi tersebut harus dicek interupsi mana yang muncul secara berurut (sequential). Pengecekan di sini biasanya diurut menurut prioritasnya.
Bus: Bus adalah saluran yang melalukan (membawa) sinyal-sinyal perangkat keras. Sebagaimana dalam mikroprosesor, bus dibedakan atas bus data, alamat dan kontrol. Bus data melalukan data antara register dan memori atau I/O, bus ini bersifat dua arah (bi-directional). Ukuran bus ini menunjukkan ukuran (berapa bit) data yang disimpan dalam setiap register atau memori. Bus alamat menunjuk nomor alamat memori dari/ke mana data disimpan; bus ini bersifat satu arah(unidirectional). Ukuran bus ini menunjukkan ukuran memori yang dapat diakses prosesor. Bus kontrol melalukan sinyal-sinyal yang mengendalikan kegiatan sistem termasuk di dalamnya sinyal-sinyal pewaktuan dan interupsi.
Registers AC, B, PC, SP, PSW, DPTR, Working A, B, 32 Regs, PC, SP, PSW, DPTR, Working
AC, Idx, PC, SP, Cond Code Reg
ROM
RAM
Parallell Ports
Serial
UART SPI, USART, PWM SPI, SCI
Timers
T0, T1 (16) WDT (8) T0, T2 (8) T1 (16) COP, Tmr 16 bit
Interrupt
2 External 2 Internal 3 External + Internal IRQ, SWI, SPI, SCI, Tmr
4K + ext 128 + ext 4 x 8: P0, 1, 2, 3 up to 64K 64K 4K, 8K Flash (16) 512 EE 7744 1024+ 8 bit user 512 x 12 512 176 64 4 x 8: PA, PB, PC, PD w/ Ana input 3 x 8: PORT A, B, C 1 x 7: PORT D 4 x 8 I/O: PORT C, G, L, F 1 x 8 IN: PORT D 1 x 4: PORT A 1 x 8: PORT B PORT A (4), PORT B, C, D (8), PORT E (3) w/ TRIS A, B, C, D, E w/ Ana input PORT A (6), PORT B, C, D (8), PORT E (3) w/ TRIS A, B, C, D, E w/ Ana input
WDT, idle T1,T0, portL, wire/+ (SPI cmp- timer, 16 bit wakeup,SW trap, timer tible) wire/+, ext None WDT (8) Timer (8) 1 Reset Timer WDT (8) Timer0 (8) 12 T1, T2 (16) WDT (8) T0, T2 (8) T1 (16)
PIC16C54
82
PIC16C74
192
SPI, I2C, SSP, SCI SPI, I2C, SSP, SCI USART, CCP1, 2
PIC16C877
368 8 x 13 stack
14, Wakeup
PICxxynnn: xx= seri (bit), y= Tipe memori: C= EPROM, CR= ROM, F= Flash; nnn= nomor seri
LEMBAR KOSONG