変換データの転送方式には2種類の方法が存在します。
デバイスバッファモード
アプリケーションの出力データをいったんデバイスバッファ(デバイスが持っているメモリもしくはドライバ内部のメモリ)に格納します。 変換開始後、デバイスバッファの出力データがデバイスに出力されます。 デバイスバッファはFIFOまたはRINGメモリとして使用することができます。 デバイスバッファモードは、ジェネレーティング回数を単位として変換データを扱える事や、 変換データを直接電圧値で設定する関数も用意されており、ユーザーバッファモードに比べて簡単に使用できます。 また、ほとんどの使用用途に対応できる機能が用意されているので、通常はデバイスバッファモードの使用をお勧めします。 |
|
ユーザーバッファモード
変換開始前に出力データが格納されているアプリケーションメモリ登録しておきます。 変換開始後、変換データはドライバを経由して直接デバイスへ出力されていきます。 ユーザーバッファはメモリへの上書きあり/なしを選択する事ができます。 バスマスタ転送機能を持つデバイスの場合、ユーザーバッファモードでは自動的にバスマスタ転送を使用します。 バスマスタ転送を使用する場合はユーザーバッファモードを選択してください。 |
|
転送方式の設定はAioSetAiTransferMode関数を使用します。
Ret = AioSetAoTransferMode ( Id , AoTransferMode )
AoTransferModeに転送方式を設定します。AoTransferMode = 0でデバイスバッファモード、AoTransferMode = 1でユーザーバッファモードです。
ユーザーバッファモードを使用する場合、ユーザーバッファの設定を行ってください。