シンプルなデジタル回路をデバッグするのに最適なツールは?


10

私は、統合デバッガーの贅沢に慣れているプロのソフトウェア開発者です。しばらくの間、私はArduinoプラットフォームを実験しています。ただし、Dallas DS1820デジタル温度センサーなどのコンポーネントとのインターフェースを試みることは、暗闇の中で手探りで行うことに似ています。

200ドル程度の緩い予算を想定すると、何が起こっているのかを視覚化するためにどのようなツールがありますか?Link InstrumentsのMSO-19を見てきましたが、オシロスコープとロジックアナライザーの違いについては、正直なところよくわかりません。

購入したデバイスが、使用している(単純な)コンポーネントのタイプを測定できることをどのようにして知ることができますか?

回答:


9

基本的に、オシロスコープはラインの電圧の段階的な読み取りを提供しますが、ロジックアナライザはそれが0または「高」であるかどうかのみを通知します(「高」の値は潜在的に5V、3.3V、または1.8Vあなたの回路)。必要な分解能が低いため、ロジックアナライザーにはオシロスコープよりも多くのチャネル(同時に読み取ることができるライン)があることがよくあります。

特定のデバイスについては、Saleae Logicについて素晴らしいことを聞きました。24MHzでサンプリングします。これは、特定のプローブの電圧が毎秒2400万回高いか低いかをチェックすることを意味します。ソフトウェアには、デバッグを支援する一般的な組み込みプロトコルの知識もあるようです。Atmegaxx8の最大クロック速度は20MHzであるため、arduinoの作業には24MHzで十分だと思います。


半日の詳細な調査の結果、Saleae Logicは今のところ、私が持っているアイデアの90%で私を助けてくれると言えるでしょう。このソフトウェアは、私のようなハードウェア「アウトサイダー」にとっては洗練されていて直感的に見えます。オシロスコープが非常に役立つことはわかりますが、単純なプロジェクトのタイプでは、USBロジックアナライザーは良いトレードオフのように見えます。
オーエントーマス

ではThe soul of a new machineトレーシー・キダー穴居人は火が燃えていないだろう理由は、オシロスコープを使用したこと(言い換え)と言います。:-)
stevenvh

9

これはコメントに収まらず、彼の答えは一般的に正しいので、ペンジュインの答えへの追加にすぎません。彼の答えの意味を明確にしたいだけです。

帯域幅/サンプリングレートに基づいて測定デバイスを選択するときは、十分注意してください。25mhzのサンプリングレートのデバイスは、25mhzのデジタルクロック信号を正確にサンプリングできません。

25MHzのデジタルクロック信号を取り、それを25MHzの帯域幅の Oスコープに入力すると、正弦波に近いものが表示されます。サンプリングレートが25MHzのスコープでは、ナイキストごとに、そのようなスコープでサンプリングできる最高周波数の信号が12.5MHzになるため、おそらくDCレベルを示します。

方形波は、この例では25MHzのクロックレートである基本周波数を含みます。また、正方形の形状を与える大きな奇数高調波も含まれています。25MHzのデジタルクロック信号を正確に見るには、25MHzだけでなく、75、125、175、225なども調べる必要があります。希望する精度、またはトランシーバのスルーレートまで。

これはロジックアナライザにとってはそれほど重要ではありませんが、それでも非常に重要です。ロジックアナライザーは、しきい値より上または下の「高」と「低」を探しています。入ってくるものが正弦波である場合、人為的に短い高状態と低状態、およびビット間の人為的に長いスペースが表示されます。これは、アナライザーのアーキテクチャーにある程度依存する可能性があります。

これにより、さまざまな送信モードに関連する問題を診断できなくなります。たとえば、SPIには、クロックの立ち上がりまたは立ち下がりエッジで有効なデータと、データの極性(1、0のどちらが高いか)に基づいて、4つの異なるモードがあります。他の伝送プロトコルにもこの問題があります(I2Sおよび関連するオーディオ形式など)。エッジ遷移が発生するタイミングを正確に特定できない場合、バスが仕様の範囲内で動作しているかどうかを判断することはほぼ不可能です。

一般に、目的のターゲットデータレートよりもはるかに高い帯域幅/サンプリングレートが必要です。40kHzのI2Cバスをサンプリングする場合は、100MHzのサンプリングレートのロジックアナライザーで十分です。25MHzのSPIバスをサンプリングする必要がある場合は、はるかに高い帯域幅のスコープ/アナライザーが必要です。実際の精度が必要な場合は500MHzに近い値で、その周波数範囲で測定できるサンプリングレートが必要です。

したがって、24mhzのサンプリングレートで推奨されるデバイスペンジュインは、約2mhz未満のデジタル信号の正確な測定のみを提供でき、そのデータレートに相当するスルーレートが得られます。


3
あなたは絶対に正しいです、これは私の心を完全に滑らせました。この効果をさらに説明するために、1 kHzの方形波をオシロスコープに入力し、結果として得られるフーリエ変換(x軸は基本的に周波数です)のスクリーンダンプを取りました:i.imgur.com/lJvtD.png。高調波は繰り返しピークです。
ジェレミー

