SSブログ

PIC18F14k50によるGPIB-USB変換 [GPIB]

2年前にtiny2313でGPIBシリアル変換器を作ったが、機器接続の度にRS232C-USB接続する事が煩わしくなり、PIC18f14K50でUSB直結できる様にした。
pkg4P1020964.jpg
論理的には、Tiny2313によるGPIBシリアル変換機構と同じで、MicrochipにあるDevice - CDC - Basic Demo (PIC18F14K50)に、GPIBからデータを読むだけの論理を追加した。GPIB機器からデータを取り出すだけで、PCからの制御は出来ない。
Microchipのライブラリは新しい方が良いと思ったが、バージョンによりdata memoryの使用量に違いが有り、データメモリサイズのコンパイルエラーが発生したので、2013-0215版を使った。

MPLAB:8.92 C18:3.47
ライブラリをそのままコンパイルした時のメモリゲージ

                ROM RAM
MLA 2012-1015   3718   510 OK
MLA 2013-0215  3718    510 OK
MLA 2013-0615  3720   558 error

2013-0615のライブラリにするとdataメモリが48バイト余計に使われるので、2013-0215版2.9f 「Low Pin Count USB Development Kit」USB CDC BasicDemoを雛形に使う事にした。最初に18F14k50のHIDbootloder.hexを書き込んだ後に、BootloderからターゲットのHexファイルの書き込みをする。2013-0215版のBootloderはv2.90aであった。
HIDboot77.JPG
18f14K50は20ピンのため、使える信号が限定されるので、GPIB信号(DAV,NRFD,NDAC)のみを扱う。 転送の終了はPC側でタイムアウトを検出することで判断する。
回路のPushSWはabort SWとして利用。SW押下時のGPIBバス状態をRS232C転送してwait状態に戻る。

PIC18F14K50
1 VDD 20 VSS
2 OSC1 19 D+
3 OSC2 18 D-
4 RA3/SW  17 VUSB
5 RC5/DIO6 16 RC0/DIO1
6 RC4/DIO5 15 RC1/DIO2
7 RC3/DIO4 14 RC2/DIO3
8 RC6/DIO7 13 RB4/NRFD
9 RC7/DIO8 12 RB5/NDAC
10 RB7/LED 11 RB6/DAV
selWS000005.jpg

手順
1.HIDBootloader用HEXファイルをPICkit2/3 等の書き込みツールでPICに書き込む
2.PCからHIDBootloaderを起動してプロジェクトのHEXファイルをPICに書き込む
3.Microchip社のCDCソフトウエアをそのまま使用しているので、ドライバはMicrochip社の定義ファイルを使う
4.回路をUSBケーブルでPCと接続して、COMボードとして認識
5.キャプチャソフト(Dptnkjet等)でRS232Cポートを認識させ、GPIBデータの読み取る.。  この変換ボードではRS232Cボーレート設定は無視する。

pkg1P1020963.jpgpkg2P1020965.jpg
今回は基板にピンヘッダを立てて、24Pのアンフェノールコネクタ経由で、GPIBケーブルと接続する様にした。
PIC18F14K50は手持ちのSOP品を使ったが、あまり小さくならなかった。またGPIB信号のNRFD,NDACをLS244経由としたが、接続機器が、少ない場合は、PIC直結でも可能かもしれない。LS244無しの直結バージョンも考慮したので、LS244のゲート(1ピン、19ピン)は1Kでプルアップが必要。GPIBバス上の機器の内、電源投入機器は1台に限定される。

DAV,NRFD、NDACの波形を見たが、30K/byte程度で意外と性能が出ていない。GPIBのサイクルチェック毎にCDCTxService()を経由している為と思うが、mainループで1回17usくらいかかっているし、時々転送の休みもあり、改善の余地があるので、今後検討する。
WS000072.JPGWS000070.JPG

Tera TermでHPGLフォーマットのデータを読んだところ
teraHPGL006.JPG

Tera Termからデバッグコマンド実行
L:LED count
M:内部mem
WS000081.JPG

ソースコードはデバック痕跡が多数あり、見難いので、Hexのみ公開
GPIB-USB04.hex


GPIB-USB03.hex(旧バージョン)



以下microchipのライブラリ2013-0215版より
bootloder


info



dptnkjet説明書.zip

dptnkjetall.zip



参考
http://nakjack.blog.so-net.ne.jp/archive/c2302495682-1
超シンプルなGPIB/シリアル変換アダプタの製作、トランジスタ技術、2001年2月

改訂新版 PICで楽しむ USB 機器自作のすすめ

改訂新版 PICで楽しむ USB 機器自作のすすめ

  • 作者: 後閑 哲也
  • 出版社/メーカー: 技術評論社
  • 発売日: 2011/08/18
  • メディア: 大型本



PICで動かすUSB―MCHPFSUSB framework+付属プリント基板で即日完成

PICで動かすUSB―MCHPFSUSB framework+付属プリント基板で即日完成

  • 作者: 鈴木 哲哉
  • 出版社/メーカー: ラトルズ
  • 発売日: 2010/06/01
  • メディア: 単行本



タグ:GPIB
nice!(1)  コメント(0)  トラックバック(0) 
共通テーマ:趣味・カルチャー

nice! 1

コメント 0

コメントを書く

お名前:[必須]
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 0

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。