Academic Über NI Veranstaltungen NI Developer Zone Support Lösungen Online Store Kontakt MyNI

Dokumententyp: Tutorium
Von NI unterstützt: Ja
Veröffentlichungsdatum: 21.11.2006


Feedback


Ja Nein

Thematisch verwandte Links - Developer Zone

Thematisch verwandte Links - Products and Services

NI-Streaming-Technologie eröffnet neue Möglichkeiten bei der Datenerfassung

1 Bewertung(en) | 3.00 von 5
Drucken

USB hat sich von einem Peripheriebus für Computermäuse, Tastaturen und anderes Computerzubehör zum Bus erster Wahl für eine breite Palette von Anwendungen, darunter auch Datenerfassungsanwendungen, entwickelt. Eine kürzlich vom Sensors Magazine Online durchgeführte Umfrage zeigte, dass Ingenieure sich bei Datenerfassungsanwendungen eher für USB als für andere Busse entscheiden würden.

Da USB immer größere Verbreitung findet, arbeiten viele Firmen daran, die Kluft hinsichtlich der Leistung zwischen USB und Steckkarten (PCI bzw. PCI Express) für die Datenerfassung zu schließen. National Instruments, ein führendes Unternehmen in der Datenerfassungsbranche, brachte kürzlich eine leistungsstarke, USB-gestützte Datenerfassungsplattform auf den Markt, die die neue, innovative Streaming-Technologie (zum Patent angemeldet) umfasst. Eine der zwei der Hauptanforderungen, die Anwender stellen, wenn sie USB nutzen, ist die Möglichkeit, große Datenmengen gepuffert erfassen zu können. Die zweite besteht darin, eine Einzelpunktsteuerung eines langsameren physikalischen Vorgangs oder Systems ausführen zu können. Nach vielen Jahren der Forschung und Entwicklung bietet die Streaming-Technologie den meisten Anwender eine Antwort auf diese Anforderungen, indem sie dem direkten Speicherzugriff ähnliche Schnittstellen für USB-Geräte mit eigener Stromversorgung oder Versorgung über den Bus bereitstellt.

Im Gegensatz zu Steckkarten für die Datenerfassung verfügen USB-Geräte nicht über die Vorteile der DMA-Technologie (Direct Memory Access). Ein direkter Datentransfer erhöht den Datendurchsatz durch Übertragung der Daten vom Speicher der Steckkarte (genannt FIFO) direkt auf den Computerspeicher. Zudem wird die Wartezeit bei einer Prozessorunterbrechung vermieden. Bei der USB-gestützten Datenerfassung muss der Host-Rechner die Steuerung der an den USB-Bus übermittelten und von ihm empfangenen Daten ausführen. Daher müssen Daten verarbeitet werden, bevor sie an den Speicher übermittelt werden. Das Gesamtziel dieser neuen Technologie besteht darin, die Zeit bis zu einer Geräteantwort auf Anfragen vom Host-Rechner zu verkürzen.



Abb.1: Ein USB-Kabel ermöglicht die Übertragung von Daten zwischen Ihrem PC und Ihrem Gerät



Übertragungsmechanismus des USB

Um die Streaming-Technologie besser zu verstehen, ist eine Betrachtung des Übertragungsmechanismus von USB hilfreich. Abbildung 1 zeigt eine High-Level-Ansicht der Blöcke, die für den USB-Datentransfer des Datenerfassungsgeräts zuständig sind. Die Übertragung beginnt, wenn die Anwendungssoftware eine Anfrage für einen Block von Daten von der Treibersoftware absetzt. Der Treiber schickt dann eine Anfrage an die USB-Routine des Betriebssystems und identifiziert das entsprechende Geräte, von dem Daten erfasst werden, sowie einen USB-Endpunkt an diesem Gerät. Ein USB-Endpunkt stellt eine bestimmte Datenquelle des Geräts dar, wie beispielsweise einen Analogeingang. Die Treibersoftware unterteilt die angefragten Daten in Pakete, so genannte USB Request Blocks (URBs). Ein USB Request Block hat eine maximal zulässige Größe von 64 KB (bei Windows XP). URBs werden für die Betriebssystemroutine in eine Queue eingereiht, wo jeder URB für den Datentransfer in kleinere Pakete aufgeteilt wird. Für jedes Paket schickt das Betriebssystem eine Anfrage an das Gerät und empfängt die Daten, falls verfügbar. Nachdem alle Pakete für einen URB empfangen wurden, wird er geschlossen und die Daten werden der Anwendungssoftware zur Verfügung gestellt.

