GPIB <-> シリアル コンバータの製作


回路は、トランジスタ技術1998年8月号の「シリアル-GPIBコンバータの製作」をベースとしました。

この記事では、PIC16C57のスリムタイプを使っていたり、フォトカプラにHPのものを使っていたりと、少々部品の入手性に難があります。また、GPIBとシリアルをアイソレートするためにDC-DCコンバータを使っていますが、これは入手は容易なものの少々お高いです。MAX232のソース能力が低いので、シンクでドライブします、のようなことが書いてありますが、回路図ではソースでドライブしていたり、GPIBバスとのコネクタの接続に誤りがあったりします。

これらの点を考慮して作成した回路図は、以下の通りです。
GPIB-シリアルコンバータ回路図

フォトカプラは、低電流でそこそこ高速動作するものが必要です。ここではノンインバーティングタイプのTLP555を使いました。元記事ではインバーティングタイプをソースドライブしていたので、TLP555をシンクドライブすると、元記事と同じ動作になります。

GPIBとシリアルのアイソレートは、電源トランスを2個使うことにしました。配線を減らすため、電源トランスも基板に載せることにしました。

パーツリストは、以下のとおりです。
部品番号
品名
数量
参考価格
入手先

プリント基板
1
$26+$8+280
Olimex
T1, T2
トランス SEL PK-06016
2
470
ノグチトランス
SW1, SW2
ディップスイッチ オムロン 2連
1
60
鈴喜デンキ(1F)
SW3
照光スイッチ ミヤマ DS850
1
145
ヒロセテクニカル

コードブッシュ
1
40
ヒロセテクニカル
CN1
アンフェノール24P 基板用
1
470?
千石
CN2
Dsub 9P メス
1
50
秋月
CN3
Dsub 9P オス
1
50
秋月

フューズホルダ ミゼット基板用
1
50?
千石

フューズ ミゼット 0.5A
1
45


電源コード
1
150
千石
IC1, IC2
PIC16C57C
2
220
秋月
IC3, IC4
TLP555
2
200
サンエレクトロ
IC5
SP3232ECP
1
250
秋月
IC6, IC7
7805
2
50
秋月

ICソケット 28P
2
80
秋月
X1
セラロック 20MHz
1
40
秋月
TR1, TR2
2SK246, 2SK30A等
2
30
千石(BLランクは避けた方がよい)
D1--4
IS1588相当
4
20
千石
D5, D6, D9, D10
TLR113相当
4
20
千石
D7, D8
ZD 4V 程度
2
20
千石
D11, D12
W02相当
2
40
千石
R1
100k 1/6W
1
5
千石
R2, 5, 7, 8, 11,
12, 13
1k 1/6W
7
5
千石
R3, 4, 6, 9, 10
10k 1/6W
5
25
千石
C1, 4, 5, 6, 7, 8,
9, 10, 15, 16, 17,
18
積層セラミック 0.1u 50V
12
20
千石(SP3232ECPに5個付属)
C2, C3
セラミック 22p 50V
2
10
(X1が水晶の場合のみ必要)
C11, C12
電解 100u 10V
2
10
千石
C13, C14
電解 1000u 16V
2
40
千石
Z1
スパークキラー 岡谷 1201
1
80
シーアール
RA1, RA3
抵抗アレー 3.3k x 8
2
30?
千石
RA2, RA4
抵抗アレー 6.8k x 8
2
30?
千石

ケース タカチ YM-150
1
710
SS無線

ネジ類
適宜



定数は回路図と異なっていますが、パーツリストの値で良いでしょう。
TR1, TR2は、記事では「ディプリーション型ならなんでもよい」とありましたが、千石で入手した2SK246はBLランクで、カットオフが深いため、LEDが完全に消えませんでした。Yランクあたりのほうが良さそうです。GPIBバスのターミネータは、本来3k+6.2kのようですが、このような値の抵抗アレーは入手できなかったので、近い値のもので代用しています。コネクタも、GPIB用のものが手に入ればそれを使うべきですが、店頭には見あたらなかったので、通常のアンフェノールの24Pのものを使いました。ケーブルをネジ止めできませんが、家庭で使う分にはよしとしましょう。クロックの発信子は、安価なセラミックタイプを使いましたが、発振精度は申し分ありませんでした。

