アナログ入力、アナログ出力、A/D変換、D/A変換の基礎知識と用語を図解入りで分りやすく解説します。パソコンで計測制御をしてみようという方、データロガーや計測の自動化を検討されている方にオススメのコンテンツです。コンテックのアナログ入出力デバイスを既にご利用の方も知識の整理として、ぜひお役立てください。
目次
アナログ入出力とは
自然界を取り巻く温度・圧力・流量などを計測するセンサからの信号はアナログ信号、また制御するためのアクチュエータの多くはアナログ信号で動作するものです。一方パソコンで扱えるのはデジタル信号のみですから、パソコンを利用してセンサからの信号を入力したり、アクチュエータへ信号を出力したりする場合は、アナログ信号とパソコンで扱えるデジタル信号との橋渡しを行うものが必要となります。それが、アナログ入出力インターフェイスです。

アナログ入出力デバイスの分類
アナログ入力デバイス(A/D変換)
外部装置からのアナログ信号をパソコンで処理できるデジタルデータに変換するためのデバイス。
アナログ出力デバイス(D/A変換)
パソコンのデジタルデータをアナログ信号に変換して外部装置へ出力するためのデバイス。
アナログ入出力デバイス(A/D・D/A変換)
A/D変換とD/A変換の機能を合わせ持ったデバイス。
アナログ信号のデジタル化、デジタル信号のアナログ化
パソコンに外部のアナログ量を入力しようとするとき、厳密にデジタル表現しようとすると、対応するデジタル量は無限の桁数が必要となります。これは、限りある桁数しか扱えないパソコンにとってはもちろん、変換器を構成する回路技術の面から見ても不可能です。
これを解決する最も有効な方法は、四捨五入や切捨て・切上げなどによって許容できる範囲内に収めてしまう方法、つまり、ある範囲内の量をその代表値で置き換えてしまうのです。これを量子化と呼んでいます。
実線で表したアナログ量を量子化すると、階段状の線のようになります。これによってアナログ信号を有限の値のどれかで表すことが可能となるのです。この技術は皆さんの身近なところで活躍しています。例えば携帯電話。皆さんの音声(アナログ)をデジタルに変換して通話を行います。

例えば階段の1段階を1として10進数で表し、この10進数をさらに2進数に置き換えると、下図のようになります。こうすればアナログ量を4ビットでデジタル化したことになり、これがアナログ量を量子化する基本的な考え方です。

アナログ入出力デバイスの絶縁タイプ
アナログ入出力デバイスは、大別すると絶縁型と非絶縁型に分類することができます。ここでは、絶縁型2タイプについて、その特長を解説します。なお、非絶縁型は、絶縁素子が介在しないタイプです。
バス絶縁タイプ
フォトカプラによってパソコンと外部入出力回路を絶縁しています。電気的外乱の侵入を防ぐことができますので、配線上にノイズが発生しやすく、パソコンの誤動作や破損が心配される場合にも安心して使用できます。

独立絶縁タイプ・チャネル間絶縁タイプ
バス絶縁に加えて、フォトカプラやアイソレーションアンプによって各入出力チャネル間を絶縁しています。各チャネル間の干渉を防ぐことができ、各チャネル接続する機器それぞれでグランドレベルが異なる場合でも正確にサンプリングできます。

フォトカプラとは
フォトカプラとは、発光ダイオードとフォトトランジスタを1対にした素子です。発光ダイオードは電流(10mA程度)が流れると光を出します。この光をフォトトランジスタが受光すると、フォトランジスタがON状態になり、電流が流れます。この光信号の部分で、外部と電気的に絶縁されます。

