- ベストアンサー
PICマイコンを使った分解能1μsの時間差測定とPCへのデータ取込み方
- PICマイコンを使った分解能1μsの時間差測定とPCへのデータ取込み方法について
- 信号A、Bの立ち上がり時間の差を、分解能1μs・最大時間100ms程度で測定し、USBコネクタでPCに時間差データを転送する方法を教えてください。
- マイコンのクロックに10MHzや20MHzなどの切りのいい周波数を使い、PICマイコンの割り込みを利用する方法があります。適切なPICマイコンの型番とプログラミング法、PCとのインターフェースの方法について教えてください。
- みんなの回答 (7)
- 専門家の回答
質問者が選んだベストアンサー
んー、そのボードだとI/Oポート系が見当たらないように見えますが、信号A/Bをどうやってとりこみます? オペアンプに限らず、マイコンにアナログ信号を入れたいときはA/Dコンバータを経由します。 H8だと内蔵しているものが多く、アナログ信号入力用のポートも存在しますが、内蔵していない場合は外部にA/Dチップを付けてそちらを通してデジタル化した信号をマイコンに送るようにしましょう。 ところで、あまり本格的なのでなくても、おそらくこんなのでもある程度は目的を達せられると思いますが、どうですか? http://toragi.cqpub.co.jp/tabid/284/Default.aspx 雑誌付録の基盤ですがUSBでプログラム転送できるのでフラッシュライター不要ですし、使い方は雑誌本体に書いてありますし。
その他の回答 (6)
- D-Matsu
- ベストアンサー率45% (1080/2394)
そうそう、まさしくこんな感じのです。 ちょっと私が考えてる動作クロックよりは低いですが、なんとかならないこともないでしょう。 RS-232Cの信号もピンホールから出てるようなので、そこからD-Sub9ピンコネクタに変換する必要はあります。 手間を考えるとUSB(-UART変換付き)かD-Sub9ピンの口が付いてるのが理想ではあるんですが、なかなか見当たりませんねぇ。
補足
素早い回答ありがとうございます。 http://www.yellowsoft.com/products/h8gset2.htmlに載っているH83048Fのマイコンがありました。 このマイコンで機能は果たせますか? また、PDの光のデータをオペアンプ(ブレッドボード上で)を使ってマイコンに接続し転送できますか? PDはhttp://akizukidenshi.com/catalog/g/gI-02984/ オペアンプはhttp://akizukidenshi.com/catalog/g/gI-03112/を使おうと考えています。 回答・解説・指摘お願いします。
- D-Matsu
- ベストアンサー率45% (1080/2394)
UARTというのはPCのCOMポートに繋いで通信を行うためのもの、と解釈しておけばとりあえずはいいでしょう。 クロックは内部の8MHzでは厳しいので外部供給の必要がありそうです。 個人的にはブレッドボードで自力実装もいいけど、適当なマイコン評価キットを使った方が楽じゃないかなーと思ったりもしますが……
補足
回答ありがとうございます。 マイコン自体触ったこともないので、今、本を読んで勉強中です。 マイコン評価キットというのはhttp://akizukidenshi.com/catalog/g/gK-00162/でいいのでしょうか? 見当違いだったら申し訳ないです。 また、おすすめの評価キットがあれば紹介お願いします。
- pyonmae
- ベストアンサー率64% (40/62)
こんにちは。 そこからですかー・・・。 という事は、PICをさわるのも初めてという事でしょうか。 一問一答でやっていけるレベルでは無いと思います。 素直に、入門書を買ってくるのが吉かと。 USBまでは、とても長い道のりかとは思いますが、頑張って下さい。
補足
回答ありがとうございます。 PICに関しては触ったこともないです。 とりあえずPICの入門書、買ってみたいと思います。 ありがとうございました。
- pyonmae
- ベストアンサー率64% (40/62)
こんにちは。 UART機能は、お察しの通りシリアル通信の事です。 PICに内蔵されています。 詳しくは、検索してください。 その質問が出るところを見ると、ますますUARTをお勧めします。 まずはUARTで作って、USBはその後で考えられるのが吉かと思います。 候補に挙げられたPICは、バッチシではないでしょうか。 私もそれを買うと思います。 本当に満足のいく結果が得られるかどうかは、実験してみないとわかりませんが。
補足
素早い回答ありがとうございます。 UART今まで調べてみたんですが、いまいち理解できなくて・・・ UARTの前にとりあえずhttp://akizukidenshi.com/catalog/g/gI-01775/のマイコンを買ってみようと思います。 そこでまた質問になるのですが、マイコンのクロック周波数の設定はどのようにするのでしょうか? ブレッドボード上で水晶発振器などと接続して操作するのでしょうか? またマイコンとPCの配線の仕方や回路図など、できれば教えていただきたいです。お願いします。
- pyonmae
- ベストアンサー率64% (40/62)
こんにちは。 パルスの時間差測定については、PICの割と高級な機種を使えば、そんなに難しくはないと思います。 選定については、そりゃ本家のサイトが間違いないんじゃないでしょうか。 MICROCHIP http://www.microchip.com/ ここから、Products → 8-bit → PIC18 Familyと辿れば、機種比較ページにいけます。 本件の場合の選定ポイントは、 ・CCPが2個 ・USB搭載 という感じでしょうか。 PCとインターフェースのプログラム方法は、「PIC USB」で検索すれば、結構でてきました。 ところで、大きなお世話かもしれませんが、本件ではどうしてもUSBを使わなければならないのでしょうか。 PCに放り出すデータ量も少ないし、USBは開発の手間に対しての効果が薄いような気がします。 #1さんの言われるように、UARTを使われた方が良いと感じますが・・・。 USBでつなぐ、もうひとつの方法として、FTDI等のSerial-USB変換チップを使う手もあります。 こちらはスピードも出せますし、ご検討されてみては、いかがでしょうか。
補足
こんにちは 回答ありがとうございます。 素人質問で申し訳ないのですがUARTというものが良くわかりません。 シリアル通信をするものみたいなのですが、意味が良くわからないです。 それはPICなんでしょうか? PCとはどのような方法で接続するのでしょうか? 申し訳ないのですが回答・解説・指摘お願いします。参考になるサイトがあれば紹介もお願いします。 また、使うマイコンとしてはhttp://akizukidenshi.com/catalog/g/gI-01775/のようなマイコンでは機能は果たせないのでしょうか? 見当違いだったら申し訳ないです。
- D-Matsu
- ベストアンサー率45% (1080/2394)
最小遅延が数usとなると、1サイクル辺り10nsくらいで動けないと厳しいでしょう。 必然的に100MHz程度の速度で動作できるマイコンが必要、ということになります。 PICは使ったことがないのでこの手がそのまま使えるかどうかはわかりません。 H8辺りなら問題ないはずです。 ・メインスレッドは送信処理以外何もしない ・フリーランタイマを1us以上の精度で走らせておく ・ポート入力、もしくはインプットキャプチャのLo→Hiエッジでハンドラを起動 ・割り込み時にフリーランタイマのカウンタ値を取得 ・Bの割り込み時に、Bで取得したカウンタ値とAで取得したカウンタ値の差分から遅延時間を算出 ・算出したらフラグ等でメインスレッドへ通知し、算出結果をPCへ送信 送信はUSB-UART変換経由で行うのが楽かと思います。
補足
回答ありがとうございます。 素人質問で申し訳ないのですがUARTというものが良くわかりません。 シリアル通信をするものみたいなのですが、意味が良くわからないです。 それはPICなんでしょうか? PCとはどのような方法で接続するのでしょうか? 申し訳ないのですが回答・解説・指摘お願いします。参考になるサイトがあれば紹介もお願いします。 また、使うマイコンとしてはhttp://akizukidenshi.com/catalog/g/gI-01775/のようなマイコンでは機能は果たせないのでしょうか? 見当違いだったら申し訳ないです。
お礼
休日中にマニュアル読んだのですが、I/Oポートはない感じでした。 どうすればいいのか別途で質問したいと思います。 回答しだいで、お勧めされたhttp://toragi.cqpub.co.jp/tabid/284/Default.aspxを購入しようと思います。 何回も質問に答えてくださりありがとうございました。大変参考になりました。
補足
回答ありがとうございます。 何回もの質問に答えてくださりありがとうございます。 休日中にとりあえずH83048Fのマニュアルを読み込んでふさわしいのかを調べたいと思います。 また、トランジスタ技術のページの紹介ありがとうございます。 H83048Fが適さない場合には検討して購入したいともいます。