PICライタ

  1. PICライタ

    1. ライタの役割

      PICライタは、PIC内部のROMにプログラムを書き込むツールです。書き込むに時には、実行時に利用するピンを共用します。このピンを利用して、プログラムをビット単位でシリアルに書き込みます。
       ROMに書き込むので、書き込みには10秒程度の時間がかかります。

    2. ライタの種類

      ライタには、PIC をライタのソケットに差し替えて書き込むもの(JDE、PDE)や、PICの ICSP端子 を用いてボードに組み込まれた状態で書き込み可能なもの(PicKit2,Picky)、汎用シリアル回線(RS232C、USB)とPIC側に書き込まれたローダソフトを利用して、書き込むタイプがあります。最後のローダタイプは、PIUC自身にプログラム領域に書き込む機能が必要ですから、対象が限定されます。
       
  2. PicKit2


    1. PicKit2の特徴

      PICの製作をしているMicroChipが提供するPICライタです。パソコンとはUSB接続、PICとは4本(電源2本、信号2本)のICSP接続をします。



      下記から、単体6400円で販売しています。picKit2は試験用のPICデモボードとの組み合わせです。
      http://www.mal.jp/open/productsshop/105.php#pickit2

      プログラム可能な範囲はPIC16/PIC18/PIC24/dsPIC30/dsPIC33 など多くのデバイスに対応します。また、コアソフトはバージョンアップ可能ですから、PIC新製品への対応が可能です。

    2. ICSP接続

      ICSPは In Circuit Seroal Programming の略で、書込みPICを回路に接続した状態で書き込むことはできます。PICKit2 には、DIP間隔の標準コネクタで接続できます。基板用のピンヘッダも付属しています。



      ICSPの端子と、PICの、VDD,VSS(gnd)、VPP(MCLR)、PGD、PGC、端子と接続します。VPP端子にはプログラム時に12Vが入りますから、注意が必要です(ダイオードで分離する)。PGC はPICkitからも片方向、PGD は、双方向の信号が流れます。分離する回路が必要です。



      VGD,VGP の端子は、PicKit2側でドライブしてきますからPIC側でこの端子に出力できません。入力で利用する場合、PicKit2は弱くLレベルに引きますから、 PicKit2のケーブルをはずさないと、正常に動作しない場合があります。
       ICSP端子は簡単な追加回路で、設定できます。こちらに利用例があります。

    3. 電源

      PIcKit2はUSBからの電源で動作します。書き込み対象のPICに電源が接続されていない場合、USBからの電力で書き込むことができます。PICが電源に接続されている場合は、自動的にPIC側電力を利用します。このとき、PIC側の電源電圧が低いと、バルク消去が出来ないため、警告メッセージが出ます。
       のPIC 側の回路は、PICKit2 からの電源を利用することができます。この場合、toolメニュー > VDDSorce で、「Force PicKit2」に設定すれば、PicKit側の電源で書き込み可能です。
       ただし、USB の電流制限(100mA)を越えてはいけませんから、PIC 側の電力が大きいときは、PICKIt側の電源が利用できません。
      PIC 側の電圧は、VDD Target のCheck をクリックすると、表示することができます。

    4. 書込みソフト

      添付のCDから、PICkit2 をインストールします。
      起動画面です。PICkit2 との接続確認メッセージが出ます。



       PICKit2 と PIC を4本ケーブルで接続します。PICの種類は(特定のPIC以外は)自動認識します。Fileメニューから「importHex」でHEXファイルを読み込みます。ProgramMemory を Enable して、Wite ボタンを押します。順調にいけば、書込み完了メッセージ(Ptogramming Successiful)が出ます。



      右下の 「Auto Import Hex + Write」 をクリックし、hex ファイルを指定すると、Hexファイルが変化すると、自動的に書き込むをしてくれます。Tools のメニューに 「Down Load PicKit2 Operating System」があります。ここから、システムを更新できます。

    5. DeviceError

      使用したPICを接続し、import Hex でファイルを読みに行くと、
           DeviceError FileNotLoaded
      なるエラーメッセージを出すことがあります。接続回路の不具合の場合でも出ますが、同じ回路でPICを交換しても出る場合があります。PICを他のライタで書き込みと、以後PicKit2で正常に利用できる場合もあります(過去3回くらい経験しています)。

    6. EEROM Data

       EEROM Data の 「Enabled」 をチェックすると、EEROM のデータを読み書きできます。ケーブルが接続されていれば、「Read」ボタンで随時チェックできますから、中間データを EEROMに書き込めば簡単なデバッグ機能として利用できます。

    7. AutoImport

      ウインドウ右下に AutoImport.. ボタンがあります。これをクリックして、Hexファイルを選択すると、このファイルを更新すると、PicKit2がそれを検出し、自動的にファイルをロードし再実行してくれます。デバッグ時などはとても便利です。


    8. 電源、リセット

      ウインドウ中央右に、電源とリセットのボタンがあります。PicKit2からの電源で実行している場合、ここのチェックで、電源のオン・オフやクリア(リセット)が出来ます。


  3. ブートローダ


    1. BootLoader

      PIC自身のプログラム(Boot Loader)を利用して、RS232Cなどのシリアル回線を利用してHEXファイルを受け取り、それを、自身でプログラムメモリに書き込む方法です。H8など他のプロセッサでは標準的な方法です。PICでの利用はプログラム書き込み機能のあるPICに限定されます。

    2. 市販

       PC側の送信プログラムがMicroLoader、PICに書き込むプログラムは BootLoader の名前で、市販されています。PIC にBootLoaderを予め書き込んでおけば、特別の装置なしで書き込めますから、大学などの教育現場では便利です。ただし、PICのリセットに DTR 制御線 を利用しているため、通常の USB-RS232C ケーブルは利用できません。USB-シリアル コンバータ をりようし、DTR を引き出すことができれば、利用可能です。
       

  4. PDE-XP PICライター

    1. PDE-XP

      PDE-XP は、USB接続の汎用PICライタです。殆どのPIC(dsPIC未対応)に対応しています。

    2. ドライバのインストール

       ライターを利用するには、ドライバーのインストールが必要です。ドライバ-はFDDで提供されます。
       ライターをUSBケーブルで接続すると、「ハードウエアの追加ウイザード」が現れます。「最適なドライバを検索する」をチェックし、「次へ>」をクリックします。ドライバーのあるドライブと検索場所(フォルダ)を指定し、FTDIBUS.INF ファイルを読み込み可能とします。「次へ>」をクリックします。「準備ができました」のメッセージがでます。「次へ>」をクリックし、読み込みを開始します。「インストールされました」が表示されます。

    3. アプリケーションプログラムのインストール

       PICプログラマーディスクの 「setup.exe」 を実行します。これで、アプリが組み込まれ、スタートメニューに「picProgrammer」が追加されます。

    4. 接続

      USBケーブルでパソコンに接続します。電源は不要です。PIC16C5xとPIC17CXXXには対応していません。ライターのレバーを上げ、PICの1pinを左上に揃え、レバーを倒して固定します。PicProgrammerを起動します。PICをライターに差し込んでないと、「Cant open file」が表示されます。

       正常に接続できない場合は、「check connection}が表示されます。Optionメニューの「communication]をクリックし、接続するシリアルポート COM1、。。、COM8、Port rate を調整します。rateは19200、portは通常COM4です。このUSBはSerial デバイスとして接続しています。他にシリアル接続のUSBがあると、COM4にならない場合があります。


    5. 実行、メニュー

       PICを差し込み OK をクリックすると、次のようなウインドウが開きます。
       
      表示されている 中央の
       000000: 3FFF 3FFF ..
      の先頭の00000: が番地、3FFFは初期値で、何も書かれていない状態です。
       下部は EEROMデータの初期値です。

    6. メニュー

       左下に赤く表示されているデバイス名が 書き込みたいPICの名前と異なる場合は、「pic」メニューの「Select Device」で一覧から選択します。
       次に、Fileメニューのopenで、PICに書き込むHEXファイルを指定します。このファイルは、アセンブルを実行すると、生成されます。「pic」メニューの「program entire Device」で書込みを実行します。
       FileメニューのfusesでPICのconfigを設定します。特に必要がなければ、チェックをはずしますが、発振方式の選択の身は必須です。PIC16F628で、内部発振回路を利用し、RA6ピンをIO端子として利用する場合、
       INTRC RA6-IO
      をチェックします。外部の水晶発振子を利用する場合 XT をチェックします。「pic」メニューの「program config fuses」をクリックします。これで、config(構成ビット)が書き込まれます。

    7. 利用

       単に「書き込む」場合便利ですが、プログラムの開発に利用するのは、ちょっとメンドウです。
       
  5. JDMライタ


    1. 簡易ライタ

       一般に利用されるライタは数万円(Pickit2で6千円まで下がりましたが)ですが、限定された機能ですが個人利用できるライタのキットや制作済みの回路が市販されています。その中でここでは JDM ライタを紹介します。これは、回路図が公開され、キットメーカーから、基盤と部品がセットされ800円程度です。
       接続はシリアル(COM)端子です。COM端子がない場合、USBからシリアルに変換するケーブルが1000円程度で入手できます。
       シリアル以外で、パラレルポート(プリンタケーブル)接続の回路も市販されていますが、これは、NT系統(2000,XP)などのOSでは利用できませんから注意してください。
       その他、多くの改良品もネット上で見つかりますが、品種や不安定の問題もありますから、現在は利用していません。

    2. ライタの問題点

       シリアル接続の簡易ライタの問題点は、電源をシリアル端子からの信号線からの電力に依存している点です。もともと、電力供給目的ではないので、COM端子によっては書き込みができない場合があります。「書き込み失敗」のメッセージがでても、書き込みには成功している場合もあります。
       また、新しいシリーズへの対応も期待できません。

    3. ソフト

       書き込みソフトは、IC-Prog と呼ばれる フリーウエアを利用できます。これは、JDM以外のライタにも対応しています。

    4. 接続

       RS232Cケーブルでノートパソコンとライタを接続します。キットではLEDが点灯するようになっていますが、動作が不安定なため、電力削減のため、利用していません。ライタのソケットにICを差し込みます。このとき、ライタ基盤のソケットにICの向きを揃えてください。ケーブルを上にしたとき、左下が1ピンになります。
       ICの取り外しを容易にするため、束線用ビニールを、ICの下に入れておきます。

    5. プログラムの組み込みと初期設定

       ICProgを、フロッピーディスクから Work フォルダにコピーしてください。起動すると、次ぎの設定ウインドウが立ち上がります。プログラマを「JDMプログラマ」、インターフェースを WindowsAPI とします。ポートをCom1 として OK ボタンを押します。



    6. PICの選択と書き込み

       右下のメニューでPICの種類を 16F628A とします。

       ファイルメニューから、「ファイルを開く」で、shift4bit フォルダの、.HEX ファイルを選択します(これは make すると生成されます。)ウインドウに、ファイルの内容が表示されます。
       構成ビットの内容が表示されます。これは、クリックで設定を変更できます。
      で書き込むを開始します。書き込みが終了すると、照合検証が実行されます。うまくいけば、「デバイスの照合の成功しました」が表示されます。