パルス幅変調信号出力 AX-040 1. 特長 2. ブロック図 レジスタ レジスタ

パルス幅変調信号出力 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