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) 00 - 01 02 03 - 07 08 09 0A 0B 0C 0D 0E 0F 10 - 6F 70 71 72 73 74 75 76 77 78 - FF
IRQ Exception Handlers Non-Maskable IRQ Exception Handlers Hardware IRQ0 Hardware IRQ1 Hardware IRQ2 Hardware IRQ3 Hardware IRQ4 Hardware IRQ5 Hardware IRQ6 Hardware IRQ7 Software Interrupts Hardware IRQ8 Hardware IRQ9 Hardware IRQ10 Hardware IRQ11 Hardware IRQ12 Hardware IRQ13 Hardware IRQ14 Hardware IRQ15 Software Interrupts
Common Uses Non-Maskable IRQ (Parity Errors) System Timer Keyboard Redirected Serial Comms. COM2/COM4 Serial Comms. COM1/COM3 Reserved/Sound Card Floppy Disk Controller Parallel Comms. Real Time Clock Redirected IRQ2 Reserved Reserved PS/2 Mouse Math's Co-Processor Hard Disk Drive Reserved -
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)
Elektronika Digital Nov 2005
Fungsi pin-pin PIC 8259: • D7 – D0
• RD • WR
: data bus : Proses pembacaan, Aktif low : Proses penulisan, aktif low : Pengalamatan
• A0 • 0 : Address 20h • 1 : Address 21h • CS
: chip select • CAS0-CAS2: perluasan PIC
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
D7
D6
D5
D4
D3
D2
D1
D0
0
A7
A6
A5
1
LTIM
ADI
SNGL
IC4
• 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
ICW2: • Nomor tipe interupsi, misalkan. ICW2 diberi nomor tipe 8h
maka IRQ0 = 8h dan lalu IRQ1=9h dan seterusnya.
A0 D7 D6 1
T7 T6
D5
D4
D3
D2
D1
D0
T5
T4
T3
T2
T1
T0
• A0 =1, alamat ICW2. • D7 – D0 : diisi data tipe interupsi IRQ0.
Inisialisasi ICW1, ICW2
ICW3 & ICW4 • ICW3: • Mode kaskade, kalau PIC dalam operasi single, ICW3 ini tidak
digunakan.
• ICW4
A0 D7 1
0
D6
D5
0
0
D4
D3
D2
D1
SFNM BUF M/S AEOI
D0 μ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.