プリント基板のパターンは、Linux上のPCBというフリーソフトを使いました。このソフトは、もうサポートされていないようですが、この程度のパターンを描くには十分な機能を備えています。このソフトからガーバーデータを出力して、 Olimexに発注しました。6月20日にデータを送り、7月2日に完成した基板が送られてきました。基板の料金が$26、送料が$8、FAX送信費が280円でした。ガーバーデータは、 こちら(pcb.zip)にあります。これにREADMEを付けてOlimexに依頼すれば、同じ基板が手に入るでしょう。
プリント基板表
プリント基板裏面
ご覧のように、本来、円弧であるはずのシルクが、直線になっていたり、まったくなくなっていたりします。電源のラインは、もう少し太く、あるいはベタにしておくべきでした。

部品実装後の基板を以下に示します。
部品実装後のプリント基板

ケースはタカチのYM-150を使いましたが、基板作成の都合上、GPIBコネクタが基板の短辺にあり、うまくケースに入れられないため、フタ側に基板を取り付けることにしました。また、Dsubコネクタを縦に取り付けたため、下側がケースと干渉します。GPIBコネクタ側の基板とケースの底も干渉するので、その部分はケースの底側を削っています。
ケースへの実装

ファームウェアの書き込み

ファームウェアは、CQ出版社のトラ技の ダウンロードサービスにあるものがそのまま使えます。書き込み時には、オシレータのタイプとしてHS、ウォッチドッグタイマをONにします。プロテクトはワンタイムの場合、どちらでもよいでしょう。
シリアル -> GPIB は IC2、 GPIB -> シリアル は IC1 です。

テスト方法

テストは、PCのシリアルポートとこのアダプタだけを接続して行います。GPIB側はつないでおく必要はありません。
PCは、HyperTermなどの端末エミュレータを立ち上げておき、シリアルポートの設定を9600baud, 8ビット, 1ストップビット, パリティなしに設定します。コンバータのほうは、アドレスのスイッチを2つともOFFにしてから電源を入れます。

ここで 'A' を入力すると、INのLEDが点滅し、ATNとSENDが光ることを確認します。さらにアンリスン '?' を入力すると、'?' がエコーバックされてきます。続けてトーカ0番 '@', リスナ12番 ',' をタイプします。この2文字もエコーバックされます。ここでリターンを押すと、コマンドモードは終了し、SENDとATNが消えます。リターンはエコーバックされません。

続いて、データモードのテストをします。まず 'S' をタイプします。これはエコーバックされません。続いて適当な文字を打っていきます。
ここからは、エコーバックされます。最後にリターンを押すと、これもエコーバックされ、SENDが消えます。

ここまで動作すれば、コンバータ自体は正しく動作しているでしょう。

次に、オーディオアナライザをつないで、正しく制御できるかどうか、テストします。
ここでは、MAK-6581の例を示しますが、他のオーディオアナライザの場合は、その機種用のGPIBコマンドが書かれた説明書が必要です。

MAK-6581のデフォルトのGPIBアドレスは、12です。従って、リスナとして指定するコマンドは ',' で、トーカとして指定するコマンドは 'L' となります。コンバータ自体にアドレスはなく、1つでもリスナが指定されればコンバータもリスナとなりGPIBバスのデータをPCに送り返すのですが、ここではアドレスを0とします。したがってリスナとして指定するコマンドは ' ' で、トーカとして指定するコマンドは '@' となります。

では、まず周波数を1kHzに指定してましょう。GPIBケーブルをコンバータとオーディオアナライザにつなぎ、オーディオアナライザの電源を入れます。次に、PCから、"A?@,"+リターン、"SFR1000HZ"+リターンと入力します。"FR" というのが周波数を設定するコマンドです。これでオーディオアナライザの周波数が変更されるはずです。

次に読みとりを行ってみます。オーディオアナライザを電圧測定モードにします。"A?@,", "SVO" (今後リターンは省略します)と入力します。その後、電圧読みとりを指示します。"A?@,", "SVV" と入力しますが、"VV" が電圧をボルト単位で読みとれというコマンドです。この後、オーディオアナライザをトーカとしてやれば、データがリスナに送られてきます。"A?L " と入力すると、測定結果がPCの画面に表示されるでしょう。

ここまでくれば、テストは終了です。

オーディオアナライザ制御プログラムの製作

オーディオトップに戻る