|
HOME >>(連載)PICマイコンのソフト開発 >>新連載 書き込み器の話題をメインにしたPICマイコンのソフト開発(1)
新連載 書き込み器の話題をメインにしたPICマイコンのソフト開発(1)
これからちょっとマイコンのソフト開発を行おうと思ったとき、DIPサイズのマイコンを使うと簡単です。現在、秋葉原の店舗で販売されている14ピン~20ピンのDIPサイズ・マイコンには、78K、AVR、HC(S)08、MSP430、PIC16F、R8C(アルファベット順)があります。
このように複数のマイコンが存在する中では、どのマイコンを利用するかに悩みます。このように、決まっていない段階では、あまりそのマイコンの開発ツールにお金をかけないで試してみたいと思うでしょう。
先にあげたこれらのマイコンの開発ツールのソフトウェアは、多少の制限があるものの、すべて無料でダウンロードできます。ただ、マイコンに書き込みを行うときは何らかの書き込みのアダプタを必要とします。また、使用事例が豊富にあることや、マイコン自体の入手が容易ということも考慮する必要があります。
そうなると。やはりPICマイコンに軍配が上がります。
●安価なPICライタを入手する
そのマイコンを使うか決まらないので、PICマイコン用のプログラム書き込みアダプタ(PICライタ)は安いものを使うこととします。格安のPICライタに「PIC用簡易ICSPフラッシュ書き込みプローブ(JDMプログラマ) Ver.2」以下「ICSP-V2アダプタ」があります。これはエレキジャック協力店でもある、東京ラジオデパート2Fのノグチトランス2号店(日曜/月曜日、祭日は定休日)にて税込み980円で完成品が販売されています。
このICSP-V2は、半年ほど前に、オリジナルJDMアダプタで問題だった電源回路の不安定化に対して対策を行ったバージョンアップ版です。同時に18Fマイコンでの動作確認も完了しています。
このICSP-V2アダプタは、ICSP(In-Circuit Serial Programming)という名前のように、ターゲット基板に接続して書き込みを行うのが元々の仕様です。アダプタとパソコンはRS-232Cケーブル(シリアル・ケーブル)でシリアル・ポート(COMポート)に接続します。このアダプタでは、ほかのJDMライタ系と同様にノート・パソコンのCOMポートやUSB-シリアル変換ケーブルでは、電圧の関係から動作しないことが多いようです。
ターゲット基板に接続して行う場合の電源は、アダプタから供給されます。しかし、実際の書き込みにはターゲット・マイコンのI/Oポートを、いったん切り離して行う必要があります。
それではちょっと使いにくいので、アダプタのコネクタ先にZIFソケットの回路を作って「18ピンPICマイコンの書きこみ器」を作ってみました。PIC16F648Aマイコンに書き込む場合の接続は、アダプタからの6ピン・コネクタから接続回路図のように配線します。

●低電圧プログラミング(LVP)機能への対応
ICソケット部分は、マイコンが低電圧プログラミング(LVP)機能をもっている場合には、プルダウン配線が必要です。たとえば、16F648Aのときでは、RB4(LVP、PRG)端子を10kΩでコネクタのPGM端子に接続しプルダウン(グラウンドにつなぐ)します。18F1320ならばRB5で、また16F819を使うときはRB3を同様にプルダウンするようにします。
実際に作ったものは、16F648AをサポートするRB4ポートまたは、18FマイコンをサポートするRB5ポートをプルダウンするように切り替えスイッチをつけています。旧バージョン16F84Aではスイッチ位置に関係ありません。ただ、これから作る人はスイッチでなく、各ポートにプルダウン抵抗をそのまま接続しGNDにしたほうが良いでしょう。
また、18ピンを使わず28ピンのZIFソケットを使うというのは、秋月電子より発売されている「28ピンのマイコンCPUモジュールとなったPIC16F648A」に書き込みするためです。18ピン・マイコンはZIFソケットの下側にあわせて使うようになります。

ただし、書き込みにはつぎのような注意が必要です。
簡易な書き込みなため、書き込み後のデータの保証はできません。書き込み不良が発生した場合には、消去書き込みベリファイを繰り返してください。また、確実な書き込み電圧、確実なプログラム・シーケンスではありませんので、量産の書き込みには向きません。あくまでホビー用途・実験用途用と思ってください。
オリジナルのJDMライタはhttp://www.jdm.homepage.dk/newpics.htmのWebページ、サンプルの回路図や説明は http://www.jdm.homepage.dk/newpics.htmにあります。
●もっと各種PICマイコンをサポートする書き込み器にする
DIPタイプのPICマイコンには8ピン、14ピン、18ピン、20ピン、28ピン、40ピンがあります。またシリーズにはPIC10F、PIC12F、PIC16F、PIC18Fがあります。
何とか多くのマイコンに書き込もうと思う方のために、ほかの方が作成した書き込み器を紹介します。説明を抜粋すると次のようになります。
この書き込み器では、40ピンのゼロ・プレッシャ・ソケットを使用して、8ピンから40ピンのPICマイコンに対応します。ICは上方向に(1ピンを合わせる方向)に合わせます。
各ピン数のPICマイコンに合わせて接続を合わせるのにスイッチで切り替える方法もありますが、結構高額になってしまうので、ICSPV2アダプタの接続コネクタを四つ搭載して使用マイコンに合わせて選択し、接続する方式としました。
40ピン-28ピンの切り替えで、どうしてもスイッチが一つ必要です。10kΩの抵抗は、LVP対応のプルダウン抵抗です。
コネクタは日圧XHの6ピンを使用しました。四つのコネクタは、8ピン/14ピン/20ピンPIC用(CN1)、18ピンPIC用(CN2)、28ピンPIC用(CN3)、40ピンPIC用(CN4)です。ICSPV2アダプタのハーネスを、使用PICマイコンに合わせて接続します。また、40ピンPICを使用する場合にはスイッチ(SW1)をONにします。


