12.3

 EXPANDING THE INTERRUPT STRUCTURE





1. Pendahuluan [Back]

    Dalam sistem mikroprosesor, jumlah sumber interupsi sering kali lebih banyak dibandingkan jumlah jalur interupsi yang tersedia pada prosesor. Oleh karena itu, diperlukan metode untuk memperluas struktur interupsi agar sistem tetap mampu merespons berbagai perangkat secara efisien. Sub bab ini membahas beberapa pendekatan yang dapat digunakan, baik dengan tambahan perangkat keras maupun dengan teknik perangkat lunak. Beberapa metode yang diperkenalkan meliputi penggunaan gerbang logika tambahan seperti 74ALS244, teknik daisy-chain dengan polling perangkat lunak, hingga pemanfaatan programmable interrupt controller 8259A yang mampu menangani hingga 63 masukan interupsi. Dengan memahami berbagai cara ini, perancang sistem dapat memilih metode yang sesuai dengan kebutuhan, kompleksitas, dan biaya implementasi.

2. Tujuan[Back]

  • Menjelaskan kebutuhan perluasan jalur interupsi pada sistem mikroprosesor.

  • Menguraikan metode perluasan interupsi menggunakan 74ALS244.

  • Menjelaskan teknik daisy-chain interupsi dengan polling perangkat lunak.

  • Memahami cara kerja PIC 8259A untuk mendukung jumlah interupsi yang lebih banyak.

  • Memberikan dasar pemahaman bagi mahasiswa/ pembaca dalam merancang sistem interupsi yang fleksibel, efisien, dan sesuai dengan kebutuhan aplikasi.

3. Teori[Back]

MEMPERLUAS STRUKTUR INTERUPSI

Teks ini membahas tiga metode umum untuk memperluas struktur interupsi mikroprosesor. Di bagian ini, kami menjelaskan bagaimana, dengan perangkat lunak dan beberapa modifikasi perangkat keras pada rangkaian yang ditunjukkan pada Gambar 12-10, dimungkinkan untuk memperluas masukan INTR sehingga menerima tujuh masukan interupsi. Kami juga menjelaskan cara "daisy-chain" interupsi dengan polling perangkat lunak. Di bagian selanjutnya, kami menjelaskan teknik ketiga di mana hingga 63 masukan interupsi dapat ditambahkan menggunakan pengontrol interupsi terprogram 8259A.

Menggunakan 74ALS244 untuk Memperluas Interupsi

Modifikasi yang ditunjukkan pada Gambar 12-13 memungkinkan rangkaian pada Gambar 12-10 untuk mengakomodasi hingga tujuh masukan interupsi tambahan. Satu-satunya perubahan perangkat keras adalah penambahan gerbang NAND delapan masukan, yang memberikan sinyal INTR ke mikroprosesor ketika salah satu masukan IR aktif.

Operasi. Jika salah satu masukan IR berlogika 0, maka keluaran gerbang NAND berlogika 1 dan meminta interupsi melalui masukan INTR. Vektor interupsi yang diambil selama pulsa INTA bergantung pada jalur permintaan interupsi mana yang aktif. Tabel 12-1 menunjukkan vektor interupsi yang digunakan oleh satu masukan permintaan interupsi.

Jika dua atau lebih masukan permintaan interupsi aktif secara bersamaan, vektor interupsi baru akan dihasilkan. Misalnya, jika IR1 dan IRO keduanya aktif, vektor interupsi yang dihasilkan adalah FCH (252). Prioritas diselesaikan di lokasi ini. Jika masukan IRO memiliki prioritas yang lebih tinggi, alamat vektor untuk IRO disimpan di lokasi vektor FCH. Seluruh bagian atas tabel vektor dan 128 vektor interupsinya harus digunakan untuk mengakomodasi semua kemungkinan kondisi dari ketujuh masukan permintaan interupsi ini. Hal ini tampaknya boros, tetapi dalam banyak aplikasi khusus, ini merupakan pendekatan yang hemat biaya untuk ekspansi interupsi.

Interupsi Berantai Daisy

Ekspansi melalui interupsi daisy-chain dalam banyak hal lebih baik daripada menggunakan 74ALS244 karena hanya membutuhkan satu vektor interupsi. Tugas penentuan prioritas diserahkan kepada prosedur layanan interupsi. Menetapkan prioritas untuk daisy-chain memang membutuhkan waktu eksekusi perangkat lunak tambahan, tetapi secara umum ini merupakan pendekatan yang jauh lebih baik untuk memperluas struktur interupsi mikroprosesor.

Gambar 12-14 mengilustrasikan satu set dua antarmuka periferal 82C55 dengan empat keluaran INTR yang terhubung secara daisy-chain ke satu masukan INTR mikroprosesor. Jika salah satu keluaran interupsi berlogika 1, maka masukan INTR ke mikroprosesor juga akan berlogika 1, yang menyebabkan interupsi.

Ketika daisy-chain digunakan untuk meminta interupsi, sebaiknya tarik koneksi bus data (Do-D7) ke posisi tinggi dengan menggunakan resistor pull-up sehingga vektor interupsi FFH digunakan untuk rantai tersebut.

Vektor interupsi dapat digunakan untuk merespons daisy-chain. Di sirkuit ini, salah satu dari empat keluaran INTR dari dua 82C55 akan menyebabkan pin INTR pada mikroprosesor menjadi tinggi, yang meminta interupsi.

Ketika pin INTR mencapai kondisi "high" dengan daisy-chain, perangkat keras tidak memberikan indikasi langsung mengenai 82C55 atau keluaran INTR mana yang menyebabkan interupsi. Tugas untuk menemukan keluaran INTR mana yang aktif bergantung pada prosedur layanan interupsi, yang harus melakukan polling pada 82C55 untuk menentukan keluaran mana yang menyebabkan interupsi.

Contoh 12-7 mengilustrasikan prosedur layanan interupsi yang merespons permintaan interupsi daisy-chain. Prosedur ini melakukan polling pada setiap keluaran 82C55 dan INTR untuk menentukan prosedur layanan interupsi mana yang akan digunakan.




 

6. Video [Back]














Tidak ada komentar:

Posting Komentar

                                            BAHAN PRESENTASI UNTUK MATA KULIAH  ELEKTRONIKA 2024   Nama : Muhammad Fadhil Dwi Kesuma NIM : 2...