PICkit2の書き込みアプリケーションソフトについて、PICkit 2 Development Programmer/Debuggerのページで最新版がダウンロードできます。しかしながら、PICkit2+デバッグボード付属のPICkit2 Debug Expressのページではダウンロードができませんので注意が必要です。
PICkit2の書き込みアプリケーションは、マイクロチップから公式では提供を終了しました。アーカイブのページでは、PICkit 2 Software for Windows v2.55.02が最新で、最新のv2.61.00はリンクされていません。しかし、直接リンクをたどるとダウンロードできるようです。
http://ww1.microchip.com/downloads/en/DeviceDoc/PICkit2v2.61.00SetupdotNETA.zip
http://ww1.microchip.com/downloads/en/DeviceDoc/PK2DFUpdate-1-62-14.zip
(コピー&ペーストで開いてください)下の方にもリンクがあります。
今後これらのソフトやデータが提供されなくなることが考えられますので、ダウンロードをバックアップしておくことをおすすめします。
(2014/5/13追記,5/18修正)
PICkit2は2011/10/14以降のデバイス定義ファイル(1.62.14)以降、マイクロチップ社からの更新はありません。しかしながら、サポートされているデバイスはとても多く、現在でも多くの流通しているPICのマイコンやシリアルEEPROMの書き込みにも対応しています。
PICkit3は、PICkit2によく似ていますが、シリアル送受信、ロジック・アナライザ機能などPICkit2特有の便利な機能がありますので、現在でも人気のあるプログラマです。
最初にPICプログラマを購入する場合、今後発表される新しいデバイスの事を考え、PICkit3からの購入をお勧めします。MPLABXをインストールすると一緒にインストールされるMPLAB
IPEが、スタンドアロンの書き込みができ、シリアルEEPROMも書き込めます。
(2013/11/12追記)
PICkit2のサポートデバイス一覧(microchipへのリンク)
PICkit 2は、マイクロチップ社純正のPICを書き込む装置の廉価版です。
5.現在分かっている問題・FAQ ※上に行くほど最新です。
インストールが済むまでUSBへはPICKIT2をパソコンと接続をしないでください。
ソフトウェアをインストールして後にUSBを接続するようにします。ソフトウェアは添付CDに入っていますが、古いので、最新をインターネットからダウンロードします。
適応機種
Windows XP
Windows Vista 32-bit
Windows Vista 64-bit (仮試験のみ)
(Windows2000sp4+ie5以上で動作しますが、適応機種から外れている事にご注意ください。)
Windows7では動作確認済
Windows8.1は動作不可 (裏ワザ的に動作させることができます)
現在のバージョン | date | コメント |
---|---|---|
PICkit 2 V2.61.00 Install.zip | 2009/3/26 | .NET Frameworkが既にwindowsにインストール済みの場合はこちら |
PICkit 2 V2.61.00 Install with .NET Framework.net.zip | 2009/3/26 | .NET Framework2.0が同梱されている。ファイルサイズが上記より20倍近く大きいが万人向け。 |
Release note V2.61.00 | 2009/3/26 | リリースノート(一読することをお勧めします) |
1.62.14 device file | 2011/10/4 | PIC16F1xxxなどがサポートされます。その方法はこちら。 |
PICkit 2 Firmware V2.32.00.zip | 2008/7/14 | PICkit2ファームウェアです。通常は必要ありません。 |
※windows以外にLinux OSやMAC OSに対応しているファイルも公開されておりますが、このホームページではwindowsのみを取り扱います。
※正式なリンクではありませんので、リンク先が将来消失する場合があります。
ドキュメント名 | 内容 |
---|---|
DS51553C_JP_PICkit2_UsersGuide.pdf | PICkit2 ユーザーズガイド(日本語版)リビジョンC ver2.1対応 2007年1月 |
PICkit 2 Microcontroller Programmer User's Guide | PICkit2 Users Guide English Rev.E Corresponding ver2.40 2/27/2008 |
前のバージョンは、マイクロチップアーカイブからダウンロードが可能です。
インストールの説明はバージョン2.50で行っています。
ダウンロードしたら、zipを適当なフォルダにすべてを解凍し、"setup.exe"をダブルクリックで実行します。
質問などはそのままNextで進んでいけば問題ありません。
インストール先のフォルダと使用する人を設定します。通常はNextをクリックします。
Nextを押すとインストールが開始されます。
ライセンス許諾です。I Agreeを選択してNextをクリックします。
インストールの実行中です。数十秒待ちます。
インストールの終了です。[Close]を押し終了させます。
インストール終了後、PICkit2を添付USBケーブルでパソコンに接続すると、それがHID準拠デバイスとして認識されます。デバイスマネージャを表示させながらPICkit2を抜き差しすると良く分かります。
続いて、PICkit 2アプリケーションを起動させます。
初回は起動させると、最初にオペレーションのアップデートの催促ダイアログが表示されます。
パソコンの性能にもよりますが、40秒~1分間以上の時間が掛かる場合があります。書き込み中は、アプリケーションから応答があるまで、その間はUSBからPICkit2をはずさないように注意します。
万一はずしてしまった場合は、PICkit2のBusyランプが約1秒毎に点滅を繰り返すようになります。その場合は、一旦PICkit2を終了後に、Tools
-> Download PICkit 2 Operating Systemを使って手動でオペレーションのアップデートを行ってください。
起動初回に限り再起動を促すダイアログがでる場合がありまので、その場合は「はい」をクリックします。
再起動したら、念のためPICkit 2を差し込みなおします。
このOSはPICkit 2アプリケーションをインストールすると同梱されているので、単独でのダウンロードは通常は必要ありません。
ファームウェアの標準の場所
C:\Program Files\Microchip\PICkit 2 v2
ファイル名の例 PK2V023200.hex
現在のバージョン | PICkit 2 Firmware V2.32.00.zip |
MPLABでもコントロールが可能です。
MPLABのバージョンにより、MPLABに付属のファームウェアは以前のバージョンの事があります。
PICkit2のOSと、MPLABでのPICkit2選択時、MPLABが持っているOSのバージョンが異なると、お互いのアプリケーションを交互に起動したとき、OSバージョンが違うというダイアログが出るようになります。
解決策は、お互いのアプリケーションで保有しているOSのHexファイルを同一のものにしておけば解決します。
C:\Program Files\Microchip\PICkit 2 v2\
にある、PK2Vxxxxxx.hex で、一番タイムスタンプの新しいhexファイル(例 PK2V023100.hex )のファイルを
C:\Program Files\Microchip\MPLAB IDE\PICkit 2\
にコピーします。
(標準インストール時)
こうすることで、MPLABでPICkit2を選択時に、最新のPICkit2OSとPICkit2の整合が自動的に行われます。
使用できるライタについては、Configure->Select Device..で調べることができます。
PIC12F675はPICkit2でサポートされているという事が分かります。
Programmer->Select Programmer -> 4PICkit 2を選択します。
デバイスに接続されていない場合は、このようなメッセージがでます。これはProgrammer
-> Settingsの項目で最初に確認しないようにも出来ます。
プログラムはここのメニューより可能となります。
コネクタは一般的な2.54mmピッチのヘッダーを利用することが出来ます。
ピンカテゴリ | 8pin | 18pin | 28 | 40pin | 備考 | ||
---|---|---|---|---|---|---|---|
代表的なデバイス | 12F675 | 16F628 | 16F873 | 16F877 | |||
1 | VPP/#MCLR | VPP/GP3 | 4 | 4 | 1 | 1 | VDDから10KΩ程度のプルアップ ▲ |
2 | VDD Target | VDD | 1 | 14 | 20 | 32 | |
3 | VSS (GND) | VSS | 8 | 5 | 19 | 31 | |
4 | ICSPDAT(PGD) | RB7/GP0 | 7 | 13 | 28 | 40 | PICkit2の黒ボタン仕様では4.7kΩプルダウン必要 |
5 | ICSPCLK(PGC) | RB6/GP1 | 6 | 12 | 27 | 39 | |
6 | AUX(拡張端子) | - | - | - | - | - |
※V2.40以降からPIC以外のデバイスも接続できるようになりました。詳しい表はこちら。
PICkit2の裏に印刷して貼っておくと非常に便利です。こんなシールを作りました。
PICkit2ユーザーズガイド25ページの「第3章PICkit2プログラマとICSP」に詳しい説明や回路例がありますので一読する事をお勧めします。
PICkit2のインターフェースはICD2と内部回路的には違いますが、接続としてはほぼ同等のインターフェースと考えても差し支えありません。
※以下で使用している画像は、MPLAB7.52 ICD2ヘルプより引用したものです。
基本接続はこのようになります。User Resetについては、PICkit2のリセットと競合しないように、オープンドレインにするか、影響の出ないようにUser
Reset側に抵抗を直列に入れるようにします。書き込み時にMCLRピンからは9V以上の高電圧が印加されるので、その影響を考慮して回路設計を行います。ユーザーの基板のVDDには、たくさんのLEDなどがつながる様な重い負荷を接続することはできません。せいぜい数100ミリアンペア程度25ミリアンペア未満(PICkit2ユーザーズガイド27ページのVDDおよび47ページの5.2よく寄せられる質問の項を参照)にとどめるべきでしょう。その場合、重い負荷の電源を一時的に切れるようにすることや、PICのみに電源が入るように考慮するなどの設計での対策が必要となります。
MCLRピンは高電圧入力端子と兼用になるのですが、ここはタイミングを守るために容量負荷があってはなりません。CR回路でリセット回路を形成する場合は、ICSP接続時にコンデンサをカットできるような工夫が必要です。
書き込み時に使用されるデータとクロック(PGC/PGD)の接続も以下の注意があります。
プルアップしない(ICD2では4.7KΩでプルダウンしているため)
PICkit2黒ボタンバージョンではPGC,PGDをそれぞれ4.7KΩでプルダウンする。(改造すれば必要なくなります)
ダイオードを挿入しない(信号が不確定となる)
容量負荷を入れない(タイミングに影響がでる)
図中ではPGC/PGDに別々の表記が書いてありますが、実際は共通の項目です。
PICkit2の回路図ではICSPの部分がICD2と若干異なっていますが、ICD2のルールに基づいて設計したほうが互換がとれるのでよいです。
また、このICSPとユーザーターゲットまでの距離は出来るだけ短く配線するべきです。10センチからせいぜい20センチが上限と考えたほうが良いでしょう。
参考までにICD2のICSPの物理インターフェースを挙げておきます。これは電話のRJ-11モジュラーの形状の6極6ピン版であるRJ-25というものです。(RJについて)ピン番号はPICkit2と同一の振り方になっております。製作物をこれで統一しておくと、接続がワンタッチで完了するので、デバッグが非常に効率のよい物となります。部品自体はそんなに高いものではありませんが、圧着は専用工具が必要です。この工具は結構高いので、個人で数本製作する位であれば電線を売っている所で圧着を行ってくれるか聞いてみると良いと思います。市販のケーブルの殆どが電話工事用の6極2芯か6極4芯ですので、購入には十分注意します。
共立エレショップに取り扱いがあります。KBC-POP-RJ6 で検索すると、利用できる物があります。
このハーネスは元々ICD2用(と思われる)ですので、Pickit2で使用するには6極のヘッダーピン同士を半田付けするなどしてオス-オス変換部品を作成し接続します。また他では扱っていないRJ-25ケーブル自体も扱っています。
RJ-11(RJ-25)モジュラープラグ | ヒロセTM3P-66相当品 |
RJ-11(RJ-25)モジュラージャック | マイクロチップ説明互換部品 Hirose TM5RE1-66(20) Linkman KD018 (マルツパーツ扱い) 代用品 Hirose TM5RJ3-66 この部品は入手性がよいので紹介しております。 この部品は下側に端子があります。従いまして、マイクロチップの図の基板のピン配列と左右逆になりますので注意が必要です。 |
その他のICSPの文献については、マイクロチップ社に色々ありますので是非参考にしてください。
凄いです!マイクロチップ!今回の変更は新しく製品を買ったに等しいほどの嬉しい追加です。特にVersion2.40以降より、沢山の機能が追加されました。追加機能の要約を載せました。
新機能
バグ修正
PIC32でプログラムの時に起こるバグの修正。
UARTツールのレート問題の修正
新機能
PIC24 & dsPIC33プログラミングの高速化。
シリアルEEPROMをバイナリーファイル(*.bin)でインポート/エクスポート機能追加。(従来は*.hexのみであった)
UARTツールのHexモードのダイレクト数値入力をサポート。
新しいメニューオプション "Programmer > Alert Sounds.. の追加で、イベントで音を鳴らせるようになった。
修正
> (Device file v1.53) Fixed an issue with PI32MX4xx device config
masks not including USB configuration bits.
> (Device file v1.53) PIC18F no longer reports verify errors or reads
certain locations improperly when ETBR table read protect
bits are asserted.
> Fixed UART Tool issue where siginifcant amounts of
received
data without a newline (ASCII mode) or transmission pause (HEX mode) would
cause sluggishness and lockups of the UART Tool software.
> Unit ID maximum length set to 14 characters due to a firmware issue.
> Tools > Troubleshoot... dialog 30kHZ waveform is closer to 30kHz
and no longer has breaks in the waveform. This issue originated with the
firmware v2.3x update.
新機能:
●Programmer > Clear Memory Buffers on Eraseの動作振舞いの変更
バグ修正:
●複数のPickit2の使用時における深刻な問題の修正
●dsPIC33/PIC24HJ Programmer-To-Goでの問題の修正
●PIC32でbootフラッシュが空の場合のアプリケーションクラッシュの修正
新機能:
●Logicツール及びUARTツールでVDDのONチェックボックスが追加
バグ修正:
●Programmer-To-Goにおいて、許容されるプログラムサイズの半分以上ダウンロードされた場合、ハングする問題の解消。
●Programmer-To-Goモード実行後での操作問題の修正(ごみデータの読み込み、プログラムの失敗、異常なVDDのふるまい)
●UARTツールのCustom Baudダイアログのサイズの修正。
●PIC32デバイスの読み込みは、完了で"done"と表示。
●PIC32プログラム実行ダウンロード時における、いくつかのエラーの修正として100msの遅延を付加した。
このバージョンではヘルプやダイアログで、4.7KΩプルダウンの説明がありますのでPICkit2Red Button仕様と考えておいたほうが良いでしょう。
新機能:
● 複数ウインドウ表示とサイズ変更に対応。
このように、分割して表示させることができます。
● PCを使わないでプログラムができるProgrammer-To-Go対応。
イメージを内部に持ち、スタンドアロン(単独)で書き込む機能です。パソコンがなくても書き込みができるようになります。
まずは、マニュアルデバイス選択をします。次回アプリケーション立ち上げ時、このモードを解除したい場合は、この部分がフォーカスされず解除されません。Select
Partで適当なデバイスを選択すると、この部分のフォーカスをすることができるようになります。
ターゲットを接続しないでProgrammer-To-Goを利用するには、手動設定を使用します。
書き込みたいプログラムをインポートします。
インポートされた状態。
Programmer-To-Goを行います。
ウィザード画起が起動します。
電源設定では2種類選択でき、ターゲットの電源か、USBからの電源を使用の選択を選べます。ただし、電源電圧はターゲットの場合は4.5V以上必要で、USBの場合は書き込み時にUSB電源から電源を供給します。下のダイアログでは4.9Vを示していますが、PICkit2ハードウェア内の電圧計で計測しているので、お使いのパソコンによって値が変わります。いずれの場合も後述するUSBの方からの電源が必要になります。
ターゲットからの電源があるとき、こちらを選択します。
ターゲットからの電源を使用しないとき、こちらを選択します。100mA程度の電流までなら、供給することができます。但し、ターゲットを動作させるための電源ではありません。あくまでもプログラムを行うための電源供給です。
Downloadをクリックすると、PICkit2のハードにプログラムするデータがダウンロードされます。
成功すると、このようになります。この時、PICkit2のハードウェア上のLEDのTargetは2回ごとに点滅している事を確認します。ここでPICkit2をUSBから抜き取ります。次のBusyランプの意味と光り方を確認したい場合は、Nextをクリックします。
メッセージの内容の要約
ダウンロード終了!
LEDのTargetは2回ごとに点滅していればProgrammer-To-Goの成功です。
今USBからPICkit2をはずしてください。
もし、PICkit2かMPLABから接続の試みがあれば、Programmer-To-Goモードは終了します。
Nextをクリックすると、LEDのエラーコードを示します。
これはエラー時の表示方法の確認を選択できます。要望に応じてラジオボタンを選択します。
ダイアログ中の赤い四角部分の点滅が変化します。確認したらEXITをクリックして、PICkit2を終了します。
早い点滅 | VDD/VPPエラー | プログラムモードの電源かターゲットの電源や配線を確認 |
2回ずつ点滅 | デバイスIDエラー | プログラムかターゲットのデバイスを確認 |
3回ずつ点滅 | ベリファイエラー | デバイス不良など |
4回ずつ点滅 | 内部エラー | 故障している可能性あり |
この処理後、、PICkit2のハードウェア上のLEDのTargetは2回ごとに点滅しているはずです。次回のPICkit2アプリケーション立ち上げまで、スタンドアロンモードが有効になります。アプリケーションを閉じます。
さて、この状態での使用方法は、PICkit2かターゲットのどちらの電源供給においても、必ずUSBから何らかの電源を供給する必要があります。
PICkit2のHelpに携帯電話の充電器や電池などで電源を取る例などが記載されていますのでそちらを参考にして、電源を確保します。電源の製作記事例(別ページに飛びます)
使用方法は、至って簡単です。ターゲットに差し込んでボタンを押すだけです。これでBusyが消えるまで待てば終了です。私の作った16F627用のLCDシリアルで約5秒程度で書き込めました。もしエラーがあった場合はもう一度ボタンを押すと元に戻ります。
再度パソコンと接続し、PICkit2アプリケーションを起動するとスタンドアロンモード(マイクロチップでは、プログラマーツゥゴーという)は終了します。
● ロジックツール対応。
ロジックのI/Oツールとして、また簡易ロジアナとして使用できます。
ロジックツール・ロジックアナライザーのマニュアルはマイクロチップ社が提供しています。ここからpdfをダウンロードできます。
ロジックツール
ロジックアナライザー
● UARTツールでVDDを与えられる様になる。
2.40では電源プルアップが必要でしたが、それが不要になった模様です。下記画面は、適当な装置から0x02~アスキーコード~0x03を受信してみた結果です。
● 1台で複数のPICkit 2をサポート。
2台以上のPICkit2がUSBに接続されている場合、起動時どのPICkit2ユニットを使用するかのダイアログボックスが表示されます。
なお、複数でPICkit2アプリケーションを起動したり、MPLAB IDE上からプログラムとして使用すると、認識番号の大きい方の挙動が安定しない事が多い様です。PICkit2が複数接続されているいずれかを選択できる機能と考えて使用した方が良いでしょう。
どのUnit番号かは、選択してSelectをクリック後にPICkit2のLEDを見て判断します。
PICkit2をどんどん挿していくと、HID準拠デバイスの数が増えます。台数は最大で8台までとなっています。
その他の新機能(V2.50):
● 手動デバイス選択。 メニューに増えました。
● PIC32デバイスサポート。
● メモリー表示選択とコピーデータ。
● Hexファイルの表示とデータプロテクト設定。
● MCP250xx CAN デバイスのプログラム方法変更。
● PIC18 J-series のプログラム方法変更。
● PIC24FJ プログラム方法変更。
● PIC24HJ / dsPIC33FJ プログラム方法変更。
● 最後に開いたThe PICkit 2 アプリケーションのサイズ記憶。
● HEXファイル内のコンフィグレーションの警告機能。
● INIファイルのREVS:が有効の時、16bitデバイスのリビジョンを表示する。
● Windows Vista 64-bit OS サポート。
修正(V2.50):
● アプリケーションディレクトリに書き込み許可が無い場合、アプリケーションがDevice Fileを開けることができない問題の修正。
● DPI設定を96で修正(標準)。
● Pickit2がブートローダモードの時、"Help > About"ダイアログで現在の正確なブートローダバージョンを確認。
● 閲覧モード時に常に "Hex Only"リセットされた問題の修正
● Pickitボタンを長く押されたとき、書き込み動作が一向に始まらないのを、書き込んだ後にボタンが離されるまで待つようにした。
● "Check Communication"の時、PIC18 K-Seriesデバイスかミッドレンジデバイスかの検出機能の修正。
● 16F5xベースラインのhexをインポートをすると、プログラミング時のコンフィギュレーションベリファイエラーになる事がある修正。
このバージョンではPICkit2Red Button仕様の事は記載されていませんでしたので、ノーマル、レッドどちらでも適用できるものと思います。
●メニューオプションでTools -> Use VPP First Program Entryが追加
VDD電圧値の設定保持(Pickit2を立ち上げた時に前回と違うデバイスファミリが接続されていた場合、VDD電圧値を標準に設定する)
●VDDのキャリブレーション(校正)機能搭載(電圧計が必要となります)
Tools ->Calibrate Vdd & Set Unit IDを選択、Nextを2回押して2-3ピンの電圧を測り、その値を入力してCalibrateボタンを押し、Finishedを押せば終わりです。これでVDDが2%の誤差に収まります。但し、使用しているUSBの電圧により異なります。またダイオードの電圧降下(D4)の影響で調整できる電圧に制限があります。
●OSCCALLの検査確認
ライトやイレース操作時、OSCCALのセット元となる最終番地に無効な値があるときに、警告を出すようにした。
●KEELOQ HCS パーツサポート(原本を参照してください)
●Serial EEPROMサポート
3種類のシリアルEEPROMをサポートします。(サポートデバイスは原本を参照してください)
I2Cではプルアップが必要になります。
●UART(通信)機能のサポート
※Note
UARTを使う注意点
UARTツールとして使う場合、PICkit2からVddは供給できません。
VddピンはターゲットのVddを繋げなければ動きません。
TX & RX 信号線は反転のロジックレベルです。 (Start Bit = GND, Stop Bit =Vdd)
RS232Cレベルの信号は接続できません。
モード | PIC | HCS | UART | I2C | SPI | Microwire | Logic Tool | ||
---|---|---|---|---|---|---|---|---|---|
マイクロチップ | KEELOQ | 非同期 | NXP(旧フィリップスセミコンダクタ) | フリースケール・セミコンダクタ(旧モトローラ)※1 | テキサスインスツルメンツ(旧ナショナルセミコンダクター)※2 | Logic | Analyzer | ||
規格 | - | - | 無手順 | I2C specifications Rev. 6 — 4 April 2014(PDF) |
SPI Block Guide (本家よりデータ取得ができないため、ミラーとしてNew Mexico Institute of Mining and Technology) |
MICRO WIRETM Serial Interface(PDF) | |||
デバイス | PICxx | HCS20x, 320,360, 361 | - | 24LCxx(8pin) | 25LCxx(8pin) | 93LCxx(8pin) | |||
PICkit 2のpin | 1 VPP | Vpp (vddと10kΩでプルアップ) |
2 HCS360, 361 only | - | - | 1 nCS | 1 CS | Output only | |
2 Vdd | Vdd | 8 | Vdd (Vcc) | 8 Vcc | 8 Vcc | 8 Vcc | Vdd | Vdd | |
3 GND | Vss | 5 | GND | 4 Vss | 4 Vss | 5 Vss | GND | GND | |
4 PGD | RB7 | 6 | RX in ロジックレベル |
- | 2 SO | 4 DO | I/O | CH1 | |
5 PGC | RB6 | /3 HCS20x, 320 \3 -or- 4 HCS30x, 36x |
TX out ロジックレベル |
6 SCL プッシュプルドライブなので、プルアップ抵抗は不要 |
6 SCK | 2 CLK | I/O | CH2 | |
6 AUX | - | - | - | 5 SDA (Vddと2kΩ程度でプルアップが必要) |
5 SI | 3 DI | I/O | CH3 | |
デバイスのピン処理 | - | - | - | 1, 2, 3 Ax pins デバイスのデータシートを元に、VddかGNDにしておく。一つならば通常はGNDでよい。 7 WP →GNDへ接続 |
7 nHOLD - disabled (Vddへ接続) 3 nWP - disabled (Vddへ接続) |
7 PE - enabled (Vdd) 6 'C' Device ORG word サイズによりVdd/GNDを選択 |
|||
その他 | - | HCSxxx File -> Import HEx Notes: The first line only may be imported from SQTP *.NUM files generated by the KEELOQ tool in MPLAB. |
150~ 38400bpsを1bps単位で指定可能。 送受信はBusyランプで表示。 PICkit2アプリ以外ではUART動作はできない。 |
400kHz:Tools -> Fast Programming にチェック 100kHz:Tools -> Fast Programmingのチェックをはずす |
925kHz:Tools -> Fast Programming にチェック 245kHz:Tools -> Fast Programmingのチェックをはずす |
925kHz:Tools -> Fast Programming にチェック 245kHz:Tools -> Fast Programmingのチェックをはずす |
ターゲットからの電源をつなぐ。 4,5ピンは4.7kΩでプルダウンされているので、その影響を考慮する必要がある。 |
※1.フリースケールセミコンダクタは2015年3月にNXPと合弁同意
※2.ナショナルセミコンダクタは2011年テキサスインスツルメンツの傘下になる
ICSP信号ソケットは、デバッグの時に良く抜き差しされますが、ちょっとした工夫で快適になる小技を紹介します。
下の写真の様にオスメスの延長ソケットを刺すだけで非常に快適なデバッグができます。ソケットがPICkit2から飛び出るので、ユーザー基板に干渉せずに接続できるため大変便利です。一度使ったら多分これ無しにはいられないでしょう。
また、PICkit2のソケットが多少長持ちします。
これは、千石電商で購入した、PCBソケット 1×40(標準ピッチ・L型)という部品を6ピンでカットして、L部分をペンチで伸ばして使っています。
6ピンの意味を貼っておくとなにかと重宝します。今回PICkit2がすばらしいバージョンアップをして頂いた事もあり、特別企画として裏に貼るシールを作成しました。これを貼っておけば、PIC,EEPROMのピン配置がすぐに分かり非常に便利です。
Version | Date code | article | Download |
---|---|---|---|
1.2 | 2008/6/4 | ピン表示位置修正、PICの品種を増やす | ● |
※表示内容につきましては万全を期しておりますが、保証は致しません。
印刷は高解像度印刷で行い、はがきサイズ防水シールの用紙をお勧めします。
印刷後、真ん中を切り抜いても良いですし、予めシリアルを控えてwordのテキストで書いても良いでしょう。
初期のロットの一部に、プログラムの更新ができないPICkit2が存在していたそうです。マイクロチップに問い合わせれば、交換に応じてくれますが、実は他のプログラマ(ライター)があれば、ファームウェアを単独で書き込んで修正が可能です。他にも、電源をうっかりショートさせてしまったり、ファームアップデート中にUSBから抜いたりするなどで、まれにファームウェアアップデートが出来なくなったときでも応用は出来ます。(但し、ショートや過電圧などによるハードウェアのトラブルは除外します。)
PICkit2をUSBと接続したとき、Powerランプが点灯し、Busyランプが約1秒毎の状態であれば、大抵はPICkit2のアプリケーションでOSをダウンロードすれば解決します。時間が掛かるので、失敗したかと思い込む可能性もあります。今一度PICkit2のDownload opration systemを実行してみてください。
この操作を行うにあたり、次の事をご確認ください。分解して改造する事は、通常はメーカーの保証対象外となりますので予めご了承ください。
まず、PICkit2の裏面シリアル番号は、BUR071490001~BUR071490700の700台の中ですか。 |
Pickit2を外部ライタで書き込みをする手順例
スルホールに半田付しなくてもいいように、コンスルーという部品を使用します。 独特のパーツで有名なマックエイトの部品を使います。サトー電気で扱っています。(結構需要はあると思うのですが、サトー電気さん以外ではどこも扱ってません。) このページを"コンスルー(マックエイト)"で検索するとページ中ほどにあります。私は商社さんから小分けしてもらった端切れのものを利用しました。 |
|||||||||||||||||||||||||||||
これを丸ピンにL字型に半田付けします。その後、ジャンプワイヤ(私はサンハヤトのSPP-150が便利なのでそれを使いました。 コンスルーが手に入らない場合は、PICkit2のJ1に丸ピンソケットなどを半田付けします。 こちらの方法や、こちらのような方法もあります。 |
|||||||||||||||||||||||||||||
電線を丸ピンのICソケットなどを利用して、配線します。私は秋月ライターをもっていて、これを利用しました。これは18F2550をサポートしています。Writer509でも同様の事ができます。バックアッププランとして、PICkit2が動いているときに、もう一つ別のライターを作っておくと、保険にもなります。次の接続情報を元に、接続します。 写真は、秋月のライターV4を使用た例です。 |
|||||||||||||||||||||||||||||
このように接続して、ファームウェアを書き込めば、元通りに戻ります。 書きこむファームの所在は、C:\Program Files\Microchip\PICkit 2 v2\ にある、PK2Vxxxxxx.hex で、一番タイムスタンプの新しいhexファイル(例 PK2V023001.hex )のファイルを使用します。
|
PICkit2はマイクロチップで販売しているICD2のアイテムを利用する事ができます。私がオススメのアイテムをご紹介します。どれも自作は可能ですが、マイクロチップ純正品は色々と安心できます。また注文してすぐに使うことができます。
(Microchip directにリンクされない場合は、リンク先で国を指定してから一旦閉じれば、開くことができます。)
これはICD2のインターフェースに容易に変換することが出来ます。標準的なケーブルといっても良いでしょう。取り付け方向は、取り付けが写真のようになります。変換基板の1ピンシルクがPICkit2の6ピンになっています。写真ではゴム足をつけていますが、それは私が貼り付けたものです。ケーブル、基板Assy、ヘッダーオスオスの3点が付属します。
このようにトランジスタ技術2007年9月号の付録の基板に簡単に接続が出来ます。
ブレッドボードでICSPを行うときに重宝します。インストラクションは厚紙です。ケーブルの素材はテフロンですので、耐久性があります。AC164110 - RJ-11 から ICSP の変換アダプタ が必要になります。
これを逆手に取り、リード線側をPICkit2に差し込めばRJ-25(RJ-11)のオスコネクタになるので、そのままICD2インターフェースとしても利用できます。但しその場合、勘合が少し緩い感じですので、テーピングをするなど、それなりの工夫は必要と思います。
決まったデバイスでまとまった数量を書き込むときに重宝します。電源が投入されていることを知らせるLEDが実装されています。I2Cのデバイスを書き込むときは、SDA(AUX6)をVDDとプルアップする必要があります。J3の部分はリードがそのまま半田付けされていて、耐久性に問題がありますので、ホットメルトやシリコンボンドなどで接合部分を補強しておいたほうが良さそうです。AC164110 - RJ-11 から ICSP の変換アダプタ が必要になります。
この書き込みで、電圧が正しくないエラーが出る様になったので、抵抗620Ωを4.7KΩにして、高輝度LEDに交換したら治りました。元々ICD2用なので、PICkit2などには適さないのかも知れません。
2011年12月より販売されました。上記の純正品より柔軟な設定ができ、PIC24Fなどを書くときに必要な電源用コンデンサが追加できます。
せっかくなので、PICもEEPROMも書き込めるアダプターを作ってみました。使うデバイスの種類に応じて電線で配線を変更して使用します。プルアップは2KΩですが、手持ちが無かったので1KΩで動かしました。デバイスは、ATMEL24C256を24LC256で書き込んでリード、ライト、ブランク、ベリファイすべて動作しました。
製作といっても、メスソケットをZIFソケットの横に半田つけしただけの簡単なものです。下の写真は試作ですが、使うプルアップ処理がもう少しスマートにできるときれいに出来そうです。ボード上の左下の7x2列コネクターはグラウンドだけを取る端子です。
デバイスファミリーでEEPROMSを選択して24LCを選択します
サイズを選択します。ATMELの24C256はこれを選択しました。
プログラムで成功した例です。
2011年より市場に出回り始めた高機能PICシリーズですが、PICkit2ではそのままの状態では書込みができません。
新しく公開されているデバイスファイルをダウンロードして上書きインストールします。必ず新しいバージョンのV2.61.00をインストールした環境で行ってください。
このページより、上記赤枠から最新のデバイスファイルをダウンロードします。詳しくはブログでも説明しています。
(2011/2/19)
v2.61.00では解決しております。
(2009/3/16)
英語版(マイクロチップのフォーラム説明用)
(2009/2/17)
自動検出できるデバイスは、ミッドレンジPICシリーズ、dsPICシリーズのみです。それ以外のデバイス(ベースラインやEEPROM等)は、手動でデバイスを確定する必要があります。
メニューより Device Family → 目的のデバイスを選択します。
(2009/2/1)
PICkit2を使ってPICを書き込んでも、書き込みエラーが頻繁に発生したり、全く書き込めない場合は以下のいずれかを実施してみてください。
1.テスターを用意して、VDDがONの時の電圧を測定。設定電圧を5Vにして、約4.6V~5Vであれば正常。電源電圧が足りない場合は外部電源を使用するか、バスパワー供給型のUSBハブを接続する。
2.Tools -> Calibrate VDD & Set Unit IDにて、電圧を校正する。
3.GNDとVCC間に0.1uF程度の積層セラミックコンデンサを並列に挿入する。
4.ターゲットデバイスへの電源供給が極端に行われていないか確認する。使用できる電流は公証25ミリアンペア以下。(PICkit2ユーザーズガイド27ページのVDDおよび47ページの5.2よく寄せられる質問の項を参照)
5.MCLRのVPP部分や、ICSPに接続するポートに負荷がない事を確認する。
6.今一度回路を確認する。
7.ユーザー基板を介さずにPICと直接接続する。
8.USBハブが多段接続になっていないか確認する。多段接続で電源電圧が低下する場合があるので、出来ることならパソコンからダイレクト接続が望ましい。
(2008/12/16)
PIC16F88において、表題の現象が起きました。以前報告した「PIC16F648AのEEPROMデータエリアが書き換わる問題」に類似した現象と思います。プログラムが破壊されるといっても、デバイスが壊れるわけではないので、再度プログラムを書き込めば問題なく使用できます。
この現象の不具合で不便なのは、PICkit2を電源として使う場合に問題が起きるでしょう。
今回は16F88で偶然に見つけましたが、他のPICマイコンでも同様の症状が起きる可能性もあります。
回避方法
1.PICkit2にターゲットを接続しない状態で、PICkit2アプリケーションを立ち上げる。
2.Program->Manual Device selectにチェックをいれ、一旦PICkit2アプリケーションを再起動してからターゲットと接続する。
(元に戻すには、その後Tools ->Check Communicationsを選択し、Program->Manual Device
selectのチェックを外してPICkit2アプリケーションを終了する。)
3.Device familiyデバイスファミリーを設定し、Deviceプルダウンメニューよりデバイスを選択する。PIC16F88であればmid
rangeを選択しておく。
もう一つの方法として、プログラム領域にコードプロテクトを施すと変更されない模様です。しかし、これは対処療法として成功した例ですので、全てのPICマイコンに適用されるとは限りません。
(2008/12/3)
複数でPICkit2アプリケーションを起動したり、PICkit2アプリケーションとMPLAB IDEを同時に動作させ、MPLAB上からプログラムやデバッガとして使用すると、認識番号の大きい方の挙動が安定しない事が多い様です。現在の所では、PICkit2が複数接続されていても、操作するアプリケーションは一つだけにして使用した方が良いようです。パソコンから切り離さなくてもPICkit2を選択できる機能と考えて使用した方が良いでしょう。
(2008/6/14)
※PICKit2のインストール実行ファイルをダウンロードして解凍すると、カスペルスキーインターネットセキュリティ(7.0.1.325 2008/6/14 3:47:06)では
トロイの木馬「Trojan-Dropper.Win32.Joiner.dp」として検知するようです。(他のウィルスソフトでは出ない模様です)
対策としては、このsetup.exeファイルを許可ゾーンにすることで回避されます。
(問題はないと思っておりますが、これらのファイルが安全かどうかは、こちらのサイトでは判断しかねます。インストールする方の判断にてお願いします。)
(2008/5/25)
PICkit2を接続しているとき、ゲームコントローラのプロパティが出なくなる現象があります。(コマンドラインでもjoy.cplが立ち上がらない、dxdiagもエラーを起こす)設定のコントロールパネル上のみの問題で、動作自体は行える模様です。
対策は今のところ、PICkit2とジョイスティックを排他的に使用する事となります。
マイクロチップフォーラムでの関連リンク
(2007/12/13)
(2007/3/1修正)
この問題はv2.50で修正されました。マイクロチップのフォーラムで質問した内容のリンク
プログラムが消去された16F648(A)とPICkit2本体の接続を済ませてからPICkit2アプリケーションを起動して、EEPROMデータ領域をReadすると、データアドレスの0x01,02が0xffになっていません。
Eraseボタンを押してReadすれば消えてくれます。
また、PICkit2アプリケーションのTool -> Check communicationをするだけでも同様の現象が起きました。新しいデバイスを数個試してみても同様に起きました。
PIC16F627、628、PIC12F629については、この現象は起きません。
ターゲットの基板の影響も考え、直接デバイスに信号を送り込みましたが同じ現象でした。
バージョン
PICkit2 is set to Red Button version.
PICkit2 application version
Application Version 2.40.00
Device File Version 1.40.00
OS Firmware
Version 2.20.00
PIC18Kファミリーのサーチ時にPIC16F648Aの最初の4バイトのEEPROMデータ領域と一致してしまっていて、この問題が起きているとの事でした。
回避方法
1.PICkit2にターゲットを接続しない状態で、PICkit2アプリケーションを立ち上げる。
2.Program->Manual Device selectにチェックをいれ、一旦PICkit2アプリケーションを再起動してからターゲットと接続する。
(元に戻すには、その後Tools ->Check Communicationsを選択し、Program->Manual Device
selectのチェックを外してPICkit2アプリケーションを終了する。)
3.Device familiyデバイスファミリーを設定し、Deviceプルダウンメニューよりデバイスを選択する。PIC16F648であればmid rangeを選択しておく。
(2007/12/13)
2015/3/20 リンク切れ等の修正
2014/5/13 PICkit2ソフトウェアのリンク先記載
2013/11/12 PICkit3への勧め
2012/4/30 I2C bus specification version 4.0 リンク
2012/1/23 Pickit対応ICSP書き込みアダプターキット 秋月電子を追加
2011/2/19 PIC12F1822/16F18xx系エンハンストPICを書き込む方法
2009/ 3/26 2.61リリースに伴う変更とver 2.60.00aの問題削除
2009/ 2/17 ver 2.60.00aの問題追加
2009/ 2/15 項目の全面整理
2009/ 2/ 1 ver2.60.00aに伴う追加変更、FAQ追加
2009/ 1/15 ver2.55.02に伴う追加変更
2008/12/22 小技集で内容をICSP信号ソケットの小技に変更
2008/12/16 現在分かっている問題補足にFAQ追加
2008/12/ 3 現在分かっている問題補足
2008/11/23 現在分かっている問題追記等
2008/11/18 ICSPの電流制限の記載修正等
2008/ 9/25 ver2.55.01に伴う追加変更
2008/ 9/18 ver2.55.00に伴う追加変更
2008/ 8/30 一部修正、REDボタン改造を別ページへ切り離し
2008/ 7/29 ver2.52.00に伴う追加変更
2008/ 7/22 ver2.52.00に伴う追加変更(速報)
2008/ 6/14 Ver2.51.00に伴う追加変更と現在分かっている問題追記
2008/ 5/25 現在分かっている問題追記
2008/ 5/11 PICkit2のOSダウンロード時の解決策の説明追加
2008/ 5/10 内容の修正
2008/ 5/ 6 Ver2.50.02に伴う変更
2008/ 4/23 あると便利なアクセサリーを追加
2008/ 4/17 他のライタで書き込む方法追加
2008/ 4/12 Ver2.50の説明追加
2008/ 4/11 モジュラージャック部分の説明修正、構成変更
2007/12/13 現在分かっている問題の追加
2007/ 9/ 7 RJ-11の説明とICD2のケーブル入手先追加
2007/ 7/29 細かい部分の修正
2007/ 7/ 1 シール公開
2007/ 6/30 ver2.40の新しい機能説明追加
2007/ 6/ 8 追加
2007/ 2/25 初版
(C)2007-2015 air variable All Rights Reserved..
ホーム