なんでも作っちゃう、かも。

Arduino/Make/フィジカルコンピューティング/電子工作あたりで活動しています。スタバの空きカップを使ったスタバカップアンプなど製作。最近はもっぱらArduinoと3Dプリンタの自作に興味があります。

OSXでPICプログラミング

Posted by arms22 on 2008年05月03日 1  0

writer509_brb01.jpg writer509_brb02.jpg

普段、PICのソースコードはOSX、書き込みはRCDライタとWindowsノートPC、と2台のPCを使い分けています。HEXファイルの移動やその他もろもろの作業が面倒になってきたので、OSX用のライタを製作しました。

今回作ったライタはオレンジ電子工作さんのWriter509です。
Writer509はシリアルポートを使う事を前提に設計されていますが、Macにはシリアルポートなどのレガシーなインターフェースはありませんので、ライタとの通信はUSB-to-Serial変換ICを使って行います。
FENG3さんがFT232RLを使ったWriter509を製作されています。回路図も公開されているので、こちらを参考に製作しました。USB-to-Serial変換は秋月のFT232RLモジュールを使用しました。
制御プログラムはpicw509というLinux用のプログラムをOSX用に少し修正して使っています。

[Vpp電源(12V)]
書き込み用のVpp電源をどうするか色々悩んでいます。幾つかの方法がありますが、現状PICでVBusから12Vを生成しています。以下、幾つかの方法。

  • 006P電池×2からレギュレータで降圧
    簡単、部品少なめ。電池がもったいない?
  • MAX662Aを使ってVBusから12Vへ昇圧
    簡単、部品少なめ。秋月で¥400。
  • NJM2360Aを使ってVBusから12Vへ昇圧
    オリジナルの昇圧部と同じ。部品多め。デジットで¥130。
  • PIC(12F683)でVBusから12Vへ昇圧
    部品多め。制御用PICも12F683にして、デュアル683ライタとか?

[ボーレート]
デフォルトの38400bpsだとフレミングエラーが発生し、制御用PICとうまく通信できませんでした。38400bpsから19200bpsに変更したらうまく通信できました。これは多分ブレッドボードで仮組した状態だった為でしょう。半田付けしたらうまくいくかも。

[制御プログラム]
オリジナルからの変更箇所。
  • ボーレートの設定追加
  • デバイス定義追加(v2.53のDeviceSpec.pasベース)
    -hで対応デバイス一覧が見れます。
  • 細かなバグ修正

make & install
% make
% sudo make install

picw509とpicw509.cfgが以下のフォルダにコピーされる。
/usr/local/bin
/usr/local/share/picw509

使い方はこんな感じ。
# ライタの確認、デバイスの確認
picw509 -d /dev/cu.usbserial-A5002xZv -c PIC12F683 -k -s 19200
# 読み出し
picw509 -d /dev/cu.usbserial-A5002xZv -c PIC12F683 -r -o out.hex -s 19200
# 書き込み
picw509 -d /dev/cu.usbserial-A5002xZv -c PIC12F683 -pv -i in.hex -s 19200
  • -d
    ポート指定。/dev/cu.xxxx
  • -c
    デバイス指定。PIC16F84Aなど。
  • -s
    通信速度。オプションなしの場合38400bps。
  • -r -o out.hex
    読み出しと出力ファイル名。
  • -pv -i in.hex
    ライト&ベリファイ。入力ファイル名。

今後の予定。
  • ユニバーサル基板に実装
  • 12F508/509などUserIDAddress が2000、ConfigAddress1が2007以外のPICの対応

ボーレートを19200bpsに変更した制御用PICファームウェアとOSX用に修正したpicw509をこちらに置いておきます。
http://xfind.hp.infoseek.co.jp/electric/writer509/20080503/12F675Ia.zip
http://xfind.hp.infoseek.co.jp/electric/writer509/20080503/12F683Ia.zip
http://xfind.hp.infoseek.co.jp/electric/writer509/20080503/picw509_v0.2a.zip

関連URL
オレンジ電子工作 PIC Writerを作る
http://www.geocities.jp/orange_denshi/writer509.html

USB接続(可能な)PICライタの探求(4)
http://feng3.cool.ne.jp/usbpgm/index4.html

PIC Writer 509 for Linux
http://senta.s112.xrea.com/senta/product/picw509/picw509.html

Ads by Google

1 Comments

北アルプス says..."vine linux 4.2 で picw509 okです"
picw509のオリジナルファーム(V1.23)使用して vine linuxで動作しました。 シリアルポート使用。 ありがたいです。
windowとファームが共用できるが、うれしいです。
不安定な感じは、全くありません。

こんな感じで

picw509 -d /dev/ttyS0 -c PIC12F675 -pv -i zzz.hex -s 38400
PIC Writer509 Ver.0.2a

Check Writer509... OK (W509 Ver.1.23)
Chip Erase...Done
Program Area Writing................................Done
Data Area Writing........Done
Config Area Writing..Done
Program Area Verifing................................OK
Data Area Verifing........OK
Config Area Verifing...............OK

ありがたく使用させていただきます。
2009.02.05 16:21 | URL | #mQop/nM. [edit]

Leave a reply






管理者にだけ表示を許可する

該当の記事は見つかりませんでした。