第1章 PCのアドレス・マップと

割り込みコントローラ(15)

割り込みのエッジ/レベル設定

 

割り込みのエッジ/レベル設定

 8259Aの場合,割り込み入力のエッジ/レベル設定は全入力を一括で変更するようになっており,特定の入力だけを変更することはできませんでした.そのためPCではエッジ設定で使うことが基本となっています.

 ところが,PCIバスの割り込みはレベル・トリガとなっており,複数のカードで割り込みを共有することができるようになっています.このため,P2X4ではICW1ビット3のエッジ/レベル設定を無効にして,PICの各割り込み入力ごとにエッジ/レベルの設定を行うレジスタ(ELCR1,ELCR2)を別途追加しています.

 ELCR1レジスタがマスタPIC用でI/Oアドレスは04D0h,ELCR2がスレーブPICの割り込み入力の設定用で,I/Oアドレスは04D1hに割り付けられています.

 ELCRレジスタの該当ビットが“1”になっているとその割り込み入力がレベル・トリガに,“0”ならばエッジ・トリガになります.ただし,ELCR1のビット2〜0とELCR2のビット5とビット0は無効で,必ず“0”を書き込むこととになっています.割り込みをPCI割り込み用に使うときは,必ずこのレジスタでレベル・トリガ・モードにしなくてはなりません.

PCI割り込みルーティング・レジスタ

 PCIバスには割り込み信号が4本(INTA〜INTD)がありますが,これをPICのどの割り込み入力と接続するかを指定するためのPIRQRC(PCI Interrupt ReQuest Route Control)レジスタがあります.PIRQRCレジスタは通常のI/Oポートではなく,P2X4のPCIコンフィギュレーション・レジスタのアドレス・オフセット60h〜63h(それぞれINTA〜INTDに対応)に割り付けられています.

 各バイトがPCIのINTnラインに対応しており,ビット3〜0でIRQの番号を,ビット7がルーティング・イネーブル/ディセーブル(“0”でイネーブル)になっています.

シリアル割り込み

 P2X4では通常マザー・ボードで使われている割り込み信号を1本の信号線で送るシリアル割り込みという機構があります.これはコネクタの大きさやピン数に制限の多いモバイルPCのドッキング・ステーションやカード・バスへの応用を考慮したものです.

 シリアル割り込みのデータ・フォーマットでは,1フレーム・データを32ビットで構成しており,IRQ1〜IRQ15(IRQ0,IRQ2,IRQ13を除く),SMI(システム・マネジメント割り込み),IOCHK(NMI),PCIのINTA〜INTDを送ることができます.シリアル割り込みの説明についてはまた別の機会にゆずることにしましょう.

8259Aの使用上の注意

 現在のPCに入っているPICが「相当品」にすぎないということは,すでに何度も述べましたが8259Aを使用するうえでの注意点がそのまま適用されるようなチップ・セットが存在する可能性も否定できません.念のためにここで整理しておきます.

バッファ・モード

 ICW4の項でもふれましたが,PCではバッファ・モードに設定してはいけません.バッファ・モードにするとPICのSP/ENピンが出力モードになるのですが,PC/ATの場合,スレーブPICのSP/ENピンはGNDに直結されています.

 このため,間違ってバッファ・モードにプログラムして,PICが“H”レベルを出力しようとしてもGNDに直結されているため,PICを壊す恐れがあるわけです.マスタPIC側はオリジナルではプルアップ抵抗経由で接続されているので問題はないと思いますが,もしもVCCに直結されていたりすると,破壊する可能性がでてきます.

カスケード接続

 ごく一般的に行われるPICのカスケード接続ですが,実はちょっとした問題があります.PICへの2回目のINTAとほぼ同時に,よりプライオリティの高い割り込みが発生した場合,PICはINTAに合わせていったんINTピン(割り込み要求信号)を“L”にした後,すぐに再び“H”に戻し新しい割り込みの発生を通知しようとします.

 つまり,外部からINT信号を見るとごく短い期間だけ“L”になるのですが,この“L”レベル期間が8259Aの割り込み入力スペックを満足しない場合があることに注意が必要です.スレーブでこの現象が発生すると,マスタはINT入力に“L”から“H”に変化のあったことが検出できず,スレーブは割り込み要求をしているつもりなのに,マスタには割り込みが入らないという状況におちいるのです.

 現在のPCのPICはあくまでも「相当品」ですからこのような問題はないとは思いますが,一応頭に入れておいたほうがよいでしょう.


Copyright 2000 桑野 雅彦

新刊のご案内


Copyright 1997-2001 CQ Publishing Co.,Ltd.