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