入出力チャネル数とは
入出力チャネルとは、1枚のデバイスが持つ入力または出力可能な信号数を意味します。つまり、接続できるセンサ(信号源)やアクチュエータ(制御対象)の数を表しています。カタログなどの仕様欄を見ると、シングルエンド**ch、差動**chという表記がされている場合があります。
シングルエンド入力とは
信号線とグランド線の2線で接続して、グランドからの電位差で信号源の電圧を測定する方式です。アナログ入力では最も一般的な入力方式で、1つの信号源に対して、配線が2線で済むというメリットがあります。差動入力と比較して、ノイズの影響を受けやすいというデメリットがあります。

差動入力とは
2つの信号線とグランド線の合計3線で信号源の電圧を測定する方式です。グランドとA点間の電位とグランドとB点間の電位の差をとって信号源(A-B間)の電位を測定します。そのため、(A-B間)はグランドにのったノイズは相殺され、シングルエンド入力と比較して、ノイズの影響を受けにくいというメリットがあります。ただし、1つの信号源に対して、配線が3線必要となるため、シングルエンド入力と比較して、使用できるチャネル数が半分になるといったデメリットもあります。

分解能とは
アナログ信号をどの程度の細かさでデジタル表現(近似)できるかを示します。分解能が高いほど、電圧の範囲が細かく区分されていることになり、アナログ値をより正確にデジタル値に変換できます。

多種多様なアナログ入出力デバイスの中で、自分に最適な分解能を持ったデバイスを選ぶには、どのようにして考えれば良いかの例を示しましょう。
例えば「0℃~100℃の温度を計測する」とすると・・・
- 例1 1℃単位で計測したい
- 1/100の精度が必要です。分解能8ビット(2の8乗=256分割)のデバイスで十分です。
- 例2 0.1℃単位で計測したいのなら
- 1/1,000の精度が必要です。分解能12ビット(2の12乗=4,096分割)のデバイスが必要です。
- 例3 0.01℃単位で計測したいのなら
- 1/10,000の精度が必要です。分解能16ビット(2の16乗=65,536分割)のデバイスが必要です。
入出力レンジとは
入力または、出力可能なアナログ電圧・電流の範囲です。バイポーラは双極性(-10V~+10Vレンジなど)、ユニポーラは単極性(0~+10Vレンジなど)という意味です。入出力レンジは、センサからの出力、アクチュエータへの入力と同一、もしくは少し広い範囲のレンジを持ったデバイスを選定するのが基本です。

例えば、あるアナログ量を電圧の0~5Vに変換してくれるセンサを使うと仮定します。そこで、入力レンジが0~10Vと0~5Vのデバイスでは、どちらが有効かというと、分解能が共に12ビットとしたら、レンジが0 ~ 10Vのボードが最小分割できる電圧は、10÷4096で約2.44mVです。0~5Vのデバイスは、5÷4096になりますから、最小分割できる電圧は、約1.22mVです。センサは0~5Vしか出力しないで、入力レンジ0~5Vのデバイスを選んだ方が、より細かく計測できます。
ゲインとは
ゲインとは倍率を意味します。アナログ入力デバイスの中には、入力信号を増幅する機能を搭載したものがあります。例えば、外部信号が0~2.5Vの場合、アナログ入力デバイスの入力レンジが0~10Vと仮定すると、そのままの状態で変換するより、外部信号(入力される信号)を4倍に増幅して、0~10Vの信号として変換した方が高精度で計測することができます。
変換速度(サンプリング周期)とは
アナログ信号をどの程度の時間間隔の細かさでデジタル変換できるか。または、デジタルデータをどの程度の時間間隔でアナログ出力できるかを表します。変換速度が速いほど、再現性の高い変換が可能です。

