• Onlineshop
  • Kontakt
  • Facebook
  • Google+
  • YouTube
  • Xing
  • kununu
dataTec News

Was beim PXI-Systemaufbau beachtet werden muss

Was ist beim Aufbau eines PXISystems zu beachten, welche PXISystem- und Software-Varianten existieren und wie kooperieren sie? Sind die Fragen geklärt, lässt sich ein funktionsfähiges Prüfsystem aus Modulen unterschiedlicher Hersteller aufbauen.

Oft bestehen Zweifel über die Kompatibilität der einzelnen Module unterschiedlicher Hersteller, wenn ein PXI-Testsystem konzipiert werden soll. Sowohl Hardware, das Chassis als auch die Module, die Software mit Treibern und I/O-Schnittstellen und letztlich die zu erstellende Messsoftware müssen aufeinander abgestimmt sein, um den entsprechenden messtechnischen Erfolg zu erzielen. Konzipiert man ein PXI-System, so müssen möglicherweise Module von unterschiedlichen Herstellern genutzt werden.

Dann kommen bei jedem Entwickler Zweifel auf, ob die ausgewählten Module richtig interagieren. Fragen „Wie arbeitet das Modul eines Herstellers mit dem Chassis oder Modul eines anderen Herstellers zusammen?“, „Lassen sich die erwarteten Spezifikationen und Genauigkeiten erreichen, die Triggermöglichkeiten und Befehls- und Daten-Transfers auch zum richtigen Zeitpunkt übertragen?“ bestimmen die Überlegungen. Mechanische, elektrische und softwaretechnische Voraussetzungen müssen gegeben sein, um die gewünschte Funktionalität sicher zu stellen.

In unserem Beitrag geben wir Ihnen Tipps, wie PCI-, PXI- und PXIe-Hardware, -Software und -Hilfswerkzeuge wie Agilent Connection Expert (ACE) und National Instruments „Measurement & Automation Explorer“ (NI-MAX) miteinander koexistieren und zu einem lauffähigen System genutzt werden sollten.

Spezifikationen und Standards – ein Gerüst

Systementwickler benötigen in der Regel eine ganze Anzahl von unterschiedlichen Modulen, um die Messaufgabe zu erfüllen und in vielen Fällen stammen die Module von unterschiedlichen Herstellern. Das Ziel einer Standardisierung ist, dass die Module miteinander interagieren können. Ist die Spezifikation fehlerfrei geschrieben, bietet sie Sicherheit bei der Integration der Module zu einem kompletten System. Bei PXI sind es allerdings unterschiedliche Standardisierungsgremien, auf denen die PXI-Spezifikation beruht. Eine dieser Organisationen definierten die PCIbus-Verbindung, das Einbinden der Hardware und die zeitliche Synchronisation der Bus-Signale, das Bus-„Timing“, die letztlich auch im PXI-System zur Anwendung kommen.

Die elektrischen Bedingungen und die Signalbedingungen werden von der PCI Special Interest Group (PCI-SIG) entwickelt und bestimmt. Die PCI- und PCIe-Rahmenbedingungen werden beim PXI-Bus genutzt. Der Hintergrund ist, dass der PCI-Bus (Personal Computer Interface-Bus) weltweit genutzt wird, dass für die Entwicklung dieser Spezifikationen in den letzten 20 Jahren Millionen an Ingenieurstunden investiert wurden und dass damit insgesamt eine millionenfach bestätigte sichere Verbindung einzelner PC-Systemkomponenten geboten wird. PXI baut auf diese Vorleistungen auf, was zu robusten Verbindungen der Systemkomponenten untereinander und zu einer recht einfach anzuwendenden Lösung führt.

Mechanische und elektrische Kompatibilität

Bei der Einführung des PCI-Bus 1992 galt er als ein sehr robustes Hochgeschwindigkeits-System für einen Computer-Bus. Dieses Bussystem funktioniert sehr gut für Standard- Business-Applikationen in PCs und bald darauf wurde er auch in industriellen Applikationen eingesetzt. Die PCI Industrial Computer Manufacturers Group (PCIMG) nutzte die PCI-Bus-Fähigkeiten und veröffentlichte 1997 einen Standard für das CompactPCI-(cPCI)-Gehäuse. CompactPCI war eine sehr gute mechanische Plattform, die sehr schnell für industrielle Anwendungen Eingang fand.

