PIO-32/32H(PCI)H

Contec PIO-32/32H(PCI)H 取扱説明書

  • こんにちは!このコンテック製デジタルI/Oボードのテクニカルリファレンスを読みました。 I/Oポートのビット割り付け、割り込み制御、デジタルフィルタなどの機能について、ご質問にお答えできます。どのような点にご興味がありますか?
  • I/Oポートのビット割り付けはどこで確認できますか?
    割り込み機能はどのように制御できますか?
    デジタルフィルタ機能とは何ですか?
    ボードのVendor IDとDevice IDはどこで確認できますか?
    MS-DOS環境でリソースを取得するにはどうすればよいですか?
テクニカルリファレンス
PCI
対応
絶縁型デジタル入出力ボード
絶縁型デジタル入力ボード
絶縁型デジタル出力ボード
PIO-32/32L(PCI)H PI-64L(PCI)H PO-64L(PCI)H
絶縁型デジタル入出力ボード
絶縁型逆コモンタイプ
(
電源内蔵
)
デジタル入出力ボード
高速絶縁型デジタル入出力ボード
PIO-32/32B(PCI)V PIO-32/32RL(PCI)H PIO-32/32F(PCI)H
絶縁型デジタル入出力ボード
PIO-32/32H(PCI)H
非絶縁型デジタル入出力ボード
非絶縁型デジタル入力ボード
非絶縁型デジタル出力ボード
PIO-32/32T(PCI)H DI-64T2-PCI DO-64T2-PCI
PCI-Express
対応
絶縁型デジタル入出力ボード
絶縁型デジタル入力ボード
絶縁型デジタル出力ボード
DIO-3232L-PE DI-64L-PE DO-64L-PE
絶縁型デジタル入出力ボード
(
電源内蔵
)
高速絶縁型デジタル入出力ボード
DIO-3232B-PE DIO-3232F-PE
絶縁型逆コモンタイプ
絶縁型デジタル入出力ボード
デジタル入出力ボード
DIO-3232H-PE DIO-3232RL-PE
非絶縁型デジタル入出力ボード
非絶縁型デジタル入力ボード
非絶縁型デジタル出力ボード
DIO-3232T-PE DI-64T-PE DO-64T-PE
目次
1. はじめに.......................................................................................................................2
1.1. 本資料中の語句について ..................................................................................2
2. 製品固有情報...............................................................................................................3
2.1. Vendor IDDevice ID ..........................................................................................3
2.2. リソースの取得方法 ..........................................................................................3
3. I/Oポートのビット割り付.....................................................................................4
3.1. PIO-32/32x(PCI)H, DIO-3232x-PE I/Oアドレスマップ一覧 ...........................4
3.2. PI-64L(PCI)H, DI-64T2-PCI, DI-64x-PE I/Oアドレスマップ一覧 ..................6
3.3. PO-64L(PCI)H, DO-64T2-PCI, DO-64x-PE I/Oアドレスマップ一覧 .............8
4. 操作手順.......................................................................................................................9
4.1. データ入出力機能 ..............................................................................................9
4.1.1. データの入力 ..............................................................................................9
4.1.2. データの出力 ..............................................................................................9
4.1.3. 出力データのモニタ ..................................................................................9
4.2. デジタルフィルタ ............................................................................................10
4.3. 割り込みコントロール機能 ............................................................................11
4.3.1. 割り込みの禁止・許可 ............................................................................11
4.3.2. 割り込みのエッジ選択 ............................................................................11
4.3.3. 割り込みステータスと割り込み信号のクリア ....................................11
5. 補足.............................................................................................................................12
5.1. オンボードシステムタイマ機能 ....................................................................12
テクニカルリファレンス <PIO-32/32x(PCI)Hシリーズ, PI-64L(PCI)H, PO-64L(PCI)H, DI-64T2-PCI
DO-64T2-PCI, DIO-3232x-PE シリーズ, DI-64x-PE シリーズ, DO-64x-PE シリーズ>
2/12
2008 2 5
1. はじめに
本資料では、I/O ポートのビット割り付けおよび各ビットの定義についての説明をしています
当社サポートソフトウェアを使用しない場合や、Windows 環境以外でアプリケーションを作成する場
合に参照してください。
1.1. 本資料中の語句について
以下にご注意ください。
グループ:
ボードへの I/O アクセスは、最小 8 ビット単位で行います。本資料では、入出力を 8 ビット単位で 1
グループと表現しています。
ドライバライブラリ API-PAC(W32)のヘルプに記載されているグループとは異なります。
I/O ベースアドレス:
ボードに割り当てられた I/O リソース(I/O の範囲)の最も小さい値で、先頭 I/O アドレスと同じ意味で
す。一般的にボードの I/O アドレスとは、このアドレスを指します
PIO-32/32x(PCI)H シリーズ(以下 PIO-32/32x(PCI)H )
PIO-32/32L(PCI)H, PIO-32/32B(PCI)V, PIO-32/32T(PCI)H, PIO-32/32RL(PCI)H, PIO-32/32H(PCI)H,
PIO-32/32F(PCI)H のことを示します。
DIO-3232x-PE シリーズ(以下 DIO-3232x-PE )
DIO-3232L-PE, DIO-3232T-PE, DIO-3232B-PE, DIO-3232F-PE, DIO-3232H-PE, DIO-3232RL-PE のことを
示します。
DI-64x-PE シリーズ(以下 DI-64x-PE )
DI-64L-PE, DI-64T-PE のことを示します。
DO-64x-PE シリーズ(以下 DO-64x-PE )
DO-64L-PE, DO-64T-PE のことを示します。
テクニカルリファレンス <PIO-32/32x(PCI)Hシリーズ, PI-64L(PCI)H, PO-64L(PCI)H, DI-64T2-PCI
DO-64T2-PCI, DIO-3232x-PE シリーズ, DI-64x-PE シリーズ, DO-64x-PE シリーズ>
3/12
2008 2 5
2. 製品固有情報
2.1. Vendor IDDevice ID
各製品の固有情報は、以下のとおりです。
Vendor ID 1221h
Device ID
Board Name Device ID Board Name Device ID
PIO-32/32L(PCI)H 9152h PIO-32/32RL(PCI)H A162h
PI-64L(PCI)H 9162h PIO-32/32T(PCI)H A172h
PO-64L(PCI)H 9172h PIO-32/32B(PCI)V A182h
PIO-32/32H(PCI)H A142h PIO-32/32F(PCI)H A1F2h
DI-64T2-PCI B182h DO-64T2-PCI B192h
DIO-3232L-PE 8622h DI-64L-PE 86B2h
DO-64L-PE 86C2h DIO-3232T-PE 8642h
DIO-3232B-PE 8662h DIO-3232F-PE 86F2h
DIO-3232H-PE 9692h DIO-3232RL-PE 96B2h
DI-64T-PE 9622h DO-64T-PE 9632h
Revision ID :ボード ID の設定スイッチ(SW1)の状態。00h - 0Fh の範囲で反映されます。
上記以外は、PCI ローカルバス仕様<PIO-32/32x(PCI)H, PI-64L(PCI)H, PO-64L(PCI)H, DI-64T2-PCI,
DO-64T2-PCI> / PCI-Express 仕様<DIO-3232x-PE, DI-64x-PE>に準拠します。
2.2. リソースの取得方法
MS-DOS 環境で PCI バス対応ボードのリソース(I/O ベースアドレス、割り込みレベル、メモリベース
アドレス)を取得するためのライブラリを、ホームページ(http://www.contec.co.jp)で提供しています。
テクニカルリファレンス <PIO-32/32x(PCI)Hシリーズ, PI-64L(PCI)H, PO-64L(PCI)H, DI-64T2-PCI
DO-64T2-PCI, DIO-3232x-PE シリーズ, DI-64x-PE シリーズ, DO-64x-PE シリーズ>
4/12
2008 2 5
3. I/Oポートのビット割り付け
3.1. PIO-32/32x(PCI)H, DIO-3232x-PE I/Oアドレスマップ一覧
PIO-32/32x(PCI)H, DIO-3232x-PE 入力ポート
I/Oベース D7 D6 D5 D4 D3 D2 D1 D0
アドレス +0h 入力グループ 0
I-07 I-06 I-05 I-04 I-03 I-02 I-01 I-00
+1h 入力グループ 1
I-17 I-16 I-15 I-14 I-13 I-12 I-11 I-10
+2h 入力グループ 2
I-27 I-26 I-25 I-24 I-23 I-22 I-21 I-20
+3h 入力グループ 3
I-37 I-36 I-35 I-34 I-33 I-32 I-31 I-30
+4h 入力グループ 4
O-47 O-46 O-45 O-44 O-43 O-42 O-41 O-40
+5h 入力グループ 5
O-57 O-56 O-55 O-54 O-53 O-52 O-51 O-50
+6h 入力グループ 6
O-67 O-66 O-65 O-64 O-63 O-62 O-61 O-60
+7h 入力グループ 7
O-77 O-76 O-75 O-74 O-73 O-72 O-71 O-70
+8h
(使用不可)
+9h デジタルフィルタ設定時間
0 0 0 ST4 ST3 ST2 ST1 ST0
+Ah
|
+Fh
(使用不可)
+10h 割り込みステータス 0
I-07 Status I-06 Status I-05 Status I-04 Status I-03 Status I-02 Status I-01 Status I-00 Status
+11h 割り込みステータス 1
I-17 Status I-16 Status I-15 Status I-14 Status I-13 Status I-12 Status I-11 Status I-10 Status
+12h 割り込みステータス 2
I-27 Status I-26 Status I-25 Status I-24 Status I-23 Status I-22 Status I-21 Status I-20 Status
+13h 割り込みステータス 3
I-37 Status I-36 Status I-35 Status I-34 Status I-33 Status I-32 Status I-31 Status I-30 Status
+14h 割り込みエッジ選択 0
I-07 Edge I-06 Edge I-05 Edge I-04 Edge I-03 Edge I-02 Edge I-01 Edge I-00 Edge
+15h 割り込みエッジ選択 1
I-17 Edge I-16 Edge I-15 Edge I-14 Edge I-13 Edge I-12 Edge I-11 Edge I-10 Edge
+16h 割り込みエッジ選択 2
I-27 Edge I-26 Edge I-25 Edge I-24 Edge I-23 Edge I-22 Edge I-21 Edge I-20 Edge
+17h 割り込みエッジ選択 3
I-37 Edge I-36 Edge I-35 Edge I-34 Edge I-33 Edge I-32 Edge I-31 Edge I-30 Edge
+18h
|
+1Bh
(使用不可)
+1Ch オンボードシステムタイマ・カウントデータ
Data-07 Data-06 Data-05 Data-04 Data-03 Data-02 Data-01 Data-00
+1Dh オンボードシステムタイマ・カウントデータ
Data-15 Data-14 Data-13 Data-12 Data-11 Data-10 Data-09 Data-08
+1Eh オンボードシステムタイマ・カウントデータ
Data-23 Data-22 Data-21 Data-20 Data-19 Data-18 Data-17 Data-16
+1Fh オンボードシステムタイマ・カウントデータ
Data-31 Data-30 Data-29 Data-28 Data-27 Data-26 Data-25 Data-24
注意:
I-xx は入力信号であり、O-xx 出力データのモニタ用(リードバック)です
バイトアクセス、ワードアクセス(2 バイト)、ダブルワードアクセ(4 バイト)が可能です。
ワードアクセスするときは 2 の倍数の I/O アドレスから、ダブルワードアクセスするときは 4 の倍数の I/O アドレスから入力して
ください。
テクニカルリファレンス <PIO-32/32x(PCI)Hシリーズ, PI-64L(PCI)H, PO-64L(PCI)H, DI-64T2-PCI
DO-64T2-PCI, DIO-3232x-PE シリーズ, DI-64x-PE シリーズ, DO-64x-PE シリーズ>
5/12
2008 2 5
PIO-32/32x(PCI)H, DIO-3232x-PE 出力ポート
I/Oベース D7 D6 D5 D4 D3 D2 D1 D0
アドレス +0h
(使用不可)
+1h
(使用不可)
+2h
(使用不可)
+3h
(使用不可)
+4h 出力グループ 4
O-47 O-46 O-45 O-44 O-43 O-42 O-41 O-40
+5h 出力グループ 5
O-57 O-56 O-55 O-54 O-53 O-52 O-51 O-50
+6h 出力グループ 6
O-67 O-66 O-65 O-64 O-63 O-62 O-61 O-60
+7h 出力グループ 7
O-77 O-76 O-75 O-74 O-73 O-72 O-71 O-70
+8h
(使用不可)
+9h デジタルフィルタ設定時間
0 0 0 ST4 ST3 ST2 ST1 ST0
+Ah
|
+Fh
(使用不可)
+10h 割り込みマスク 0
I-07 Mask I-06 Mask I-05 Mask I-04 Mask I-03 Mask I-02 Mask I-01 Mask I-00 Mask
+11h 割り込みマスク 1
I-17 Mask I-16 Mask I-15 Mask I-14 Mask I-13 Mask I-12 Mask I-11 Mask I-10 Mask
+12h 割り込みマスク 2
I-27 Mask I-26 Mask I-25 Mask I-24 Mask I-23 Mask I-22 Mask I-21 Mask I-20 Mask
+13h 割り込みマスク 3
I-37 Mask I-36 Mask I-35 Mask I-34 Mask I-33 Mask I-32 Mask I-31 Mask I-30 Mask
+14h 割り込みエッジ選択 0
I-07 Edge I-06 Edge I-05 Edge I-04 Edge I-03 Edge I-02 Edge I-01 Edge I-00 Edge
+15h 割り込みエッジ選択 1
I-17 Edge I-16 Edge I-15 Edge I-14 Edge I-13 Edge I-12 Edge I-11 Edge I-10 Edge
+16h 割り込みエッジ選択 2
I-27 Edge I-26 Edge I-25 Edge I-24 Edge I-23 Edge I-22 Edge I-21 Edge I-20 Edge
+17h 割り込みエッジ選択 3
I-37 Edge I-36 Edge I-35 Edge I-34 Edge I-33 Edge I-32 Edge I-31 Edge I-30 Edge
+18h
|
+1Fh
(使用不可)
注意:
O-xx は出力信号です。
バイトアクセス、ワードアクセス(2 バイト)、ダブルワードアクセ(4 バイト)が可能です。
ワードアクセスするときは 2 の倍数の I/O アドレスに、ダブルワードアクセスするときは 4 の倍数の I/O アドレスに出力してく
ださい。
テクニカルリファレンス <PIO-32/32x(PCI)Hシリーズ, PI-64L(PCI)H, PO-64L(PCI)H, DI-64T2-PCI
DO-64T2-PCI, DIO-3232x-PE シリーズ, DI-64x-PE シリーズ, DO-64x-PE シリーズ>
6/12
2008 2 5
3.2. PI-64L(PCI)H, DI-64T2-PCI, DI-64x-PE I/Oアドレスマップ一覧
PI-64L(PCI)H, DI-64T2-PCI, DI-64x-PE 入力ポート
I/Oベース D7 D6 D5 D4 D3 D2 D1 D0
アドレス +0h 入力グループ 0
I-07 I-06 I-05 I-04 I-03 I-02 I-01 I-00
+1h 入力グループ 1
I-17 I-16 I-15 I-14 I-13 I-12 I-11 I-10
+2h 入力グループ 2
I-27 I-26 I-25 I-24 I-23 I-22 I-21 I-20
+3h 入力グループ 3
I-37 I-36 I-35 I-34 I-33 I-32 I-31 I-30
+4h 入力グループ 4
I-47 I-46 I-45 I-44 I-43 I-42 I-41 I-40
+5h 入力グループ 5
I-57 I-56 I-55 I-54 I-53 I-52 I-51 I-50
+6h 入力グループ 6
I-67 I-66 I-65 I-64 I-63 I-62 I-61 I-60
+7h 入力グループ 7
I-77 I-76 I-75 I-74 I-73 I-72 I-71 I-70
+8h
(使用不可)
+9h デジタルフィルタ設定時間
0 0 0 ST4 ST3 ST2 ST1 ST0
+Ah
|
+Fh
(使用不可)
+10h 割り込みステータス 0
I-07 Status I-06 Status I-05 Status I-04 Status I-03 Status I-02 Status I-01 Status I-00 Status
+11h 割り込みステータス 1
I-17 Status I-16 Status I-15 Status I-14 Status I-13 Status I-12 Status I-11 Status I-10 Status
+12h 割り込みステータス 2
I-27 Status I-26 Status I-25 Status I-24 Status I-23 Status I-22 Status I-21 Status I-20 Status
+13h 割り込みステータス 3
I-37 Status I-36 Status I-35 Status I-34 Status I-33 Status I-32 Status I-31 Status I-30 Status
+14h 割り込みエッジ選択 0
I-07 Edge I-06 Edge I-05 Edge I-04 Edge I-03 Edge I-02 Edge I-01 Edge I-00 Edge
+15h 割り込みエッジ選択 1
I-17 Edge I-16 Edge I-15 Edge I-14 Edge I-13 Edge I-12 Edge I-11 Edge I-10 Edge
+16h 割り込みエッジ選択 2
I-27 Edge I-26 Edge I-25 Edge I-24 Edge I-23 Edge I-22 Edge I-21 Edge I-20 Edge
+17h 割り込みエッジ選択 3
I-37 Edge I-36 Edge I-35 Edge I-34 Edge I-33 Edge I-32 Edge I-31 Edge I-30 Edge
+18h
|
+1Bh
(使用不可)
+1Ch オンボードシステムタイマ・カウントデータ
Data-07 Data-06 Data-05 Data-04 Data-03 Data-02 Data-01 Data-00
+1Dh オンボードシステムタイマ・カウントデータ
Data-15 Data-14 Data-13 Data-12 Data-11 Data-10 Data-09 Data-08
+1Eh オンボードシステムタイマ・カウントデータ
Data-23 Data-22 Data-21 Data-20 Data-19 Data-18 Data-17 Data-16
+1Fh オンボードシステムタイマ・カウントデータ
Data-31 Data-30 Data-29 Data-28 Data-27 Data-26 Data-25 Data-24
注意:
I-xx は入力信号です。
バイトアクセス、ワードアクセス(2 バイト)、ダブルワードアクセ(4 バイト)が可能です。
ワードアクセスするときは 2 の倍数の I/O アドレスから、ダブルワードアクセスするときは 4 の倍数の I/O アドレスから入力して
ください。
テクニカルリファレンス <PIO-32/32x(PCI)Hシリーズ, PI-64L(PCI)H, PO-64L(PCI)H, DI-64T2-PCI
DO-64T2-PCI, DIO-3232x-PE シリーズ, DI-64x-PE シリーズ, DO-64x-PE シリーズ>
7/12
2008 2 5
PI-64L(PCI)H, DI-64T2-PCI, DI-64x-PE 出力ポート
I/Oベース D7 D6 D5 D4 D3 D2 D1 D0
アドレス +0h
(使用不可)
+1h
(使用不可)
+2h
(使用不可)
+3h
(使用不可)
+4h
(使用不可)
+5h
(使用不可)
+6h
(使用不可)
+7h
(使用不可)
+8h
(使用不可)
+9h デジタルフィルタ設定時間
0 0 0 ST4 ST3 ST2 ST1 ST0
+Ah
|
+Fh
(使用不可)
+10h 割り込みマスク 0
I-07 Mask I-06 Mask I-05 Mask I-04 Mask I-03 Mask I-02 Mask I-01 Mask I-00 Mask
+11h 割り込みマスク 1
I-17 Mask I-16 Mask I-15 Mask I-14 Mask I-13 Mask I-12 Mask I-11 Mask I-10 Mask
+12h 割り込みマスク 2
I-27 Mask I-26 Mask I-25 Mask I-24 Mask I-23 Mask I-22 Mask I-21 Mask I-20 Mask
+13h 割り込みマスク 3
I-37 Mask I-36 Mask I-35 Mask I-34 Mask I-33 Mask I-32 Mask I-31 Mask I-30 Mask
+14h 割り込みエッジ選択 0
I-07 Edge I-06 Edge I-05 Edge I-04 Edge I-03 Edge I-02 Edge I-01 Edge I-00 Edge
+15h 割り込みエッジ選択 1
I-17 Edge I-16 Edge I-15 Edge I-14 Edge I-13 Edge I-12 Edge I-11 Edge I-10 Edge
+16h 割り込みエッジ選択 2
I-27 Edge I-26 Edge I-25 Edge I-24 Edge I-23 Edge I-22 Edge I-21 Edge I-20 Edge
+17h 割り込みエッジ選択 3
I-37 Edge I-36 Edge I-35 Edge I-34 Edge I-33 Edge I-32 Edge I-31 Edge I-30 Edge
+18h
|
+1Fh
(使用不可)
注意:
バイトアクセス、ワードアクセス(2 バイト)、ダブルワードアクセ(4 バイト)が可能です。
ワードアクセスするときは 2 の倍数の I/O アドレスに、ダブルワードアクセスするときは 4 の倍数の I/O アドレスに出力してく
ださい。
テクニカルリファレンス <PIO-32/32x(PCI)Hシリーズ, PI-64L(PCI)H, PO-64L(PCI)H, DI-64T2-PCI
DO-64T2-PCI, DIO-3232x-PE シリーズ, DI-64x-PE シリーズ, DO-64x-PE シリーズ>
8/12
2008 2 5
3.3. PO-64L(PCI)H, DO-64T2-PCI, DO-64x-PE I/Oアドレスマップ一覧
PO-64L(PCI)H, DO-64T2-PCI, DO-64x-PE 入力ポート
I/Oベース D7 D6 D5 D4 D3 D2 D1 D0
アドレス +0h 入力グループ 0
O-07 O-06 O-05 O-04 O-03 O-02 O-01 O-00
+1h 入力グループ 1
O-17 O-16 O-15 O-14 O-13 O-12 O-11 O-10
+2h 入力グループ 2
O-27 O-26 O-25 O-24 O-23 O-22 O-21 O-20
+3h 入力グループ 3
O-37 O-36 O-35 O-34 O-33 O-32 O-31 O-30
+4h 入力グループ 4
O-47 O-46 O-45 O-44 O-43 O-42 O-41 O-40
+5h 入力グループ 5
O-57 O-56 O-55 O-54 O-53 O-52 O-51 O-50
+6h 入力グループ 6
O-67 O-66 O-65 O-64 O-63 O-62 O-61 O-60
+7h 入力グループ 7
O-77 O-76 O-75 O-74 O-73 O-72 O-71 O-70
+8h
|
+1Bh
(使用不可)
+1Ch オンボードシステムタイマ・カウントデータ
Data-07 Data-06 Data-05 Data-04 Data-03 Data-02 Data-01 Data-00
+1Dh オンボードシステムタイマ・カウントデータ
Data-15 Data-14 Data-13 Data-12 Data-11 Data-10 Data-09 Data-08
+1Eh オンボードシステムタイマ・カウントデータ
Data-23 Data-22 Data-21 Data-20 Data-19 Data-18 Data-17 Data-16
+1Fh オンボードシステムタイマ・カウントデータ
Data-31 Data-30 Data-29 Data-28 Data-27 Data-26 Data-25 Data-24
注意:
O-xx は出力データのモニタ用(リードバック)です。
バイトアクセス、ワードアクセス(2 バイト)、ダブルワードアクセ(4 バイト)が可能です。
ワードアクセスするときは 2 の倍数の I/O アドレスから、ダブルワードアクセスするときは 4 の倍数の I/O アドレスから入力して
ください。
PO-64L(PCI)H, DO-64T2-PCI, DO-64x-PE 出力ポート
I/Oベース D7 D6 D5 D4 D3 D2 D1 D0
アドレス +0h 出力グループ 0
O-07 O-06 O-05 O-04 O-03 O-02 O-01 O-00
+1h 出力グループ 1
O-17 O-16 O-15 O-14 O-13 O-12 O-11 O-10
+2h 出力グループ 2
O-27 O-26 O-25 O-24 O-23 O-22 O-21 O-20
+3h 出力グループ 3
O-37 O-36 O-35 O-34 O-33 O-32 O-31 O-30
+4h 出力グループ 4
O-47 O-46 O-45 O-44 O-43 O-42 O-41 O-40
+5h 出力グループ 5
O-57 O-56 O-55 O-54 O-53 O-52 O-51 O-50
+6h 出力グループ 6
O-67 O-66 O-65 O-64 O-63 O-62 O-61 O-60
+7h 出力グループ 7
O-77 O-76 O-75 O-74 O-73 O-72 O-71 O-70
+8h
|
+1Fh
(使用不可)
注意:
O-xx は出力信号です。
バイトアクセス、ワードアクセス(2 バイト)、ダブルワードアクセ(4 バイト)が可能です。
ワードアクセスするときは 2 の倍数の I/O アドレスに、ダブルワードアクセスするときは 4 の倍数の I/O アドレスに出力してく
ださい。
テクニカルリファレンス <PIO-32/32x(PCI)Hシリーズ, PI-64L(PCI)H, PO-64L(PCI)H, DI-64T2-PCI
DO-64T2-PCI, DIO-3232x-PE シリーズ, DI-64x-PE シリーズ, DO-64x-PE シリーズ>
9/12
2008 2 5
4. 操作手順
製品添付の説明書の「第 4 機能の説明」をあわせて参照してください。
制御例は C 言語スタイルで記述しています。OS/開発言語にあった形に変更してご使用ください。
4.1. データ入出力機能
4.1.1. データの入力
入力ポート「I/O ベースアドレス+0h - +3h <PIO-32/32x(PCI)H, DIO-3232x-PE>、または+0h - +7h
<PI-64L(PCI)H, DI-64T2-PCI, DI-64x-PE>」を利用して、データを入力します。
入力データが「ON」のとき、該当するビットは「1」になります。
逆に入力データが「OFF」のときは、該当するビットは「0」になります。
<プログラム例>
I-07 が「ON」かどうかを調べる場合は、次のようになります。ただし、ボードの I/O ベースアドレス
は、port です。
data_in=inp(port);
while(data_in & 0x80)
4.1.2. データの出力
出力ポート「I/O ベースアドレス+4h - +7h <PIO-32/32x(PCI)H, DIO-3232x-PE >、または+0h - +7h
<PO-64L(PCI)H, DO-64T2-PCI, DO-64x-PE>」を利用して、データを出力します。
該当するビットに「1」を出力すると、対応するトランジスタが「ON」になります。
逆に該当するビットに「0」を出力すると、対応するトランジスタは「OFF」になります。
<プログラム例>
O-47 のみをONにする場合は、のようになります。ただしボードの I/O ベースアドレスは、port
です。
outp(port+0x04,0x80);
パルス出力する場合には、ハードウェア応答時間以上の待ち時間を入れてください。
outp(port+0x04,0x80);
<200μsec 以上の待ち時間を入れる>
outp(port+0x04,0x00);
4.1.3. 出力データのモニタ
PIO-32/32x(PCI)H, DIO-3232x-PE, PO-64L(PCI)H, DO-64T2-PCI, DO-64x-PE は、現在出力されているデー
タの状態を、出力データに影響を与えることなく読み込むことができます。
データを出力した出力ポートと同 I/O アドレスから入力してください。
<プログラム例>
I/O ベースアドレス+4 ポートに出力したデータをモニタする場合、次のようになります。ただし、ボ
ードの I/O ベースアドレスは、port です。
outp(port+0x04,0xaa);
m_data=inp(port+0x04);
テクニカルリファレンス <PIO-32/32x(PCI)Hシリーズ, PI-64L(PCI)H, PO-64L(PCI)H, DI-64T2-PCI
DO-64T2-PCI, DIO-3232x-PE シリーズ, DI-64x-PE シリーズ, DO-64x-PE シリーズ>
10/12
2008 2 5
4.2. デジタルフィルタ
PIO-32/32x(PCI)H, DIO-3232x-PE, PI-64L(PCI)H, DI-64T2-PCI, DI-64x-PE は、この機能を使用すると、
べての入力端子にデジタルフィルタをかけることができます。このため、入力信号のノイズやチャタ
リングを防止することができます。
<設定プログラム例>
設定データを「デジタルフィルタ設定時間」ポートに出力してください。
デジタルフィルタの時間を 1.0msec に設定する場合、次のようになります。ただし、ボードの I/O ベー
スアドレスは、port です。
outp(port+0x09,0x0d);
<設定確認プログラム例>
「デジタルフィルタ設定時間」ポートを入力すると、設定されているデータ(ST4 - ST0)が確認できます。
set_time=inp(port+0x09);
テクニカルリファレンス <PIO-32/32x(PCI)Hシリーズ, PI-64L(PCI)H, PO-64L(PCI)H, DI-64T2-PCI
DO-64T2-PCI, DIO-3232x-PE シリーズ, DI-64x-PE シリーズ, DO-64x-PE シリーズ>
11/12
2008 2 5
4.3. 割り込みコントロール機能
PIO-32/32x(PCI)H, DIO-3232x-PE は、入力信号 32 点のすべてを割り込み要求信号として使用するこ
ができます。
PI-64L(PCI)H, DI-64T2-PCI, DI-64x-PE 、最大 32 点の入力信号を割り込み要求信号として使用するこ
とができます。割り込み要求信号として使用できる入力信号はI-00 - I-37 です。
入力信号が High から Low に変化したとき、または、Low から High に変化したときに、パソコンに対
して割り込み要求信号を発生させることができます。
なお、デジタルフィルタ(前述)の使用時には、フィルタ通過後の入力信号により割り込み要求を発生し
ます。
4.3.1. 割り込みの禁止・許可
割り込みマスクビットにより、各ビットごとに割り込みの禁止・許可を設定できます。
割り込みマスクビットに 1 を設定すると、対応するビットの入力信号からの割り込み発生は禁止に
なります。
割り込みを発生させたいときは、対応する割り込みマスクビットに 0 を出力して割り込みを許可し
ます。
4.3.2. 割り込みのエッジ選択
割り込みエッジ選択ビットにより、1 ビットごとに割り込みを発生させる入力論理を設定できます。
割り込みエッジ選択ビットを 0 に設定すると、対応するビットの入力値の 0 から 1 への変化(入力信
号の High から Low への立ち下がり)により割り込みが発生します。
割り込みエッジ選択ビットを 1 に設定すると、対応するビットの入力値の 1 から 0 への変化(入力信
号の Low から High への立ち上がり)により割り込みが発生します。
<割り込み使用プログラム例>
I-00 の立ち下がりと、I-17 の立ち上がりで割り込みを発生させるには、次のようにしますただし、
ードの I/O ベースアドレスは、port です。
outp(port+0x14,0x00); /* I-00 の割り込みエッジを立ち下がりに設定 */
outp(port+0x15,0x80); /* I-17 の割り込みエッジを立ち上がりに設定 */
outp(port+0x10,0xfe); /* I-00 Mask のクリア(I-00 の割り込みを許可) */
outp(port+0x11,0x7f); /* I-17 Mask のクリア(I-17 の割り込みを許可) */
:
outp(port+0x10,0xff); /* プログラム終了前に、全ての割り込みを禁止 */
outp(port+0x11,0xff);
4.3.3. 割り込みステータスと割り込み信号のクリア
どの入力信号ビットによって割り込みが要求されたのかを知るために、割り込みステータスビットが
あります。割り込みステータスを入力すると、割り込み要求信号と割り込みステータスは自動的にク
リアされます。
割り込み処理プログラムの中で必ず割り込みステータスポートを読み込んでください。
<割り込み処理プログラム例>
:
:
S1=inp(port+0x10); /*割り込み要因の確認、および、割り込み信号のクリ*/
S2=inp(port+0x11);
S3=inp(port+0x12);
S4=inp(port+0x13);
:
: /* 処理 */
:
テクニカルリファレンス <PIO-32/32x(PCI)Hシリーズ, PI-64L(PCI)H, PO-64L(PCI)H, DI-64T2-PCI
DO-64T2-PCI, DIO-3232x-PE シリーズ, DI-64x-PE シリーズ, DO-64x-PE シリーズ>
12/12
2008 2 5
5. 補足
ここでは、API-PAC(W32)でサポートしていないボードの機能や、ボードに関連する補足情報を説明し
ています。
5.1. オンボードシステムタイマ機能
ボード上に常時動作するアップカウンタを搭載しており、カウントデータを入力することで、パソコ
(Windows)のシステムタイマよりも短い間隔の時間を監視することができます。
アップカウンタは 4MHz(250nsec ステップ)のクロックで動作する 32 ビットバイナリカウンタで、
00000000h から順次カウントアップしていき、FFFFFFFFh になった後、再び 00000000h になり、この
操作を繰り返します。
アップカウンタは電源投入後から常に動作します。
時間との対応は、カウントデータの 1LSB 250nsec に対応します。最大値 FFFFFFFFh
1,073,741,823,750nsec ( 18 )に相当します。
カウントデータはタイマの動作に影響を与えずに入力することができます。
カウントデータの入力ポートの最下位アドレスへの入力命令を実行した時点で、カウントデータのラ
ッチを行い、そのときのデータが入力できます。
カウントデータの入力は、バイトアクセス、ワードアクセス、ダブルワードアクセスでの操作が可能
です。
<オンボードシステムタイマプログラム例 (ワードアクセス)>
現在のカウントデータを入力します。ただし、ボードの I/O ベースアドレスは、port です。
dwLow = impw(port+0x1c); /* 下位カウントデータの入力 */
dwHigh = impw(port+0x1e); /* 上位カウントデータの入力 */
dwTim = (dwLow | ((dwHigh << 16) & 0xffff0000));
経過時間の計算方法
任意のタイミングで入力したカウントデータ dwTim1, dwTim2 から経過時間をμsec 単位で計算します。
(dwTim1:計測開始時のカウントデータ、dwTim2:計測停止時のカウントデータ、dwLap:経過時[μsec])
if(dwTim2 >= dwTim1){
dwLap = (DWORD)((dwTim2 - dwTim1) >> 2); /* 結果をμsec 単位にする */
}
else{ /* カウントデータが FFFFFFFFh から 00000000h の境界をまたぐ場合 */
dwLap = (DWORD)((0xffffffff - dwTim1 + dwTim2 + 1) >> 2);
}
以上
A-48-050
LYFE383
/