サンプリング速度は測定対象周波数の10倍以上
アナログ信号計測の際のサンプリング速度(周期)はどのように決めればいいのでしょうか。サンプリング速度が高速であるほど、元の信号波形を正確にデジタル信号に変換することができます。しかしながら、サンプリング速度が高速になるほどデータは増大し、アナログ入力インターフェイスに搭載されているA/Dコンバータは高価になります。
現実的な指標を考える上で、まず考慮すべきなのが標本化定理(サンプリング定理)です。標本化定理とは、『連続的なアナログ信号を離散的なデジタル信号にサンプリングする場合、どの程度の間隔でサンプリングするかを示す定理。元の信号に含まれる周波数成分をすべて正確にサンプリングするためには、元の信号の周波数の2倍以上のサンプリング速度が必要』というものです。
たとえば、1kHzのアナログ信号を正確にサンプリングするためには、最低でも2kHz以上の周期でサンプリングしなければ、元の信号に含まれる周波数成分を正確にサンプリングすることはできません。高速な信号を低速にサンプリングすると、折り返し信号となって観測され、元の測定対象の波形の周波数より低い周波数の信号波形に見える、エイリアシングが発生します。
エイリアシングは日常生活でも観察されます。高速回転しているはずのプロペラの回転が遅く見えたりするのは、回転しているプロペラの周波数に対して、人間の目と脳のサンプリング速度が追いついていないためです。エイリアシングが発生すると、サンプリング結果は実際の信号の周波数と大きく異なって見えることになります。
標本化定理を踏まえることで、周波数成分については正確に取得できますが、実際には元の信号の2倍程度では、波形はギザギザに見え、振幅の取得も不十分です。信号特性を正確に捉えるための実用的なサンプリング速度は、元の信号の10倍以上が望まれるでしょう。コンテックでは各周波数に応じてアナログ入力インターフェイスを用意しています。
変換精度とは
A/D変換またはD/A変換の際に生じる誤差範囲です。誤差を1LSB単位で表現します。例えば、分解能12ビットのA/D変換デバイスで、入力レンジ±10Vの設定とすると、分解できる最小単位は、20÷4,096 ≒ 4.88mV(1LSB)となります。そのA/D変換ボードの変換精度が±2LSBと表記されている場合、4.88×2 ≒ ±9.76mV程度の誤差が生じる可能性があるという意味になります。

バイナリデータ(2進数データ)と電圧値の関係(分解能16ビットの場合)
分解能は16ビットのアナログ入力デバイスから入力されるA/D変換データは、バイナリ16桁(16進数=4桁)になり、アナログ出力デバイスの場合は、セットするD/A変換データはバイナリ16桁(16進数=4桁)で行います。下図のように『0000』のときの『-10V』に対して、『FFFF』のときは『9.99970V』です。
分解能16ビットデバイスの場合、-10V~0Vまでの電圧は-10Vを「0000H」とし、0Vを「8000H」とした32,768通りのデータとして表現できるのに対し、0V~+10Vは、「8000H」から最大値「FFFFH」までの、32,767通りしか表現できません。このため最大値は「+10V-1LSB」ということになります。
これらの関係は、どのアナログ入出力デバイスでも共通です。例えば、アナログ出力をする場合、外部に信号を出力する際、分解能16ビットの場合は『FFFF』をデバイスにセットしますが、出力可能な最大電圧は『+10V-1LSB』です。

略語(単位)の意味
LSB
Least Significant Bitの略です。バイナリデータ(2進数データ)の最下位ビットを表します。
MSB
Most Significant Bitの略です。バイナリデータ(2進数データ)の最上位ビットを表します。
FSR
Full Scale Rangeの略です。±10Vレンジの場合は『20』がFSRとなります。
アナログをデジタル値で表す方法
アナログ入力(A/D変換)によって変換(量子化)したデータ、アナログ出力(D/A変換)にセットするデータは、次のような特有のコード体系を使用して表します。表現方法には次の種類があります。
ストレート・バイナリ
電圧の0Vをデジタル値の0とし、電圧増加に比例してデジタル値も増加します。ユニポーラ(単極)型で用いられます。

オフセット・バイナリ
負電圧の最大値をデジタル値の0とします。電圧の0Vをデジタル値の中間値、正電圧の最大値をデジタル値の最大値とします。バイポーラ(双極)型で用いられます。

