DIOボード(PCI-2726C)は、以下の要因により、コンピュータへ割り 込みを発生させることができる。割り込み発生時には、ドライバ内に登録した割 り込みハンドラが呼び出される。
割り込み要因 | ||
SIG1 | IN1からの入力信号 | STB1からの入力信号 |
SIG2 | IN2からの入力信号 | IR.IN1からの入力信号 |
SIG3 | IN3からの入力信号 | ACK2からの入力信号 |
SIG4 | IN4からの入力信号 | IR.IN2からの入力信号 |
SIGT | インターバルタイマ割り込み | |
SIGR | 外部リセット入力(RSTIN)割り込み |
割り込み回路は、割り込み要因選択、割り込み論理設定の各回路によって構成さ れている。
DIOボードへの割り込み設定は、次の手順で行う。
詳細は配布資料(Interface社のPCI-2726C I/O公開資料)を参照すること。
(1) 割り込みの発生要因、割り込みの発生論理を設定する。
割り込みの発生要因、割り込みの発生論理は I/Oポートベースアドレス0+0EhのI/Oポートで設定する。
bit7 | bit6 | bit5 | bit4 | bit3 | bit2 | bit1 | bit0 |
EDS4 | EDS3 | EDS2 | EDS1 | SIG4 | SIG3 | SIG2 | SIG1 |
● 割り込み要因割り当て(bit3〜bit0)
割り込み発生要因は、割り込み要因となる信号を選択する。
例: SIG1は 0 のときIN1であり、1のときSTB1である。
● 割り込み発生論理設定(bit7〜bit4)
割り込み発生論理では割り込みになる信号の状態変化(HighからLowに変化したば
あいの割り込み、またはLowからHighに変化したばあいの割り込み発生)を選択す
る。
例: SIG1の割り込み論理は、EDS1が0のときH Lであり、1のときL H である。
注. 必ずどちらかが選択されている。電源投入時、デフォルトでは00hで
ある。このばあいの割り込み要因はSIG1:IN1, SIG2:IN2, SIG3:IN3,
SIG4:IN4であり、割り込み発生論理は全ての変化で割り込みが発生す
る。
(2) 割り込みのマスクを設定する。
I/Oポートベースアドレス0+0DhのI/Oポートで割り込みマスクの設定をす
る。
指定するビットを1にするとマスクが解除(割り込みが有効)になり、ビットを0に
すると割り込みがマスクされる。
bit7 | bit6 | bit5 | bit4 | bit3 | bit2 | bit1 | bit0 |
未使用 | 未使用 | SIGR | SIGT | SIG4 | SIG3 | SIG2 | SIG1 |
割り込みを解除する(使用を止める)ばあいには、上記のレジスタのビットを全て0に
設定して、割り込みをマスク状態にする。
以上がDIOボード側の割り込み設定である。
この状態では、設定した要因によって割り込みは発生するが、ドライバ内に対応
する割り込み処理を登録していないばあいには、何も行われない。
注. PCIデバイスのばあいにはレベルトリガ(割り込みのシェアリング)を採用し ている為、未登録の割り込みが発生すると割り込みをクリアすることができず、 OSがフリーズしてしまう。