Die festgelegten mechanischen Abmessungen und Toleranzen für die Einschübe, die Stecker, die Anordnung der Stecker und deren Pinbelegungen waren Gegenstand dieser cPCI-Spezifikation, um Module mit einfachen Mitteln zu einem System zusammen zu bauen. Diese wohl definierten Spezifikationen mit ihren engen Toleranzen führten dazu, dass unterschiedliche Hersteller neue austauschbare cPCILösungen auf den Markt brachten.

Allerdings enthält der cPCI-Bus keine Spezifikations-Bedingungen für das Timing und die Synchronisation von Modulen, wie sie zum Betrieb für messtechnische Applikationen notwendig sind. Das ist der Grund, warum basierend auf den PCISpezifikationen der PXI entstand, der dann auch die messtechnischen Belange abdeckt.

Die alles verbindenden PXI-Spezifikationen

Die PXI-Spezifikationen werden von der PXI Systems Alliance (PXISA) definiert und überwacht. Sie basieren auf den PCI- und den cPCI-Spezifikationen allerdings mit der Ergänzung um messgerätespezifische Eigenschaften für die Timing- und Synchronisations-Bedingungen. Ein cPCI-Chassis und ein PXI-Chassis sehen sehr ähnlich aus und ein cPCI-Modul kann in ein PXIChassis eingesteckt und genutzt werden. Der Fokus dieser Darstellung ist auf die PXI-Spezifikationen gerichtet. Bild 1 zeigt die Hierarchie der PXIe- (PXIExpress-) Spezifikation, wobei hier zu beachten ist, wie die cPCI- und die PCI-Bus-Spezifikationen einfließen. Es ist wichtig zu wissen, dass es eigentlich zwei unterschiedliche PCI-Bussysteme gibt: den originalen parallelen PCI-Bus, sowohl für 32-Bit- als auch 64-Bit-Strukturen und den neueren, seriellen PCIe-Bus. Beide Bus-Strukturen wurden in den PXI übernommen, wobei der originale, parallele PCI-Bus dem PXI-1 und der PCIe (seriell) dem PXIe entspricht. Die beiden Bussysteme PCIe und PXIe bieten eine erheblich bessere Signalbandbreite und andere Möglichkeiten wie die Punkt-zu-Punkt- Übertragung von Daten/Signalen, was für Module, die in der Messtechnik Anwendung finden, von besonderer Bedeutung ist. Die Motivation auf den PXIe-Bus zu setzen besteht hauptsächlich aufgrund dieser Eigenschaft, die gerade für die sehr schnelle Datenübertragung maßgeblich ist.

An dieser Stelle sei ein Hinweis gestattet: PXIe beinhaltet die Rückwärtskompatibilität zu PXI-1 Module. Jedoch ist die PXI-1-Rückwärtskompatibilität kritisch, da es sehr viele PXI-Module gibt, die noch für die alte 32-Bit-Parallel-Version von PXI gebaut wurden. Um dennoch derartige Module weiter nutzen zu können, sollte höchstenfalls ein Stecker verändert werden müssen und nicht noch die Leiterplatte des Moduls. Diese Modifikation ist Gegenstand des folgenden Absatzes. PXI-Module werden in zwei Formfaktoren hergestellt, den 3U oder 6U (U = Unit) bzw. 3 und 6 Höheneinheiten. Die gebräuchlichsten Module haben 3 Höheneinheiten und es gibt von ihnen über 1000 unterschiedliche Module mit 32-Bit-Bus von verschiedenen Herstellern. Aufgrund der weiten Verbreitung dieser Module beziehen sich die weiteren Darstellungen/Beschreibungen auf diesen Formfaktor.

Die verschiedenen Stecker-Varianten

Bild 2 zeigt ein drei Höheneinheiten großes PXI-1-Modul. Die Kommunikation mit dem Modul geht über die beiden Stecker J1 und J2 über die rückwärtige Leiterplatte zum Controller. Über den Stecker J1 wird die komplette Kommunikation des 32-Bit Busses abgewickelt, der untere Teil des Steckers J2 übernimmt die oberen 32 Bit im Falle einer 64-Bit-Version und einige wenige lokale PXI-Signalleitungen.

