【ICSP】(In Circuit Serial Programming)
ICSP方式でPICのプログラミングを行えば、いちいちPICをソケットから
はずしてプログラマのソケットに差し換える手間も無くなりますし、フラット
パッケージのPICのように、基板にはんだ付けしてしまったPICのプログラム
書き換えも、そのままの状態で可能になります。
【ICSPの接続】
PIC18FxxxxシリーズもICSPに対応しており、特に、PIC18F2x20/4x20タイプは
PIC16F87xシリーズとピン互換でICSPを行うことができますので、PIC16F87x
用のICSPケーブルがそのまま使えます。
その接続は下図のようにします。
これと実際のPICとの接続ピンは下図のようになります。図のように、下記PICは
どれも全く同じピン配置になりますので、プログラマとの接続のためのアダプタ
は1種類で良いことになります。
【ICSP用アダプタケーブル】
このICSPを実現するために作成した、ICSP用アダプタケーブルを作成しました。
ケーブルの接続構成は下図のようになっています。
これで、PICの基板側に、6ピンのコネクタを追加すれば、いつでもICSPで
プログラミングが可能になります。
下記写真が作成したICSP用アダプタケーブルです。PICSTARTplus用に
作成しました。
この組み立てには、下記のように、ユニバーサル基板に、SIPタイプの
ピンを通常とは上下を逆にして、ピンの長い方を基板の穴に通して
はんだ付けします。こうすれば裏側に5mm程度出っ張ります。
この裏側に出っ張ったピンをPICSTARTplusのゼロフォースソケットに挿入して、
写真のようにレバーを立てて固定します。これで十分固定できます。
プログラミングの仕方は、通常どおり、MPLABからProgrammingを指定して
実行するだけで、何ら変わりはありません。
ただし、書き込みの際には、PIC側のVccの電源をOnにしておく必要があります。
つまり、プログラマ側からVccは供給せずに、本体側の自分で供給します。
【PIC側の回路】
ICSPを可能にするために、PIC側に必要なものは、MCLRの保護用の回路
だけです。
MCLRピンには、書き込む時にVppとして13Vが加わりますので、MCLRに
接続されている、他の回路に悪影響を与えないようにする必要があります。
そのためには、下図のような回路構成として、ダイオードにより、VccにVppが
影響無いようにします。