1
@penjuin完璧なイラスト。オーウェンに対する私の答えを明確にするために、推奨されるデバイスのペンジュインは、おそらくそのクラスのデバイスで> 2MHzで実行されているインターフェイスを処理する必要がないため、アルドゥニオを処理する能力が非常に高いと思われます。私は彼が経験則としてそれをとらないようにして、彼が後でより高速のデバイス/インターフェースに進んだ場合に彼を噛んでしまうことを確実にしたかっただけです。
マーク

1
可変しきい値が適切に設定されたロジックアナライザーは、通常、信号周波数より高いいくつかの要因でのみロジックを分析するのに十分な分解能を提供します。この問題は、信号を受信するコントローラーが1.2V未満(たとえば)の場合はロジック0に切り替わり、2.2Vを超える場合(たとえば)はロジック1に切り替わり、ロジックアナライザーは1.7Vで切り替わって、タイミングが不正確。多くの場合、デジタル回路では2〜3倍高速なサンプルレートで十分です。
Wouter Simons

@wouter simonsは、帯域幅とサンプリングレートを混同しないように注意しています(実際に、回答での単語の使用もクリーンアップしました)。信号の周波数の2倍のサンプリングレートは、その信号を検出するための最低限です。プラクティスでは、スコープ、特にアナライザーは通常、多くのサンプルをオーバーサンプリングします。たとえば、私のtekスコープの帯域幅は100MHzですが、サンプルは2.5GHzです。
マーク・

すばらしい答えです。私はあなたの投稿を順調にフォローしましたが、おそらく安価なデバイスの1つで私が何を望んでいるかをまだ測定できます。より複雑なコンポーネントを探索するときは、制限に注意します。
オーエントーマス

8

主にデジタル回路で作業する場合は、ロジックアナライザーが最適です。オシロスコープは比較的少数(たとえば、2〜4)のアナログ信号を詳細に表示するのに優れていますが、ロジックアナライザーは主に高対低に関係しているため、通常はさらに多くの入力があります。

論理アナライザーとしてOスコープを使用することは確かに可能ですが、後者の利点は、数十の信号を同時に監視できるため、「全体像」を簡単に把握できることです。



2

ロジックアナライザーに関する限り、私は(比較的)安価なものの基本的な比較を書きました:

PCベースのロジックアナライザーの比較

サンプリング速度について注意すべき点の1つは、経験則では、正確な読み取り値を得るためには通常、データレートの4倍以上が必要であり、最大で10倍が望ましいです。したがって、8 MHzの信号(たとえば、SPIの安価なAVRから簡単に生成できる)を監視する場合は、32〜80 MHzのサンプリングレートアナライザが必要です。これは、「非同期」モードでキャプチャするときにのみ適用されます。「同期」モードで(たとえば、クロック信号を使用して)キャプチャしている場合、サンプリングレートはクロック信号のレートと一致する必要があるだけです。したがって、たとえばその場合、8MHzの同期サンプリングで8MHzのSPI信号をキャプチャできます(専用のクロック信号があるため)。


1

私はMSO-19を所有しており、とても気に入っています。アナログチャネルが複数あればいいのですが、オシロスコープとロジックアナライザの両方として機能します。価格については、これは素晴らしい機器だと思います(OS XのVMWareでも問題なく動作します)。オスコープは、回路の一部で実際に何が起こっているかを確認するのに役立ち、ロジックアナライザーのようにデジタルラインの高/低状態だけを表示しません。これは、標準のマルチメーターよりもはるかに正確な(そして応答が速い)電圧計です。ただし、I2CとSPIだけでなく、シリアルデータをデコードできると便利です。


1

この回答は、おそらくardunioを使用することにはあまり役に立ちませんが、一般的な質問に対する回答です。

pickit2のロジックアナライザー機能を頻繁に使用しています。明らかに、PICをプログラミングするためのものですが、デジタル信号を調べるためにいつも使用する3チャネルのロジックアナライザーモードもあります。現在のプロジェクトでCortex-M3を使用していますが、それでも使用します。明らかに、適切なギアの標準による非常に原始的なツールですが、それでも信じられないほど便利です

I2C回路とTV出力信号のデバッグにも使用しました。たとえば、こちらの投稿を参照してください


1

これはかなりクールで、本当に安いです:http : //www.seeedstudio.com/depot/preorder-open-workbench-logic-sniffer-p-612.html?cPath=75

それはまともなサンプリングレートを持っており、あなたはクールなオープンHWプロジェクトをサポートすることができます。まだベータ段階のようですので、何かを接続して機能させたいだけの場合、それは最高のことではないかもしれません。


1か月前にこれを購入したばかりですが、主にネットブックを使用していたため、コンピューターの画面サイズに「キャプチャ」ボタンをクリックできないという問題がありましたが、通常のサイズのラップトップまたはデスクトップコンピューターの場合は、大丈夫だよ あまり使った事はありませんが、少し気に入って、値段もいいです!
onaclov2000 2010

私はこのLAをかなり使用しています。これは私の最初のLAなので、おそらくそれが提供する電力/機能の50%未満を使用しています。他のさまざまな低コストのLAを比較すると、LAの中で最も価値のあるものの1つであることがわかりました。ソフトウェアは悪くありません。実際、私はそれが私の目的にはかなり良いと感じました。私の使用方法を確認したい場合は、自分のプロファイルをクリックして、私が尋ねた質問を確認してください。
icarus74
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.