Der obere Teil des J2 führt weitere kritische Signalleitungen wie Trigger-, Synchronisations- und Timing-Signale. Das Standardisierungsgremium entschied, dass der untere Teil des Steckers J2 für die Hochgeschwindigkeits-Verbindungen des PCIe-Busses verwendet werden können. Um nun den PXIe-Stecker zu unterstützen wurde J2 modifiziert:

Der untere Teil des J2 wurde den Hochgeschwindigkeits-Signalen des PCIe-Busses zugewiesen. Mit dieser neuen Zuweisung ergeben sich zwei neue Arten an Steckplätze für die peripheren Module: die PXIe- und die Hybrid-PXI-Steckplätze. Bild 4 zeigt realistische Bilder von Modulen mit ihren unterscheidlichen Steckern: Bildteil rechts: PXI-1-Stecker und linker Bildteil: Mit PXIe-Stecker, wobei hier der besondere Stecker für differentielle Signalführung auffällt. Dieser differentielle Stecker wird speziell genutzt um die Hochgeschwindigkewits-Signale bis zu 5 GBit/s zu übertragen. Der Vorteil dieses Stecker-Systems ist, dass die PXI-1-Module seitens des Herstellers umgebaut werden können, indem der größere Stecker J2 gegen die kürzere PXI-1-Hybrid-Version ausgetauscht wird (Bild 4 rechter Teil). Existierende Module können damit in den neuen PXIe-Chassis, die die Hybrid-Einsteckplätze haben, genutzt werden.

Allerdings gibt es hier einen Aspekt zu berücksichtigen: Ältere PXI Module, die beide Stecker J1 und J2 besitzen, lassen sich nicht in einen PXI-1-Hybrid umbauen, da sich der Stecker J2 mechanisch nicht mit dem Sockel des PXIe verbinden lässt. Sollten alte PXI-1 Module vorhanden sein, so muss genau geprüft werden, ob sie zu dem neuen System passen. Für den Fall, dass sie nicht passen, bieten eine Reihe Hersteller für ihre Module einen Modifikations-Service an, den J2-Stecker gegen einen XJ4-Stecker zu ersetzen.

Allerdings werden die meisten PXI-1-Module heutzutage mit dem Hybrid-Stecker-System geliefert. Bevor man allerdings neue Module anschafft, sollte man sich vergewissern, dass sie entweder mit dem PXIe- oder dem PXI-Hybrid-Steckersystem ausgerüstet sind.

PXI-Hardware und -Controller im Überblick

Der Das Chassis: In Zukunft wird es immer mehr PXIe-Module geben. Der Hintergrund liegt in dem deutlich höheren Mess-Durchsatz in einer Produktionsumgebung, der Punkt-zu-Punkt-Verbindung und der verbesserten Triggerung und Synchronisation. Um nun die beiden Arten, die neueren PXIe und die älteren PXI-1-Module, in einem Chassis unterbringen zu können, sollte man darauf achten, möglichst viele hybrid kompatible Einsteckplätze zur Verfügung zu haben. Bild 5 zeigt ein Chassis M9018A, das so konzipiert wurde um möglichst viele Hybrid-Einsteckplätze zur Verfügung zu stellen.

PXI-Controller können entweder extern, also außerhalb des Chassis, oder intern eingesetzt werden. Ist der Controller im Chassis untergebracht, muss er in den Steckplatz 1 eingebaut werden. Zuerst sollen die Randbedingungen für den externen Controller diskutiert werden. In den Anfängen des PXI wurden die Controller über proprietäre Anschlüsse mit dem Chassis verbunden. Als der PCIe-Bus entwickelt wurde, wurde auch gleichzeitig eine entsprechende physikalische Ebene entwickelt, die eine Kommunikation vom Computer zum Chassis über eine weitere Entfernung zulässt.

Dies ist ein Vorteil, nachdem der PCIe-Kommunikationsbus mit standardisierten Steckern, Kabeln und den zugehörigen Chipsets entwickelt wurde. Das Busdesign wurde vereinfacht und für den Anwender ist die Nutzung deutlich bequemer. Jedoch gibt es ein paar Vorbehalte, die man wissen sollte: Das PCIe-Treiber-Verhalten, die Taktung und das BIOS, das im Controller zum Einsatz kommt, können Fallstricke enthalten.

