SSブログ

PIC18F14k50によるGPIB-USB変換(その2) [GPIB]

先日作成したPIC18F14k50によるGPIB-USB変換を更新した。
手持ちのGPIB機器は3台だし、キャプチャする時は1対1しか接続しないので、NRFD,NDACのドライバLS244を削除したバージョンを作成した。PIC18F14K50のデータシートによると、VoL=0.6V/8mAなので2台程度の接続なら可能と思う。
pic14k084.JPG
gpib-usbsch085.jpg
昔、実験したPIC18F14k50のテスト基板にコネクタピンを追加して評価。評価用LEDが残っているが、LS244削除バージョンでも特に問題は見えなかった。
pkgP1020968.jpgpkgP1020969.jpg
FWは前回と同じ物を使う。NRFD/NDACはLATBに0をセットしておいてからTRISの対応するbitで制御する。

#define getDATA() PORTC
#define inDATA() TRISC=0xff
#define DAV PORTBbits.RB6

#define NDAC TRISBbits.TRISB5
#define NRFD TRISBbits.TRISB4

ボール盤バイス使ってアンフェノール24Pコネクタを圧着
con24P1020972.jpg
PDF:


ソースコードはデバック痕跡が多数あり、見難いので、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
  • メディア: 単行本


F

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

GPIB:シルアル変換(Tiny2313) [GPIB]

シリアルのボーレート変更に、久しぶりにAVR(Tiny2313)の書き込みを行ったが、手順をすっかり忘れている。書込器は、ジャンク箱に自作の書込器AVR#173とCOMダイレクトの2機種があった。書き込みソフトはavrspやavrspxからをコマンドラインで使うことになっている。avrspの上モノでGUIインタフェースを持つものがいくつかあるが、古いCF-B5にはavrsp-gが入っていた。avrsp-gから書込器のタイプを選定し、書き込みファイルの指定、ヒューズの設定をして問題なく書き込みはでき、数年前の作業が復活した。
avrhuse0.JPG
ヒューズ下位:1110 0100 これで内部クロック8Mhzを指定。これで水晶がいらなくなった。
Tiny2313の内部クロックを8Mhz指定にしてシリアル38.4kbpsにした。あわせてシリアル19.2Kbpsも作っておく。

zipを展開すると以下2このファイルができる。19.2Kbpsと38.4kbpsに対応
38.4KbpsはCF-B5(650Mhz)では、CPUがスピードが足らず、19.2kが限界。CF-W4Jでは38.4KでOK

tnygpib193801.zip

tnygpib19.hex
tnygpib38.hex

SkyDriveに登録してある回路図はそのまま使える。


参考文献
1)GPIB/Serial アダプター
2)MCS Electronics Application Note 103 http://www.mcselec.com/an_103.htm
  http://www.mcselec.com/index.php?option=com_content&task=view&id=67&Itemid=57
3)超シンプルなGPIB/シリアル変換アダプタの製作、トランジスタ技術、2001年2月
4)トランジスタ技術 2005年10月
5)PCL 5e Technical Quick Reference Guide
  http://www.partsnow.com/docs/service-manuals/hp-color-laserjet-8500-software-tech-ref-guide.pdf
6)PrintCapture
-------------------------

ラトックシステム USB2.0 to GPIBコンバータ REX-USB220

ラトックシステム USB2.0 to GPIBコンバータ REX-USB220

  • 出版社/メーカー: ラトックシステム
  • メディア: エレクトロニクス






C#による計測制御プログラミング入門

C#による計測制御プログラミング入門

  • 作者: 金藤 仁
  • 出版社/メーカー: 技術評論社
  • 発売日: 2008/05/14
  • メディア: 大型本



タグ:AVR GPIB

GPIB:シルアル変換 [GPIB]

