USB2.0対応PICマイコンによる データ取得システムの開発

Download Report

Transcript USB2.0対応PICマイコンによる データ取得システムの開発

USB2.0対応PICマイコンによる
データ取得システムの開発
環境計測
三宅洋
PICとは
PIC(Peripheral Interface Controller)
Microchip Technology Co.が開発したワンチップマイコン
CPU、メモリ、A/D変換器などのモジュールを内蔵
自動車や電化製品の電子制御に利用
最新デバイス
USB2.0対応
モジュールを内蔵
USBとは
USB(Universal Serial Bus)
パソコン本体と周辺機器などの接続に用いる
高速シリアル通信規格
最も頻繁に周辺機器との接続に使用される通信規格
<特徴>
・ 最大127台のデバイスが接続可能
・ 最大30 mまで延長可能
・ ホットプラグにより再起動の必要なし
・ プラグ&プレイ機能により設定が自動
目的
PICとコンピュータ間のデータ通信をUSBで行う
USB2.0対応PICを用いた
データ取得システムの開発
USB通信機能を持ったPICデバイス
USB接続周波数カウンタの開発
PICデバイスの同時制御
USB接続周波数カウンタとは
<周波数カウンタ>
電気信号(パルス)の周波数を測定する計測機器
USB通信機能を持つ周波数カウンタ
・ パソコンとUSBで接続
・ 計測データをUSB通信で送受信
<特徴>
・ 操作や表示をパソコンのディスプレイを使用
→小型、軽量
・ 電力供給源にUSBのバスパワーを使用
→外部電源不要
開発環境(ソフトウェア)
MPLAB
IDE
<USBフレームワーク>
⇒統合開発環境
PICのUSB機能を実現するためのツール
USB通信に必要なプログラムファイル一式
MPLAB
C18コンパイラ
・ USBデバイスを識別するためのID設定
⇒MPLAB IDE に統合可能なCコンパイラ
・ 送受信実行関数の定義
USBフレームワーク
⇒標準USBプロトコル規格に準拠した
ソフトウェア
USB接続周波数カウンタの構成
• PIC18F2550
• 標準デジタルIC
(74HCU04)
• クリスタル発振子
(20 MHz)
• 高精度発振器
(KTXO 12.8 MHz)
• USBコネクタ
• コンデンサ
• 抵抗
etc.
USB2.0対応の28ピンPIC
周波数カウント用の1秒ゲートパルス生成
正確な動作のためのシステムクロック
パルスの整形と増幅のアンプ
USB接続周波数カウンタの仕様
ドライバ → Windows標準内蔵USBドライバ
PC側アプリケーション → Visual Basic で作成
・ 測定結果のリアルタイム表示
・ 測定結果の記録
基準値
・ グラフ表示
USB接続周波数カウンタの原理 1/3
1回目 2回目 3回目
周波数=1秒間のパルス数
1 2 . 8 M回 目
正確な1秒を作る
カ ウン タ
・ ソフトウェアで作られた1秒は不正確
1 / 1 2 .8 M s e c
・ デットタイムを小さくしたい
この間が正確な 1秒間
外部発振器を使用
PIC内蔵のカウンタに
高精度発振器(12.8 MHz)のパルスを入力
12.8×106パルス=正確な1秒
USB接続周波数カウンタの原理 2/3
受信データの
有無をチェック
12.8 MHz
発信器
外部入力
アプリケーションで
操作ボタンなどをク
リック
文字列データ
PIC
受信した文字列
データに対応した
処理を実行
USB
文字列データ
受信データを
表示、記録
USB接続周波数カウンタの原理 3/3
文字列“START”を受け
12.8MHz発振器からのパルス
同時に2つの
を12.8×106回カウント後
カウンタが作動
2つのカウンタをストップ
カウント開始
12.8 MHz
発信器 12.8×106カウント
カウント開始
外部入力
[計測開始]
ボタンを
クリック
文字列
“START”
PIC
USB
2007カウント
“2007”を文字列
2つのカウンタをリセット後
として送信
さらにカウント開始
文字列
“2007”
[2007Hz]
と表示
性能評価
測定レンジ: 1 Hz~1 MHz
誤差
: 10-5程度(1MHzカウント時)
※プリスケーラを1/8で使用することで
最大約50 MHzまでカウント可能
<誤差要因>
12.8 MHz 高精度発振器の温度特性 ±3 ppm/℃
1℃の温度変化で 3×10-6 の誤差
最後に…
春山先生
ありがとう
御座いました m(_ _)m
斉藤先生
御静聴頂きありがとう御座いました..