■ホビーロボット部品の製造・販売 
  モータコントローラ、センサ、音声、画像、無線モジュールなど、
■ホビーロボット制作記事のページ (各種マイコン、PCとの接続事例)
■特殊メイク、特殊材料の販売 ※特殊メイクのコーナーはこちらに移りました。
Top(お知らせ) 製品紹介 使い方とサンプルプログラム 通信販売 リンク ロボット掲示板 会社案内
 Easy Robotics for all enthusiastic people!!!  ---HOBBY ROBOT PARTS SHOP ASAKUSAGIKEN---   Since 2003...

A33F PICKit2を使用する場合

はじめに

 
A33Fにプログラムを書き込む場合は、ICD2又はPICKit2を使うことになります。2008年2月現在では

 ■ICD2:プログラム書き込みと、MPLAB上でのデバックが行える。価格が高い。

 ■PICKit2:現時点ではプログラム書き込みのみ。価格が安い。デバック機能は限定されたデバイスのみ対応だが現時点ではdsPIC33Fシリーズはデバックできない。

 という違いがあります。但し、Microchip社ではPICKit2でもdsPIC33Fのデバックが行えるようにプログラムを変更中とのことです。あまり長いプログラムを書かない場合はデバック機能は不要かもしれませんので、とりあえずPICKit2を購入するという手もあります。

 ここでは、PICKit2を使ってA33Fにプログラムを書き込む方法を紹介します。尚、A33F関連の説明ページではICD2による書き込み方法を紹介していますが、書き込み部分をこのページのようにして行えば同じようにプログラムを実行させることができます。


 ※このページで紹介する内容はあくまでも一例です。個別の作成のご相談ご質問はお答えできませんのでご了承下さい。このページと同じ内容についてのご質問についてはロボット掲示板にてお願いいたします。

 ※以下の情報は2008年2月現在のものです。ご注意ください。



PICKit2 Programmer アプリケーションソフトのインストール

 MPLABではプログラマ(書き込み機)の設定にPICKit2が表示されますが、ハイライトされていません。現時点ではMPLAB上から操作するのではなく、PICKit2を使う場合には書き込み専用ソフトを使う必要があります。(つまり、MPLAB上のPICKit2は押せません)




 PICKit2を購入すると、「PICKit Starter Kit」と書かれたCD-ROMが付いてきます。これをPCのCD-ROMに入れると自動的にウィンドウが表示されます。
(自動で表示されない場合は、CD-ROMの中の、「PICKit_Starter_Kit_Welcome.htm」をダブルクリックしてください。)

CD-ROMの中にはユーザーガイドやマニュアル類も入っています。詳しく使い方をマスターしたい場合はこちらを見てください(英語です)。このページでは書き込みの部分だけを説明しますが、A33Fに書き込みだけを行う場合はこのページの内容だけで足ります。

ここで左側の「Installs」を押すと次の画面になりますので、「Install PICkit2 Programmer Application」ボタンを押してください。



場合によっては次の画面が表示されますので「実行」を押します。



場合によっては次の画面が表示されますので「実行する」を押してください。



しばらくすると次の画面になりますので「Next」を押してください。



次に、インストールする場所の指定になります。ここは変更しないでそのまま「Next」を押してください。



次の画面になりますので「Next」を押してください。



ライセンスの許可の画面になりますので、「IAgree」をクリックし、「Next」を押してください。



インストールが始まります。



インストールが終わると次の画面になりますので、「Close」を押してください。その後は特になにも起こりません。CD-ROMは抜いてもかまいません。




PICKit2とPCの接続

 つぎに、PICKit2を添付のUSBケーブルでPCにつなぎます。しばらくすると、PICKit2が自動認識され、画面の右下にこのような表示がされます。これでPICKit2のドライバはインストールされます(特にドライバソフトをインストールする必要はない)。



PICKit2とA33Fの接続

 A33F開発当初はまだPICKit2が出ていなかったので、A33FにはICD2用のポートしか付いていません。しかし、ICD2もPICKit2も同じ方法で接続しますので、A33Fのプログラムポートから線を引っ張り出せば接続することができます。

 A33Fでインサーキットプログラム(基板上のマイコンを抜かないでプログラム書き込みする)を行うには

 MCLR(マスタークリア)
 VDD(電源)
 VSS(GND)
 PGD(プログラムデータ)
 PGC(プログラムクロック)

 の5つの線を 書き込み機<−>マイコン 間でつなぎます。

 PICKit2のコネクタは次のようになっています。2.54mmピッチのメスの穴があいているだけです。


 (上から見た図)
 6=Auxiliary というのもありますがこれは接続しなくてOKです。書き込みにはあくまでも上記5本の線のみつなぎます。尚、PICKit2のマニュアルを見るとMCLRは10Kオーム抵抗でプルアップするような指示になっていますが、これはA33F上でプルアップされていますので、単純に線を5本つなぐだけでOKです。


 A33Fのプログラムポートは、基本的にICD2用のモジュラーコネクタ(A33Fに添付)用になっています。ピンの配置は下図の通りです。ピン間は2.54mmピッチですので3ピンのピンヘッダを2個取り付けることもできそうです。モジュラーコネクタはA33Fにはハンダ付けされていません(添付されているだけ)。市販のモジュラーケーブルを使うという手もあります。
