Ich bin ein professioneller Softwareentwickler, der an den Luxus integrierter Debugger gewöhnt ist. Seit einiger Zeit experimentiere ich mit der Arduino-Plattform. Ich finde jedoch, dass der Versuch, mit Komponenten wie einem digitalen Temperatursensor Dallas DS1820 zu kommunizieren, wie das Herumfummeln im Dunkeln ist.
Unter der Annahme eines losen Budgets von etwa 200 US-Dollar, welche Tools helfen mir, mir vorzustellen, was los ist? Ich habe mir das Link Instruments MSO-19 angesehen, weiß aber ehrlich gesagt nicht viel über den Unterschied zwischen einem Oszilloskop und einem Logikanalysator.
Woher weiß ich, dass das von mir gekaufte Gerät die Arten von (einfachen) Komponenten messen kann, die ich verwende?
quelle
The soul of a new machine
Tracy Kidder heißt es (umschrieben), dass Höhlenmenschen ein Oszilloskop benutzten, um zu sehen, warum das Feuer nicht brennen würde. :-)Dies ist nur eine Ergänzung zu Penjuins Antwort, da sie nicht in einen Kommentar passt und seine Antwort im Allgemeinen richtig ist. Ich möchte nur eine Implikation in seiner Antwort klären.
Seien Sie sehr vorsichtig bei der Auswahl eines Messgeräts anhand seiner Bandbreite / Abtastrate. Ein Gerät mit einer Abtastrate von 25 MHz kann ein digitales Taktsignal von 25 MHz nicht genau abtasten, auch nicht in der Nähe.
Wenn Sie ein digitales Taktsignal mit 25 MHz aufnehmen und es in ein O- Oszilloskop mit einer Bandbreite von 25 MHz einspeisen, sehen Sie etwas in der Nähe einer Sinuswelle. Ein Oszilloskop mit einer Abtastrate von 25 MHz würde wahrscheinlich einen Gleichstrompegel anzeigen, da pro Nyquist das Signal mit der höchsten Frequenz, das ein solches Oszilloskop abtasten könnte, 12,5 MHz betragen würde.
Eine Rechteckwelle enthält eine Grundfrequenz, die ihre Taktrate ist, für dieses Beispiel 25 MHz. Es enthält auch große ungerade Harmonische, die seine quadratische Form ergeben. Um ein 25-MHz-Digitaluhrsignal mit Genauigkeit zu betrachten, müssten Sie nicht nur 25 MHz, sondern auch 75, 125, 175, 225 usw. betrachten. Wie weit Sie gehen müssen, ist nach oben mit der gewünschten Genauigkeit oder bis zur Anstiegsgeschwindigkeit des Transceivers.
Während dies für einen Logikanalysator etwas weniger wichtig ist, ist es dennoch sehr wichtig. Der Logikanalysator sucht nach einem "Hoch" und einem "Niedrig" über oder unter einem bestimmten Schwellenwert. Wenn das, was hereinkommt, eine Sinuswelle ist, sehen Sie künstlich kurze hohe und niedrige Zustände und künstlich lange Zwischenräume zwischen Bits. Dies kann etwas von der Architektur des Analysators abhängen.
Dies kann die Diagnose von Problemen im Zusammenhang mit verschiedenen Sendemodi unmöglich machen. Zum Beispiel hat SPI 4 verschiedene Modi, basierend auf Daten, die an den steigenden oder fallenden Taktflanken gültig sind, und auch auf der Datenpolarität (ist hoch eine 1 oder eine 0?). Andere Übertragungsprotokolle haben ebenfalls dieses Problem (z. B. I2S und verwandte Audioformate). Wenn Sie nicht genau erkennen können, wann die Kantenübergänge stattfinden, können Sie kaum feststellen, ob der Bus innerhalb der Spezifikation arbeitet.
Im Allgemeinen benötigen Sie Bandbreiten- / Abtastraten, die viel höher sind als die beabsichtigte Zieldatenrate. Wenn Sie einen 40-kHz-I2C-Bus abtasten möchten, ist ein Logikanalysator mit einer Abtastrate von 100 MHz mehr als ausreichend. Wenn Sie einen 25-MHz-SPI-Bus abtasten müssen, benötigen Sie einen Oszilloskop / Analysator mit einer viel höheren Bandbreite, etwa 500 MHz, wenn Sie echte Genauigkeit benötigen, sowie eine Abtastrate, die die Messung in diesem Frequenzbereich ermöglicht.
Daher kann das mit einer Abtastrate von 24 MHz empfohlene Gerät Penjuin wahrscheinlich nur eine genaue Messung von digitalen Signalen liefern, die kleiner als ~ 2 MHz sind, wobei die Anstiegsrate für diese Datenrate spürbar ist.
quelle
Wenn Sie hauptsächlich an digitalen Schaltkreisen arbeiten möchten, ist der Logikanalysator genau das Richtige für Sie. Oszilloskope zeichnen sich dadurch aus, dass sie relativ wenige (z. B. 2-4) analoge Signale detailliert darstellen, während Logikanalysatoren, da sie sich hauptsächlich mit High-vs-Low befassen, normalerweise sehr viel mehr Eingänge haben.
Sie können sicherlich ein O-Oszilloskop als Logikanalysator verwenden, aber der Vorteil bei letzterem ist, dass es einfacher ist, das Gesamtbild zu erhalten, indem Sie Dutzende von Signalen gleichzeitig beobachten können.
quelle
Es gibt einige gute Antworten auf diese ähnliche Frage: Anfänger-Logikanalysator?
quelle
Was Logikanalysatoren angeht, habe ich einen grundlegenden Vergleich von (relativ) kostengünstigen geschrieben:
Vergleich von PC-basierten Logikanalysatoren
Eine Sache, die Sie bei der Abtastgeschwindigkeit beachten sollten: Als Faustregel gilt, dass Sie im Allgemeinen mindestens das Vierfache Ihrer Datenrate benötigen, um einen genauen Messwert zu erhalten. Bis zu 10x ist besser. Wenn Sie also ein 8-MHz-Signal überwachen möchten (das Sie beispielsweise problemlos aus einem kostengünstigen AVR in SPI generieren können), benötigen Sie einen 32-80-MHz-Abtastratenanalysator. Dies gilt nur für die Aufnahme im asynchronen Modus. Wenn Sie im 'synchronen' Modus aufnehmen (z. B. mit einem Taktsignal), muss Ihre Abtastrate nur mit der Rate des Taktsignals übereinstimmen. In diesem Fall würde beispielsweise eine synchrone 8-MHz-Abtastung ausreichen, um ein 8-MHz-SPI-Signal zu erfassen (da es ein dediziertes Taktsignal hat).
quelle
Ich besitze ein MSO-19 und mag es sehr. Ich wünschte, es hätte mehr als einen analogen Kanal, aber es funktioniert sowohl als Oszilloskop als auch als Logikanalysator. Für den Preis halte ich es für ein schönes Gerät (und läuft gut in VMWare unter OS X). Das o'scope hat mir geholfen zu sehen, was wirklich in einem Teil der Schaltung passiert, und zeigt Ihnen nicht nur den High / Low-Zustand einer digitalen Leitung, wie es ein Logikanalysator tut. Es ist ein weitaus genaueres (und schneller reagierendes) Voltmeter als Ihr Standardmultimeter. Es wäre wirklich schön, wenn es serielle Daten dekodieren könnte, anstatt nur I2C und SPI…
quelle
Diese Antwort ist für Sie mit ardunio wahrscheinlich nicht sehr nützlich, aber eine Antwort auf die allgemeine Frage.
Ich benutze die Logikanalysatorfunktionen meines pickit2 sehr oft. Natürlich ist es für die Programmierung von PICs gedacht, aber es hat auch einen 3-Kanal-Logikanalysator-Modus, den ich ständig zum Betrachten digitaler Signale verwende. Ich benutze es immer noch dafür, obwohl ich Cortex-M3 für meine aktuellen Projekte verwende. Natürlich ist es ein extrem primitives Werkzeug für den Standard der richtigen Ausrüstung, aber trotzdem finde ich es unglaublich nützlich
Ich habe es auch zum Debuggen von I2C-Schaltkreisen und TV-Ausgangssignalen verwendet, siehe zum Beispiel meinen Beitrag hier
quelle
Das ist ziemlich cool und wirklich billig: http://www.seeedstudio.com/depot/preorder-open-workbench-logic-sniffer-p-612.html?cPath=75
Es hat eine anständige Abtastrate und Sie können ein cooles offenes HW-Projekt unterstützen. Es sieht so aus, als ob es sich noch in einer Art Beta-Phase befindet. Es ist also möglicherweise nicht das Beste, wenn Sie nur etwas anschließen und es funktionieren lassen möchten.
quelle