Contec DIO-48D2-PCI, DIO-48D-LPE, DIO-48D-PE, PIO-48D(CB)H, PIO-48D(LPCI)H 取扱説明書

  • こんにちは!このコンテック製デジタル入出力ボード(DIO-48D-PE、DIO-48D-LPE、DIO-48D2-PCI、PIO-48D(LPCI)H、PIO-48D(CB)H)のテクニカルリファレンスドキュメントを読み終えました。このドキュメントには、I/Oポートのビット割り付け、入出力設定方法、割り込み制御、デジタルフィルタの設定方法、オンボードシステムタイマ機能など、詳細な情報が記載されています。ご不明な点がございましたら、お気軽にご質問ください。
  • ポートの入出力設定はどうすればよいですか?
    割り込み機能を使用するにはどうすればよいですか?
    デジタルフィルタとは何ですか?
    オンボードシステムタイマ機能とは何ですか?
テクニカルリファレンス
PCI Express
対応非絶縁型双方向デジタル入出力ボード
DIO-48D-PE
PCI Express
対応非絶縁型双方向デジタル入出力ボード
Low Profile
サイズ
DIO-48D-LPE
PCI
対応非絶縁型双方向デジタル入出力カード
DIO-48D2-PCI
Low Profile PCI
対応非絶縁型双方向デジタル入出力ボード
PIO-48D(LPCI)H
CardBus
対応非絶縁型双方向デジタル入出力カード
PIO-48D(CB)H
目次
1. はじめに.......................................................................................................................2
1.1. 本資料中の語句について ..................................................................................2
2. 製品固有情報...............................................................................................................2
2.1. Vendor IDDevice ID ..........................................................................................2
2.2. リソースの取得方法 ..........................................................................................2
3. I/Oポートのビット割り付.....................................................................................3
3.1. DIO-48D-PE, DIO-48D-LPE, DIO-48D2-PCI,
PIO-48D(LPCI)H, PIO-48D(CB)H I/Oアドレスマップ一覧 ...................3
4. 操作手順.......................................................................................................................7
4.1. データ入出力機能 ..............................................................................................7
4.1.1. ポートの入出力設定 ..................................................................................7
4.1.2. データの入出力 ..........................................................................................8
4.1.3. デジタルフィルタ ......................................................................................9
4.2. 割り込みコントロール機能 ..............................................................................9
4.2.1. 割り込みの禁止・許可 ..............................................................................9
4.2.2. 割り込みステータスと割り込み信号のクリア ....................................10
4.2.3. 割込みエッジ切り替え ............................................................................10
5. 補足.............................................................................................................................11
5.1. オンボードシステムタイマ機能 ....................................................................11
テクニカルリファレンス< DIO-48D-PE, DIO-48D-LPE, DIO-48D2-PCI,
PIO-48D(LPCI)H, PIO-48D(CB)H >
2/11
2008 2 5
1. はじめに
本資料では、I/O ポートのビット割り付けおよび各ビットの定義についての説明をしています。
当社サポートソフトウェアを使用しない場合や、Windows 環境以外でアプリケーションを作成する場
合に参照してください。
1.1. 本資料中の語句について
以下にご注意ください。
I/O ベースアドレス:
ボード/カードに割り当てられた I/O リソース(I/O の範)の最も小さい値で、先頭 I/O アドレスと同じ
意味です。一般的にボード/カードの I/O アドレスとは、このアドレスを指します。
2. 製品固有情報
2.1. Vendor IDDevice ID
製品の固有情報は、以下のとおりです。
Vendor ID 1221h
Device ID
Board/Card Name Device ID
DIO-48D-PE 96F2
DIO-48D-LPE
8602
DIO-48D2-PCI 81C2
PIO-48D(CB)H 8512
PIO-48D(LPCI)H A1B2
Revision ID : ボード ID の設定スイッチ(SW1)の状態。00h - 0Fh の範囲で反映されます。
Revision ID は、ボードのみの設定です。
上記以外は、PCI Express バス仕様< DIO-48D-PE, DIO-48D-LPE >, PCIローカルバス仕様< DIO-48D2-PCI,
PIO-48D(LPCI)H >/カードバス仕様< PIO-48D(CB)H >/に準拠します。
2.2. リソースの取得方法
MS-DOS 環境で PCI バス対応ボードのリソース(I/O ベースアドレス、割り込みレベル、メモリベース
アドレス)を取得するためのライブラリを、ホームページ(http://www.contec.co.jp)で提供しています。
テクニカルリファレンス< DIO-48D-PE, DIO-48D-LPE, DIO-48D2-PCI,
PIO-48D(LPCI)H, PIO-48D(CB)H >
3/11
2008 2 5
3. I/Oポートのビット割り付け
3.1. DIO-48D-PE, DIO-48D-LPE, DIO-48D2-PCI,
PIO-48D(LPCI)H, PIO-48D(CB)H I/Oアドレスマップ一覧
DIO-48D-PE, DIO-48D-LPE, DIO-48D2-PCI, PIO-48D(LPCI)H, PIO-48D(CB)H 入力ポート
I/Oベース D7 D6 D5 D4 D3 D2 D1 D0
アドレス +0h 1-Aポート
1-PA7 1-PA6 1-PA5 1-PA4 1-PA3 1-PA2 1-PA1 1-PA0
+1h 1-Bポート
1-PB7 1-PB6 1-PB5 1-PB4 1-PB3 1-PB2 1-PB1 1-PB0
+2h 1-Cポート
1-PC7 1-PC6 1-PC5 1-PC4 1-PC3 1-PC2 1-PC1 1-PC0
+3h (使用不可)
+4h 2-Aポート
2-PA7 2-PA6 2-PA5 2-PA4 2-PA3 2-PA2 2-PA1 2-PA0
+5h 2-Bポート
2-PB7 2-PB6 2-PB5 2-PB4 2-PB3 2-PB2 2-PB1 2-PB0
+6h 2-Cポート
2-PC7 2-PC6 2-PC5 2-PC4 2-PC3 2-PC2 2-PC1 2-PC0
+7h (使用不可)
+8h 1-Aポート割り込みステータス
1-PA7
Status
1-PA6
Status
1-PA5
Status
1-PA4
Status
1-PA3
Status
1-PA2
Status
1-PA1
Status
1-PA0
Status
+9h 1-Bポート割り込みステータス
1-PB7
Status
1-PB6
Status
1-PB5
Status
1-PB4
Status
1-PB3
Status
1-PB2
Status
1-PB1
Status
1-PB0
Status
+Ah 1-Cポート割り込みステータス
1-PC7
Status
1-PC6
Status
1-PC5
Status
1-PC4
Status
1-PC3
Status
1-PC2
Status
1-PC1
Status
1-PC0
Status
+Bh 不定
X X X X X X X X
+Ch 2-Aポート割り込みステータス
2-PA7
Status
2-PA6
Status
2-PA5
Status
2-PA4
Status
2-PA3
Status
2-PA2
Status
2-PA1
Status
2-PA0
Status
+Dh 2-Bポート割り込みステータス
2-PB7
Status
2-PB6
Status
2-PB5
Status
2-PB4
Status
2-PB3
Status
2-PB2
Status
2-PB1
Status
2-PB0
Status
+Eh 2-Cポート割り込みステータス
2-PC7
Status
2-PC6
Status
2-PC5
Status
2-PC4
Status
2-PC3
Status
2-PC2
Status
2-PC1
Status
2-PC0
Status
+Fh 不定
X X X X X X X X
+10h 1-Aポート割り込みエッジ選択
1-PA7
Edge
1-PA6
Edge
1-PA5
Edge
1-PA4
Edge
1-PA3
Edge
1-PA2
Edge
1-PA1
Edge
1-PA0
Edge
+11h 1-Bポート割り込みエッジ選択
1-PB7
Edge
1-PB6
Edge
1-PB5
Edge
1-PB4
Edge
1-PB3
Edge
1-PB2
Edge
1-PB1
Edge
1-PB0
Edge
+12h 1-Cポート割り込みエッジ選択
1-PC7
Edge
1-PC6
Edge
1-PC5
Edge
1-PC4
Edge
1-PC3
Edge
1-PC2
Edge
1-PC1
Edge
1-PC0
Edge
+13h 不定
X X X X X X X X
+14h 2-Aポート割り込みエッジ選択
2-PA7
Edge
2-PA6
Edge
2-PA5
Edge
2-PA4
Edge
2-PA3
Edge
2-PA2
Edge
2-PA1
Edge
2-PA0
Edge
テクニカルリファレンス< DIO-48D-PE, DIO-48D-LPE, DIO-48D2-PCI,
PIO-48D(LPCI)H, PIO-48D(CB)H >
4/11
2008 2 5
+15h 2-Bポート割り込みエッジ選択
2-PB7
Edge
2-PB6
Edge
2-PB5
Edge
2-PB4
Edge
2-PB3
Edge
2-PB2
Edge
2-PB1
Edge
2-PB0
Edge
+16h 2-Cポート割り込みエッジ選択
2-PC7
Edge
2-PC6
Edge
2-PC5
Edge
2-PC4
Edge
2-PC3
Edge
2-PC2
Edge
2-PC1
Edge
2-PC0
Edge
+17h
不定
X X X X X X X X
+18h
デジタルフィルタ設定時間
0 0 0 ST4 ST3 ST2 ST1 ST0
+19h
|
+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-23
注意:
X は、不定です。バイトアクセス、ワードアクセス(2 バイト)、ダブルワードアクセス(4 バイト)が可能です。
ただし、+0h - +7h ポートは、バイトアクセスのみ可能です。
ワードアクセスするときは 2 の倍数の I/O アドレスから、ダブルワードアクセスするときは 4 の倍数の I/O アドレスから入力して
ください。
テクニカルリファレンス< DIO-48D-PE, DIO-48D-LPE, DIO-48D2-PCI,
PIO-48D(LPCI)H, PIO-48D(CB)H >
5/11
2008 2 5
DIO-48D-PE, DIO-48D-LPE, DIO-48D2-PCI, PIO-48D(LPCI)H, PIO-48D(CB)H 出力ポート
I/Oベース D7 D6 D5 D4 D3 D2 D1 D0
アドレス +0h 1-Aポート
1-PA7 1-PA6 1-PA5 1-PA4 1-PA3 1-PA2 1-PA1 1-PA0
+1h 1-Bポート
1-PB7 1-PB6 1-PB5 1-PB4 1-PB3 1-PB2 1-PB1 1-PB0
+2h 1-Cポート
1-PC7 1-PC6 1-PC5 1-PC4 1-PC3 1-PC2 1-PC1 1-PC0
+3h 1コントロールワード
1-CW7 1-CW6 1-CW5 1-CW4 1-CW3 1-CW2 1-CW1 1-CW0
+4h 2-Aポート
2-PA7 2-PA6 2-PA5 2-PA4 2-PA3 2-PA2 2-PA1 2-PA0
+5h 2-Bポート
2-PB7 2-PB6 2-PB5 2-PB4 2-PB3 2-PB2 2-PB1 2-PB0
+6h 2-Cポート
2-PC7 2-PC6 2-PC5 2-PC4 2-PC3 2-PC2 2-PC1 2-PC0
+7h 2コントロールワード
2-CW7 2-CW6 2-CW5 2-CW4 2-CW3 2-CW2 2-CW1 2-CW0
+8h 1-Aポート割り込みマスク
1-PA7
Mask
1-PA6
Mask
1-PA5
Mask
1-PA4
Mask
1-PA3
Mask
1-PA2
Mask
1-PA1
Mask
1-PA0
Mask
+9h 1-Bポート割り込みマスク
1-PB7
Mask
1-PB6
Mask
1-PB5
Mask
1-PB4
Mask
1-PB3
Mask
1-PB2
Mask
1-PB1
Mask
1-PB0
Mask
+Ah 1-Cポート割り込みマスク
1-PC7
Mask
1-PC6
Mask
1-PC5
Mask
1-PC4
Mask
1-PC3
Mask
1-PC2
Mask
1-PC1
Mask
1-PC0
Mask
+Bh (使用不可)
0 0 0 0 0 0 0 0
+Ch 2-Aポート割り込みマスク
2-PA7
Mask
2-PA6
Mask
2-PA5
Mask
2-PA4
Mask
2-PA3
Mask
2-PA2
Mask
2-PA1
Mask
2-PA0
Mask
+Dh 2-Bポート割り込みマスク
2-PB7
Mask
2-PB6
Mask
2-PB5
Mask
2-PB4
Mask
2-PB3
Mask
2-PB2
Mask
2-PB1
Mask
2-PB0
Mask
+Eh 2-Cポート割り込みマスク
2-PC7
Mask
2-PC6
Mask
2-PC5
Mask
2-PC4
Mask
2-PC3
Mask
2-PC2
Mask
2-PC1
Mask
2-PC0
Mask
+Fh (使用不可)
0 0 0 0 0 0 0 0
+10h 1-Aポート割り込みエッジ選択
1-PA7
Edge
1-PA6
Edge
1-PA5
Edge
1-PA4
Edge
1-PA3
Edge
1-PA2
Edge
1-PA1
Edge
1-PA0
Edge
+11h 1-Bポート割り込みエッジ選択
1-PB7
Edge
1-PB6
Edge
1-PB5
Edge
1-PB4
Edge
1-PB3
Edge
1-PB2
Edge
1-PB1
Edge
1-PB0
Edge
+12h 1-Cポート割り込みエッジ選択
1-PC7
Edge
1-PC6
Edge
1-PC5
Edge
1-PC4
Edge
1-PC3
Edge
1-PC2
Edge
1-PC1
Edge
1-PC0
Edge
+13h (使用不可)
0 0 0 0 0 0 0 0
+14h 2-Aポート割り込みエッジ選択
2-PA7
Edge
2-PA6
Edge
2-PA5
Edge
2-PA4
Edge
2-PA3
Edge
2-PA2
Edge
2-PA1
Edge
2-PA0
Edge
テクニカルリファレンス< DIO-48D-PE, DIO-48D-LPE, DIO-48D2-PCI,
PIO-48D(LPCI)H, PIO-48D(CB)H >
6/11
2008 2 5
+15h 2-Bポート割り込みエッジ選択
2-PB7
Edge
2-PB6
Edge
2-PB5
Edge
2-PB4
Edge
2-PB3
Edge
2-PB2
Edge
2-PB1
Edge
2-PB0
Edge
+16h 2-Cポート割り込みエッジ選択
2-PC7
Edge
2-PC6
Edge
2-PC5
Edge
2-PC4
Edge
2-PC3
Edge
2-PC2
Edge
2-PC1
Edge
2-PC0
Edge
+17h
(使用不可)
0 0 0 0 0 0 0 0
+18h
デジタルフィルタ設定時間
0 0 0 ST4 ST3 ST2 ST1 ST0
+19h
|
+1Fh
(使用不可)
注意:
バイトアクセス、ワードアクセス(2 バイト)、ダブルワードアクセス(4 バイト)が可能です。
ただし、+0h - +7h ポートは、バイトアクセスのみ可能です。
ワードアクセスするときは 2 の倍数の I/O アドレスに、ダブルワードアクセスするときは 4 の倍数の I/O アドレスに出力してく
ださい。
テクニカルリファレンス< DIO-48D-PE, DIO-48D-LPE, DIO-48D2-PCI,
PIO-48D(LPCI)H, PIO-48D(CB)H >
7/11
2008 2 5
4. 操作手順
製品添付の説明書の「第 4 機能の説明」をあわせて参照してください。
制御例は C 言語スタイルで記述しています。OS/開発言語にあった形に変更してご使用ください。
4.1. データ入出力機能
このボード/カードは、2 つの i8255 のモード 0 に対応する、最大 48 点の TTL レベル正論理の入出力を
行うことができます。
4.1.1. ポートの入出力設定
このボード/カードで入出力を行うためには、あらかじめポートの入出力設定が必要です。コントロー
ルワードの書き込みにより、各ポートを入力用、または出力用に設定します。
Start
set i8255 function
input/output data
end
4.1
入出力の設定
コントロールワードの各ビットの意味は以下のとおりです。
CW7 CW6 CW5 CW4 CW3 CW2 CW1 CW0
ポート
C
下位
4
ビット 入
/
出力セット
0
出力のとき
0
入力のとき
1
ポート B / 出力セット
出力のとき 0
入力のとき 1
ポート
C
上位
4
ビット
/
出力セット
出力のとき 0
入力のとき 1
ポート A / 出力セット
出力のとき 0
入力のとき 1
0
1
4.2
出力設定コントロールワード
テクニカルリファレンス< DIO-48D-PE, DIO-48D-LPE, DIO-48D2-PCI,
PIO-48D(LPCI)H, PIO-48D(CB)H >
8/11
2008 2 5
4.1
コントロールワードの設定値
Control Word
D7 D6 D5 D4 D3 D2 D1 D0 16進数 Port A Port C
(High 4bit)
Port B Port C
(Low 4bit)
1 0 0 0 0 0 0 0 80 OUTPUT OUTPUT OUTPUT OUTPUT
1 0 0 0 0 0 0 1 81 OUTPUT OUTPUT OUTPUT INPUT
1 0 0 0 0 0 1 0 82 OUTPUT OUTPUT INPUT
OUTPUT
1 0 0 0 0 0 1 1 83 OUTPUT OUTPUT INPUT
INPUT
1 0 0 0 1 0 0 0 88 OUTPUT INPUT OUTPUT
OUTPUT
1 0 0 0 1 0 0 1 89 OUTPUT INPUT OUTPUT
INPUT
1 0 0 0 1 0 1 0 8A OUTPUT INPUT INPUT
OUTPUT
1 0 0 0 1 0 1 1 8B OUTPUT INPUT INPUT
INPUT
1 0 0 1 0 0 0 0 90 INPUT OUTPUT OUTPUT
OUTPUT
1 0 0 1 0 0 0 1 91 INPUT OUTPUT OUTPUT
INPUT
1 0 0 1 0 0 1 0 92 INPUT OUTPUT INPUT
OUTPUT
1 0 0 1 0 0 1 1 93 INPUT OUTPUT INPUT
INPUT
1 0 0 1 1 0 0 0 98 INPUT INPUT OUTPUT
OUTPUT
1 0 0 1 1 0 0 1 99 INPUT INPUT OUTPUT
INPUT
1 0 0 1 1 0 1 0 9A INPUT INPUT INPUT
OUTPUT
1 0 0 1 1 0 1 1 9B INPUT INPUT INPUT
INPUT
<プログラム例>
1-A ポートを出力、1-B ポートと 1-C ポートを入力に設定する場合は、次のようになります。
ただし、ボード/カードの先頭 I/O アドレスは、port です。
outp(port+0x03,0x8b) ;
4.1.2. データの入出力
入力に設定したポートでは、入力がHigh」のとき、該当するビットは「1」になります。
逆に入力が「Low」のときは、該当するビットは「0」になります
出力に設定したポートでは、該当するビットに1を出力すると、対応する出力がHigh」に
逆に該当するビットに「0」を出力すると、対応する出力は「Low」になります
<プログラム例>
1-A ポートの 1-PA7 のみを「High」を出力し、1-B ポートと 1-C ポートからデータを入力する場合は、
次のようになります。ただし、ボー/カードの先頭 I/O アドレスは、port です。
outp(port,0x80) ;
InputDataB=inp(port+0x01) ;
InputDataC=inp(port+0x02) ;
テクニカルリファレンス< DIO-48D-PE, DIO-48D-LPE, DIO-48D2-PCI,
PIO-48D(LPCI)H, PIO-48D(CB)H >
9/11
2008 2 5
4.1.3. デジタルフィルタ
この機能を使用すると、全ての入力端子にデジタルフィルタをかけることができます。このため、入
力信号のノイズやチャタリングを防止することができます。
設定プログラム例>
設定データを「デジタルフィルタ設定時間」ポートに出力してください。
デジタルフィルタの時間を 1.0msec に設定する場合、次のようになります。ただし、ボード/カードの
I/O ベースアドレスは、port です。
outp(port+0x18,0x0d);
<設定確認プログラム例>
「デジタルフィルタ設定時間」ポートを入力すると、設定されているデータ(ST4 - ST0)が確認できます。
set_time=inp(port+0x18);
<デジタルフィルタの設定時間>
デジタルフィルタ設定時間は、0 - 20(14h)の範囲の値により設定してください。
0」を設定したときは、この機能は動作しません。また、電源投入時の初期値は「0」が設定されま
す。
デジタルフィルタの時間と設定データの関係を下図に示します
デジタルフィルタの時間[sec] = 2
n
/(8×10
) n : 設定データ(0 - 20)
設定データ
(n の値)
デジタルフィルタ
の時間
設定データ
(n の値)
デジタルフィルタ
の時間
設定データ
(n の値)
デジタルフィルタ
の時間
0 (00h)
フィルタ機能未使用
7 (07h)
16μsec
14 (0Eh) 2.048msec
1 (01h)
0.25μsec
8 (08h)
32μsec
15 (0Fh) 4.096msec
2 (02h)
0.5μsec
9 (09h)
64μsec
16 (10h) 8.192msec
3 (03h)
1μsec
10 (0Ah)
128μsec
17 (11h) 16.384msec
4 (04h)
2μsec
11 (0Bh)
256μsec
18 (12h) 32.768msec
5 (05h)
4μsec
12 (0Ch)
512μsec
19 (13h) 65.536msec
6 (06h)
8μsec
13 (0Dh) 1.024msec 20 (14h) 131.072msec
4.3
デジタルフィルタの時間と設定データ
4.2. 割り込みコントロール機能
48 点の入力信号の全てを割り込み要求信号として使用することができます
入力信号が Low から High に変化したときに、パソコンに対して割り込み要求信号を発生させることが
できます。
4.2.1. 割り込みの禁止・許可
割り込みマスクビットにより、ビットごとに割り込みの禁止・許可を設定できます。
割り込みマスクビットに 1 を設定すると、対応するビットの入力信号からの割り込みは発生を禁止
になります。
割り込みを発生させたいときは、対応する割り込みマスクビットに 0 を出力して割り込みを許可し
ます。
<割り込み使用プログラム例>
I-PA0 入力で割り込みを発生させるには、次のようにします。ただし、ボード/カードの I/O ベースアド
レスは、port です。
outp(port+0x08,0xff) ; /* 1-A ポートの全ビットの割り込みを不許可 */
outp(port+0x03,0x9b) ; /* 1-A ポートを入力に設定 */
n=inp(port+0x08) ; /* 1-A ポートの割り込みステータスのクリア */
outp(port+0x08,0xfe) ; /* 1-PA0 Mask のクリア(1-PA0 の割り込みを許可) */
テクニカルリファレンス< DIO-48D-PE, DIO-48D-LPE, DIO-48D2-PCI,
PIO-48D(LPCI)H, PIO-48D(CB)H >
10/11
2008 2 5
4.2.2. 割り込みステータスと割り込み信号のクリア
どの入力信号ビットによって割り込みが要求されたのかを知るために、割り込みステータスビット
があります。
割り込みステータスを入力すると、割り込み要求信号と割り込みステータスは自動的にクリアされま
す。
割り込み処理プログラムの中で必ず割り込みステータスポートを読み込んでください。
<割り込み処理プログラム例>
S1=inp(port+0x08) ; /*割り込み要因の確認、および、割り込み信号のクリア*/
S2=inp(port+0x09) ;
S3=inp(port+0x0a) ;
S4=inp(port+0x0c) ;
S5=inp(port+0x0d) ;
S6=inp(port+0x0e) ;
:
: /* 処理 */
:
4.2.3. 割込みエッジ切り替え
48 点全ての入力信号に対し、信号の立ち上がり もしくは 立ち下がりに変化したときに、パソコン
に対して割込み要求信号を発生させることができます。
<エッジ切り替え選択例>
1-A ポートのみ 立ち下がりエッジに選択
outp(port+0x10,0xff); /* 1-A ポートのみ 立ち下がりエッジに設定(初期値0で立ち下がりエッジ) */
テクニカルリファレンス< DIO-48D-PE, DIO-48D-LPE, DIO-48D2-PCI,
PIO-48D(LPCI)H, PIO-48D(CB)H >
11/11
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 から 0
0000000h の境界をまたぐ場合 */
dwLap = (DWORD)((0xffffffff - dwTim1 + dwTim2) >> 2);
}
以上
A-48-056
LYFF603
/