Übersicht
Traditionell ist in Mess- und Prüfsystemen die Kapazität der implementierten Datenübertragung begrenzt. Stand-alone-Messgeräte werden über Busse an den PC angebunden, denen die nötige Bandbreite fehlt, um Übertragungsraten aufrechtzuerhalten, welche es dem Gerät ermöglichen, Daten mit einer hohen Abtast- oder Update-Rate kontinuierlich zu erfassen oder zu generieren. Die meisten Erfassungsvorgänge mit Stand-alone-Oszilloskopen sind beispielsweise zeitlich begrenzt. Die Dauer der Erfassung wird dabei vom verfügbaren integrierten Speicher des Oszilloskops vorgegeben. Nach Abschluss der Erfassung werden die Daten zum PC übertragen. Genauso wird bei Stand-alone-Signalgeneratoren das Signal auf den integrierten Speicher geladen und das einzelne Signal wird einmal generiert oder als Schleife vom Speicher des Gerätes ausgeführt. Die PXI-Plattform basiert auf den Bussen PCI und PCI Express, die beide eine hohe Bandbreite bereitstellen. Deshalb können mit PXI Daten auch von und zu anderen Quellen als dem integrierten Speicher übertragen werden. Im Vergleich zum vorherigen Beispiel können PXI-Oszilloskope Daten kontinuierlich mit einer hohen Abtastrate erfassen, da die Daten in Echtzeit vom integrierten Speicher über den PCI- oder PCI-Express-Bus übertragen werden können. Die dabei mögliche Übertragungsrate (bis zu 2 GB/s) garantiert, dass die Daten nicht überschrieben werden, bevor sie vom Gerätespeicher übertragen werden konnten. Bevor die Architekturen für das Daten-Streaming erläutert werden, die in PXI-Systeme implementiert werden können, sollte man verstehen, wie das Streaming über den PCI- und den PCI-Express-Bus abläuft.
Inhaltsverzeichnis
Datenübertragung über den PCI-Bus
Bei PCI handelt es sich um einen parallelen Bus. Die gängigste Implementierung, die auch für PXI genutzt wird, bietet 32 bit und einen Takt von 33 MHz. Somit beträgt die theoretische maximale Bandbreite 132 MB/s (kontinuierlich ca. 110 MB/s). Da der Bus parallel arbeitet, teilen sich alle daran angeschlossenen Geräte die verfügbare Bandbreite. Von einem PCI-Gerät erfasste Daten werden vom integrierten Gerätespeicher erst über den PCI-Bus, dann über den PCI-Controller, über den I/O-Bus und schließlich in den Systemspeicher (RAM) übermittelt. Anschließend können sie vom Systemspeicher über den I/O-Bus auf eine oder mehrere Festplatten übertragen werden. Für die Verwaltung dieser Abläufe ist der Prozessor zuständig. Daten, die von einem PCI-Gerät erzeugt werden, folgen der entgegengesetzten Richtung. Darüber hinaus ist auch direktes Daten-Streaming zwischen zwei Geräten am PCI-Bus möglich. Abbildung 1 zeigt die Daten-Streaming-Architektur eines PCI-basierten Systems, z. B. PXI.
Abbildung 1: Daten-Streaming-Architektur eines PCI-basierten Systems, z. B. PXI
Daten-Streaming über den PCI-Express-Bus
PCI Express, eine Weiterentwicklung des PCI-Busses, ist zu diesem nach wie vor kompatibel, ersetzt aber den parallelen Bus durch einen seriellen Hochgeschwindigkeitsbus (2,5 Gb/s). PCI Express sendet Daten über differenzielle Signalpaare, die Lanes genannt werden und eine Bandbreite von 250 MB/s pro Richtung und Lane bieten. Mehrere Lanes können zu Gruppen zusammengefasst werden und verfügen dann über Verbindungsbreiten von x1 („by 1“, bzw. „1 Lane“), x4, x8 und x16. Ein x16-Link bietet eine Bandbreite von 4 GB/s in jede Richtung. Anders als bei PCI, wo sich alle am Bus angeschlossenen Geräte die Bandbreite teilen müssen, erhält jedes PCI-Express-Gerät eine dedizierte Bandbreite. PXI Express unterstützt bis zu 6 GB/s gesamte Systembandbreite (Controller zu Backplane) und bis zu 2 GB/s dedizierte Bandbreite pro Steckplatz (Backplane zu Modul).
Von einem PCI-Express Gerät erfasste Daten werden vom integrierten Gerätespeicher erst über eine dedizierte PCI-Express-Verbindung, dann über den I/O-Bus und schließlich in den Systemspeicher übermittelt. Anschließend können sie vom Systemspeicher über den I/O-Bus auf eine oder mehrere Festplatten übertragen werden. Für die Verwaltung dieser Abläufe ist der Prozessor zuständig. Daten, die von einem PCI-Express-Gerät erzeugt werden, folgen der entgegengesetzten Richtung. Wie beim PCI-Bus ist auch hier direktes Daten-Streaming zwischen zwei PCI-Express-Geräten möglich. Abbildung 2 zeigt die Daten-Streaming-Architektur eines PCI-Express-basierten Systems, z. B. PXI Express.
Abbildung 2: Daten-Streaming-Architektur eines PCI-Express-basierten Systems, z. B. PXI Express
PCI und PCI Express sind Busse mit hoher Bandbreite, welche die Implementierung mehrerer Daten-Streaming-Architekturen in PXI-Mess-, -Prüf- und -Datenerfassungssysteme ermöglichen. Diese Architekturen umfassen Folgendes:
- Gerätespeicher
- Arbeitsspeicher
- Controller-Festplatte (einschließlich RAID-Arrays)
- Direct-to-disk-Controller (Controller für den direkten Zugriff auf die Festplatte)
Gerätespeicher
Wie bereits betrachtet, bildet das Streaming von erfassten Daten auf einen Gerätespeicher oder die Erzeugung von Daten von einem Gerätespeicher auf ein Messgerät die gängigste Daten-Streaming-Architektur. Da der Speicher im Gerät integriert ist und die Daten nicht über einen Bus übertragen werden müssen, können sie mit der vollen Abtast- bzw. Update-Rate des Instruments gelesen oder geschrieben werden. Außerdem wird, da das Daten-Streaming von einem integrierten FPGA oder ASIC durchgeführt wird, der Prozessor des Systemcontrollers nur minimal beansprucht (s. Abb. 3). Die API-Unterstützung für diese Daten-Streaming-Architektur ist meist recht einfach, da sie allgemein oft vorkommt.
Abbildung 3: Blockdiagramm eines PXI-Oszilloskops von National Instruments
Arbeitsspeicher
Der Speicher (RAM), der im PXI-Systemcontroller zur Verfügung steht, besitzt eine größere Tiefe als ein integrierter Gerätespeicher. Bis zu 4 GB Speicher können mit einem Embedded-Controller oder in einem PC, der ein PXI-System dezentral steuert, verwendet werden. Dieser Speicher ist kostengünstiger als ein Gerätespeicher, da es sich um einen Standard-PC-RAM handelt.
Das Übertragen in den Speicher des Controllers geschieht vom Gerätespeicher über den PCI- oder PCI-Express-Bus, über den PCI-Controller (wenn PCI verwendet wird) und über den I/O-Bus. Das Streaming vom Arbeitsspeicher läuft genau anders herum ab. Mit einem PXI-Modul begrenzt der PCI-Bus die Streaming-Raten auf ca. 110 Mb/s. Bei einem PXI-Express-Modul wird die maximale Datenübertragungsrate von der Komponente (Chassis, Controller oder Modul) mit der kleinsten PCI-Express-Bandbreite vorgegeben (s. Abb. 4). In einem System, das beispielsweise aus x4-Chassis, x4-Controller und x1-Modul zusammengesetzt ist, wird die maximale Datenübertragungsrate eines speziellen Steckplatzes durch das Modul auf 250 Mb/s beschränkt. Vom Controller wird auch etwas Verarbeitungsleistung verlangt, um bei der Erfassung die Übertragung von Daten vom Geräte- zum Arbeitsspeicher bzw. bei der Erzeugung vom Arbeits- zum Gerätespeicher zu verwalten.
Controller-Festplatten
PXI-Controller-Festplatten bieten tiefen und kostengünstigen Speicher für die Datenübertragung zu oder von Messgeräten oder Datenerfassungsmodulen (bekannt als Streaming-to-disk und Streaming-from-disk). Die Festplatte(n) kann/können in einen Embedded-Controller, einen Controller zur Rackmontage oder einen PCI, der ein PXI-System dezentral steuert, integriert werden. Sie kann/können auch extern verwendet und über ein PXI- oder PXI-Express-Peripheriemodul bzw. ein ExpressCard-Modul im ExpressCard-Steckplatz, der an vielen Embedded-Controllern vorhanden ist, angebunden werden (s. Abbildung 5). Mit einem PXI-Express- oder ExpressCard-Modul bildet der PCI-Express-Bus die Schnittstelle zwischen I/O-Bus und Festplatte(n).
Abbildung 5: Viele PXI- und PXI-Express-Embedded-Controller umfassen einen ExpressCard-Steckplatz, der für die Anbindung an externe Festplatten über den PCI-Express-Bus genutzt werden kann.
Das Übertragen in den Arbeitsspeicher geschieht vom Gerätespeicher über den PCI- oder PCI-Express-Bus, den PCI-Controller (wenn PCI verwendet wird) und über den I/O-Bus. Das Streaming vom Arbeitsspeicher läuft genau anders herum ab. Vom Controller wird auch etwas Verarbeitungsleistung verlangt, um bei der Erfassung die Übertragung von Daten vom Geräte- über den Arbeitsspeicher auf Festplatte oder bei der Erzeugung von Festplatte über den Arbeits- zum Gerätespeicher zu verwalten. Gleichgültig ob eine integrierte oder eine externe Festplatte zum Einsatz kommt, die Rate, mit der Daten auf die Festplatte geschrieben oder davon gelesen werden können, begrenzt die Datenübertragungsrate. Eine Möglichkeit, diese zu erhöhen, ist die Verwendung eines RAID-0-Arrays von mehreren Festplatten. RAID steht dabei für Redundant Array of Independent Disks. Ein solches Array erhöht die Rate, mit der Daten auf Festplatten geschrieben und davon gelesen werden, indem die Daten gleichmäßig auf mehrere Festplatten verteilt werden (s. Abbildung 6). Wird beispielsweise der Rackmontage-Controller PXI-8351 oder PXIe-8351 von National Instruments mit einem RAID-0-Array von zwei SATA-II-Festplatten konfiguriert, können Daten mit bis zu 80 Mb/s von Messgeräten zur Datenerfassung übertragen werden.
Direct-to-disk-Controller
Bei der Datenübertragung zum oder von einem Arbeitsspeicher oder einer Festplatte in einem PXI-System bilden PCI-Controller (bei Verwendung von PCI), I/O-Bus, Controller-Speicher und Prozessor geteilte Datenpfade, was die Bandbreite für das Daten-Streaming entsprechend verringert. Darüber hinaus werden auch durch Betriebssystem, Treiber und die Anwendungssoftware, die den Datenfluss verwaltet, Latenzen verursacht. Außerdem verwaltet das Betriebssystem Datei-I/Os nicht deterministisch.
Um diese Hürden zu überwinden, kann ein Direct-to-disk-Controller mit PXI- oder PXI-Express-Messgeräten sowie Datenerfassungsmodulen kombiniert werden, so dass Daten zu kontinuierlich hohen Raten und über einen längeren Zeitraum hinweg von einem Array von Festplatten aufgezeichnet oder abgespielt werden können. Mit einem Direct-to-disk-Controller-Modul mit PXI oder PXI Express werden Daten bei der Erfassung direkt vom Gerätespeicher im Messgerät über den PCI- oder PCI-Express-Bus zum Direct-to-disk-Controller übertragen (s. Abbildung 7). Bei der Erzeugung werden Daten direkt vom Direct-to-disk-Controller-Modul über den PCI- oder PCI-Express-Bus zum im Messgerät integrierten Speicher übertragen.

