Test von PCI-Express-2.0-Produkten

28. April 2009, 8:14 Uhr | Rick Eads und Florian Stadler, Agilent Technologies
Diesen Artikel anhören

Fortsetzung des Artikels von Teil 2

Testen unter Fehlerbedingungen

Wenn man PCI-Express-Produkte testet, gilt es mehrere Testszenarien zu berücksichtigen. Dazu gehören Funktionstests einzelner Komponenten, ein Test des vollständigen Systems, ein Standardkonformitätstest zur Gewährleistung der Interoperabilität und ein Test, der die eine Komponente gleichzeitig. Man muss aber das ganze System testen, um sicherzustellen, dass es zuverlässig läuft. Auch PCI-Exerciser bieten viele Möglichkeiten bei der Erstellung verschiedener Testszenarien, aber auch sie testen nicht das ganze System zusammen mit Betriebssystem und Treibern.

Zur Erzeugung von Fehlerzuständen kann man auch Baugruppen einsetzen, von denen man weiß, dass sie fehlerhaft sind. Man kann sie aber nicht überall und jederzeit einsetzen, außerdem können sie zusätzliche Instabilität im System verursachen. Als Alternative kann man das Testobjekt so modifizieren, dass es selbst den Fehler erzeugt. Das erscheint zunächst als preisgünstige Möglichkeit, und doch ist dieser Ansatz nicht ganz einfach umzusetzen.

Beim Systemtest oder beim Versuch, die Umgebung des Anwenders zu emulieren, muss man gezielt Fehlerbedingungen einbringen können, wie sie beim Gebrauch des Produkts auftreten. Damit man damit aber effektiv arbeiten kann, muss das Einbringen der Fehler transparent erfolgen.

Wenn man PCIe-Devices unter bekannten Fehlerbedingungen misst, stellt man sicher, dass zuverlässigere Produkte entstehen. Systeme wie der Jammer und Fehlergenerator N5323A von Agilent bieten die Möglichkeit, PCIs-2.0-Devices oder Softwaretreiber in realen Systemen zu testen, und zwar unabhängig vom Betriebssystem und unabhängig von der Anwendung.

In einer typischen Messsituation sitzt der Fehlergenerator transparent zwischen zwei Devices. Er kann so programmiert werden, dass er den echten PCIe-Datenverkehr unmittelbar modifiziert und dabei Fehler einschleust. Man kann dabei fast jede vorstellbare Fehlersituation programmieren, einschließlich korrigierbarer und unkorrigierbarer Fehler. Dies ermöglicht den Entwicklungsingenieuren, die Fehlerbehandlung zu verbessern und so späte (daher teure) Produktänderungen oder gar Rückrufe zu vermeiden.

Fazit

PCI-Express-Technik hat sich als erste Wahl für viele Hochleistungsanwendungen etabliert. Die Einführung der Version 2.0 dieses Standards hat diese Position noch gestärkt. PCIe 2.0 bringt bessere Leistung, und zwar speziell durch die Verdopplung der maximalen Datenrate. Der neue Standard bringt allerdings neue Herausforderungen beim Testen mit sich, weil zusätzliche Spezifikationen einzuhalten sind, beispielsweise beim Test der Jittertoleranz. In der Natur jeglicher Verbindung liegt, dass die Umgebung, in der sie betrieben wird, höchst variabel sein kann. Will man zuverlässige Produkte herstellen, muss man diese Variabilität bereits bei der Entwicklung emulieren, das bedeutet in erster Linie strenge Tests unter den bekannten Fehlerbedingungen.

Die Verifizierung eines PCI-Express-Produktes erfordert mehrere Testlösungen, weil dafür viele Tests und Debugging-Aufgaben erfüllt werden müssen. Für jede dieser Aufgaben sind unterschiedliche Werkzeuge und auch unterschiedliche Fachkenntnisse erforderlich. Agilents umfassendes Spektrum von PCI-Express-Testwerkzeugen ermöglicht es, alle Testbedürfnisse auf allen Ebenen abzudecken. (nk)

Rick Eads
ist PCI-Express-Programmmanager und Produktmanager bei Agilent. Zudem ist er im Direktorium der PCI-SIG tätig.

Florian Stadler
ist Applikationsingenieur für Oszilloskope bei Agilent.


  1. Test von PCI-Express-2.0-Produkten
  2. Test der Jittertoleranz
  3. Testen unter Fehlerbedingungen

Jetzt kostenfreie Newsletter bestellen!