Geräteseitig reagiert der USB-Controller auf jede Paketanfrage, indem er Daten aus dem entsprechenden Endpunktpuffer erfasst und sie an den Host sendet. Stehen keine Daten zur Verfügung, antwortet er dem Host mit einer negativen Rückmeldung (NACK = Negative Acknowledgement) und wartet auf die nächste Paketanfrage. Um sicherzustellen, dass Daten am Endpunkt verfügbar sind, entwickelte NI die Streaming-Technologie, die den Datenerfassungsbereich des Geräts über dedizierte Datenströme mit dem Geräteteil zur USB-Kommunikation verbindet.

Überblick über die Signalströme




FAbb.2: Jeder Datenerfassungs-I/O-Kanal für den direkten Speicherzugriff (DMA, Direct Memory Access) wird einem entsprechenden Endpunkt an der USB-Schnittstelle zugeordnet.

Gewöhnlich ist der Controller auf dem Gerät für die Übertragung der Daten zwischen Datenerfassungsabschnitt und der USB-Schnittstelle zuständig. Diese Methode ist interrupt-gesteuert und verursacht dadurch beträchtliche Verzögerungen in der Übertragung. Überdies schränkt sie die Ansprechbarkeit des Geräts ein. Die neue Streaming-Technologie von National Instruments ersetzt diese herkömmliche Übertragungsweise durch DMA-Kanäle, die geräteintern die USB- mit der Datenerfassungsschnittstelle verbinden.

Beim Datenerfassungsgerät ist jeder Datenerfassungs-I/O-Kanal einem Endpunkt an der USB-Schnittstelle zugeordnet (s. Abb. 2). Jeder I/O-Kanal überträgt die Daten direkt an den entsprechenden USB-Endpunktpuffer und umgekehrt. Der lokale Controller greift dabei nicht ein, so dass eine viel höhere Übertragungsrate möglich wird. Während dieser Übertragungen kann der Controller unabhängig jede der weiteren Schnittstellen konfigurieren, ohne dadurch die DMA-Übertragungen zu beeinflussen.

Die Datenübertragung zwischen den USB-Endpunktpuffern und den Datenerfassungsein- und -ausgängen erfolgt unter Einsatz einer Kombination aus Round-Robin- und Fair-Scheduling-Verfahren. Diese Vorgehensweise sorgt für eine Aufteilung der Rechenzeit auf alle Endpunkte und gewährleistet, dass Anfragen vom Host-Rechner sofort nach dem Verschicken bearbeitet werden können.
Dieser Übertragungsmechanismus stellt nicht nur sicher, dass Daten an den bzw. vom USB-Bus übertragen werden, sobald sie zur Verfügung stehen, sondern stellt bis zu sechs unabhängige Datenströme bereit, die eine gleichzeitige Nutzung verschiedener Datenerfassungsfunktionen, wie z. B. Analogein- und -ausgabe, ohne Leistungseinbußen ermöglichen.

Verbesserte Geräteantwort durch Streaming-Technologie

