ELEKTRONIKA DIGITAL PIC 8259
Pendahuluan
• Ada 2 cara melayani sinyal trigger dari piranti luar:
• Interupsi
• Polling
• Interupsi:
• subrutin dijalankan jika ada trigger dari luar piranti
• Polling:
• μP menanyakan pada piranti-piranti luar, secara bergilir, apakah
ada tugas.
Interupsi
• Pengertian:
• Sinyal yang digunakan untuk meminta perhatian CPU
• Jenis Interupt berdasarkan sumbernya
• Software: (contoh Int 65h)
• Digunakan untuk melayani kondisi tertentu pada software yang sedang
berjalan.
• Hardware:
• Digunakan untuk melayani trigger/interupsi dari luar.
Interupt Vektor
• Setiap interupt memiliki nomor yang unik yang disebut dengan
interupt vector
• Setiap interupt vektor memiliki entri pada interrupt vector table.
• interrupt vector table table yang mengandung segment:offset
addresses yang menunjukkan rutin yang menangani masing2 interupt
• Rutin ini disebut interrupt handler atau interrupt service
routines (ISR)
• 1024 bytes dari memory (addresses 00000 – 003FF)
merupakan interupt vektor table
• Masing-masing 256 vectors membutuhkan 4 byte
• 2 segment,
• 2 offset
Mekanisme interupsi pada x86
• Perangkat membangkitkan sinyal interupt
• Perangkat memberikan nomor interupt vektor pada data bus
• Prosesor menghentikan aktivitasnya (jika IF=1) dan menjalankan ISR sesuai dengan Interupt vektor yang ada pada data bus
• Saat menjalankan ISR, sinyal INTA dikirimkan
Interupt Vektor pada x86 INT (Hex) IRQ Common Uses
00 - 01 Exception Handlers -
02 Non-Maskable IRQ Non-Maskable IRQ (Parity Errors)
03 - 07 Exception Handlers -
08 Hardware IRQ0 System Timer
09 Hardware IRQ1 Keyboard
0A Hardware IRQ2 Redirected
0B Hardware IRQ3 Serial Comms. COM2/COM4
0C Hardware IRQ4 Serial Comms. COM1/COM3
0D Hardware IRQ5 Reserved/Sound Card
0E Hardware IRQ6 Floppy Disk Controller
0F Hardware IRQ7 Parallel Comms.
10 - 6F Software Interrupts -
70 Hardware IRQ8 Real Time Clock
71 Hardware IRQ9 Redirected IRQ2
72 Hardware IRQ10 Reserved
73 Hardware IRQ11 Reserved
74 Hardware IRQ12 PS/2 Mouse
75 Hardware IRQ13 Math's Co-Processor
76 Hardware IRQ14 Hard Disk Drive
77 Hardware IRQ15 Reserved
78 - FF Software Interrupts -
Interupt
• Proses interupsi bisa menjadi komplex
PIC 8259
• PIC mampu menerima input interupt HW
• PIC 8259 mempunyai 8 masukan interupsi yaitu IRQ0
sampai dengan IRQ7
• Fungsi PIC 8259 :
• Untuk menerima dan mengatur interupsi yang muncul dan
mengarahkannya pada sistem penerima interupt.
• Mempercepat respon sistem (fungsi interupt)
Fungsi pin-pin PIC 8259:
• D7 – D0 : data bus
• RD : Proses pembacaan, Aktif low
• WR : Proses penulisan, aktif low
• A0 : Pengalamatan
• 0 : Address 20h
• 1 : Address 21h
• CS : chip select
• CAS0-CAS2: perluasan PIC
Elektronika Digital Nov 2005 9
Blok Diagram PIC 8259
Interupsi pada x86
• Umumnya komputer saat ini memiliki 15 interupt
• Komputer moderen saat ini sudah mengintegrasikan IC
8259 ke dalam southbridge mainboard komputer.
• PIC 8259 bisa di cascade dan slave master sehingga
dapat memberikan input interupt sebanyak 64 buah
PIC Bertingkat (Cascade)
PIC 8259 mempunyai 4 register:
• Interrupt Request Register (IRR):
• 8-bit data internal yang setiap bitnya mewakili masing-masing
IRQ#.
• Priority Resolver (PR):
• Menentukan prioritas bagi setiap bit IRQ yang ada.
• In Service Register (ISR):
• Menyimpan data IRQ# yang sedang dilayani permintaannya.
• Interrupt Mask Register (IMR):
• Menyimpan data IRQ# yang di-mask (non-aktif) dan unmask (aktif)
Inisialisasi
Initialization Control Word (ICW):
menyiapkan piranti agar
dapat menerima satu
interrupt atau lebih.
Inisialisasi
ICW1
• A0 : alamat internal tujuan pengiriman ICW1
• D7-D5: untuk sistem µP 8085
• D4 : harus diberi logika 1
• D3 = 0 : melayani permintaan interrupt jika IRQ# berubah
dari 0 ke 1.
• D2 = 0: karena tidak dipakai di µP 8088
• D1 : 0 : bila beroperai dalam perluasan
• D1 = 1 : karena µP 8088 perlu ICW4
A0 D7 D6 D5 D4 D3 D2 D1 D0
0 A7 A6 A5 1 LTIM ADI SNGL IC4
ICW2:
• Nomor tipe interupsi, misalkan. ICW2 diberi nomor tipe 8h
maka IRQ0 = 8h dan lalu IRQ1=9h dan seterusnya.
• A0 =1, alamat ICW2.
• D7 – D0 : diisi data tipe interupsi IRQ0.
A0 D7 D6 D5 D4 D3 D2 D1 D0
1 T7 T6 T5 T4 T3 T2 T1 T0
Inisialisasi ICW1, ICW2
ICW3 & ICW4
• ICW3: • Mode kaskade, kalau PIC dalam operasi single, ICW3 ini tidak
digunakan.
• ICW4
A0 D7 D6 D5 D4 D3 D2 D1 D0
1 0 0 0 SFNM BUF M/S AEOI μPM
ICW3, ICW4
OCW
• OCW (Operation Command Word)
• Untuk memasking dan prioritas IRQ
~CS A0 OCW
0 0 OCW2, OCW3
0 1 OCW1
1 X 8259 tidak digunakan
OCW1, OCW2
OCW3
KONTROLER INTERUPSI DAPAT
DIPROGRAM 8259A • Berfungsi untuk menambah delapan interrupt yang prioritasnya
dienkode dan divektorkan pada mikroprosesor.
• Pin-pin pada PIC 8259A :
• D7 – D0 : hubungan data bidireksional
• IR7 – IR0 : input permintaan interrupt (interrupt request)
• ~WR : input write
• ~RD : input read
• INT : output interrupt
• ~INTA : Interrupt Acknowledge
• A0 : input alamat A0
• ~CS : chip select
• SP/~EN : Slave program / enable buffer
• CAS2-CAS0 : jalur cascade
Menghubungkan satu 8259A
Cascading 8259A
Contoh Pemrograman 8259A
• PIC 8259A yang dihubungkan ke programmable
communications controller 16550. Kedua alat ini
diantarmukakan ke bus data mikroprosesor 8088.
Top Related