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 )
6.イベントコントローラの設定(デバイス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 )