(上から見た図)


 「なんらかの方法で、抜き差しできるように」工夫して接続して下さい。A33F開発当初はPICKit2がありませんでしたのでこのようになってしまいました。申し訳ありません。

 今回はとりあえず、モジュラーコネクタをつけてしまった裏側から線を出して、ピンヘッダ(浅草ギ研で売ってます)にハンダ付けしました。写真では単純にハンダ付けしてますが、ハンダ部がむき出しだとロボット的には非常に危険なので実際にこのような方法を取る場合は半田部を絶縁の熱収縮チューブ(電子部品伝で売ってます)で覆ってください。



 接続してみたところです。A33F側にも電源をつなぎます。



 実際のプログラム開発時には、頻繁に抜き差ししますので、各自、ある程度強度のある抜き差ししやすいコネクタなどをつけた方がよろしいかと思います。



書き込みソフトの立ち上げ

 書き込みには「PICKit 2 Programmer」というソフト(このページ初めにインストールしたもの)を使います。「スタート」−>「Microchip」−>「PiICkit 2 v???」を選択するとプログラムが起動します。???のところはバージョンが入りますがバージョンは購入した時期によって違うと思います。ここではv2.11の例を紹介します。

 プログラムが立ち上がると次の画面になります。立ち上げた時にA33Fが正常に接続されていると、チップが自動認識されて、Device:のところにマイコンチップ名が表示されます。また、その下の表示が「PIC Device Found」となります。



ちなみに、A33Fへの接続が正常に行われていないと


このようにDevice:に No Device found と表示されます。

接続を確認して、Device Family -> dsPIC33 を選択すると、もう一度接続確認が行われます。また、 Tools -> Check Communicationでも接続を確認することができます。結果は薄い黄色の窓に表示されます。


 DeviceFamilyを見るとわかりますが、PICKit2ではdsPIC33F以外のシリーズの書き込みを行うこともできます。また、PIC24シリーズまではデバックも行うことができるようです(未確認ですが、そういう仕様になっていました。)。


基本的な操作は

 File:書き込みファイルの指定など
 Device Family:マイコンの種類を選択
 Programmer:書き込みや読み出し、照合などの操作
 Tools:通信確認や電圧確認、電源元の選択など

 となっていますが、ここでは書き込み部分だけ説明します。



HEXファイルの作成

 マイコンへ送る実際のデータはHEXファイルという種類のファイルを使います。プログラムはMPLAB上で作成し、ビルドするとHEXファイルが生成されますが、このままではPICKit2で使うことはできません。PICKit2用のHEXファイルにするにはMPLAB上でプログラムをEXportします。

 では実際に操作の様子を説明します。ここでは、次の章のサンプルプログラムである、LEDを点滅させるプログラムをExportしてみます。尚、MPLABでのプログラムは次の章から説明するので、ここでは、このような手順でPICKit2用のファイルを生成することだけ覚えてください。次の節で実際にプログラムを転送してみますが、こちらでExportしたファイルを用意してありますので、この節の操作はしないでも結構です。


 まず、MPLABを起動して、LEDを点滅させるプログラムを作成します。これは実際には次の章で行います。ここではfirstLEDというプロジェクト名でプログラムを作りました(次で作ります)。ビルドを実行すると firstLED.hex というファイルが作られます。このファイルはまだPICKit2用にはなっていません。



そこで、File -> Export を選択します。



次の画面になりますので、 

 ■ Program Memory Areas
 ■Configuration Bits
 ■User ID

全てにチェックを入れてください。その後、FileFormatタブを押します。



ここで INH32 を選択してください。その後「OK」を押します。



名前をつけて保存の画面になりますので、先のHEXファイルとは違う名前をつけてファイルを保存してください。ここではとりあえず firstLED_2.hex というファイル名にしました。その後「保存」を押します。


すると、PICKit2用のHEXファイル形式に変換された firstLED_2.hex が作成されます。




プログラムの転送

 実際に変換したファイルがこちらになります。

 firstLED_2.hex (右クリックで対象を保存)

 これは一秒ごとにA33F上のLEDを点滅させるプログラムになっています。では練習のため、実際にこのファイルを転送してみます。

 まず、 File -> Import Hex でファイルを指定します。次のウィンドウでファイル名を指定する画面になりますので、保存したfirstLED2.hexを指定してください。


 A33Fに電源が入っていないと次のような表示になります。実は、PICKit2はマイコン側に電源が入っていなかった場合はPICKit2から電源を供給しながら書き込むこともできます。しかし、これは実際にはPCのUSBから電源を取っているので、PCのUSB設定によっては上手く書き込めない可能性(可能性は非常に低いが)もありますので、なるべくA33Fには電源を入れてから接続するようにしてください。ちなみにこの画面でOKを押すと、次回からもPICKit2から電源を供給するモードに設定されたままになります。(Target -> Target VDD Sourceであとから変更は可能です。)


 ファイル指定が正常に行われた場合は表示が次のようになります。



 転送を行うには、Programmer -> Write Device 又は、


 Write ボタンを押します。



 転送が終了すると、表示が Programming Successful に変わります。(色が緑になる)


 転送終了後は直ちにプログラムが実行されます。このプログラムはマイコンの不揮発性メモリに格納されますので、電源を切っても消えません。次回から、A33Fに電源を投入すると、プログラムが実行されます。


おわりに

 以降のページはPICKit2発売前にかかれたものであり、全てICD2を使った書き込む例になっていますが、デバックを行わない場合はこのような手順でプログラムを書き込んでください。


2008年2月5日

 
(C)Copylight 2003. 有限会社浅草ギ研 | 通信販売の法規(訪問販売法第8条)に基づく通信販売業者の表示