2016-07-09 21 views
0

私はマイクロコントローラを初めて使用しています。だから私は彼らの可能性についてほとんど考えていない。PIC MCUプロジェクトを使用したオシロスコープ

マイクロコントローラを使ってオシロスコープを作成し、ADCを介してデータをキャプチャし、処理して表示するためにusb経由でコンピュータに送信したいと考えています。

私はこのプロジェクトについて議論したいと思います。私の持っているリソースは次のとおりです。

1)私のdsPIC MCUのADCは、各サンプルが10ビット分解能の1.1 Mspsを提供することができます。一度に最大4チャンネルの同時サンプリングが可能です。

2)MCUには、ADCから直接USBにデータを転送するためのUSBサポートとDMAチャンネルがあります。

私の質問は以下のとおりです。

1)私は、これらの仕様を使用してacheiveできる最速のサンプリングレートとは何ですか?

2)このプロジェクトは実現可能ですか?標準のオシロスコープと競合するのに十分速いでしょうか?

3)MCUのパフォーマンスを最大限に高めるためにMCUを最適化するにはどうすればよいですか?

4)このプロジェクトをどのように作成しますか? (あなたのアプローチ)

5)このオシロスコープの結果を表示できるコンピュータアプリケーションを作成するためにJavaFxを使用します。これは正しいアプローチですか?

答えて

1

私はdsPICファミリのMCUを使って作業を行っています。私はあなたの質問に順番に答えようとします。

1)これらの仕様を使用して達成できる最も速いサンプリングレートはどれくらいですか?

サンプリングレートは、1つのチャンネルからの読み取りのみを想定して、1.1 Msps(Mega-samples-per-second)と同じです。複数のチャンネルから読み取る場合は、チャンネルごとの最大サンプリングレートが低下します。

2)このプロジェクトは実現可能ですか?標準のオシロスコープと競合するのに十分速いでしょうか?

これは、マイクロコントローラのプログラミングと基本的な回路原理の基本的な知識があることを考えると、間違いなく実現可能なプロジェクトです。オシロスコープは、他のオシロスコープに匹敵するものでなければならず、1.1 Mspsのサンプル・レートから10xプローブのサポートなどの機能を除いたものです(その機能用の回路を構築しない限り)。このプロジェクトの高度な機能のほとんどは、マイクロコントローラそのものではなく、Javaプログラムに組み込まれます。

3)どのようにしてMCUが最高のパフォーマンスを発揮するように最適化できますか?

できるだけ速い性能を得るには、仕様をサポートするように速くクロックを実行し、最小限の命令で同じ結果を達成する方法を見つけようとします。これは、クライアントプログラムがこれらの計算を実行できるようにするために、MCU側のデータフォーマットを回避することを意味する可能性があります。

4)このプロジェクトをどのように作成しますか? (お客様のアプローチ)

これらのMCUでのADC操作は、特に複雑ではありません。組み込みのモジュールは、プロジェクトを非常に管理しやすくします。このプロジェクトの最も難しい部分(私の意見では)は、USB経由でデータを転送して受信する予定です。私はこのプロジェクトの最初の部分に取り組んでいます(つまり、USBをPIC上で動作させ、そのデータをJava内からリアルタイムで受信して処理できるようにする)。私はCライブラリを使用することをお勧めマイクロチップ社のコンパイラでPIC24やdsPIC33ファミリまたは類似した16ビットMCUを使用している場合など、この1:私は、コンピュータのアプリケーションが可能作るためのJavaFXを使用するhttp://www.reesemicro.com/Home/pic24-software-library-collection

5)このオシロスコープの結果を表示します。これは正しいアプローチですか?

私はJavaFxを一度も使用していないので、私はその機能についてはわかりませんが、いくつかのJavaユーザーインターフェイスライブラリでこれが可能です。多分JavaFxに精通した人がこの質問の部分に答えることができたでしょうか?

+0

キャロル 答えにこのような点をありがとうございます。私が使用しているMCUはdsPIC33EP512MU810です。それにはUSB On-the-Goモジュールも付属しています。しかし、12Mbpsまでしか動作することはできません。 1.1Msps *(サンプルあたり10ビット)= 11Mbpsを転送する必要があることを考えると、このUSBモジュールはこのデータをリアルタイムで送信できますか? (オーバーヘッドなどの理由で疑問がある) 私はこのようなことに非常に戸惑いがあるので、まだまだUSBのことはあまり知らない –

+0

その製品のウェブページには、チップがUSB 2.0をサポートしていると書かれており、 480Mbpsが可能なので、USBはそのスループットを容易に処理できるはずです。あなたはいつもあるタイプの遅延(物理;)を持っていますが、私はUSBを使ってPICとPCの間のレイテンシをかなり小さくすることができると思います。 –

関連する問題