【MPLAB ICD2のICSP】
マイクロチップ社の純正製品であるMPLAB ICD2は、プログラマの機能と
簡易デバッガの機能を併せ持った簡易デバッガです。
プログラマとして、このMPLAB ICD2を使う場合には、もともとICD2がICSP専用
になっていますので、ことは簡単です。
ICD2のICSP用コネクタは標準では6極のモジュラージャックとなっています。
これを下図のように接続すれば、問題無くICSPでプログラミングできます。
図のようにMCLRピンの保護も抵抗だけで大丈夫なようになっています。
【注意】
ICD2とパソコンの接続をシリアルインターフェースで接続する場合には、
下記のような設定にする必要があります。こう設定しないとエラーが出ます。
Windowsのコンロールパネルから、ICD2を接続するCOMxポートのプロパティ
を下記とします。(COMxは各自の環境でCOM1からCOM4のいずれか)
設定→コントロールパネル→システム→ハードウェア→デバイスマネージャ
→ポート(COMとLPT)→通信ポート(COMx)→ポートの設定
→フロー制御を「なし」に設定
→詳細→「FIFOバッファを使用する」のチェックをはずす
(FIFOバッファを使用しないようにする)
【電源の供給方法】
ICSPは基本は5Vの電源で行います。この場合には、ICD2側から電源を供給
することもできます。
ただし、ICD2から電源を供給するためには、ICD2のACアダプタを接続した状態
にし、かつ供給電流が200mA以下という制限がありますので注意が必要です。
そしてDebug → SettingsのPowerダイアログで、
「Power target circuit from MPLAB ICD2」
のチェックボックスにチェックを入れてICD2側から供給するように設定します。
ICD2を使ってICSPを行う場合には、ターゲット側の電源電圧が、2Vから5.5V
まで対応しています。
これはICD2の出力のドライバレシーバが下図のように、ターゲット側の電源で
動作するようになっているためです。これらがレベルコンバータとして動作します。
このようにターゲット側の電源が5Vでない場合には、ICD2を接続するときの
順番に気をつける必要があります。
下記の手順で接続準備をして下さい。
(1) まず先にICSPのケーブルを接続します。ターゲットの電源はオフのまま。
(2) 次にMPLABを起動し、下記手順でTargetへの電源供給をTarget側からと
設定します。
Debug → Connect でまずICD2を接続します。
Debug → Settingsで Powerタブを選択し、下記のように
「Power target circuit from MPLAB ICD2」のチェックボックスの
チェックをはずします。
(3) ターゲット側の電源をオンとします。
(4) ICD2を再度Connectしてからイネーブルにします。
ICD2はターゲットの電源電圧を監視していて、下図のようにターゲットの
電源の電圧値を表示するようになっています。
下図のチェックボックスのチェックをはずす。
【ICD2用書込みソケットの作り方】
ここでMPLAB ICD2はICSP方式でのプログラミングが基本になっているため、
PIC単体で書き込むためのソケットが標準ではありません。
これでは、ちょっと不便ですので、PIC単体でも書き込みができるように、
ソケットアダプタを製作しておきましょう。
このアダプタの内部接続は、下図のようになっています。5本の線を、
40ピンと28ピンのゼロフォースICソケットに接続するだけですから簡単です。
出来上がったこのアダプタの外観は、下記写真のようなものです。
このアダプタソケットで書き込めるPICはMPLAB Ver6.32では下表のように
なっています。
使用ソケット 対応PICデバイス 備 考 40ピン側 PIC16F870/871/872
PIC16F873/874/876/877
PIC16F873A/874A/876A/877A
PIC18F242/252/442/452
PIC18F258/448/458
PIC18F2220/2320/4220/432028ピン側 PIC16F627A/628A/648A
PIC16F818/819
PIC18F1220/1320627/628は未対応
このアダプタは、下記の写真のようにICD2と接続して使うことになります。
PICの実装はすべて1ピンを合わせる位置で実装します。マジック等で1ピン
の印をしておくと間違いなくて良いでしょう。
もちろん電源はICD2側から供給する設定として使います。