今使っているGPIB-シリアル変換器の、シルアルボーレイトは、19.2Kであるので、ひとつ上の38.4Kを試してみた。あわせて、Tiny2313の内部クロック8Mhzを使う様にヒューズ変更をした。最初の電源投入時に、LEDピカピカ、シリアルに*UU*を出してデータ確認が出来るようにした。*UU*は、16進で、”2A55552A”、ビットがずれていたらすぐに分かると思う。 結果CF-W4Jでは38.4K通信は、問題なかったが、CF-B5(650Mhz)は19.2Kが限界の様でデータ化けする。シリアルの受信回路はあるが、制御には使っていない。バイナリデータをそのままPCに送るので、区切りデータはチェックしていない。

元からの変更
・Tiny2313の内部クロック8Mhzに変更
・UARTの設定を38.4Kにする
・立ち上げ時LEDピカピカ
・立ち上げ時文字コード*UU*送出
・シリアル受信は当面保留

訂正:先日登録したGPIBシリアル変換の回路図中のLEDに、抵抗接続が抜けています。
後日訂正いたします。







タグ:GPIB AVR

GPIB シルアル変換 [GPIB]

24P-36Pのプリンタケーブルなどを使わなくても、24ピンメスのコネクタが入手できれば何ら問題ないが、手持ちの部材を消費するために、あえてジャンクで実験した。36ピンメスコネクタはすでにケーブルが圧着されていたが、ケーブルが34PINのため18P,36Pが接続できない。
036p6.jpg124-3636.jpg
ケーブルハウジングが、金属のため分解出来、18PのREN信号を結線をなおして信号はつながった。GPIB-RS232C変換は、10年くらい前にはさかんに行われていた様だが、最近の測定器はファイル出力可能なので需要はあまりなさそうである。
昔どこかのホームページで”GPIB/Serial アダプター”と言うのがあり、ソースが開示されていたので、流用して作った。新たに入手したTektronixのTDS744は、データがFDに落ちる様になっていたので、変換アダプタは製作途中で放置状態。参考にしたホームページはすでに削除されたのか検索では見つからない。Tny2313のFWは書き込み済みで、組み立て、USB-RS232Cを経由して、何かデータが送られてきていた。RS232Cデータを直接受信して、昔のオシロTektronix2440の画面コピーができるようにしたい。30年前の測定器を使う場合以外は、不要だと思うが。
gp-com4.jpg
参考文献
1)GPIB/Serial アダプター
2)MCS Electronics Application Note 103 (http://www.mcselec.com/an_103.htm)
  http://www.mcselec.com/index.php?option=com_content&task=view&id=67&Itemid=57
3)超シンプルなGPIB/シリアル変換アダプタの製作、トランジスタ技術、2001年2月
4)トランジスタ技術 2005年10月






AVRマイコン活用ブック―わかるマイコン電子工作

AVRマイコン活用ブック―わかるマイコン電子工作

  • 作者: 松原 拓也
  • 出版社/メーカー: 電波新聞社
  • 発売日: 2007/02/01
  • メディア: -



C#による計測制御プログラミング入門

C#による計測制御プログラミング入門

  • 作者: 金藤 仁
  • 出版社/メーカー: 技術評論社
  • 発売日: 2008/05/14
  • メディア: 大型本



JUNK:ケーブル [GPIB]

ハードオフで、普段あまり見なれない富士通のプリンタケーブルを見つけた。24Pコネクタタイプなので、ジャンクにしては少し高いが300円で購入。
FM60-711.jpgprtgpib8.jpg
PC側が24ピンアンフェノールコネクタで、FM TOWNS用のFM60-711。GPIBインタフェースの取り込みに使えるか、試して見入る予定。ピンアサインは、並びが悪いが使える可能性あり。それにしても20年くらい前のものか。GPIB純正ケーブルを使うのが正しい使い方であるが、純正ケーブルは高価である。
pin24.jpg



C#による計測制御プログラミング入門

C#による計測制御プログラミング入門

  • 作者: 金藤 仁
  • 出版社/メーカー: 技術評論社
  • 発売日: 2008/05/14
  • メディア: 大型本



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