コンプリメント・バイナリ(2の補数)
オフセット・バイナリ・コードの最上位ビットを反転させて得られます。2の補数表現は、コンピュータ上の演算に使い易いコードです。バイポーラ(双極)型において、このデータ形式のものがあります。

サンプリング方式とは
複数チャネルのサンプリングを行う場合には、マルチプレクサ(切換器)を使用するマルチプレクサ方式と、同時サンプリング方式があります。
マルチプレクサ方式は、マルチプレクサの切り換えによるサンプリングで、複数チャネルを同時変換することが出来ません(チャネル切換え時間が必要なため)。
同時サンプリング方式は、チャネル毎にA/Dコンバータが搭載されたタイプと、サンプル/ホールドアンプが搭載されたタイプがあり、とちらとも複数チャネルの同時変換が可能となっています。

変換速度とチャネル数の関係
マルチプレクサ方式によるアナログ入力チャネル切替方式の場合、複数チャネルのサンプリングを行う際、設定可能なサンプリング周期は次の関係を保つことが必要です。『変換速度×チャネル数≦サンプリング周期』
同じタイミングのデータを取得するには
アナログ入力インターフェイスで複数の信号を計測するとき、計測された全てのチャネルの信号は同じタイミングでサンプリングされた信号になるでしょうか。A/Dコンバータをチャネル数分搭載しているアナログ入力インターフェイスなら、すべてのチャネルのアナログ信号を同期して、同じタイミングでサンプリングが可能です。
マルチプレクサでチャネルを切り替えて1つのA/Dコンバータでサンプリングするマルチプレクサタイプでは、チャネル数によって1チャネル当たりのサンプリング周期が伸びると共に、チャネル間でサンプリングするタイミングにズレが発生してしまいます。
マルチプレクサ方式のアナログ入力インターフェイスでも、時間のズレをなくせるのが、同時サンプリング機能増設アクセサリです。ATSS-16AはアナログEシリーズからの制御信号のタイミングで、16チャネル同時にアナログ入力信号をホールドすると、時間差のない同じタイミングのデータを取得できます。
クロックとは
アナログ入出力デバイスの変換動作をどのタイミングに同期させることができるかを示します。サンプリングの周期を決定するサンプリングクロックには、主に以下の方式があります。
内部クロック
デバイスに周期の設定が可能なタイマ素子を搭載し、これをクロック源として周期的な変換を行う方法です。正確かつ短周期での時系列処理に有効です。

外部クロック
外部クロック入力端子を搭載したデバイスで使用可能です。外部から入力されるパルス信号などに同期して、変換を行います。外部装置との同期処理などに有効です。

ソフトウェアクロック
パソコンのシステムタイマに同期してソフトウェア上からスタートコマンドを送信し、周期的な変換を行う方法です。ただし、VisualBasic のタイマコントロールなどは誤差が大きいため、高速で正確な周期が必要なシステムには向きません。
トリガとは
変換の開始と停止をどのタイミングで実行するかの要因です。開始、停止それぞれ独立して設定可能です。主なトリガは以下のとおりです。
ソフトウェアトリガ
変換動作の開始/停止をソフトウェアからのコマンドで制御する方法です。

外部トリガ
変換動作の開始/停止を外部信号(デジタル信号)で制御する方法です。あらかじめ設定したエッジの方向(立ち上がり、立ち下がり)の外部制御信号が入力されると変換動作を開始/停止します。

レベル比較(変換データ比較)トリガ
変換動作の開始/停止の制御を指定チャネルの信号変化で行います。あらかじめ設定した比較レベルの値と指定したチャネルのアナログ信号の大きさを比較し、条件に一致すると変換動作を開始/停止します。

