-
TECHNISCHES GEBIET
-
Diese Offenbarung betrifft allgemein Mikrocontroller und Verfahren und insbesondere einen Mikrocontroller und ein Verfahren zum Testen eines Mikrocontrollers.
-
HINTERGRUND
-
Zum Verbinden von Mikrocontrollern mit Peripherievorrichtungen sind einige Protokolle bekannt, z. B. SENT, PSI5, PSI5s, I2S, SPI, ASC, LIN, eine serielle Radar-LVDS-Schnittstelle. Es ist ebenfalls bekannt, dass Mikrocontroller für die implementierten Protokolle ein oder mehrere Protokoll-IP-Module umfassen. Um die IP-Module zu testen, entweder während der Produktion oder zum Beispiel unter extremen Temperarturbedingungen (sogenanntes Zuverlässigkeitstesten), verwendet die Testinfrastruktur entweder interne Rückschleifmechanismen (falls von dem jeweiligen IP-Modul unterstützt) oder irgendeine Art eines Wellenformgenerators, der die Basisprotokollrahmen erzeugt. Die geschaffenen Protokollrahmen sind gewöhnlicherweise hinsichtlich ihres Umfangs begrenzt.
-
Ein weiterer Aspekt der Funktionalität eines Mikrocontrollers sind Sicherheitsmechanismen zum Detektieren von Protokollfehlern (CRC/Paritätsfehler, Rahmenfehler, Codierfehler usw.) in Datensignalen. Die Sicherheitsmechanismen müssen während der Produktion der Mikrocontroller geprüft werden und selbst Kunden müssen die Sicherheitsmechanismen bei einer Aufstartphase prüfen, bevor Sicherheitsmerkmale auf dem Mikrocontroller freigegeben werden. Bekanntermaßen werden zum Testen der Sicherheitsmechanismen externe Komponenten zum Übergeben fehlerhafter Signale an den Mikrocontroller verwendet. Dies ist kaum eine machbare Option für den Endnutzer.
-
In der
DE 100 00 785 A1 wird ein Testdatenstrom erzeugt, der es erlaubt, unterschiedliche Testdatenmuster an den Mikroprozessor anzulegen.
-
Selbsttests von integrierten Schaltungen sind beispielsweise vorgesehen in der
WO 2010/023583 A1 , der
US 2012/0191400 A1 oder der
US 5,226,149 .
-
Zudem gibt es von der Firma Corelis eine Software zum Definieren von Testsignalen.
-
KURZFASSUNG DER ERFINDUNG
-
Die Aufgabe der Erfindung besteht darin, eine Möglichkeit zur Realisierung von langen und komplexen Selbsttests eines Mikrocontrollers ohne Erhöhung des apparativen Aufwands zur Verfügung zu stellen.
-
Die Aufgabe wird gelöst durch einen Mikrocontroller. Dabei umfasst der Mikrocontroller einen Datenspeicher, der ausgelegt ist zum Speichern von Testsignaldaten. Der Mikrocontroller umfasst ferner einen Signalgenerator, der ausgelegt ist zum Verarbeiten der Testsignaldaten, um mindestens ein Testsignal zu liefern. Der Mikrocontroller umfasst ebenfalls mindestens eine Prüflingschaltung, die ausgelegt ist zum Verarbeiten des Testsignals. Dabei umfasst der Signalgenerator eine Mustersteuerlogik und mindestens eine Signalquelle. Die Testsignaldaten umfassen eine Vielzahl von Musterschnipseln, Musterdeskriptoren, die mit dem Musterschnipseln assoziiert sind, und mindestens einen Metadeskriptor. Die Musterschnipsel umfassen Daten, die einen Inhalt eines Teils des Testsignals betreffen. Die Musterdeskriptoren umfassen Daten, die ein Muster betreffen, das von dem assoziierten Musterschnipsel innerhalb des Testsignals gebildet wird. Der Metadeskriptor beschreibt wie und/oder wie häufig die Muster der Musterschnipsel innerhalb des Testsignals vorhanden sind. Die Mustersteuerlogik steuert die Signalquelle auf der Grundlage der Testsignaldaten. Die Signalquelle stellt das mindestens eine Testsignal bereit.
-
Weiterhin wird die Aufgabe durch ein Verfahren zum Testen eines Mikrocontrollers gelöst. Das Verfahren umfasst das Erzeugen mindestens eines Testsignals. Das Testsignal wird von einem Signalgenerator, der in dem Mikrocontroller enthalten ist, erzeugt und wird unter Verwendung der Testsignaldaten erzeugt. Das Verfahren umfasst ferner das Übergeben des Testsignals an eine Prüflingschaltung, die der Mikrocontroller enthält. Das Verfahren umfasst auch das Auswerten einer Antwort der Prüflingschaltung auf das Testsignal. Die Testsignaldaten umfassen eine Vielzahl von Musterschnipseln, Musterdeskriptoren, die mit den Musterschnipseln assoziiert sind, und mindestens einen Metadeskriptor. Die Musterschnipsel umfassen Daten, die einen Inhalt eines Teils des Testsignals betreffen. Die Musterdeskriptoren umfassen Daten, die ein Muster betreffen, das von dem assoziierten Musterschnipsel innerhalb des Testsignals gebildet wird. Der mindestens eine Metadeskriptor beschreibt, wie und/oder wie häufig die Muster der Musterschnipsel innerhalb des Testsignals vorhanden sind. Auf Grundlage der Testsignaldaten wird eine Signalquelle, die der Signalgenerator umfasst, in Bezug auf ein Bereitstellen des Testsignals gesteuert.
-
Die Einzelheiten einer oder mehrerer Ausführungsformen sind in den beiliegenden Zeichnungen und der nachfolgenden Beschreibung dargelegt. Andere Merkmale, Objekte und Vorteile werden anhand der Beschreibung und den Zeichnungen und aus den Ansprüchen ersichtlich.
-
KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
Für ein vollständigeres Verständnis der vorliegenden Offenbarung und deren Vorteile wird jetzt Bezug auf die folgenden Beschreibungen in Verbindung mit den zugehörigen Zeichnungen genommen, in denen:
-
1 eine schematische Ausführungsform eines Mikroprozessors zeigt.
-
2 eine Ausführungsform einer Hierarchie innerhalb von Testsignaldaten veranschaulicht.
-
3 eine Ausführungsform der Verwendung der Testsignaldaten veranschaulicht.
-
4 eine Ausführungsform der Anordnung der Testsignaldaten in einem Datenspeicher zeigt.
-
5 eine Ausführungsform eines Musterdeskriptorformats zeigt.
-
6 eine Ausführungsform eines Metadeskriptorformats veranschaulicht.
-
7 eine Ausführungsform einer Testsequenz veranschaulicht.
-
8 eine Ausführungsform einer Interaktion zwischen den Testsignaldaten und dem Mikroprozessor zeigt.
-
9 eine Ausführungsform des Umwandelns eines Testsignals in Testsignaldaten veranschaulicht.
-
AUSFÜHRLICHE BESCHREIBUNG VON VERANSCHAULICHENDEN AUSFÜHRUNGSFORMEN
-
Das Fertigen und das Verwenden der vorliegend bevorzugten Ausführungsformen werden im Folgenden ausführlich besprochen. Es versteht sich jedoch, dass die vorliegende Erfindung viele anwendbare erfindungsgemäße Konzepte vorsieht, die in einer weiten Bandbreite spezieller Zusammenhänge umgesetzt werden können. Die dargelegten speziellen Ausführungsformen dienen lediglich der Veranschaulichung spezieller Weisen, die Offenbarung umzusetzen und zu verwenden, und beschränken nicht den Schutzumfang.
-
1 veranschaulicht eine Ausführungsform eines Mikrocontrollers 1. Ein derartiger Mikrocontroller kann zum Beispiel für Automobile verwendet werden. Der Mikrocontroller 1 umfasst einen Datenspeicher 2, der ausgelegt ist zum Speichern der Testsignaldaten 100 und der ein On-Chip- oder eingebauter Speicher ist. Die Testsignaldaten 100 werden zum Testen des Mikrocontrollers 1 verwendet, was zu einem Selbsttest des Mikrocontrollers 1 führt. Dies setzt voraus, dass zum Testen des Mikrocontrollers 1 keine externen Komponenten, die Testsignale erzeugen und den Mikrocontroller 1 mit derartigen Testsignalen versorgen, nötig sind. Bei der gezeigten Ausführungsform kann auf den Datenspeicher 2 von einem CPU-Kern 4 und von einer Datenschnittstelle 3 aus zugegriffen werden. Die Datenschnittstelle 3 ist ausgelegt zum Eingeben der Testsignaldaten in den Datenspeicher 2 und ist hier beispielsweise eine JTAG-(debug)-Schnittstelle (Joint Test Action Group – JTAG).
-
Der Mikrocontroller 1 umfasst ferner einen Signalgenerator 5, der ausgelegt ist zum Verarbeiten der Testsignaldaten 100, die vom Datenspeicher 2 gespeichert werden, und der mit dem Datenspeicher 2 über eine Schnittstelle mit konfigurierbarer Datenbreite verbunden ist. Die Breite des, zum Beispiel, Busses vom Datenspeicher 2 zum Signalgenerator 5 bestimmt die Anzahl der Prüflingschaltungen, die parallel mit Testsignalen versorgt werden und bestimmt die Frequenz der jeweiligen Protokolle. Das Verarbeiten der Testsignaldaten 100 durch den Signalgenerator 5 wird vorgenommen, um in der gezeigten Ausführungsform die Vielzahl von Testsignalen 200, 201, 202 bereitzustellen. Das Testsignal 200 in dem gezeigten Beispiel ist ein pulsweitenmoduliertes Signal bzw. PWM-Signal. Der Signalgenerator 5 erzeugt gemäß den verschiedenen Datenprotokollen Testsignale (in einer Ausführungsform sind diese Signale Protokollrahmen). Bei der Ausführungsform wird ein Testsignal 200 an eine Schnittstelle 9 übergeben, die hier als eine Eingabe/Ausgabe-Schnittstelle dient. Bei der gezeigten Ausführungsform bilden Anschlusspins oder -felder die Schnittstelle 9. Das Testsignal 200 in der Form eines PWM-Signals erreicht die Prüflingschaltung 6 über eine externe Schleife und über zwei Schnittstellen 9. Solch eine externe Rückschleifung ermöglicht es, den Mikrocontroller 1 weiter in einem Einzelchipmodus (was für Robustheit und EMV-Validierung erforderlich ist) zu testen und ermöglicht es, Pins/Felder als Beispiele für Schnittstellen 9 und Transceiver zusammen mit der Digitallogik (hier durch die Prüflingschaltungen 6, 7, 8 repräsentiert), die in dem Mikrocontroller 1 enthalten ist, zu testen. Die verbleibenden zwei Testsignale 201, 202 werden direkt und über eine interne Rückschleifung 10 an zwei Prüflingschaltungen 7, 8 übergeben. Dieser Übertragungsmodus vermeidet die Verwendung externer Rückschleifungen und konzentriert sich auf das Testen der Digitallogik innerhalb des Mikrocontrollers 1.
-
Die Testsignale 200, 201, 202, die an die Vielzahl von Prüflingschaltungen 6, 7, 8 (die in einer Ausführungsform IP-Module sind) übergeben werden, werden von dem Signalgenerator 5 auf der Grundlage von Daten innerhalb der Testsignaldaten 100 (insbesondere dem Metadeskriptor) geliefert, die eine Beziehung zwischen der Vielzahl von Testsignalen 200, 201, 202 beschreiben. Dies bezieht sich zum Beispiel auf das Timing oder die Synchronisation der Testsignale 200, 201, 202 oder auf die genutzte Bandbreite usw. Die Verwendung von mehr als einer Prüflingschaltung 6, 7, 8 wird von manchen Datenprotokollen verlangt, z. B. Daten- und Taktleitungen oder serielles Radar mit einer Schnittstelle für Daten, Rahmen und Takt usw. Aufgrund der Testsignaldaten 100 und der eingeschlossenen Informationen ist es ebenfalls möglich, eine garantierte Bandbreite für jede Prüflingschaltung 6, 7, 8 vorzusehen, während die Testsignale 200, 201, 202 gleichzeitig an mehrere Prüflingschaltungen 6, 7, 8 übergeben werden. Bei einer Ausführungsform basiert dies auf dem Verwenden eines Offline-Musteranalysators, um die verfügbare Bandbreite abzugleichen.
-
Die drei Prüflingschaltungen 6, 7, 8 sind ausgelegt zum Verarbeiten der Testsignale 200, 201, 202 und sind in den gezeigten Beispielen drei verschiedene IP-Module zum Handhaben der Signale auf der Grundlage von verschiedenen Datenkommunikationsprotokollen. Die Prüflingschaltungen 6, 7, 8 empfangen die Testsignale 200, 201, 202 und verarbeiten diese. Die gezeigten Prüflingschaltungen 6, 7, 8 sind ausschließlich Signale zur Verarbeitung – oder Protokollrahmen – gemäß einem spezifischen Datenkommunikationsprotokoll. Daher werden die Testsignale 200, 201, 202 von dem Signalgenerator 5 gemäß dem entsprechenden Datenkommunikationsprotokoll bereitgestellt, auf der Grundlage von Daten, die in den Testsignaldaten 100 enthalten sind. Die Reaktion der Prüflingschaltungen 6, 7, 8, d. h., ob sie die eingeführten Fehler innerhalb der Testsignale 200, 201, 202 detektieren, ermöglicht es, den Mikrocontroller 1 zu testen. Diese Antwort der Prüflingschaltungen 6, 7, 8 auf die Testsignale 200, 201, 202 wird dementsprechend ausgewertet und erlaubt es, die Zuverlässigkeit der Prüflingschaltungen 6, 7, 8 zu testen und, demnach, des Mikrocontrollers 1 als solchem.
-
Der Signalgenerator 5 umfasst eine Mustersteuerlogik 11 und eine Signalquelle 12. Die Mustersteuerlogik 11 empfängt die Testsignaldaten 100 und steuert die Signalquelle 12 auf der Grundlage der Testsignaldaten 100. Die Signalquelle 12 in der gezeigten Ausführungsform liefert tatsächlich die physischen Testsignale 200, 201, 202. Die Signalquelle 12 ist bei einer Ausführungsform ausgelegt zum Verwenden von Pulsweitenmodulation zum Bereitstellen des Testsignals 200, 201, 202. Pulsweitenmodulation (PWM) oder Pulsdauermodulation (PDM) ist als eine Modulationstechnik zum Codieren einer Nachricht in ein pulsierendes Signal bekannt. Bei einer anderen Ausführungsform ist die Signalquelle 12 ausgelegt zum Verwenden von Serialisierung zum Bereitstellen der Testsignale 200, 201, 202. Serialisierung ist der Prozess des Übersetzens von Datenstrukturen oder Objektzuständen in ein Format, das gespeichert und später in derselben oder einer anderen Computerumgebung rekonstruiert werden kann.
-
Testen des Mikrocontrollers ist in einer Ausführungsform Teil eines Aufstarttests, um sicherzustellen, dass Sicherheitsprüfungen richtig arbeiten, bevor die Sicherheitsmerkmale nach dem Starten des Mikrocontrollers freigegeben werden. Protokollfehler werden als Teil von Mustern zum Beispiel während des Schaffens der PWM-Werte für die Protokollrahmen codiert. Manche Fehler sind beispielsweise CRC/Paritätsfehler, Rahmenfehler, Codierfehler usw. Insbesondere kann dieses Testen z. B. ohne Notwendigkeit für externe Maschinerie (oder externe Slave-Vorrichtungen), die Protokollfehler an die Prüflingschaltungen 6, 7, 8 als Teile des Mikrocontrollers 1 übergeben, vorgenommen werden.
-
2 veranschaulicht eine Ausführungsform der Hierarchie innerhalb der Testsignaldaten 100, die bei diesem Beispiel vier Musterschnipsel 101, vier assoziierte Musterdeskriptoren 102 und gerade mal einen einzigen Metadeskriptor 103 umfassen. Die gezeigte Hierarchie weist zwei unterschiedliche Ebenen von Elementen auf zum Beschreiben der Struktur der zu erzeugenden Testsignale. Die Beschreibung eines Inhalts des bereitzustellenden Testsignals wird durch die Musterschnipsel 101 gegeben. Jeder assoziierte Musterdeskriptor 102 umfasst Daten, die ein Muster betreffen, das von dem Musterschnipsel 101 innerhalb des Testsignals gebildet wird. Die Musterdeskriptoren 102 beschreiben beispielsweise wie oder auf welche Weise und wie häufig das assoziierte Musterschnipsel 101 in dem Testsignal vorhanden ist, während das Muster gebildet wird. Die Einzelmuster werden weiter über die Daten kombiniert, die aus dem Metadeskriptor 103 bestehen, der beschreibt, wie oder wie oft die Muster der Musterschnipsel innerhalb des von dem Signalgenerator bereitzustellenden Testsignals vorhanden sind. Falls mehr als ein Testsignal von dem Signalgenerator erzeugt werden soll, dann umfasst der Metadeskriptor 103 auch die notwendigen Daten, die das Vorhandensein der Muster innerhalb des Testsignals betreffen. Der Metadeskriptor 103 erlaubt es, lange und komplexe Testsignale zu erzeugen, während die für die Beschreibung verwendete Datenmenge verringert wird. Folglich kann selbst ein kleiner Speicher oder Speicherraum für komplexe Testsignale ausreichen.
-
Die Form der Testsignaldaten 100 erlaubt sogar eine Beschreibung von komplexen oder langen Strukturen innerhalb der Testsignale auf eine sehr kompakte Weise. Ferner hilft die Verwendung von Mustern innerhalb der Testsignale beim Erleichtern des Erzeugens des tatsächlichen Testsignals, indem Wiederverwendung von Inhaltsteilen des Testsignals erlaubt wird. Die Datenstruktur erlaubt es, Belastungsbedingungen, verschiedene Protokollbedingungen oder verschiedene Verkehrsmuster zu simulieren. Die Testsignaldaten erlauben es auch, mehrere Muster in einem längeren Muster zu kombinieren, Muster oder sogar ganze Testsignale zu wiederholen, mehrere Signalquellen zu synchronisieren, um Busprotokolle zu schaffen und so weiter. Insbesondere können mehrere Prüflingschaltungen gleichzeitig getestet werden. Da die Testsignaldaten – während sie selbst längere Strukturen von Testsignalen beschreiben – sehr kompakt sind, reicht ein kleiner Datenspeicher aus und es ist möglich, konventionellen On-Chip-Speicher zu verwenden.
-
Bei einer Ausführungsform werden die Testsignaldaten erzeugt, bevor der tatsächliche Test des Mikrocontrollers stattfindet, durch Umwandeln benötigter Protokollrahmen, die vorzugsweise Fehler enthalten, in das von den beschriebenen Testsignaldaten verwendete Format. Ein derartiges Erzeugen von Testsignaldaten umfasst das Identifizieren von Inhaltselementen innerhalb des zu erzeugenden Signals als Testsignale und Zuweisen dieser zu Musterschnipseln. Ferner müssen Muster, die von derartigen von den Musterschnipseln beschriebenen Inhaltselementen gebildet wurden, identifiziert werden und passende Musterdeskriptoren müssen erzeugt werden. Bei einer Ausführungsform wird ein Metadeskriptor für eine Kombination von verschiedenen Mustern erzeugt, die durch die verschiedenen Musterschnipsel gebildet wird.
-
Die Testsignaldaten erlauben es ebenfalls, bei einer Ausführungsform Testsignale für verschiedene Prüflingschaltungen mit einer garantierten Bandbreite und Korrektheit von Mustern innerhalb des Testsignals bereitzustellen. Ferner umfassen die Testsignaldaten bei einer Ausführungsform Daten zum Synchronisieren von Testsignalen für Multibit-Prüflingschaltungen.
-
3 zeigt wie die Musterschnipsel 101, die assoziierten Musterdeskriptoren 102 und der Metadeskriptor 103 verwendet werden und miteinander interagieren. 3 zeigt ein Beispiel für eine Ausführungssequenz, die von dem Signalgenerator angewandt wird. Der Datenspeicher umfasst die Testsignaldaten mit dem Metadeskriptor 103, den Musterdeskriptoren 102 und den assoziierten Musterschnipseln 101 zum Beginn eines Test eines Mikrocontrollers. Der Signalgenerator empfängt eine Basisadresse des Metadeskriptors 103. Die Mustersteuerlogik liest den Metadeskriptor 103 und empfängt den ersten Musterdeskriptor 101 (hier bezeichnet als: „Musterdeskriptor 1”). Aus dem „Musterdeskriptor 1, wird der Start-Offset des assoziierten Musterschnipsels 101 (hier bezeichnet als: „Musterschnipsel 1”) abgerufen. Dann lädt die Mustersteuerlogik eine Startadresse von „Musterschnipsel 1” in ein Basisadressenregister, das sich in einer Adressengeneratoreinheit (hier nicht gezeigt) befindet, die sequentielle Adressen zum Datenspeicher erzeugt zum Lesen der Daten und um sie an den Signalgenerator zu geben. Der Signalgenerator empfängt die Daten und startet mindestens eine Signalquelle (z. B. PWM- oder Serialisierereinheiten), die einen oder mehrere Protokollrahmen als Testsignale erzeugt.
-
Die Musterdeskriptoren erlauben es, unter Verwendung der Metadeskriptoren 103, den Inhalt des Testsignals, das von den Musterschnipseln definiert wird, in Muster anzuordnen, die in noch längeren Mustern angeordnet sind. Folglich erlauben es die Metadeskriptoren 103, die Muster zu wiederholen und sogar mehrere Metadeskriptoren zu verbinden oder zu kombinieren. Mehrere Metadeskriptoren sind bei einer Ausführungsform unter Verwendung einer verlinkten Liste von Metadeskriptoren sequenziert. Dies erlaubt es, verschiedene Sequenzen in verschiedenen Testläufen zu schaffen, z. B. startet jeder Testlauf mit einem anderen Metadeskriptor. Bei einer Ausführungsform bezieht sich ein Metadeskriptor auf bis zu acht Musterdeskriptoren, die von dem Signalgenerator gelesen werden. Die Musterschnipsel 101 weisen bei einer Ausführungsform unterschiedliche Größen auf. Die Musterschnipsel 101 werden unter Abhängigkeit von dem erforderlichen Test für ein oder verschiedene Testsignale verwendet. Ferner müssen die Musterschnipsel 101 bei einer Ausführungsform für verschiedene Testsignale verwendet werden, selbst gemäß verschiedenen Datenprotokollen. Bei einer Ausführungsform umfassen die Musterschnipsel 101 Daten als Werte für eine Pulsweitenmodulation oder für einen Serialisierer, um das Testsignal zu erzeugen.
-
5 zeigt den Dateninhalt einer Ausführungsform eines Musterdeskriptors 102. Der gezeigte Musterdeskriptor 102 identifiziert ein Musterschnipsel innerhalb des Datenspeichers und die Größe als Anzahl von Einträgen im Datenspeicher. Ferner gibt es Daten über die Wiederholungsanzahl des Musterschnipsels. Der Musterdeskriptor 102 umfasst auch die Anzahl der Prüflingschaltungen, die das spezielle Musterschnipsel unterstützt, die in einer Ausführungsform von eins bis acht reichen kann. Der Musterdeskriptor 102 identifiziert ebenfalls das Verschränken von PWM/Serialisiererwerten im Musterschnipsel für jede Protokollschnittstelle, auf der Grundlage der Verschränkungsdaten, die vom Musterschnipsel geliefert werden. Ferner definiert der Musterdeskriptor 102, ob z. B. PWM oder Serialisierung zum Erzeugen der Signaldaten verwendet werden soll, d. h. die Wahl zwischen den verschiedenen Signalquellen. Dies setzt in einer Ausführungsform die Definition des Taktverhältnisses für jede Prüflingschaltung voraus. Um Busprotokolle zu unterstützen (als ein Beispiel für Multibit-Protokolle), unterstützt der Musterdeskriptor 102 eine Synchronisations-Bitmap, die verschiedene am Startpunkt zu synchronisierende Prüflingschaltungen identifiziert.
-
6 zeigt die Daten einer Ausführungsform eines Metadeskriptors 103. Der Metadeskriptor 103 definiert ein Start- und ein Stopp-Ereignis zum Triggern des Tests. Ferner bezieht sich der Metadeskriptor 103 auf die Musterdeskriptoren und deren Anordnungen.
-
7 veranschaulicht eine Ausführungsform einer Testausführungssequenz. Sobald der Mikrocontroller gebootet hat, unter Verwendung von beispielsweise dem beschriebenen JTAG oder einer ähnlichen Schnittstelle, werden die Testsignaldaten in den On-Chip-Datenspeicher, z. B. den RAM, geladen. Abhängig von der aktuellen Situation konfiguriert oder ändert der CPU-Kern beispielsweise irgendwelche der Metadeskriptoren, um unterschiedliche Protokollrahmensequenzen zu schaffen. Dies wird in einer Ausführungsform von einem Test zum anderen vorgenommen. Bei dieser Ausführungsform konfiguriert der CPU-Kern auch den On-Chip-Signalgenerator, der als ein Protokollemulator dient, mit der Basisadresse des ersten Metadeskriptors, der in den Testsignaldaten enthalten ist, und startet den Signalgenerator. Nachfolgend wartet der CPU-Kern auf ein Fertig-Signal oder einen Interrupt oder einen spezifizierten Status vom Signalgenerator und macht mit dem nächsten Test weiter. Während des Tests wird die Antwort der Prüflingschaltung auf die Testsignale hinsichtlich des Testens ihrer Zuverlässigkeit ausgewertet.
-
8 veranschaulicht Details des Signalgenerators 5 und der Interaktion mit dem Datenspeicher 2. Wie oben beschrieben, umfassen die Musterschnipsel mehrere PWM- oder Serialisiererwerte für verschiedene Protokollschnittstellen mit einer speziellen Verschränkungssequenz. Die Verschränkungsinformationen werden dem Signalgenerator 5 zugeführt, als Teil des Musterdeskriptors, die aussagen, welcher Ort eines Musterschnipsels zu welcher Protokollschnittstelle gehört. Der Signalgenerator identifiziert die einzelnen Pulswerte und liefert diese Werte an die entsprechende Signalquelle 12. Die Signalquellen 12 bei der gezeigten Ausführungsform sind PWM- oder Serialisierermodule. Die Ausgänge der Signalquellen 12 sind mit den Prüflingschaltungen verbunden.
-
Der Signalgenerator weist einen Temporärspeicher zum Speichern aktueller Metadeskriptor- und Musterdeskriptorwerten auf. Ferner wird der Temporärspeicher zum Speichern von mindestens einem unmittelbar nächsten Satz von PWM/Serialisiererwerten verwendet, um Lücken in Rahmen zu vermeiden, wenn sich von einem PWM-Wert zum nächsten Wert bewegt wird. Die in dieser Implementierung verwendeten PWM können simple zählerbasierte PWM sein; solche nehmen Pulsweite und Tastverhältnis als Eingabe zum Schaffen eines Pulses (mit Hoch- und Niedrig-Dauer). Ein typisches Protokoll wird unter Verwendung von PWM-Pulssequenzen modelliert. Um serielle Hochgeschwindigkeits-Schnittstellen zu modellieren, werden Serialisierer bevorzugt. Der Serialisierer nimmt einen 32-Bit Wert aus dem Datenspeicher und schafft ein serielles Signal durch Rausschieben eines Bits per Takt (oder basierend auf einem Taktverhältnis), um verschiedene Pulsweiten zu schaffen.
-
Der gezeigte Signalgenerator 5 umfasst eine Vielzahl von Signalquellen 12, die in einer Ausführungsform verwendet werden, um eine Vielzahl von Testsignalen zu erzeugen. Somit umfassen die Testsignaldaten 100 Daten, die eine Beziehung zwischen den Signalquellen 12 der Vielzahl von Signalquellen 12 betreffen. Diese Beziehung bezieht sich insbesondere auf eine Bandbreitenaufteilung zwischen den Signalquellen 12. Bei einer Ausführungsform sind die Testsignaldaten 100 derart eingestellt, dass die Anzahl von bereitgestellten Testsignalen optimiert ist. Es ist auch möglich, Hochgeschwindigkeits-Prüflingschaltungen zu treiben, Schnipsel von Mustern zu wiederholen, Listen von Schnipseln pro Datenkommunikationsprotokoll vorzubereiten und Mustersequenzen zu schaffen. Bei einer Ausführungsform sind Steuerereignisse eingestellt, die einen Start oder einen Stopp des Testsignals erzwingen.
-
9 zeigt eine Ausführungsform eines Algorithmus, der verwendet wird zum Schaffen von PWM/Serialisiererwerten und zum Packen mehrerer Prüflingschaltungsrahmen in Musterschnipsel auf der Grundlage der Bandbreitenverfügbarkeit und der Frequenz von jeder Prüflingschaltung. Der Algorithmus wird offline laufen gelassen, bevor der Test des Mikrocontrollers gestartet wird und nimmt verschiedene Parameter als Eingaben, wie Protokoll-informationen, Baudrate, Anzahl der Prüflingschaltungen und so weiter. Der Algorithmus liest die Rahmendaten für jede Prüflingschaltung und codiert das Rahmenformat in ein PWM/Serialisiererformat. Während mehrere Prüflingschaltungen in ein Musterschnipsel gepackt werden, informiert der Algorithmus über den Fall, wenn eine Bandbreite für eine gegebene Kombination von Prüflingschaltungen nicht ausreicht. Dies ermöglicht es einem Benutzer, die Parameter zum Einpassen der Muster in das Musterschnipsel zu ändern.
-
Obwohl manche Aspekte im Zusammenhang einer Vorrichtung beschrieben worden sind, versteht es sich, dass diese Aspekte auch eine Beschreibung des entsprechenden Verfahrens repräsentieren, wobei ein Block oder eine Einrichtung einem Verfahrensschritt oder einem Merkmal eines Verfahrensschritts entspricht. Sinngemäß repräsentieren im Zusammenhang eines Verfahrensschritts beschriebene Aspekte auch eine Beschreibung eines entsprechenden Blocks oder Gegenstands oder Merkmals einer entsprechenden Vorrichtung.
-
Da sich die Beschreibung auf veranschaulichende Ausführungsformen bezieht, ist diese Beschreibung nicht dafür gedacht, in einem einschränkenden Sinn ausgelegt zu werden. Verschiedene Modifikationen und Kombinationen der veranschaulichenden Ausführungsformen, wie auch anderer Ausführungsformen, werden Fachleuten bei Betrachtung der Beschreibung einleuchten. Es ist daher vorgesehen, dass die angehängten Ansprüche jegliche derartige Modifikationen oder Ausführungsformen umfassen.