Top > USB PICライター

広告

FT232RLを使ってPICライターを作る

新しく買ったパソコンを見てみたらなんとシリアルポートがなかった。なので、USBを使ったPICライターが必要になってしまった。
世の中にはFT232RLというUSB-シリアル変換チップがあるので、を使ってPICライターを作ってみた。

コンセプト

  • もちろんLinuxで使える。
    • 自分でプログラムを作るのならどんなものでも良いのかも知れないけれど、Linuxで動くライターにPICprogというプログラムがあるのでこれを使う(Debianの公式パッケージあり)。
    • ちなみにこのライターはWinPICにも対応しているのでWindowsマシンでも使える。
  • 簡単な回路で済む。
  • 電源はUSBから取る
  • 18ピンと8ピン(12xx系)に書き込める
    • 将来的には28ピンとか40ピンも書き込めるようにすると思う。

回路

PICprogは、JDMライタ(参考:シリアルポート接続PICライターの製作)やRCDライタ(FENG3のホームページ)に対応しているので、これらの回路を参考にする。
また、FT232RLはストロベリー・リナックス「FT232RX」というUSBーシリアル変換モジュールを使う。

PICの書き込みには12V(12.6V)が必要なのでこれをUSBの5Vから作る必要がある。
これは「MAX662A」という5Vから12Vを作るチップを使った。このチップは秋月電子通商で購入できる。

で、実際の回路は下図の通り。ストロベリー・リナックスのUSBーシリアル変換モジュールは描いていない。
回路はNS企画ライタを参考にさせてもらった。
これは、RCDと互換だけれど元はWinPICPICライター回路のようだ。
このライターはRCDライタ(WinPICではCOM84)として認識されるようだ。

pic_writer.png

USBーシリアル変換モジュールからの出力は0-5Vなので、JDMライタとかRCDライタにあるようなレベル変換用のダイオードは必要がないのでかなりすっきり。
ただし、もともとRS232Cは、負のとき「1」で正のとき「0」なので、USBーシリアル変換モジュール(FT232RL)の出力はRS232Cと反対。それで、インバータ(NOT)を入れて反転している。

MAX662のところに付いているダイオードD2は12Vを12.6Vにするために付けている。特に指定はないけれど電流を多めに(100mA以上?)流せるものが良い。
MAX662のところに付いているコンデンサ(C3,C4)は0.22uFから1uFの間ならいくつでも良い。ただし、電解コンデンサなど極性があるものは極性に注意する。

プリントパターン

一応参考のためにプリントパターンも。回路図では分からないけど74xx04の電源を5Vラインから取ることを忘れない。

pic_writer_board.png

できあがり

今のところPIC16F84でしか試していないけど、おそらく他のものでも書き込めるはず。
この書き込み機は上のプリントパターンを参考にユニバーサル基板で作ったもの。上のプリントパターンと配置が違うけど、配線は同じ

usb_pic_writer.JPG

5Vから12Vをつくり出しているMAX662はUSBーシリアル変換モジュールの下に隠れている。

Linuxで書き込む

Debianの場合、このライターをつなぐと「/dev/ttyUSB0」などにつながったことになる。(「FT232」参照、ユーザーの設定も忘れずに)
なので、Picprogで書き込むときは、まず

$ picprog --erase -p /dev/ttyUSB0

とやって消去してから

$ picprog --burn --input test1.hex  -d pic16f84 -p /dev/ttyUSB0

とやって書き込む。ここでは「test1.hex」と言うのが書き込むプログラム。デバイスによっては自動認識するので「-d pic16f84」の部分がいらない場合もある。

おわりに

専用の書き込みプログラムを作れば74xx04はいらなくできるのでもっと回路は簡単になるだろうけど、多くの人が使っているプログラムで使えた方が便利だからこれで良いのだろうと思う。
特にWinPICは新しいデバイスにもすぐに対応するので、これで書き込めることは重要だと思う。
Linuxで使う場合もPICProgなどに対応しているので便利だろう。

ちなみに「JDMライタ」として認識させたかったら、「IC3D」(TXD用)を取って直結すればいいはず。


広告

Attach file: fileusb_pic_writer.JPG 643 download [Information] filepic_writer_board.png 702 download [Information] filepic_writer.png 771 download [Information]

Reload   Diff   Front page List of pages Search Recent changes Backup Referer   Help   RSS of recent changes
Last-modified: Wed, 04 Jan 2012 23:12:15 HADT (2781d)