Die funktionale Validierung von Mikrocontrollern kann mit einem automatisierten, modularen System deutlich vereinfacht werden. Auch wenn die zu testenden MCUs unterschiedliche Anwendungsbereiche haben, kann man mit simplen Mechanismen eine hohe Wiederverwendbarkeit von Tests und Modulen erreichen.
Für die funktionale Überprüfung eines Mikrocontrollers (MCU) wurde von Texas Instruments ein automatisiertes Validierungssystem (AVS) entwickelt. Es ermöglicht die schnelle und anwendungsnahe Validierung eines MCU-Bausteins. Da dieses System ständig weiterentwickelt wird und die Erfahrungen damit direkt einfließen, ist es inzwischen zu einem wichtigen Werkzeug für viele MCU-Teams innerhalb von TI geworden. Da das System von Anfang an als modulares Framework aufgebaut wurde, ist es leicht und schnell auf die spezifischen Anforderungen eines Validierungs-Teams anzupassen. Die Realisierung mit LabView und TestStand als zentrale Elemente macht das Interagieren mit vielen verschiedenen Messgeräten sehr einfach (LabView) und das sequenzielle Abarbeiten und Protokollieren ist dank TestStand keine Herausforderung.
Aufbau und Zielsetzung eines AVS
Das Ziel bei einem automatischen Validierungssystem (AVS) ist das Sicherstellen der beabsichtigten Funktion eines MCU-Bausteines, speziell mit Tests, die die geplante Verwendung bei einem Kunden so gut wie möglich nachstellen. Das kann und wird auch mit Simulationen in der Entwicklung des MCU-Bausteins erreicht, jedoch sind diese in ihren Möglichkeiten limitiert:
Diese Grenzen bei der Simulation können dagegen mit einer Validierung am realen Baustein (DUV = Device Under Validation) oder auch mit einem FPGA-Prototypenaufbau (während der Entwicklung des Bausteins) adressiert werden. Manuell ausgeführt kann das allerdings sehr arbeitsaufwendig sein, da für jeden Test der Aufbau realisiert werden muss, der Test dann durchgeführt wird und man am Schluss das Ergebnis notiert. Durch Automatisierung kann hier sehr viel Aufwand eingespart und diese Zeit für mehr und bessere Tests verwendet werden.
Ein solches System muss mehrere Anforderungen erfüllen:
Dabei besteht ein Test aus einer optionalen Firmware für das DUV und einem erforderlichen textuellen Skript, das die einzelnen Ausführungsschritte und Checks des Tests beschreibt.
Um das alles zu adressieren, wurde das System als modulares Framework realisiert, d.h. ein Team erhält kein fertiges System, sondern einen Satz an Software-Modulen und Richtlinien, wie das System für die benötigten Anforderungen aufgebaut und angepasst werden kann. Durch den modularen Aufbau können von einem Team neu erstellte Module auch von anderen Teams wiederverwendet werden.
Die Struktur des AVS-Systems ist im Bild veranschaulicht. Auf der Software-Seite setzt das System zum einen LabView ein, um die Interaktion mit den Instrumenten und externen Komponenten zu realisieren. Zum anderen nutzt es TestStand für die Abarbeitung und zum Protokollieren der einzelnen Testschritte in einem Test und zur Durchführung einer ganzen Testreihe. Auf der Hardware-Seite werden hauptsächlich PXI(e)-Instrumente verwendet, um einen kompakten Aufbau zu erreichen. Ein dem Anwendungsbereich angepasster PCB-Aufbau ermöglicht die flexible Verbindung zwischen DUV und Instrumenten.
Zusätzlich wurden Regeln und Richtlinien erstellt, die es dem Anwender erlauben, wiederverwendbare Tests zu realisieren. Dadurch muss ein existierender Test nicht für neue Mitglieder einer MCU-Familie angepasst werden, sondern alle DUV-spezifischen Einstellungen können an einer zentralen Stelle einmal vorgenommen werden. Das Gleiche gilt auch für die Verwendung von unterschiedlichen Hardware-Aufbauten, die andere Instrumente/PCBs als ursprünglich verwenden. Auch hier muss ein Test nicht angepasst werden, sondern nur der richtige Instrumententreiber an zentraler Stelle angegeben werden. Zwei der implementierten Mechanismen/Regeln werden in den folgenden Abschnitten aufgezeigt.