Abbildung 7: Direct-to-disk-Controller können Daten mit kontinuierlich hohen Raten über einen längeren Zeitraum hinweg direkt und deterministisch auf ein Array von Festplatten aufzeichnen oder davon abspielen.
Ein Beispiel für einen Direct-to-disk-Controller für die PXI-Plattform ist „Conduant StreamStor“. Ein Modul des Typs StreamStor PXI-808 kann mit einem PXI-Messgerät kombiniert werden und so Daten mit einer kontinuierlichen Rate von 110 Mb/s aufzeichnen oder abspielen. Bei einer Erfassung schreibt der Gerätetreiber für das PXI-Gerät Daten vom Gerätespeicher über den PCI-Bus direkt auf eine Speicheradresse für den StreamStor-Controller. Dieser schreibt die Daten dann deterministisch auf eine Reihe von bis zu acht 400-GB-SATA-Festplatten. So entsteht eine Speicherkapazität von bis zu 3,2 TB an Daten (die Erzeugung läuft anders herum ab). Abbildung 8 zeigt ein PXI-System mit einem Direct-to-disk-Controller des Typs StreamStor.
Abbildung 8: PXI-System mit einem Direct-to-disk-Controller des Typs StreamStor von Conduant
Weitere Informationen über die Verwendung von Direct-to-disk-Controllern mit PXI-Mess- und -Datenerfassungssystemen finden Sie im Whitepaper Implementing Terabyte Instrumentation through Integration with Real-Time Recorders.
Zusammenfassung
Relevante NI-Produkte und Whitepaper
National Instruments, ein führendes Unternehmen in der Automatisierungsbranche, möchte Hardware- und Softwareprodukte zur Verfügung stellen, mit denen Anwender Testsysteme der nächsten Generation entwickeln können.
Software:
Hardware:
Whitepaper
NI gibt dem Anwender den Leitfaden Designing Next Generation Test Systems Developers Guide an die Hand. Hierbei handelt es sich um eine Sammlung von Whitepapern, die den Leser bei der Entwicklung von Prüfsystemen, die Kosten senken, den Prüfdurchsatz erhöhen und an künftige Anforderungen angepasst werden können, unterstützen sollen. Den gesamten Leitfaden können Sie als PDF (mehr als 90 Seiten) herunterladen oder online lesen.
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/).