In Tower- und Desktop-Computer wird der PCIe-Bus vom Mutterboard über eine PCIe-Adapter-Karte an einen Stecker nach außen geführt. Verbindet man nun diesen Rechner mit dem Chassis durch ein langes Kabel, so kann dieses Kabel die Signalqualität beeinflussen, so dass das Augendiagramm für die Daten- und Signalleitungen zusammenschrumpft und eine sichere Verbindung nicht mehr gewährleistet ist. Um lange Kabelstrecken mit guter Übertragungsqualität treiben zu können, sollte man PC-seitig einen zusätzlichen PCIe-Treiber einsetzen M9048A von Agilent. Er bietet eine Isolation des Taktsignals, generiert dieses neu und erzeugt somit einen deutlich weniger jitter-behafteten Takt und damit eine qualitativ bessere und sicherere Datenübertragung.

Bei der Initialisierung des kompletten Messsystems, wenn während des Bootprozesses das BIOS abläuft, müssen alle Module angesprochen und verifiziert werden, um später im Betrieb jedes einzelne Modul ansprechen zu können. Nun ist bei manchen Controllern im BIOS die Anzahl der ansprechbaren „Endpunkte“ limitiert, da typischer Weise eine Business-Anwendung nicht so viele externe Endpunkte/Module ansprechen muss.

Um hier sicher zu gehen, dass man einen Controller wählt, der diese Limitierung nicht aufweist, hat Agilent eine Liste an getesteten Controllern zusammengestellt, die mehr als 30 Endstellen adressieren können [2]. Wird in einem PXIe-Chassis in Einschub 1 ein Embedded-Rechner installiert, so ist auch bei ihm darauf zu achten, dass er die oben genannten Bedingungen erfüllt. Typischer Weise ist dies der Fall – jedoch muss darauf hingewiesen werden, dass die Steckerleisten von einem PXIe- und einem PXI-1-Controller unterschiedlich sind. Die PXI-1-Controller arbeiten mit dem 32-Bit-Bus, die PXIe-Controller arbeiten mit den PCIe-Hochgeschwindigkeits-Signalen. Ein PXI-1-Controller kann nicht für das PXIe-Chassis als Einschub genutzt werden; es muss also ein ausgewiesener PXIe-Einschub-Controller verwendet werden.

Kompatibilität der Applikations-Software

Die Fragestellung zum Thema der Kompatibilität von Applikations-Software, der verwendeten Treiber und I/O-Libraries und diese noch von unterschiedlichen Herstellern, stellen sich ähnlich wie bei der Hardware. Die damit einhergehenden Bedenken sollen im Folgenden behandelt werden. PCI ist der hauptsächliche Kommunikations-Pfad für die PXI-Messgeräte. So wie die PCI-Hardware-Spezifikationen-Bedingungen schafft, die es erlaubt Module in einem Chassis zu verbinden, genau so schafft der PCI-Device-Treiber eine Plattform für den Zugriff der Software auf die einzelnen Module. Für eine leichtere und verbesserte Nutzbarkeit ist der Treiber-Stack in drei unterschiedliche Ebenen aufgeteilt (Bild 6).

Die Applikations-Software greift immer über den Modul-Treiber zu, der bei Agilent aus dem IVI-(Interchangable Virtual Instrument)-Treiber, der VISA-(Virtual Instrument System Architecture)-Library und den Kernel-Treiber besteht. Verständlich, dass der gesamte Treiber-Stack geladen werden muss und auch die Zuordnung des Treibers zu den entsprechenden Modulen muss korrekt sein, um ein Modul richtig ansprechen zu können. Dieses geschieht während des Boot-Prozess, wobei das BIOS die jeweiligen PCI-Module und –Hardware, die am Bus angeschlossen ist, erkennt.

Die jeweiligen Daten über die einzelnen Module werden in einer „Extended System Configuration Data“ (ESCD)-Datei ablegt. Ebenso werden die Speicher, Busadressen und die IRQ (Interrupt ReQest) zugeordnet und im ESCD abgespeichert. Der nun folgende Microsoft Plug&Play Manager übernimmt diese Informationen, erstellt IDs (Identifikationen) für die Instanzen, ordnet die Treiber der Hardware zu und legt diese Daten in einem „Windows Plug&Play Informations-File“ ab.

