イベントコントローラ使用例2

2つのデバイスで同期コネクタを使用し、同期してアナログ入力を行う場合のイベントコントローラの設定例を示します。

2つのデバイスで同期を行うために、デバイス1の制御信号をデバイス2へ接続します。

1.アナログ入力の開始条件を設定(デバイス1)

アナログ入力の開始条件はAioSetAiStartTrigger関数を使用します。
今回の使用例ではソフトウェアスタートとします。

Ret = AioSetAiStartTrigger ( Id1 , 0 )

2.イベントコントローラの設定(デバイス1)

ソフトウェアスタート信号を同期コネクタに接続してデバイス2へ出力するために、イベントコントローラの設定を行います。
接続先(Destination)は同期バスマスタ信号1、
接続元(Source)はアナログ入力ソフトウェアスタート信号となります。

Ret = AioSetEcuSignal ( Id , AIOECU_DEST_MASTER1 , AIOECU_SRC_START )

3.アナログ入力のクロック種類を設定(デバイス1)

アナログ入力のクロック種類はAioSetAiClockType関数を使用します。
今回の使用例では内部クロックとします。

Ret = AioSetAiClockType ( Id1 , 0 )

4.イベントコントローラの設定(デバイス1)

内部クロックを同期コネクタに接続してデバイス2へ出力するために、イベントコントローラの設定を行います。
接続先(Destination)は同期バスマスタ信号2、
接続元(Source)はアナログ入力内部クロック信号となります。

Ret = AioSetEcuSignal ( Id1 , AIOECU_DEST_MASTER2 , AIOECU_SRC_AI_CLK )

デバイス2は、デバイス1からの制御信号を受け取りアナログ入力を行います。

5.アナログ入力の開始条件を設定(デバイス2)

アナログ入力の開始条件はAioSetAiStartTrigger関数を使用します。
使用する開始条件はデバイス1からの制御信号を使用しますので、パラメータは10のイベントコントローラ出力となります。

Ret = AioSetAiStartTrigger ( Id2 , 10 )

.イベントコントローラの設定(デバイス2

デバイス1のソフトウェアスタート信号は、同期バスマスタ信号1に接続されています。
同期コネクタでは、同期バスマスタ信号1は同期バススレーブ信号1に接続されているため、イベントコントローラの設定を行い、同期バススレーブ信号1の信号をデバイス2の変換開始信号として使用します。

接続先(Destination)はアナログ入力変換開始信号、
接続元(Source)は同期バススレーブ信号1となります。

Ret = AioSetEcuSignal ( Id2 , AIOECU_DEST_AI_START , AIOECU_SRC_SLAVE1 )

7.アナログ入力のクロック種類を設定(デバイス2)

アナログ入力のクロック種類はAioSetAiClockType関数を使用します。
使用するクロックはデバイス1からの制御信号を使用しますので、パラメータは10のイベントコントローラ出力となります。

Ret = AioSetAiClockType ( Id2 , 10 )

8.イベントコントローラの設定(デバイス2)

デバイス1の内部クロック信号は、同期バスマスタ信号2に接続されています。
同期コネクタでは、同期バスマスタ信号2は同期バススレーブ信号2に接続されているため、イベントコントローラの設定を行い、同期バススレーブ信号2の信号をデバイス2のサンプリングクロック周期の信号として使用します。

接続先(Destination)はアナログ入力サンプリングクロック周期、
接続元(Source)は同期バススレーブ信号2となります。

Ret = AioSetEcuSignal ( Id2 , AIOECU_DEST_AI_CLK , AIOECU_SRC_SLAVE2 )

変換開始はこの場合デバイス2から行います。デバイス1のアナログ入力が開始すると、それに同期してデバイス2のアナログ入力が開始します。

9.変換開始

Ret = AioStartAi ( Id2 )
Ret = AioStartAi ( Id1 )