スパイス  組み込み制御装置の受注製作

ライブラリの導入
平成27年 2月 12日

 MPLAB Harmonyの使い方(14) Ethernetの導入(1) 実験基板の準備
 イーサネットの導入に関しては、少し試して上手くいかないようなら中断するつもりで行います。
これには現時点で私のユーザーにイーサネットを必要としている人が居ないことと、他にやりたい事があるためです。
ライブラリとして動作するなら取りあえずの動作確認を終わらせる程度が目標になります。

 最初は実験用のハードウェアを準備することから始めます。
従来使用してきたオプティマイズ社製PIC32USB基板には追加でイーサネット機能を追加できます。こちらに説明があります。
この追加ボードはPIC32USB専用のようで、比較的簡単にイーサネットを追加できます。基板の組み立ては説明書の記述どおりに行います。

   少し寄り道して、デモボードの使用について
 マイクロチップ社には多くの評価ボードが用意されており、価格も比較的安価です。
イーサネットに関しては型式DM320004の製品がUSBおよびイーサネットの評価ボードです。
価格はおよそ$75ですので送料を加えても1万円を少し超える程度で購入できます。
手早く動作を検証するだけならデモボードを使った方が速いのですが、それだと何も考えないで終わってしまいます。
多少なりともプログラムを読んで変更する努力をしないと、いざ実際に使用する基板にプログラムを移す段階でジタバタすることになります。
そのためにもデモプログラムから本来は不要なLED表示などを削除して必要な機能部分をライブラリやサブルーチンに切り分け出来る程度に理解する必要があります。そのための機会として異なるハードウェアで動作させるのはいい機会になります。
 この方法の欠点は、元々のプログラムが最初から動かないものであった場合には、とんでもない迷路に迷い込むことがあります。
ある程度考えて原因が分からないときには、最初に戻って(必要であれば評価ボードを追加で購入して)プログラムの正常動作を確認することが必要になる場合があります。



 ただし、動作確認の部分ではHPの説明とは少し異なるので、ここで手順を説明します。
 ・PIC32USBをPCに認識させる。
   新規にPIC32USB基板を購入して組み立てたばかりの人が対象です。組み立てたPIC32USB基板をUSBケーブルに接続してPCに認識させます。
   登録で必要になるドライバはDriver.lzhをダウンロードして読み込ませます。
 ・次に、tools.lzhをダウンロードします。検証に必要なファイルは全てこの中に揃っています。適当なフォルダに解凍しておきます。
  (HPの記述ではマイクロチップ社のHPからファイルをダウンロードする必要があると書かれていますが不要です)
 ・PIC32USBを購入状態に戻す。
   具体的には、PIC32のROMにオプティマイズ社が書き込んであったプログラムを書き込みます。ファイル名はusb_loader.hexです。
   このプログラムをICD3やpickit3などを使って書き込みます。
 ・後はHPの手順どおりです。
    ◆ コマンドプロンプトを立ち上げ、カレントディレクトリを先にtools.lzhを解凍したフォルダに移動します。
        「pic32wr httpdemo.hex」を実行します。画面上にはROMの更新状況が順次表示されます。
    ◆ IPアドレス、ゲートウエイアドレス、IPマスクアドレスを設定します。当然アドレスは実験環境によって変更が必要です。
        コマンド:「ws <RomAddress> ”<アドレス>”」
            IPアドレス       :0xbd00d994
            マスクアドレス    :0xbd00d9a4
            ゲートウェイアドレス :0xbd00d9b4
    ◆ 「re」コマンドでROMに書き込んだhttpdemoプログラムを起動します。
    ◆ Webブラウザで先のIPアドレスを表示させる。


 IPアドレスの書き換えアドレス範囲がオプティマイズ社のHPにある実行画面と一致しないのですが、これは問題ないようです。
実際の表示画面は下記のようになります。


 というように簡単に動作確認できたように書きましたが、実際にはやはり一転びくらいはありました。
実は上記の正しい表示は、PCで直接アクセスしたときのみ正しく表示されます。
PICの開発環境は仮想環境に閉じ込めて使用していますが、この仮想環境内からアクセスすると何故か下記のように表示が崩れてしまいます。毎回同じ崩れ方ではなく、図の幾つかが表示されないという現象になります。
ソフトウェアのタイミングに関係した部分に弱い所があるのかもしれません。
今回はハードウェアの検証が目的ですので正しい動作が確認出来た段階で良しとし、それ以上は追求しないことにします。


目次へ  前へ  次へ