Das Ergebnis dieses Prozesses kann über den Windows Device Manager kontrolliert werden – übrigens eine gute Methode um festzustellen, ob alle Module des PXIe-Chassis erkannt wurden und ob alle Treiber für die Module vorhanden sind. (Bild 7) zeigt ein Messystem, wie es im Windows Device Manager abgebildet ist. Man erkennt die einzelnen Module von Agilent, National Instruments und Pickering.

Betrachtungen zu Instrumententreiber, I/O-Libraries, ACE und NI-MAX

Für die Agilent-Module bestehen die Treiber aus den drei Ebenen wie in Bild 6 dargestellt. Die Kernel-Treiber werden zusammen mit dem IVI-Treiber installiert und werden jedem einzelnen Modul eindeutig zugeordnet. Die VISATreiber-Ebene ist für alle PXIe-Module gleich. Zur Installation eines Moduls benötigt man also die individuellen IVITreiber und die I/O-Library. Gleichzeitig erhält man auch noch einige Werkzeuge, die eine Software-Entwicklung unterstützen.

So wird mit der I/O-Library der Agilent Connection Expert (ACE) installiert. Mit diesem Werkzeug kann genau festgestellt werden, welche PXIe-Module in einem Chassis integriert sind ebenso deren Adresse und auch die Version des Modul-Treibers kann festgestellt werden. Gleichzeitig wird mit der Treiber-Installation auch ein SFP-(Soft Front Panel)-Software mitgeliefert, die es ermöglicht, die Verbindung Controller/Modul zu verifizieren.

Für die Module von National Instruments ist die Treiber-Installation wie bei Agilent. Es werden ebenfalls die I/O-Library (NI-VISA) als auch die individuellen PXI-Treiber für die Module installiert. Gleichzeitig mit der I/O-Library wird auch der Measurement & Automation Explorer (MAX) installiert, der vergleichbar mit dem ACE von Agilent ist. Auch MAX bietet ein Daten-Management, wodurch die IVI-Modul-Konfigurationen editierbar und abspeicherbar sind.

Allerdings gibt es einen erheblichen Unterschied: Mit dem ACE werden alle Module, die in ein PXIe-Chassis eingebaut sind angezeigt. Mit dem NI-MAX allerdings nur die Module von National Instruments. Das kann zu unnötiger Suche und Verwirrung führen. Daher ist es vorteilhaft den ACE zu verwenden, um herauszufinden, ob die Module vom Controller richtig angesprochen werden und ob die Zuordnung eines Treibers zum jeweiligen Modul korrekt ist. Einige Module von National Instruments liefern ein Trigger-Synchronisations-Signal TClk. Während des Betriebes kann der TClk versuchen den PXI-Chassis Trigger Bus zu initialisieren, so das Trigger-Quellen zur Synchronisation genutzt werden können. Zum Zeitpunkt der Veröffentlichung ist bekannt, dass eine Fehlermeldung „No registered trigger lines could be found between the devices in the route“ auftreten kann, wenn TClk versucht das Agilent Chassis M9018A zu initialisieren. Das liegt daran, dass der Treiber des Agilent-Chassis nicht vom TClk-Treiber angesprochen werden kann. Agilent ist dabei, diesen Fehler zu beheben.

 

Literatur

 

[1] PXI-5 PXI Express Hardware Specification Rev. 1.0, 22. August 2005

[2] www.agilent.com/find/M9018A und dort speziell das Dokument: “Test Computer List” Publication Number: 5990-7632EN

[3] Applikationsschrift: „PXI Interoperability – How to Achieve Multi-Vendor Interoperability in PXI Systems; Agilent, Literatur-Nummer: 5991-0384EN

[4] Aktuelle PXIe-Spezifikationen unter www.pxisa.org

 

Über den Autor

Dipl.-Ing. Klaus Höing trat nach dem Studium der Elektrotechnik in Stuttgart 1980 bei Hewlett Packard (später Agilent), Böblingen, in den Entwicklungsbereich für Messtechnik ein. 1998 wechselte er in den Bereich Computertechnik bei Hewlett Packard als PR-Manager für die deutsche Niederlassung. Seit dem Frühjahr 2012 ist er bei der Firma dataTec in Reutlingen mit PR-Aufgaben betraut.