21e2510ac8
(Currently, update to RELENG_4 is not scheduled) Obtained from: jpman Project <manjp@jp.FreeBSD.org>
164 lines
6 KiB
Groff
164 lines
6 KiB
Groff
.\"
|
|
.\" Copyright (c) 1995 HD Associates, Inc.
|
|
.\" All rights reserved.
|
|
.\"
|
|
.\" Redistribution and use in source and binary forms, with or without
|
|
.\" modification, are permitted provided that the following conditions
|
|
.\" are met:
|
|
.\" 1. Redistributions of source code must retain the above copyright
|
|
.\" notice, this list of conditions and the following disclaimer.
|
|
.\" 2. Redistributions in binary form must reproduce the above copyright
|
|
.\" notice, this list of conditions and the following disclaimer in the
|
|
.\" documentation and/or other materials provided with the distribution.
|
|
.\" 3. All advertising materials mentioning features or use of this software
|
|
.\" must display the following acknowledgement:
|
|
.\" This product includes software developed by Christopher G. Demetriou.
|
|
.\" 3. The name of the author may not be used to endorse or promote products
|
|
.\" derived from this software withough specific prior written permission
|
|
.\"
|
|
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
|
|
.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
|
.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
|
.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
|
|
.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
|
.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
|
.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
|
.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
|
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
.\"
|
|
.\" %Id: labpc.4,v 1.6 1998/10/22 14:51:19 bde Exp %
|
|
.\" jpman %Id: labpc.4,v 1.3 2000/08/10 13:49:55 horikawa Stab %
|
|
.\"
|
|
.rm ES
|
|
.rm EE
|
|
.de ES
|
|
.Pp
|
|
.nf
|
|
.in +0.5i
|
|
..
|
|
.de EE
|
|
.in -0.5i
|
|
.fi
|
|
..
|
|
.Dd April 26, 1995
|
|
.Dt LABPC 4 i386
|
|
.Os FreeBSD
|
|
.Sh 名称
|
|
.Nm labpc
|
|
.Nd
|
|
National Instruments 社の LABPC と LABPC+ のドライバ
|
|
.Sh 書式
|
|
.Cd "device labpc0 at isa? port 260 tty irq 5"
|
|
.Sh 解説
|
|
このドライバは National Instruments 社の LABPC と LABPC+ の
|
|
低コストマルチファンクション I/O ボードをサポートします。
|
|
.Pp
|
|
このボードは
|
|
8 つの 12 ビット A-D 入力チャネル、
|
|
2 つの 12 ビット D-A 出力チャネル、
|
|
3 つの 8 ビットデジタル I/O ポートを提供します。
|
|
また、デジタル I/O ポートとは別に、
|
|
National Instruments 社の SCXI バスの設定をサポートしていますが、
|
|
そのソフトウェアは現在は、ドライバの一部としてではなく、
|
|
外部プログラムとして提供されています。
|
|
.Pp
|
|
入出力デバイス、モード、チャネルの選択は
|
|
マイナ番号を通して行ないます。
|
|
.ES
|
|
8 ビットのマイナ番号の形式は UUSIDCCC で、以下のようになります。
|
|
UU: ボードユニット
|
|
S: SCAN ビット (スキャン可)
|
|
I: INTERVAL (インターバルサポート)
|
|
D: 1: デジタル I/O, 0: アナログ I/O
|
|
CCC: チャネルの選択 :
|
|
アナログ:
|
|
入力: チャネルは AD0 から AD 7 に対応して 0 から 7 まで
|
|
出力: チャネルは 0 から 2 まで
|
|
0: D-A 0
|
|
1: D-A 1
|
|
2: チャネル 0 と 1 を交互に
|
|
|
|
デジタル:
|
|
入力: チャネルは 0 から 2 まで
|
|
出力: チャネルは 0 から 2 まで
|
|
.EE
|
|
.Pp
|
|
"sh MAKEDEV labpcaio" や "sh MAKEDEV labpcdio" を実行すると、
|
|
/dev/MAKEDEV スクリプトは基本的なアナログとデジタルのデバイスを
|
|
作成しますが、
|
|
INTERVAL や SCAN デバイスのためのデバイスエントリは作成しません。
|
|
SCAN デバイスは、自動的に全チャネルを 0 に向かって走査します。
|
|
(例えば /dev/ad7 に対する SCAN は
|
|
AD7 から AD0 までのチャネルを読みだします)
|
|
INTERVAL デバイスは、外部信号を待ち、そして、
|
|
選択されたチャネル番号から 0 までの全チャネルを
|
|
可能な限りの速さで読みだします。
|
|
これはハードウェアが実行し、
|
|
(この機能をオンにすることを除いて)ドライバはなにもしません。
|
|
センサが動かない時は \fILabPC+User's Manual\fP や
|
|
ソースコードを参照して下さい。
|
|
.Pp
|
|
このドライバは複数の一般的なアナログ I/O ioctl 呼出しを
|
|
サポートしています。
|
|
これらは sys/dataacq.h で定義されており、
|
|
他のデータ取得 (acquisition) ボードのデバイスドライバで
|
|
実装されているものと同じ意味です。
|
|
.Pp
|
|
AD_MICRO_PERIOD_SET はサンプリングの間隔を
|
|
マイクロ秒で表した long 値へのポインタを引数にとります。
|
|
.Pp
|
|
AD_MICRO_PERIOD_GET は long 値へのポインタを引数にとり、
|
|
現在のサンプリング間隔をマイクロ秒で表した整数値を返します。
|
|
.Pp
|
|
AD_NGAINS_GET は整数値へのポインタを引数にとり、
|
|
ボードがサポートする差分ゲイン設定値の個数を返します。
|
|
これは LabPC ボードでは 8 です。
|
|
.Pp
|
|
AD_NCHANS_GET は整数値へのポインタを引数にとり、
|
|
ボードがサポートするチャネルの数を返します。
|
|
これは LabPC ボードでは 8 です。
|
|
.Pp
|
|
AD_SUPPORTED_GAINS は NGAINS (AD_NGAINS_GET で取得した数) の長さの
|
|
double 配列を返します。
|
|
これらはボードがサポートするゲインです。
|
|
.Pp
|
|
AD_GAINS_SET は NCHAMS (AD_NCHANS_GET で取得した数) の長さの
|
|
整数配列を引数にとり、ボードのゲインを設定します。
|
|
これらは、サポートされているゲインの配列に対する、
|
|
各チャネルのゲインを指すインデックスです。
|
|
.Pp
|
|
AD_GAINS_GET は NCHANS (AD_NCHANS_GET が返します) の長さの
|
|
整数配列を引数にとり、現在のボードのゲインを返します。
|
|
.Sh バグ
|
|
一般的には、私が必要とした能力のみが提供されています。
|
|
特に、以下の目立つ制限があります。
|
|
.Pp
|
|
アナログ入力は、クロックによる変換モードでのみサポートされています。
|
|
.Pp
|
|
サンプリングクロックは 15 Hz までしか下げられません。
|
|
もっと遅くするためには、
|
|
ドライバを修正して TCINTEN をサポートすることにより、
|
|
カウンタの連鎖により低いクロックレートを得ることが必要です。
|
|
.Pp
|
|
クロックによる D-A 出力はサポートしていません。
|
|
.Pp
|
|
デジタル I/O ポートを提供している 8255 は
|
|
モード 0 (3 つの 8 ビットポート) でのみサポートされています。
|
|
.Pp
|
|
LABPC ボードとは別に SCXI バスをサポートしています。
|
|
これはドライバの中にはなく、
|
|
デジタル入出力デバイスへアクセスするための
|
|
別のユーザプロセスです。
|
|
これについては dufault@hda.com に尋ねて下さい。
|
|
.Pp
|
|
MAKEDEV は「基本的な」デバイスのみを作成します。
|
|
INTERVAL や SCAN デバイスは手動で作成しなければなりません。
|
|
.Pp
|
|
INTERVAL デバイスはクロックレートを可能な限り高く設定します。
|
|
外部信号の後、できる限り素早く全チャネルをサンプリングするためです。
|
|
これはばかげた制限です。シンプルにクロックの設定を使用するべきです。
|
|
.Sh 警告
|
|
National Instrument 社
|
|
(他の大抵の実験室レベルの品質のボードベンダもそうですが)
|
|
の低コストの定義は、インターネット上の多くのものとは劇的に異なります。
|