Elektronika Digital · PDF fileInterupt Vektor •Setiap interupt memiliki nomor yang unik...

27
ELEKTRONIKA DIGITAL PIC 8259

Transcript of Elektronika Digital · PDF fileInterupt Vektor •Setiap interupt memiliki nomor yang unik...

Page 1: Elektronika Digital · PDF fileInterupt Vektor •Setiap interupt memiliki nomor yang unik yang disebut dengan interupt vector •Setiap interupt vektor memiliki entri pada interrupt

ELEKTRONIKA DIGITAL PIC 8259

Page 2: Elektronika Digital · PDF fileInterupt Vektor •Setiap interupt memiliki nomor yang unik yang disebut dengan interupt vector •Setiap interupt vektor memiliki entri pada interrupt

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.

Page 3: Elektronika Digital · PDF fileInterupt Vektor •Setiap interupt memiliki nomor yang unik yang disebut dengan interupt vector •Setiap interupt vektor memiliki entri pada interrupt

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.

Page 4: Elektronika Digital · PDF fileInterupt Vektor •Setiap interupt memiliki nomor yang unik yang disebut dengan interupt vector •Setiap interupt vektor memiliki entri pada interrupt

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

Page 5: Elektronika Digital · PDF fileInterupt Vektor •Setiap interupt memiliki nomor yang unik yang disebut dengan interupt vector •Setiap interupt vektor memiliki entri pada interrupt

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

Page 6: Elektronika Digital · PDF fileInterupt Vektor •Setiap interupt memiliki nomor yang unik yang disebut dengan interupt vector •Setiap interupt vektor memiliki entri pada interrupt

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 -

Page 7: Elektronika Digital · PDF fileInterupt Vektor •Setiap interupt memiliki nomor yang unik yang disebut dengan interupt vector •Setiap interupt vektor memiliki entri pada interrupt

Interupt

• Proses interupsi bisa menjadi komplex

Page 8: Elektronika Digital · PDF fileInterupt Vektor •Setiap interupt memiliki nomor yang unik yang disebut dengan interupt vector •Setiap interupt vektor memiliki entri pada interrupt

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)

Page 9: Elektronika Digital · PDF fileInterupt Vektor •Setiap interupt memiliki nomor yang unik yang disebut dengan interupt vector •Setiap interupt vektor memiliki entri pada interrupt

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

Page 10: Elektronika Digital · PDF fileInterupt Vektor •Setiap interupt memiliki nomor yang unik yang disebut dengan interupt vector •Setiap interupt vektor memiliki entri pada interrupt

Blok Diagram PIC 8259

Page 11: Elektronika Digital · PDF fileInterupt Vektor •Setiap interupt memiliki nomor yang unik yang disebut dengan interupt vector •Setiap interupt vektor memiliki entri pada interrupt

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

Page 12: Elektronika Digital · PDF fileInterupt Vektor •Setiap interupt memiliki nomor yang unik yang disebut dengan interupt vector •Setiap interupt vektor memiliki entri pada interrupt

PIC Bertingkat (Cascade)

Page 13: Elektronika Digital · PDF fileInterupt Vektor •Setiap interupt memiliki nomor yang unik yang disebut dengan interupt vector •Setiap interupt vektor memiliki entri pada interrupt

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)

Page 14: Elektronika Digital · PDF fileInterupt Vektor •Setiap interupt memiliki nomor yang unik yang disebut dengan interupt vector •Setiap interupt vektor memiliki entri pada interrupt

Inisialisasi

Initialization Control Word (ICW):

menyiapkan piranti agar

dapat menerima satu

interrupt atau lebih.

Page 15: Elektronika Digital · PDF fileInterupt Vektor •Setiap interupt memiliki nomor yang unik yang disebut dengan interupt vector •Setiap interupt vektor memiliki entri pada interrupt

Inisialisasi

Page 16: Elektronika Digital · PDF fileInterupt Vektor •Setiap interupt memiliki nomor yang unik yang disebut dengan interupt vector •Setiap interupt vektor memiliki entri pada interrupt

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

Page 17: Elektronika Digital · PDF fileInterupt Vektor •Setiap interupt memiliki nomor yang unik yang disebut dengan interupt vector •Setiap interupt vektor memiliki entri pada interrupt

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

Page 18: Elektronika Digital · PDF fileInterupt Vektor •Setiap interupt memiliki nomor yang unik yang disebut dengan interupt vector •Setiap interupt vektor memiliki entri pada interrupt

Inisialisasi ICW1, ICW2

Page 19: Elektronika Digital · PDF fileInterupt Vektor •Setiap interupt memiliki nomor yang unik yang disebut dengan interupt vector •Setiap interupt vektor memiliki entri pada interrupt

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

Page 20: Elektronika Digital · PDF fileInterupt Vektor •Setiap interupt memiliki nomor yang unik yang disebut dengan interupt vector •Setiap interupt vektor memiliki entri pada interrupt

ICW3, ICW4

Page 21: Elektronika Digital · PDF fileInterupt Vektor •Setiap interupt memiliki nomor yang unik yang disebut dengan interupt vector •Setiap interupt vektor memiliki entri pada interrupt

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

Page 22: Elektronika Digital · PDF fileInterupt Vektor •Setiap interupt memiliki nomor yang unik yang disebut dengan interupt vector •Setiap interupt vektor memiliki entri pada interrupt

OCW1, OCW2

Page 23: Elektronika Digital · PDF fileInterupt Vektor •Setiap interupt memiliki nomor yang unik yang disebut dengan interupt vector •Setiap interupt vektor memiliki entri pada interrupt

OCW3

Page 24: Elektronika Digital · PDF fileInterupt Vektor •Setiap interupt memiliki nomor yang unik yang disebut dengan interupt vector •Setiap interupt vektor memiliki entri pada interrupt

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

Page 25: Elektronika Digital · PDF fileInterupt Vektor •Setiap interupt memiliki nomor yang unik yang disebut dengan interupt vector •Setiap interupt vektor memiliki entri pada interrupt

Menghubungkan satu 8259A

Page 26: Elektronika Digital · PDF fileInterupt Vektor •Setiap interupt memiliki nomor yang unik yang disebut dengan interupt vector •Setiap interupt vektor memiliki entri pada interrupt

Cascading 8259A

Page 27: Elektronika Digital · PDF fileInterupt Vektor •Setiap interupt memiliki nomor yang unik yang disebut dengan interupt vector •Setiap interupt vektor memiliki entri pada interrupt

Contoh Pemrograman 8259A

• PIC 8259A yang dihubungkan ke programmable

communications controller 16550. Kedua alat ini

diantarmukakan ke bus data mikroprosesor 8088.