バッファメモリとは
バッファメモリとは変換データを一時的に保管している場所のことです。高速かつ高機能なアナログ入出力処理が可能なだけでなく、パソコン側の負荷を大幅に軽減できます。バッファメモリは用途に応じて、FIFO形式とRING(リング)形式があります。
FIFO形式
FIFO(First In First Out)形式では、変換されたデータが前詰めでバッファメモリに格納され、バッファメモリに書き込まれた先頭からを古い順に読み出すことができます。読み出した変換データはメモリ内部から順次送り出され、つねにバッファメモリに残っている一番古い変換データを読むことができます。FIFOメモリの容量を超えるデータは書き込まれず破棄され、また、一度読み出したデータはバッファメモリ上から破棄されます。

RING(リング)形式
RING(リング)形式では、バッファメモリ内部の格納領域がリング状に構成されています。変換データは順次書き込まれていき、メモリ容量を超えて格納を続けると前の変換データが格納されている領域に上書きされます。通常の状態ではデータ取得を行わず、何かの事象で変換動作が停止した付近のデータを取得するような場合、RINGメモリを使用します。RING(リング)形式の場合、一度取り込んだデータは、次に上書きされるまでは、何度でも取り込み可能です。

バスマスタ転送機能とは
PCIバスマスタ機能を利用したDMA(ダイレクト・メモリ・アクセス)転送です。
- パソコンのCPUに負荷をかけることなく、デバイスから直接パソコンのメモリへ80MB/sec(最大133MB/sec)のスピードでデータ転送が可能です。
- CPUがデータ転送処理などに能力を奪われることなく、その他の処理を行うことが可能なため、他のアプリケーションへの影響が少なく済みます。
- 入出力に必要な設定をあらかじめデバイスにセットし、その情報に基づいてボードが処理を行うため、通常の入出力処理と比較して効率的なシステムが構築可能です。
通常処理
通常の入出力処理の場合は、CPUがデバイスからデータを読み出した後に、本体メモリへ格納します。この間CPUは、他の処理を行うことができません。下図の例では、(4)と(5)の処理が終了したのち、次の処理が可能となります。
バスマスタ処理
CPUがデバイスに対して、バスマスタ処理を指令すると、デバイスから本体メモリに直接(CPUを介さずに)データを取得できます。下図の例では、(2)と(3)の処理の間に他の処理を行えます。

割り込みとは
特定の入力端子をパソコン(CPU)のIRQに接続して、外部から優先処理を発生させる機能です。外部装置の変化を検出して、特定の処理を実行するアプリケーションや、外部からの指令で高優先度の緊急処理などをする場合に使用します。