Ein weiterer wichtiger Bestandteil dieser Technologie ist eine Low-Level-Software, die die USB-Kommunikation minimiert. Dies ist vor allem dann vorteilhaft, wenn nur wenige Daten übermittelt werden. Eine Einzelwerterfassung kann so in nur einem Datenpaket übertragen werden. Dank dieser Technologie stehen dem Gerät die Schaltkreise zur Verfügung, um das System mithilfe einer einzigen Übertragung vom Host-Rechner für eine Einzelpunkterfassung einzurichten.
Die Einzelpunkterfassung weist die Eigenart auf, dass für jeden erfassten Punkt eine gewisse Einrichtungszeit erforderlich ist, beispielsweise die Einrichtung von Registern. Für gewöhnlich steuert der Host-Rechner diese Einrichtung über den USB-Bus, wodurch sich die Einrichtungszeit verlängert. Durch die neue Streaming-Technologie kann der Controller des Geräts selbst das Gerät für eine Einzelpunkterfassung konfigurieren. Der Host-Rechner muss nicht mehr jedes Register einrichten, indem er Befehle über den USB-Bus verschickt. Daten werden an den Host-Rechner zurückgeschickt, sobald sie erfasst wurden. Dadurch lässt sich die Latenz der Kommunikation maßgeblich reduzieren.
Benchmark-Tests haben enorme Leistungssteigerungen bei Einzelpunkterfassungsraten für diese Geräte im Vergleich zu herkömmlichen Geräten gezeigt. Die Tests offenbarten eine Steigerung um bis zu 1600 Prozent bei Einzelpunktdatenerfassungsraten für Analogeingangskanäle. In Tabelle 1 werden weitere Einzelheiten zu den Testergebnissen aufgeführt.

Leistungssteigerung in %
Analogeingang
1600 %
Analogausgang
250 %

Tabelle 1: Die Streaming-Technologie von National Instruments verbessert die Leistung bei der Einzelpunkterfassung.

Neben den Steigerungen bei den Einzelpunkterfassungsraten verbessert diese Technologie auch die Antwortzeit des aktivierten Geräts. Gewöhnlich würde ein Erfassungssatz für eine bestimmte Anzahl an Punkten, beispielsweise 10.000, alle 10.000 Punkte erfassen, bevor der Nutzer Zugriff auf einen Teilsatz hätte. Die Streaming-Technologie sorgt dafür, dass das Gerät Daten erfasst und gleichzeitig überträgt. So könnten beim Beispiel mit den 10.000 Punkten die ersten 500 an den Nutzer zurückgeschickt werden, während die 9500 übrigen Punkte erfasst werden. Das ist ebenfalls aufgrund der zusätzlichen Intelligenz möglich, die die NI-Streaming-Technologie zur Verfügung stellt.

Optimierter Stromverbrauch für eine über den Bus versorgte Unterstützung
Die Unterstützung von Geräten, die über den USB-Bus mit Spannung versorgt werden, stellt eine Herausforderung bei der Streaming-Technologie dar. Das Maximum von 500 mA, das im USB-Standard definiert ist, macht es schwierig, alle notwendigen Komponenten ohne externe Spannungsversorgung zu integrieren. NI arbeitet hier intensiv an einer Lösung, um die Streaming-Technologie auch einfachen Busversorgungsgeräten zugänglich zu machen.
Die neue NI-Streaming-Technologie ist eine ausgezeichnete Kombination von Hard- und Software, die den Einsatz von Datenerfassungsgeräten mit schnellerem USB-Durchsatz und verbessertem Ansprechverhalten ermöglicht. Sie ermöglicht leistungsstarke und schnelle Datenerfassungsgeräte wie beispielsweise die neuen USB-gestützten Geräte der M-Serie und die NI-CompactDAQ-Plattform. Dank dieser Technologie tritt die USB-gestützte Datenerfassung in eine neue Leistungs- und Geschwindigkeitsphase ein.


Weiterführende Informationen
Zwei neue Produkten aus der Reihe der USB-gestützten Datenerfassung von National Instruments:

1 Bewertung(en) | 3.00 von 5
Drucken

AGB
Dieses Tutorium ("Tutorium") wurde von National Instruments ("NI") entwickelt. Auch wenn National Instruments dieses Tutorium technisch unterstützt, ist es jedoch möglich, dass dieses Tutorium nicht umfassend getestet und überprüft wurde. NI übernimmt weder Garantien bezüglich der Qualität des Tutoriums noch bezüglich der weiteren technischen Unterstützung neuer Versionen ähnlicher Produkte und Treiber. DIESES TUTORIUM WIRD IM "IST-ZUSTAND" ZUR VERFÜGUNG GESTELLT UND NI ÜBERNIMMT KEINERLEI GARANTIEN. AUSFÜHRLICHERE ERLÄUTERUNGEN ZU ANDEREN EINSCHRÄNKUNGEN ENTNEHMEN SIE BITTE DEN NUTZUNGSBEDINGUNGEN AUF NI.COM (http://ni.com/legal/termsofuse/unitedstates/us/).