ICSP(In Circuit Serial Programming)とはPICをICソケットからはずすことなく、 基板組み込みのままプログラムを書き込む方法です。
ただし、PICライタのICSP端子にそのままPICを接続することはできません。
事前にICSPに対応した回路設計が必要です。
まず、ICSPに必要な端子を解説します。
記号 解説 備考 VPP 通常は12.5Vが供給されます。 周辺回路に12.5Vがかからないように設計します。 VDD 通常は5Vが供給されます。 大電流を流すことができないため、周辺回路に流れないようにします。 GND GNDです。 共通GNDです。 PGC プログラム用クロック信号です。 周辺回路と競合しないようにします。 PGD プログラム用データ信号です。 周辺回路と競合しないようにします。 PGM プログラム方式の選択信号です。 この端子のないPICもあります。周辺回路と競合しないようにします。
- VPP電圧が周辺回路にかかると破損させることがあります。
- 信号線が競合すると書き込みができないばかりでなく、ライタを壊したり、周辺回路を壊すことがあります。
- PICのMCLRとVPPは共通端子であるため、両用できるようにします。
- PGMはHigh Voltage 書き込みのときプルダウン、Low Voltage書き込みのときプルアップします。
- 書き込み時には信号が競合しないように、JPピンで周辺回路と分離します。これが理想です。
- もし、周辺回路と競合しないのであれば、JPピンを抵抗(1K)で代用することができるかもしれません。
- VDDオンのタイミングを規定しているPICがあり、基板本体側から事前にVDDが加わっていると書き込めないことがあります。
- 書き込みを終えたら、ICSP端子をはずし周辺回路に電源を入れることが理想です。 書き込みを終えるとライタ側のICSP端子はハイインピーダンスになるのが通常ですが、 そうならないライタも存在し、ライタ側と競合して正しくPICが動作しないことがあります。
- PICによってはアナログ電源端子、AVDD, AVSS をもつものがあります。この場合、それぞれ VDD, GND に接続します。
- 正しくタイミング処理できないライタがあるようで、PICが内部発振を始めてしまい書き込むことができないライタがあるようです。 この対処のためPICのOSC1 を強制的にGNDに落とす荒行事はお薦めできません。PICの内部発振回路を壊す恐れがあります。
(C)2006 All rights reserved by Y.Onodera.
パーツ番号 数 型番 備考 R1 1 10K MCLRのプルアップ抵抗です。 D1,D2 2 1S1588 電流の逆流防止です。 JP 4 2pin 分離用です。