「ICSP」の解説

このページをスマホなどでご覧になる場合は、画面を横長にする方が読みやすくなります。
2019年07月23日 更新。
用語:ICSP
用語の読み方:アイ・シー・エス・ピー
略語の完全な表記:in-circuit serial programming
同義語・類義語:ISP

ICSPISP(In-System Programming)とも呼ばれ、マイクロコントローラ(マイコン)やPLDなどのプログラム可能な電子デバイスに、システムに組み込んだ状態で(基板に実装した状態で)プログラムを書き込む事を指します。

目次

1. あらかじめプログラムを書き込んだデバイスをシステムに組み込む方法に対するICSPの利点 … 1ページ
2. マイコンでの採用例 … 1ページ
2-1. AVRマイコンでのICSP … 1ページ
2-2. PICマイコンでのICSP … 1ページ
広告

1.あらかじめプログラムを書き込んだデバイスをシステムに組み込む方法に対するICSPの利点

ICSPには、あらかじめプログラムを書き込んだデバイスをシステムに組み込む場合と比較して、再プログラムする際に、デバイスをシステムから取り外す必要がないという利点があります。

また、あらかじめプログラムを書き込んでからシステムに組み込む方式(図1参照)では、デバイスを再プログラムするためにはDIPやPLCCなどの、ソケットを使用できるパッケージを選択する必要がありましたが、ICSPの場合では、QFP、DFN、BGAなどの、基板から取り外しのできないパッケージを採用しても、デバイスの再プログラムが可能となります(図2参照)。

図1、書き込み器でマイコンにプログラムを書き込んでから基板に実装する方式
↑ 画像をクリックすると拡大
図1、書き込み器でマイコンにプログラムを書き込んでから基板に実装する方式
図2、ICSPによるプログラムの書き込み
↑ 画像をクリックすると拡大
図2、ICSPによるプログラムの書き込み

さらに、DIPやPLCCなどの、ソケットを使えば取り外しの利くパッケージのデバイスでも、ICSPを採用することにより、再プログラムの際にデバイスの取り外しと再取り付けの手間がなくなるため、頻繁に再プログラムを行う開発段階においては、時間や手間の削減になります。

2.マイコンでの採用例

ICSPはAVRマイコンやPICマイコンでも採用されています。それぞれのマイコンでのICSPについて説明します。

2-1.AVRマイコンでのICSP

AVRマイコンでは、ICSPによるプログラムの書き込みをするために、図3および写真1に示す様な2列×3ピンのヘッダを基板に設けます。

図3、AVRマイコンのICSP用ヘッダ
↑ 画像をクリックすると拡大
図3、AVRマイコンのICSP用ヘッダ
写真1、AVRマイコンのICSP用ヘッダの例
↑ 画像をクリックすると拡大
写真1、AVRマイコンのICSP用ヘッダの例

VCC端子は、AVRマイコンの電源端子に接続します。ICSP用ヘッダに接続する書き込み器は、AVRマイコンと信号レベルを合わせるために、VCC端子から電源を取ります。

/RESET端子は、AVRマイコンをICSPのモードに移行するために使用されます。ICSPが働くのは/RESET端子がアクティブ(LOW)の場合だけです。

MISO、MOSI、SCKの3つの端子は、SPIインターフェースを形成し、このSPIインターフェースによりプログラムの書き込みを行います。

写真2に、代表的なICSP書き込み器であるAVRISP mkIIを示します。また写真3に、AVRISP mkIIとAVRマイコンの載った基板の接続例を示します。

写真2、ICSP書き込み器の例(AVRISP mkII)
↑ 画像をクリックすると拡大
写真2、ICSP書き込み器の例(AVRISP mkII)
写真3、IDSP書き込み器とマイコン基板を接続した例
↑ 画像をクリックすると拡大
写真3、IDSP書き込み器とマイコン基板を接続した例

2-2.PICマイコンでのICSP

PICマイコンでは、ICSPによるプログラムの書き込みをするために、図4および写真4に示す様な6ピンのヘッダを基板に設けます。また、図5に示すような、RJ11コネクタ(電話線に使われるモジュラージャックコネクタ)をヘッダの代わりに用いることもあります。

図4、PICマイコンのICSP用ヘッダ
↑ 画像をクリックすると拡大
図4、PICマイコンのICSP用ヘッダ
写真4、CAPTION
↑ 画像をクリックすると拡大
写真4、CAPTION
図5、RJ11コネクタを使用したPICマイコンのICSPコネクタ
↑ 画像をクリックすると拡大
図5、RJ11コネクタを使用したPICマイコンのICSPコネクタ

VPP/MCLR端子は、PICマイコンをプログラミングモードに移行させるための電圧を供給するピンです。このピンは、PICマイコンのMCLRピンまたはVPPピンに接続します。プログラミングモードに移行するのに必要な電圧はPICマイコンの種類ごとに異なりますが、5V動作のPICマイコンでは、フラッシュメモリ書き換えのための、VDDより高い電圧を使います。3.3VのみのPICマイコンでは、この端子から、プログラミングモードに移行するためのロジック信号を送ります。

VDD端子は、PICマイコンのVDDピンに接続します。書き込み器側のロジック信号のレベルをPICマイコンに合わせるためにこの端子が使われますが、設定によっては、VDD端子からPICマイコンに電源を供給することもできます。

VSS端子はPICマイコンのVSS端子に接続します。すべての信号の基準電位になります。

ICSPCLK端子は、シリアルインターフェースのクロック信号を供給します。このクロック信号は、必ず書き込み器側から供給されます。

ICSPDAT端子は、シリアルインターフェースのデータ信号を入出力します。この信号線は双方向で、通信フォーマットに従い、書き込み器とPICマイコンの双方が交互に信号線をドライブします。

AUX/PGM端子は、比較的新しいPICマイコンにおいて、定電圧プログラミングのモードに移行するために使用されます。この端子を使わないPICマイコンではNC(非接続)にします。

写真5に、代表的なICSP書き込み器であるPICkit3を示します。また写真6に、PICkit3とPICマイコンの載った基板の接続例を示します。

写真5、ICSP書き込み器の例(PICkit3)
↑ 画像をクリックすると拡大
写真5、ICSP書き込み器の例(PICkit3)
写真6、IDSP書き込み器とマイコン基板を接続した例
↑ 画像をクリックすると拡大
写真6、IDSP書き込み器とマイコン基板を接続した例

関連用語

関連ページ

関連製品

Arduino用ブートローダ/スケッチライタキット 商品名 Arduino用ブートローダ/スケッチライタキット
税抜き小売価格 3000円
販売店 スイッチサイエンス
サポートページ
Arduino用ブートローダ/スケッチライタ(完成品) 商品名 Arduino用ブートローダ/スケッチライタ(完成品)
税抜き小売価格 3600円
販売店 スイッチサイエンス マルツ
サポートページ
Arduino Uno用ブートローダスケッチライタシールドキット 商品名 Arduino Uno用ブートローダスケッチライタシールドキット
税抜き小売価格 1440円
販売店 スイッチサイエンス
サポートページ
Arduino 電子工作
このサイトの記事が本になりました。
書名:Arduino 電子工作
ISBN:978-4-7775-1941-5
工学社の書籍の内容の紹介ページ
本のカバーの写真か書名をクリックすると、Amazonの書籍購入ページに移動します。