2011年3月1日火曜日

鶏と卵問題の対策

前回紹介しましたPICマイコン用プログラマ「Writer509CDC」ですが、このプログラマを作るためにはプログラマが必要という、いわゆる「鶏と卵問題」という重大な問題があります。今日はこの問題の対策を紹介します。

ただし、これから紹介する対策は、けっこう険しい道のりになります。コスト的には市販のプログラマよりは安くなると思いますが、手間を考えると3500円でPickit2を買ったほうがよいかもしれません。作る手間そのものを楽しめる趣味人だけ、これから先へ進んでください。それと、もう1つ注意です。これから紹介する対策のためには、シリアル(RS232)ポートのついたPCが必要になります。シリアルポートがなくても、USBーシリアル変換器を使ってもできるようですが、それを買うなら、前に紹介したPICerFTというプログラマを作った方がよいと思います。

前置きが長くなりましたが、「鶏と卵問題」の対策とは、「鶏と卵問題」のない他のプログラマを先に作製して、そのプログラマを使って書き込む、という方法です。
プログラマを作るためにプログラマを作る、という何とも二度手間な対策です。 でも、そのもう1つ作るプログラマも、それはそれでWriter509CDCとは別の使い道がちゃんとあるのでご安心下さい。

Writer509CDCを作るために作るもう1つのプログラマはHIDaspxというプログラマです。実はこのプログラマはPICマイコン用のプログラマではなく、AVRマイコン用のプログラマです。AVRマイコンとは、趣味の電子工作の世界でPICと並ぶ人気のマイコンです。日本ではPICの方がメジャーなようですが、海外ではAVRの方がメジャーという声も聞きます。ですから、このHIDaspxを作れば、AVRマイコンも使えるようになるのです。

では、まず作業の全体の流れを示します。

①「鶏と卵ライタ」でAVRマイコンにプログラムを書き込む
②HIDaspxを作る
③HIDaspxを使ってPIC18F14K50にプログラムを書き込む
④Writer509CDCを作る

では各手順を順番に説明します。

①「鶏と卵ライタ」でAVRマイコンにプログラムを書き込む
この次の手順②のHIDaspxというプログラマを作るために使うATtiny2313というマイコンに「鶏と卵ライタ」でプログラムを書き込みます。「鶏と卵ライタ」とは、マイコンのプログラマなしでマイコンにプログラムを書き込めるライタ(プログラマ)のことです。パソコンのシリアル(RS232)ポートを使います。この手順の詳細は↓こちらのサイトに詳しく説明されています。もし、この方法をやってみて、うまく書き込めていなかった場合、D-subコネクタの3番端子の配線を、2番端子に変更して試してみて下さい。RS232Cケーブルがクロスの場合、2番と3番が入れ替わっています。

参考サイト:
千秋ゼミ「AVRライタなしでHIDaspx用のファームを書き込む方法」
QRPな自作日記「鶏と卵ライター」


②HIDaspxを作る
上の①でプログラムを書き込んだATtiny2313を使ってHIDaspxというAVRマイコン用のプログラマを作ります。本来は AVRマイコン用のプログラマですが、次の③で紹介する方法でPIC18F14K50にもプログラムを書き込むことができます。ただし、そのためには回路に1つ注意があります。下のリンク先のサイトで紹介している回路図では、ATtinny2313の電源にUSBの5Vをそのまま使う例も描かれていますが、PIC18F14K50に書き込むためには、ATtinnyの電源を3.3Vにして下さい。また、その場合は、USBのD+およびD-に付ける3.6Vのツェナーダイオードは不要になります。具体的な回路は下の図を参考にしてください。12MHzの発振子は水晶を使ってください。セラミックではだめだそうです。
このHIDaspxをPICへの書き込みの目的だけに一時的につくるような場合は、3.3Vのレギュレーターの変わりに、下のサイトで紹介されているような、ダイオード×2個、または赤色LEDを使って5Vから約3.3Vに落とすという簡易的な方法でもよいと思います。また、私の回路図にある100Ωの抵抗は全て省いても大丈夫だと思います。

参考サイト:
千秋ゼミ「AVR/HIDaspx」
AVR試用記「HIDaspxライタ」



③HIDaspxを使ってPIC18F14K50にプログラムを書き込む
HIDaspxを使ってPIC18F14K50にプログラムを書き込むために、PICspxというPIC用の書き込みソフトを使います。書き込みにはかなり時間(数分~十数分)がかかります。でも、しょっちゅう使う機能でもないのでありがたく使わせて頂きましょう。

参考サイト:PICspx


④Writer509CDCを作る
あとは、このPIC18F14K50を使って、前の記事で紹介したWriter509CDCを作製してください。
ただし、③の方法で書き込んだPIC18F14K50を使用する場合は、7番ピンRC3/PGMに10kΩの抵抗(R_LVP)を接続して、プルダウン(グランドへ落とす)しておいて下さい。コンフィギュレーションのLVP(定電圧書き込み)が有効になったままですので。
コンフィギュレーションのLVPを無効にするためには、③の手順でMicrochipのHID Bootloaderをまず書き込んだ後、Writer509CDCの回路を組んでから、MicrochipのHID bootloader用書き込みソフトを使って、コンフィギュレーションの書き換えを許可する設定で私のWriter509CDC用ファームウエアを書き込んでください。

一見まわりくどい方法ですが、 これでPICのプログラマと、AVRのプログラマの両方を手に入れることができます。


にほんブログ村 その他趣味ブログ 電子工作へ
↑最後まで読んでいただいた方はこちらのリンクをクリックしてランキングにご協力下さい。
↓ついでに、下のリアクションもチェックお願いします。

2 件のコメント:

  1. HIDaspx のHEXファイルやアプリケーションは、どこで配布されていますか??
    できれば、ダウンロードリンクください。
    お願いします。

    返信削除
  2. 土川様
    返事が遅くなりすみません。
    HIDaspx関連のファイルは下記のサイトからダウンロードできると思います。

    http://www-ice.yamagata-cit.ac.jp/ken/senshu/sitedev/index.php?AVR%2FHIDaspx_news02

    返信削除