USB接続周波数特性測定器(ソフトウェア編)


【ソフトウェア全体構成】

 この周波数特性測定器のプログラムの全体構成は下図のような構成となっていて、
PIC側はUSBフレームワークを元にし、パソコン側はVisual Basic 2005で作りました。



 PIC側のソフトウェアは、これまでのものと同様にマイクロチップ社から提供されている
USBフレームワークを使って簡単にUSB接続が実現できます。
 このUSBフレームワークは、バージョンアップ(V1.2)により内部が整理され、ユーザー
側のカスタマイズがより楽にできるようになりました。
特にCDCクラスのライブラリはUSBに関連する部分はほとんどそのまま使うことができ、
ユーザーI/O部分をio_cfg.hに追加し、ユーザーが追加するアプリケーション部分を
user.cとして追加するだけで完成します。

パソコン側のソフトウェアはRS232C接続なので、CDCクラスで提供されているINFファイル
を使ってWindows標準内蔵のUSBドライバを使います。
これであとは通常のRS232Cのインターフェースで通信ができるようになりますので、
MSCommやWindowsAPIで通信するようにすれば問題なくアプリができます。

今回のパソコン側のアプリケーションはVisual Basic 2005を使い、COM通信の部分
はWindowsAPIを使っています。

【PIC側プログラム詳細】

PICのアプリはデバイスをオリジナルのPIC18F87J50からPIC18F2550に変更しますので、
新たにプロジェクトを作ります。
まず、USBフレームワークのCDCクラスのファイルを一式新しいディレクトリにコピーします。
次の手順はMPLAB IDEのProject Wizardを使って手順どおりに進めるだけです。
プロジェクトに登録が必要なファイルはオリジナルのデモプログラムを参照します。
 これ以外にUSBフレームワークのソースファイルで変更した部分は下表の部分のみで、
USB通信部分は全く追加変更なしで動作します。

ファイル名 変更追加内容 備考
usbcfg.h ハードウェア指定でYOUR_BOARDのコメントアウトをはずす
 ・#define YOUR_BOARD  を有効とする
YOUR_BOARDの下記2行をコメントアウトする
 ・#define USE_SELF_POWER_SENSE_IO
 ・#define USE_USB_BUS_SENSE_IO
使用するボードを
YOUR_BOARDとする
main.c PICのデバイスをPIC18F2550に変更したのに伴い
 ・Confgiuration部の変更
 ・ADCON1の設定をYOUR_BOARDの項に追記
   ADCON1 = 0x0D;
 
io_cfg.h ボードに合わせて設定 ダウンロードファイル
を参照
user.c 今回のアプリ部を作成

user.c内の構成は簡単で、下記の2つの関数のみで構成されています。
  ユーザー初期化ルーチン(UserInit)
  ユーザー処理部分(ProcessIO)
この部分をフローチャートで表すと下図のようになります。



以上のPIC側のプログラムは下記からダウンロードできます。プロジェクトファイル1式と
なっていますので、そのままMPLAB IDEで開いてください。

  ★★★ PIC側プログラムのダウンロード(USBフレームワークを含む)
  
パソコンに本機をUSBで接続するために必要なINFファイルも上記のinfディレクトリ内に
含まれていますので、USBの接続の際には下記ディレクトリを指定します。
  C:\MCHPFSUSB\FreqAnalizer\inf\win2k_winxp_winvista32

これで正常にドライバがインストールされます。

【パソコン側ソフトウェア概要】  2007/12/20 ファイル保存機能追加

 パソコン側のプログラムはVisual Basic 2005で作成しますので、パソコンにMicrosoft .NET
Frameworkがインストール済みであることが前提となります。

まず作成するプログラムのダイアログは下図のようにしました。左側が手動操作する部分で
右側が自動計測してグラフを作成する機能となります。

バージョンアップで、下側に作成したデータをファイルとして保存したり、保存されているデータ
をグラフに再描画する機能を追加しました。





【自動計測の使い方】
 自動計測する場合には、下図のように測定する機器を接続します。OUT0とOUT1には同じ
信号が出力されていますのでどちら側を使っても構いません。
出力はそれぞれ可変抵抗でレベル調整ができますので、相手機器に合わせて適当なレベル
に設定します。グラフを見ながら設定します。



自動計測の仕方は、まずUSB接続ボタンを押してデバイスを接続状態にしますが、
このときUSB接続したとき、仮想COMポートとして接続されているはずなので、COMの何番
かを左側のボックスに入力します。COMポート番号はWindowsのデバイスマネージャか、
コントロールパネルで確認できます。
正常に接続されればConnectと表示されます。

次に右側のテキストボックスで測定開始周波数と終了周波数、測定分解能を設定してから
計測開始ボタンをクリックすれば自動的に下図のグラフが表示され、順次計測結果がグラフ
で表示されます。計測開始ボタンをクリックするとその時点で一旦グラフをクリアしてまた
最初から計測し直しますので、何回でも実行できます。
この間にOUTレベルを可変抵抗を使って適当な値に設定します。
上図の接続では、青色が入力データで、赤色が出力側のデータとなります。

   出力アンプの周波数特性 (拡大表示できます)


グラフに表題やチャネルの名称を表示させたいときは、それぞれのテキストボックスに
入力すれば自動的にグラフに表示されます。

【手動設定の使い方】
 手動設定は、ある固定の周波数の出力をさせるような場合に使うことができます。
この場合は測定器背面のBNCコネクタを使えば、約30MHz程度までの正弦波を
出力させることができます。

【データ保存/読み出し機能の使い方】
 グラフ表示が完了した時点で、保存ボタンを押せばファイル名を指定して保存の機能
が実行されますので、適当な名称で保存して下さい。ただし拡張子は「csv」の固定に
なっています。従って保存ファイルはExcelでも開くことができます。
 次に保存されているデータをグラフに再描画したいときは、読み出しボタンをクリック
すれば、グラフに表示します。


 上記VB2005のプログラムは下記からダウンロードできます。binディレクトリ内に
exeファイルも含まれていますので、即実行ができます。

  ★★★ パソコン側プログラムダウンロード

  ★★★ パソコン側プログラムダウンロード(保存機能追加)



  トップページへ