パルス幅変調信号出力 AX-040 データシート Ver1.1, 2014年6月16日 1.特長 AX-040 は、シグナルプロセッサ Aproc-1 にPWM出力機能を追加する拡張インターフェースです。以 下の特徴を備えています。 ◆ ◆ ◆ ◆ 16ビット分解能のPWM(パルス幅変調)波出力を8チャンネル装備 標準デジタル入出力機能つき 安価 小型・軽量 2.ブロック図 AX-040 のブロックダイアグラムを図 1 に示します。ここで、標準デジタル入力/出力は、AX-040 を 接続することによって使えなくなる Aproc-1 本体の標準デジタル入力/出力を代行するものです。 指令 制御部 Aproc-1 へ データ 標準ディジタル入力 Hi-Z バッファ 標準ディジタル出力 レジスタ レジスタ 比較器 クロック 積算器 図 1 AX-040 のブロックダイアグラム 1 PWM信号 パルス幅変調信号出力 AX-040 データシート Ver1.1, 2014年6月16日 3.電気的仕様 AX-040 の電気的仕様を表 1 に、コネクタピンアサインを表 2 に示します。 表 1 電気的仕様 項 目 仕 様 備考 PWM出力部 チャンネル数 コンパレータ分解能 積算周波数 最大発生周期 周波数安定度 8 チャンネル 16 ビット 20MHz/2.5MHz/312.5KHz/39.06KHz 3.27ms/26.2ms/0.209s/1.677s ±50ppm デジタル入出力 入力チャンネル数 出力チャンネル数 電圧レベル 消費電力 8 ビット 8 ビット LVTTL(0∼3.3V) 5V×20mA 未満 2 Aproc-1 本体のデジタ ル入出力と同じ 5V 入力不可 パルス幅変調信号出力 AX-040 データシート Ver1.1, 2014年6月16日 表 2 コネクタピンアサイン 列 上側 下側 番号 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 記号 GND Dout7 Dout6 Dout5 Dout4 Dout3 Dout2 Dout1 Dout0 NC NC PWM7 PWM6 PWM5 PWM4 PWM3 PWM2 PWM1 PWM0 Din7 Din6 Din5 Din4 Din3 Din2 Din1 Din0 GND GND GND GND GND GND GND GND GND GND 信号名 グランド 標準デジタル出力 7 標準デジタル出力 6 標準デジタル出力 5 標準デジタル出力 4 標準デジタル出力 3 標準デジタル出力 2 標準デジタル出力 1 標準デジタル出力 0 未接続 未接続 PWM第7出力 PWM第6出力 PWM第5出力 PWM第4出力 PWM第3出力 PWM第2出力 PWM第1出力 PWM第0出力 標準デジタル入力 7 標準デジタル入力 6 標準デジタル入力 5 標準デジタル入力 4 標準デジタル入力 3 標準デジタル入力 2 標準デジタル入力 1 標準デジタル入力 0 グランド グランド グランド グランド グランド グランド グランド グランド グランド グランド 3 種別 LVTTL (5V 入力耐性なし) LVTTL LVTTL パルス幅変調信号出力 AX-040 データシート Ver1.1, 2014年6月16日 4.機械的仕様 AX-040 の機械的仕様を表 3 に、外形図を図 2 に示します。 表3 AX-040 の機械的仕様 項目 仕様 備考 コネクタ Aproc-1 側:倍密度 DSUB26(プラグ) 入出力側:標準 DSUB37(ソケット) ロックねじ、ナットの ねじピッチは 4-40 バックシェル材 熱可塑性樹脂、灰色 寸法 図 2 参照 重量 100g 以下 図2 AX-040 の外形 4 単位mm パルス幅変調信号出力 AX-040 データシート Ver1.1, 2014年6月16日 5. プログラミング AX-040 を使用するには、プログラムで以下の(1)を宣言し、(2)を処理ブロックに記述します。 (1) デバイスと PWM の設定(必須) xType = "AAA-NN- M-XXXX"; 【書式】 右辺の文字列で PWM の運転条件を設定します。ただし、ハイフンは解りやすいように区切っているだ けで処理上は無視されます。各文字の意味を表 4 に示します。 表 4 AX-040 の設定パラメータ 記号 意 味 文字数 説 明 AAA デバイス型名 3 AX-040 を接続している場合は無条件に A04 です。 NN チャンネル数 2 使用するチャンネル数です。AX-040 の場合 01 ∼ 08 です。チャ ンネル数が少なければ、その分出力時間が短縮できます。 0∼7 の整数で以下の意味があります。出力極性が負の場合、Low の時間が入力に比例し、正の場合は High の時間が入力に比例し ます。 M 出力極性 クロック周波数 最大周期 M PWM 動作 モード 1 XXXX PWM 発生周期 4 負 負 負 負 正 正 正 正 0 1 2 3 4 5 6 7 20.00MHz 2.500MHz 312.5KHz 39.06KHz 20.00MHz 2.500MHz 312.5KHz 39.06KHz 3.276ms 26.21ms 209.7ms 1.677s 3.276ms 26.21ms 209.7ms 1.677s 4 桁の 16 進数です。大文字/小文字は区別しません。積算器はク ロック毎にデクリメントされ、0 になるとこの値が積算器へ再設定され ます。よって、この値が PWM 信号の周期になります。 (2) PWM 信号の出力 【書式】 Xout( ch, scale, value ); 引数の意味は以下です。 ch: scale: value: 出力する PWM のチャンネル番号です。 value の値が±scale のとき AX-040 へ送信する数値が±215 となります。 出力する信号の名前です。 5 パルス幅変調信号出力 AX-040 データシート Ver1.1, 2014年6月16日 【使用例】 信号 x が 0∼1.0 の範囲で変化したとき duty が 0∼100%となる周期 20ms の PWM 波を発生させます。 クロック源を 2.50MHz、出力極性を正とすると、M=5 です。周期 20ms とするには、2.50×106 ×0.02= 5000010=C35016 なので、XXXX=C350 。 よって宣言文はチャンネル数を8として、 xType = "A04-08-5-C350"; となります。 312.5KHz のクロック源を使って、312.5×103×0.02=625010=186A16 より、M=6、XXXX=186A とすることもできますが、分解能が 1/8 と粗くなってしまいます。通常は XXXX の値が 4 桁の範囲でできるだけ大 きくなるようにクロックを選択します。 この条件で信号 x が 0∼1.0 のとき、パルス幅 0∼100% の PWM 波をチャンネル1に発生させるには、例えば、 215 scl= =0.6536 というパラメータを宣言しておいて、 50000 Xout( 1, scl, x‐scl ); と記述します。ここで、x から scl=0.6536 を引いて与えているのは以下の理由によります。 関数 Xout(ch, scale, X) は、以下の式で実数 X: ‐scale≦X<scale を16ビットの整数 V: ‐215≦V<215 へ変換し、それを拡張インターフェースへ送ります。 X V = ・215 scale 一方、拡張インターフェースは受信値 V に 215 を加算し、0∼216 の数として PWM 変換を行います。 図 3 に、この使用例における受信値とパルス幅の関係を示します。これより、パルス幅が 0%になるのは V=‐ 215 のとき、100%になるのは V=50000−215 のときです。したがって、Aproc-1 側では、上式で変換して 215 に 215 なる数、scl= をあらかじめ入力 x から差し引いておく必要があります。 50000 6 パルス幅変調信号出力 AX-040 データシート Ver1.1, 2014年6月16日 パルス幅 [%] 100 64 0 -215 0 0 215 0 0.65536 -0.65536 50000 1.0 0 215 関数 Xout の送信値 V 216 V に 215 を加算した値 1.31072 x の値 0.65536 ( x - 0.65536 )の値 図 3 関数 Xout の入力と出力パルス幅の関係(朱記数値は例題の場合) 7 パルス幅変調信号出力 AX-040 データシート Ver1.1, 2014年6月16日 【サンプルプログラム】 // 拡張I/F AX-040 試験プログラム xType = "A04-04-5-C350"; sPwm=0.65536; // PWM周期20ms // = 2^15 / 0xC350 Pout( i, x ) { Xout( i, sPwm, x-sPwm ); } // PWM用のユーザ関数 proc { p = w_trig( period, 0, 0.1 ); // 周期信号の生成 ch=0; while ch<4 // 4個のPWM試験信号発生 { pwm = p + 0.1*(ch+1); // チャンネル毎に0.1だけ増やす Pout( ch, pwm ); // PWM出信号として出力 ch = ch + 1; // 次のチャンネルを設定 } } 6. 改訂履歴 日付 バージョン 改訂内容 2014.6.16 1.1 宣言文書式の誤りを修正 2014.6.10 1.0 初版 8
© Copyright 2024 ExpyDoc