40ピンZIF製作の詳しい説明のpdfファイル
●書き込みソフトの設定
JDMプログラムの「書きこみソフト」は、インターネットから、いくつかフリーのものが入手できます。ここでは、フリーのICPROG.EXEプログラムV1.5D英語版を入手し、パソコンにインストールして設定するまでを説明します。
(1) 書き込み用プログラムの入手
ここでは、WindowsXPパソコンで動作する書き込み用ソフトICPROG.EXEプログラムを使います。このプログラムは下記のURLよりダウンロードします。
http://www.ic-prog.com/index1.htm
画面のように左側の画面を下にスクロールダウンして、「Download」をクリックします。

ダウンロードするプログラムは、画面の下へスクロール・ダウンします。ここの一番上のIC-Progと下のNT/2000Driverの二つの圧縮ファイルをクリックしてダウンロードします。

ダウンロードした二つの圧縮ファイル(ZIP)を特定なフォルダに展開します。ここではICPROGという新規フォルダに入れてみましょう
次の画面に示すように、icprog.exeとicprog.sysをフォルダに展開します。さらにicprog.exeプログラムのショートカットを作ってデスクトップ画面に置くと起動が簡単です。

(2) プログラムの初期設定
まずICPROGを起動したら、ハードウェアの設定を行います。初期設定の画面のメッセージが出るので、ここでOKを押し初期設定します。

すると、次にハードウェア設定画面が出るので、次のように設定をします。
(1) programmer は 「JDM Programmer」を設定
(2) Ports はJDMプログラマを接続するパソコンのシリアル・ポートを指定
(3) interface はWindows APIを指定します。
これでOKボタンを押します。

(3) オプションの設定(ドライバ)
ここでメイン画面が表示されます。

メイン画面の上にある「Setting」メニューのオプション「Option」をクリックします。オプション画面の画面に示すようにMISCタブを選択して、Enable NT/2000/XP driver にチェックします。

このドライバを使うためにメッセージが出ます。YESボタンで進めます。別のメッセージも出るかもしれませんが、同じような内容なので、そのままYESボタンで進めてください。
(4) ハードウェアの設定
メイン画面の「Setting」メニューのハードウェア「Hardware」をクリックします。画面に示すように、先ほど変更した「interface」のところを「Windows API」から「Direct I/O」に戻し、OKボタンを押します。

(5) 使用するマイコンの設定
画面に示すように、右側のところで「使用するマイコン」を選びます。今回は16F648Aを選んでください。

ここまでで初期設定は終わりです。いったん、プログラムを終了しましょう。
●マイコンへの書きこみ
マイコンへ書き込むプログラムは、あらかじめダウンロードなどして入手している必要があります。エレキジャック誌1号に掲載された「岩塩ランプ」のプログラムをダウンロードしてHEXファイルを準備します。以下はPIC16F648Aマイコンに書き込むまでの例で説明します。当然ながら、16F648Aマイコンを用意します。
ここからは実際にプログラムを書き込み手順となります。
(6) 書き込むプログラムHEXファイルを読み込み
プログラムを起動し、メイン画面のFileメニューのOpen Fileをクリックします。次に、書き込むプログラムが入ったフォルダを指定して該当するマイコン用HEXファイルを指定します。
ここでは岩塩プログラム「LED_M1.HEX」を書き込む例で説明します。画面に示すように、ダウンロードしたそのファイルを選択して読み込みます。

(7) 内容を確認
読み込みが終わると、画面に示すようにそのバイナリ・データ内容が表示されます。とりあえず、上のマイコン名と右側のconfigデータを確認しましょう。この例で使用している岩塩ランプのプログラムは、あらかじめConfigデータを入れてあります。このため、この例では特に修正する必要はありません。
ほかのプログラムを書き込む場合は、入っていないかもしれません。そのときは、Configuration欄のOscillatorやFuseなどを指定します。

(8) 書き込み
マイコンを書き込みソケットにセットして、画面の書き込みボタンを押して書き込みます。画面のようにすでに書き込みがあるマイコンを使用すると、確認メッセージが出ます。そのマイコンに書き込んで良いのであればYesで進めます。書き込んではいけないマイコンの場合はNOを押して、別のマイコンに交換して再度書き込みボタンを押します。

(9) 書き込みが終わったら、自動でベリファイ(検証)され書き込んだ内容が確認されます。画面に示すように成功のメッセージが表示されたらOKです。

(10) 念のため、ベリファル・ボタンを押すと、今書き込んだ内容を再度確認します。万一書き込みでエラーが出たら、いったん消去ボタンでメモリを消去して書き込み、ベリファイします。
(参考) 安定した書き込みをするために
書き込みにエラーが出る場合の対策です。メイン画面のSettingメニューのハードウェアHardwareをクリックします。そうすると先で述べた画面になるので、一番下の「I/O Delay」のバーを少しずつ右に動かして、安定した書き込みができる位置を探します。ここをうまく設定することで書き込みエラーがなくなることがあります。
また、ノート・パソコンなど通信ポートへの供給電圧が低い場合は、エラーが起こりやすくなります。
後田 敏
タグ:
ICSP-V2
JDM
低電圧プログラミング
投稿者: yoshida 日時: 2007年04月16日 15:16 | パーマリンク |TOPページへ ▲画面上へ
トラックバック
このエントリーのトラックバックURL: http://www.eleki-jack.com/mt/mt-tb.cgi/208
この一覧は、次のエントリーを参照しています: 新連載 書き込み器の話題をメインにしたPICマイコンのソフト開発(1):
トラックバック時刻: 2007年05月17日 10:13
|