Comments
Description
Transcript
wisp628 の使い方 - 情報制御システム科
wisp628 の使い方(2007 年 5 月 21 日版) 山形県立産業技術短期大学校 情報制御システム科 千秋広幸 □ wisp628 とは何か ・ オランダの Van Ooijen 氏が設計した ICSP 方式 PIC マイコン用プログラマ ・ パソコンと wisp628 をシリアルケーブルで接続して使用する ・ 細かなタイミング制御は内蔵の PIC マイコン(16F628)が行う USB シリアル変換ケーブル経由での利用も可能 多くの PIC マイコンをサポート ・ 書き込みに必要となる高電圧(13V)はチャージポンプ回路で実現(特殊部品不要) などの特徴を持った ICSP アダプタである。 □ 試作した wisp628 と PIC ICSP コネクタピンアサイン □ ターゲットボードのとの接続方法 8-pin 18-pin 28-pin PICmicro's PICmicro's PICmicro's ピン 信号名 12F629 12F675 16C84 16F84(A) 16F627 16F628 40-pin PICmicro's 16F74 16F73 16F76 16F870 16F872 16F874 16F873 16F873A 16F876 16F876A 18F442 18F242 18F248 18F252 18F258 18F458 16F77 16F874A 18F448 1 /MCLR 4 4 1 1 2 GND 8 5 8, 19 12, 31 3 VDD 1 14 20 11, 32 4 RB7(PGD) 7 13 28 40 5 RB6(PGC) 6 12 27 39 6 LVP(PGM) - 10 24 36 (7) Wisp628(12) ==> target - 7 18 26 (8) Wisp628(9) <== target - 8 17 25 16F871 16F877 18F452 注: ・ このピン番号は DIP 用(QFP ではピン番号が異なる)である。 ・ 40 ピンの PIC マイコンには 2 組の電源ピン、28 ピンでは 2 本の GND ピンがあり、安定に動作さ せるには、両方を接続すること。 1 ・ wisp628 では、 高電圧(+12∼13V)プログラミングを採用している。つまり、LVP 機能(低電 圧プログラミング)を持つ PIC マイコンにおいては LVP ピンをローレベルにする必要がある。 これは、LVP のピンを通常の I/O として利用できることを意味し、少ピンの PIC マイコンにお いては大きなメリットである。 ・ 7,8 ピン(内蔵の PIC16F628 の 12 と 9 ピン)は、ターゲットマイコンとのシリアル通信用に利 用するピンである。このピンを wisp628 基板から引き出しすことにより、RS232C と TTL レベル の変換 IC を実装することなく、PIC マイコンとパソコンの通信が実現できる。 □ wisp628 の接続例 右図のように、ターゲットボード(下)と ICSP ケーブルで、 wisp628 と PC は D-SUB9 ピンのケーブル(ストレート)で接 続して利用する。 なお、ICSP 方式の書き込みでは、一般的にはターゲット側か ら電源を供給するが、試作した wisp628 は安定化電源回路を 内蔵しており、100mA 程度なら wisp628 から供給することも 可能である。 なお、ICSP ケーブルの抜き差しは電源 OFF 時に行うこと。ま たターゲットボード上の ICSP コネクタを接続する回路は、PGM, PGD, PGC の信号線が他の回路と干 渉(出力同士の衝突)が生じないように配慮する必要がある。 詳細は、PIC マイコンの解説書を参照すること。 □ xwisp2 がサポートする PIC マイコン(ver 1.9.1 の場合,XXX は私が動作確認したもの) 10F シリーズ 未サポート -10F200 -10F202 -10F204 -10F206 -10F220 -10F222 12F シリーズ 16F シリーズ 18F シリーズ -12F508 -12F509 -12F510 -16F505 -16F506 -16F57 -16F59 サポート 12F629 16F74 16F627 16F627 16F628 16F628A 16F630 16F648A 16F676 16F874 16F747 16F76 16F767 16F77 16F777 16F818 16F819 16F83 16F73 16F737 16F785 16HV785 16F872 16F873 16F873A 16F874 16F874A 16F876 16F876A 16F877 16F877A 16F88 16F84 16F84A 16F87 16F870 16F871 18F1220 18F2320 18F2431 18F258 18F4331 18F448 18F6410 18F6621 18F8410 18F8525 18F8621 18F6490 18F1320 18F2331 18F248 18F4220 18F442 18F452 18F6585 18F6680 18F8490 18F8585 18F8680 18F6520 18F2220 18F242 18F252 18F4320 18F4431 18F458 18F6620 18F6720 18F8520 18F8620 18F8720 18F6525 v1.10 以降で サポート +12F635 +12F683 +16F636 +16F685 +16F689 +16F917 +16F914 +16F946 +18F2221 +18F2420 +18F2480 +18F2520 +18F2580 +18F2620 +18F4321 +18F4450 +18F4510 +18F4525 +18F2321 +18F2450 +18F2510 +18F2525 +18F2585 +18F2680 +18F4410 +18F4455 +18F4515 +18F4550 +18F2410 +18F2455 +18F2515 +18F2550 +18F2610 +18F4221 +18F4420 +18F4480 +18F4520 +18F4580 12F675 2 +16F684 +16F687 +16F690 +16F946 +16F916 -16F54 +16F688 +16F916 +16F913 +16F917 +18F4585 +18F4610 +18F4620 +18F4680 今後に期待 □ xwisp2 の使い方 Xwisp2 は、Windows 98, 2000, XP などの OS に加え、Linux や MacOS などでも利用可能な書き込み 支援ソフトウェアである。Windows 上では、Command prompt や DOS prompt 上で利用する。 実行に先立って、xwisp2.exe と XWisp2.cfg, xwisp2_12.cfg, xwisp2_14.cfg, xwisp2_16.cfg を 実行可能な PATH にコピーしておくことをお薦めする。 以下の図は、実際に xwisp2 を使って、書き込みを実行した例である。約 5kW の書き込み、ベリフ ァイや FUSES 設定も正常に行われ、30 秒ほどで完了したことが示されている。 (1) read, write, verify (ア) file 'abc.hex' を COM1 を使い、書き込む(COM1 のみ、port 指定を省略可) ① xwisp2 abc (イ) file 'abc.hex' を COM3 を使い、書き込む ① xwisp2 port 3 go abc (ウ) {erase, write, verify, run を順に実行} file 'abc.hex' に COM1 から読み出す ① xwisp2 read abc (エ) file 'abc.hex' と内容を比較する ① xwisp2 verify abc (オ) { verify 後は停止状態になる} ターゲットマイコンを動作させる ① xwisp2 run abc 3 (2) 環境変数 (ア) 日常的に利用するオプションは、XWISP2 環境変数にセットしておくことが可能。 (set XWISP=PORT 2 BAUD 19200 …などのように常用する値を指定する) □ PIC マイコンのピン配置(電源、MCLR, PGD, PGC, PGM を間違えないこと) 4 5 □ Wisp628 回路図(変更実施日 2007 年 5 月 21 日) 以下に示す回路図は、オリジナルとは数点の変更を行っている。ただし、firmware は同じものが利 用できる。変更個所は以下の通りである。 wisp628 では、書き込み時に必要な書き込み用の+13V(VPP)を、PIC マイコンによる昇圧回路(チ ャージポンプ回路:(5.0V-0.7V)×3≒13V を想定)で生成している。しかし、PIC マイコン I/O ピンの駆動能力の関係から、実際には+11V 程度の電圧である。実際にはこれでも問題なく使え るが、VPP が規格よりも低いことに起因する不具合の可能性も予測される。そこで、より安定 した+13V を発生するため、駆動能力に優れた ADM3202 を利用した回路に変更した。 書き込み時に点灯する LED を追加(回路図の L2) 3 端子レギュレータを追加し、ターゲットボードへの電源供給も可能とした 電源 ON ランプ(L1)を追加 ICSP 用のコネクタを PICKEY や OLIMEX の仕様に合わせた 「製作のポイント」 完成後、MAX232 ではなく ADM3202 を実装し、C6 の両端に+13V が出力されていることをテスタなど で確認する。電圧が 12V 程度の場合には、D3 の両端をジャンパー線でショートする。 6 □ 部品表 シンボル名 C1,C2 C3,C4,C5,C7,C8,C10 C9 C6 D1 D2,D3,D4 IC1 IC2 IC3 J2 L1 L2 Q1 R1,R2,R3,R8 R4,R5,R6,R7 R9 R10 CN1 CN2 X2 品名 電解コンデンサ 積層セラミックコンデンサ 積層セラミックコンデンサ 電解コンデンサ 1N4004(整流用 10D1 相当) 1N4148(小信号 SW 用) 7805T(可能なら放熱器をつける) ADD3202 を推奨 16F628A(648A も同様に使用可能) DC-15L 緑色 LED 赤色 LED 2SC1815 カーボン抵抗器 カーボン抵抗器 カーボン抵抗器 カーボン抵抗器 ナイロンコネクタ D-SUB 9(メス) セラミック振動子 値 100u /25V 0.1u 1.5u 22u/25V 1k 47 10k 33k 6P 20MHz 数量 2 6 1 1 1 3 1 1 1 1 1 1 1 4 4 1 1 1 1 1 □ 利用上の注意点 ・ wisp628 の動作には、+5V(±5%)の電源が必要である。電池動作(3V 程度)をしているマイコン ボードの場合には、利用できない。別のボードで書き込みを行い、実装するなどの工夫が必要。 ・ RS232C コネクタが無い場合(ノードパソコンなど)では、USB-RS232C の変換ケーブル経由で、 wisp628 を利用できる。IO データ社の USB-RSAQ2 や秋月電子で販売されている変換ケーブル (PL2303 系)にて正常に機能することを確認している。 ○ターゲットマイコンについて ・ PIC マイコンの MCLR 端子は、33kΩ程度の抵抗でプルアップすること。ただし、電源の瞬断や 低電圧の対応にはブラウンアウト機能を併用すること。 それでも不具合を生じる場合には、リセット IC とその IC の破壊を避ける回路構成(切り離 しなど)を採用する。 ・ PIC マイコンの MCLR 端子を無効にしない。MCLR を無効にすると、ICSP モードに移行する複雑 な電源シーケンスが要求される。標準の wisp628 では、シーケンスを制御できないため、結果 として ICSP に失敗することになる。若干の回路を追加すれば、この問題を回避できるようだが、 この回路は電源を短時間ショートさせる(やや強引な)回路であり、ターゲットボードの回路 構成によっては利用できない場合もあり、推奨できない。 ・ PGM, PGC, PGD のピンは他の I/O ピンとの競合に注意する。他の IC から駆動されるような設計 を行った場合には、プログラム時に切り離す仕組み(ジャンパーピンやスイッチ回路)が必要 となる。 7 □ 参考 URL (1) wisp628 http://www.voti.nl/wisp628/index.html wisp628 の詳細な情報 (2) xwisp2 http://www.robh.nl/picsoft.php#xwisp2 wisp628 用の支援ソフトウェア(2006 年 9 月 13 日現在 version 1.9.1) 2006 年 12 月に公開された ver 1.9.2 に付属するファームウェア(ver 1.12)は P16F877A の config 情報の書き込み時にエラーになることが確認されている。そこ で、現状では 1.9.1 に付属するファームウェア(ver 1.11)の利用をお薦めする。 (xwisp2.exe は ver 1.9.2 を推奨する) (3) microchip 社 http://www.microchip.com/ PIC マイコンデータシート(ピン配置図など)などは、こちらを参照のこと 改定履歴 2006 年 8 月 22 日 マニュアル作成開始 2006 年 9 月 4 日 wisp628 の実装図や部品表を追加 2006 年 9 月 11 日 xwisp2 の使い方(RUN コマンドなどを追記) 2006 年 9 月 13 日 写真、回路図、参考 URL を追加 2006 年 9 月 22 日 利用上の注意点を追加 2006 年 9 月 27 日 ページ番号の追加、動作確認マイコンの追加(手持ちの PIC マイコンでのみ検証) 2006 年 10 月 25 日 R8 の抵抗を 1kΩに変更(回路図は未修正) 2007 年 1 月 25 日 xwisp2 ver 1.9.2 の不具合を追記、文体の見直しなど 2007 年 5 月 21 日 wisp628 の回路図と部品表を変更(安定化対策)、文体の見直しなど 8