Ist die Analog-Digital-Umwandlung allein ausreichend, um analoge Daten über USB zu übertragen?

414
Everyone

Genau das, was der Titel sagt ...

Ein Geophon liefert einen analogen Ausgang. Es muss digitalisiert werden, bevor es auf USB veröffentlicht werden kann. Ist bloße Digitalisierung ausreichend? Was muss nach der Digitalisierung noch passieren, bevor das Signal auf USB gestellt wird?

1
Warum die Schlussabstimmung? Everyone vor 12 Jahren 0
Ihre Frage ist sehr breit und offen und für das Frage / Antwort-Modell von Stack Exchange nicht geeignet. ChrisF vor 12 Jahren 0

3 Antworten auf die Frage

2
sawdust

Nein, Sie können Daten nicht einfach auf USB stellen .

USB ist Universal Serial Bus . Ein Bus (in einem Computer) ist ein Steuerungs- und Datenpfad, in diesem Fall zum Verbinden von Peripheriegeräten (auch als Adapter bezeichnet ) mit dem Computer. USB verbindet Peripheriegeräte genauso wie PCI-Adapterkarten / -karten. Der USB-Host erwartet die Kommunikation mit einem USB-Gerät über das USB-Protokoll. USB ist einfach die Methode, die ein Peripheriegerät mit dem Computer verbindet. USB (der Bus selbst) ist kein Endbenutzergerät oder eine Verbindung.

Wahrscheinlich verwechseln Sie "USB" mit einem seriellen USB-Adapter (RS-232). Was Sie denken, ist nur ein USB-Port wirklich ein USB- Gerät für einen seriellen Kommunikationsport. Windows meldet ein solches USB-Gerät als COM-Port. Die Tatsache, dass die Verbindung über USB erfolgt, wird ausgeblendet, es sei denn, Sie suchen nach weiteren Informationen, z. B. dem Geräte-Manager.

Um die offensichtliche Folgefrage zu beantworten: "Nein, Sie können Daten nicht einfach über eine serielle Kommunikationsverbindung speichern", wenn Sie davon ausgehen, dass sie auf der empfangenden Seite zuverlässig gelesen werden.

  • Sie würden nur binäre Daten auf dem Link werden Putten ohne jegliche Integritätsprüfungen (eine schlechte Idee).
  • Wenn die A / D-Umwandlung mehr als 8 Bits pro Abtastwert erzeugt, haben Sie Mehrbyte-Abtastwerte. Sie benötigen eine Art Datenrahmen, um die Bytes pro Probe zu gruppieren und zu identifizieren.
  • Es gibt Leitungsprotokolle, die (länger als "normal") Zeitlücken verwenden, um Framing- oder Paketgrenzen anzuzeigen (z. B. Modbus). Dies erfordert jedoch die Unterstützung der seriellen Schnittstelle und des Treibers auf der Empfängerseite, um zuverlässig arbeiten zu können. Auf Anwendungs- / Benutzerebene gibt es keine Möglichkeit, die Zeit zwischen empfangenen Bytes genau zu messen. Die Verwendung zusätzlicher Bytes zum Bereitstellen von Rahmen ist daher äußerst robust.
  • Die richtige Methode zum Senden und Empfangen von Daten über eine serielle Verbindung, um ein Protokoll zu definieren und zu verwenden, insbesondere wenn die Daten binär sind (kein Text). Auch wenn der Datenfluss unidirektional ist, wählen Sie entweder Datensätze mit fester Länge oder variabler Länge und definieren Sie ein Layout, das die übertragenen Daten organisiert.
1
kingchris

Möglicherweise müssen Sie das Signal auf einen bestimmten Standard normieren. Sie müssen auch den Wertebereich festlegen, den Sie digitalisieren möchten. Zum Wiederherstellen der Daten aus der Datenquelle werden digitalisierte 8-, 16- oder 32-Bit-Daten verwendet. Mit welcher Neigung ändert sich auch das Quellsignal, also wie viele Punkte werden Sie in einer Sekunde lesen, um die Quelldaten erneut zu erstellen.

Ja, die Konvertierung allein reicht aus, aber welche Einzelheiten der Konvertierung werden wichtig sein. Sie müssen mit experimentieren.

1
Mikhail Kupchik

Sie müssen sicherstellen, dass die Digitalisierungsfrequenz (Abtastfrequenz) im Eingangssignal zweimal höher ist als die maximale Frequenz (die als nicht störend gilt).

Sonst bekommst du einen Müll.

Dies wird als Nyquist-Abtasttheorem bezeichnet.