消費電流とは
デバイスの動作には電源が必要ですが、そのボードがどれくらい電流を消費するかを示します。通常、この電源はパソコンの拡張バスコネクタから供給されています。
そして、実装したボードの最大消費電流の総和が、パソコンの定格電源容量(拡張スロットに供給できる電流の最大値)を超えてはならないという注意点があります。
もし超えた場合、パソコンの電源電圧の低下をまねき、暴走などのトラブルが生じる可能性があるため、パソコンのスロットを拡張するための『拡張ユニット』を使用するなどの対策を行う必要があります。
例:パソコンが拡張スロットから供給できる電源容量が3.6Aの場合
- 最大消費電流が、1.2Aの外部インターフェイスボードを2枚実装すると
- 1.2(A)×2(枚)=2.4A → パソコンの電源容量(3.6A)以下なのでOK
- 最大消費電流が、0.8Aの外部インターフェイスボードを6枚実装すると
- 0.8(A)×6(枚)=4.8A → パソコンの電源容量(3.6A)以上なのでNG
ノイズの種類とその対策
ノイズには大きく分けて、次の2種類が存在します。電気実験と異なり、現場にはさまざまなノイズが存在し、理論どおりにいかないケースが多々あります。このような場合、精度を狂わせる原因の多くがノイズに起因しています。
外来ノイズ
- 信号伝送ラインの外部から空中伝搬により飛来するノイズ。
- モータなどの動力系機器配線との混在、近辺を経由する配線から混入するノイズ。
内部ノイズ
- アナログ入出力回路の接続に起因するノイズ。
- 装置間のグランド電位差によるオフセット電圧およびノイズ。
- 配線材料に起因するクロストーク、輻射ノイズ。
対策
特に計測を行う場合の原則は、測定対象に影響を及ぼさないことです。そのためには、インピーダンスやグランドレベルなどのマッチングに対する配慮が必要となります。慣れれば難しいことではありませんが、配慮を怠った場合の影響は大きいと言えます。下表はノイズ対策方法の一例です。
ハード
ソフト
飛来ノイズの除去
飛来ノイズの除去には、アナログ入力インターフェイスと測定対象の間をシールドケーブルで接続することが有効です。シールドは接地により効果を発揮します。シールドケーブルはPCのフレームを通して接地されますので、PCの電源でアースをとることで有効になります。
信号線間のクロストークの除去
信号線が互いに干渉してノイズ源になる現象をクロストークといいます。対策としては、ツイストペアケーブルを使用することが有効です。コンテックのシールドケーブルPCB37PSでは信号線とGNDが、PCB96PSでは差動ペア間がツイストペアになっています。また、各信号線を同軸ケーブルにしたPCC16PS、PCD8PSもあります。
マルチプレクサ切り替えによるクロストークの除去
アナログ入力インターフェイス内のマルチプレクサの切り換えによって、信号源の波形に影響が発生します。これは、信号源の出力インピーダンスを通したマルチプレクサの寄生容量への充放電に伴う現象です。信号源の出力インピーダンスが高い場合、信号源の出力電圧が本来測定したい電圧に戻るまでに時間がかかります(セトリング時間と呼ばれます)。
アナログ入力インターフェイスの入力回路イメージ
セトリング時間は、信号源の出力インピーダンスによって異なります。出力インピーダンスの低い信号源Aと出力インピーダンスの高い信号源Bの2チャネルのサンプリングを行った場合の例を示します。
マルチプレクサ切り替えによる影響の対策としては、信号源の出力インピーダンスを下げることが有効です。具体的には、信号線をできるだけ短くしましょう。信号線を短くできない場合や出力インピーダンスの高い対象を計測する場合、高速高精度のオペアンプを採用した高入力インピーダンスのバッファアンプの接続により影響を除去できます。
グランドループ (アースループ)による誤差の除去
グランドループ (アースループ)とは、グランドの配線がループ状になっていること。複数の機器を接続する際に信号の各グランド(GND)に電位差があると、グランドやアースを通してループ状に電流が流れてしまいます。グランドループに電流が流れると、その経路のインピーダンスによって電圧が発生し測定誤差(ノイズ)として現れます。
シングルエンド入力 (コモンモード) はチャネル数が多い場合に有用ですが、グランドループがあるとその影響を受けてしまいます。一方、差動入力 (ディファレンシャルモード) ではシングルエンド入力の半分のチャネル数になりますが、グランドループによる誤差を除去できます。
グランドループによる誤差の発生例
- シングルエンド入力
- AI_00の測定電圧 = Va + ΔV
- AI_01の測定電圧 = Vb - ΔV
- シングルエンド入力では、グランドループに流れる電流によってΔV分の測定誤差が生じます。
- 差動入力
- AI_00の測定電圧 = (Va + ΔV) – ΔV = Va
- AI_01の測定電圧 = (Vb – ΔV) – (-ΔV) = Vb
- 差動入力では、正極(AI_00[+])端子と負極(AI_00[-])端子間の電圧を計測でき、グランドループによる誤差を除去できます。
グランドループによる誤差の対策には、差動入力が有効です。アースを通したグランドループが疑われる場合は、アースを通したグランドループを切るためにバス絶縁タイプを試すことも有効でしょう。