Academic Company Events NI Developer Zone Support Solutions Products & Services Contact NI MyNI

Automated System Evaluation mit LabVIEW und Modular Instruments

  Print

Bild 1: Das Messprinzip

Author(s):
Dipl.-Ing. Jörg Hagedorn - NEC Electronics (Europe) GmbH

Industry:
ATE/Instrumentation, Industrial Controls/ Devices/ Systems, Energy/Power, Electronics

Products:
Controllers, LabVIEW, PXI/CompactPCI

The Challenge:
Erläuterung des Interrutverhaltens von Microcontrollern auf Basis eines PXI-Systems, sowie die Evaluierung von Setup- und Hold-Zeiten einer CSI-Schnittstelle mit Hilfe von LabVIEW an zwei Beispielen.

The Solution:
Um Fehler feststellen zu können, müssen diese Ströme bei verschiedenen Spannungen und bei verschiedenen Temperaturen ermittelt werden. Die Kombination aller Möglichkeiten erzeugt eine Datenmenge von mehreren hundert Messungen. Hier ist eine Automatisierung des Ablaufs notwendig.

"Erst der Einsatz von LabVIEW hat die Möglichkeiten geschaffen, Abläufe zu automatisieren."

Diese Anwenderlösung ist ein Beitrag zum jährlichen VIP-Kongress von National Instruments. Der vollständige Beitrag ist ferner im kongressbegleitenden Tagungsband VIP 2006, S. 86-92, veröffentlicht.

Kurzfassung

Mit Hilfe zweier Beispiele soll der Einsatz von LabVIEW im Bereich System Evaluation bei NEC Electronics erläutert werden. Im Bereich Mikrocontroller-Design versteht man unter System Evaluation Tests, die über einen Applikationstest hinausgehen. Das können zum Beispiel Grenzfälle im Bereich Timing (Interruptverhalten), zum anderen auch maximaler und minimaler Stromverbrauch sein. Das erste Beispiel zeigt einen automatischen Strommessplatz auf der Basis eines PXI (PCI eXtensions for Instrumentation) Systems. Im zweiten Beispiel wird die Evaluierung der Setup- und Hold-Zeiten einer CSI (Clocked Serial Interface) Kommunikationsschnittstelle gezeigt. Bei beiden Systemen wird LabVIEW als intelligente Oberfläche und zur Automatisierung eingesetzt.

 

Beispiel 1: Automatisierte Strommessung

Einleitung

Moderne Mikrocontroller von NEC Electronics werden heutzutage mit mehreren Spannungsdomains ausgestattet. Es gibt in der Regel eine separate Versorgung für den Clock Controller, für die IO-Buffer, für den Analog Konverter, für Hochstrom IO-Buffer (Steppermotoren) usw. Bei der Evaluierung des „Device under Test“ DUT spielt die richtige Stromverteilung eine besondere Rolle. Fehler im DUT können zum Beispiel anhand von Strommessungen detektiert werden. Die Bandbreite der zu messenden Ströme liegt dabei im Bereich von 80 dB. (100 mA normal Operation –10 µA Stop Mode). Um Fehler feststellen zu können, müssen diese Ströme bei verschiedenen Spannungen (3 – 5,5 V) und bei verschiedenen Temperaturen (-40 °C – 125 °C) ermittelt werden. Die Kombination aller Möglichkeiten erzeugt eine Datenmenge von mehreren hundert Messungen. Hier ist eine Automatisierung des Ablaufs notwendig.

 

Der Messaufbau

Verschiedene Entwicklungen zur Automatisierung der Messung haben schließlich zu dem jetzigen Aufbau, basierend auf einem PXI-System, geführt. Herzstück des Aufbaus ist ein 7,5-stelliges Digital Multimeter (DMM) und ein 512 Channel Switch, der mit einem Großteil aller Mikrocontrollerpins (127 von 144) verbunden ist. Der Switch ist als 128 x 4 Matrix konfiguriert. Es stehen (128 – 1) Kanäle für das DUT zur Verfügung. Auf die Reduzierung der Kanalzahl um eins wird im weiteren Verlauf detailliert eingegangen. Neben den Controllerpins stehen vier Lines zur Verfügung, um beliebige Verbindungen mit den dem DUT herzustellen. Im Falle einer Strommessung müssen die Versorgungspins mit einer Spannungsquelle versorgt und nacheinander die einzelnen Ströme gemessen werden.

Speziell für diesen Zweck ist ein Adapterboard für das DUT und den Switch entwickelt worden. Ziel dieser Entwicklung war es, die Messung von möglichst vielen Störungen abzuschirmen. Aus diesem Grund wurden die Verbindungen zum DMM so kurz wie möglich ausgeführt und das Board mit zwei äußeren Ground Lagen versehen. Das Board ist mit speziell geschirmten Steckern direkt mit dem Switch verbunden.

 

Das Messprinzip

Über eine Software, die für diesen Test in das DUT programmiert wird, kann der Baustein bezüglich verschiedener Operation Modes (Run Mode, Halt Mode, Stop Mode ...) eingestellt werden. Zu diesem Zweck werden nacheinander drei 8-bit Parameter über einen Port an das DUT übergeben. Diese Werte werden über den Switch eingestellt. Nachdem der Baustein konfiguriert ist, werden nacheinander die entsprechenden Ströme gemessen. Hierbei ist es erforderlich, dass die Versorgung des Bausteins zu keinem Zeitpunkt unterbrochen wird. Eine spezielle Reihenfolge wie das Multimeter in den zu messenden Pfad geschaltet werden muss, ist einzuhalten.

Zu Beginn sind alle Versorgungspins direkt mit der Spannungsquelle verbunden. Im zweiten Schritt wird über ein freies Signal (128-1) der Matrix ein Amperemeter ebenfalls mit der Versorgung kontaktiert. Als nächstes wird der zweite Kontakt des Amperemeters auf das zu messende Signal geschaltet. Jetzt kann das Signal unterbrechungsfrei von der direkten Versorgung getrennt werden, sodass der Strom über das Amperemeter fließt. Bevor ein anderes Signal gemessen werden kann, muss die gleiche Reihenfolge wieder rückwärts durchlaufen werden. Auf diese Weise kann das DUT unterbrechungsfrei vermessen werden, ohne dass der Mode neu eingestellt werden muss.

Die Variation der Versorgungsspannung wird über eine variable Spannungsquelle, die via IEEE-488 und LabVIEW programmiert werden kann, erreicht.

 

Das Temperaturmodul

Neben den verschiedenen Spannungen muss auch die Temperatur des DUT variiert werden. Dazu wird der Baustein mittels eines Peltier-Elements auf eine bestimmte Temperatur eingestellt. Die Verbindung zwischen Peltier und DUT wird über einen Aluminiumadapter­block, der mit einem Temperaturfühler versehen ist, hergestellt. Mit Hilfe eines zweipoligen Relais kann eine Temperaturregelung aufgebaut werden, die unabhängig von der Außentemperatur arbeitet. Ist die Temperatur am Device zu niedrig, wird das Peltier im Heizmode (+) betrieben. Ist die Temperatur zu hoch, wird das Peltier im Kühlmodus (-) betrieben. Die komplette Regelung als auch die Ansteuerung des Relais wird über LabVIEW realisiert.

 

Die LabVIEW Umgebung

Die Ansteuerung des Switches ist als sequentieller Prozess ausgeführt. Mit jedem Schritt werden die entsprechenden Relais ein- bzw. aus geschaltet. Da viele Verschaltungsmodule auf Softwareebene gekapselt sind, kann leicht eine Adaption an andere DUTs gemacht werden. Hierbei müssen nur die Untermodule modifiziert werden. Die Spannungsversorgung des zu messenden DUT wird in einem separaten Prozess eingestellt. Gleiches gilt auch für die Temperaturregelung, die als eigenständige Routine arbeitet. Die Kommunikation zwischen den Prozessen wird mit so genannten Queues in LabVIEW erreicht.

 

Beispiel 2: Evaluierung der Setup- und Hold-Zeiten einer CSI

Einleitung

Bei dieser Aufgabenstellung kommt es darauf an, die Setup- und Hold-Zeiten des synchronen seriellen Interfaces eines Mikrocontrollers von NEC Electronics zu ermitteln. Unter Setup-Zeit versteht man die Zeit, die ein Signal gültig sein muss, bevor eine gültige Taktflanke eintritt. Die Hold-Zeit beschreibt den Zeitraum den das Signal nach Eintreffen dieser Taktflanke noch anliegen muss.

Um diese beiden Zeiten zu bestimmen, muss man das Datensignal gegenüber der Clock in beide Richtungen verschieben können. Hinzu kommt noch, dass es einen Master und Slave Mode bei dieser Übertragung gibt. Der Master erzeugt grundsätzlich die Clock, kann aber Datenquelle und / oder Datensenke sein.

 

Aufbau

Neben dem DUT benötigt man eine Gegenstelle, bei der Clock und Daten verschoben werden können. Diese Seite muss über ein Command-Interface verfügen, mit der die Kommunikation aufgesetzt und die Verzögerungsparameter eingestellt werden können. Zu diesem Zweck wurde das CSI Makro in ein FPGA (Field Programmable Gate Array) implementiert und zusätzlich mit einstellbaren synchronen und asynchronen Delaymakros versehen. Das asynchrone Delay besteht aus einer selektierbaren Kette von Gattern die von Hand innerhalb des FPGA's plaziert und geroutet werden. Man erreicht hierbei ein Delay von bis zu 6.25 ns in Schritten von 200ps. Beim synchronen Delay wird das Signal mittels einer FlipFlop-Kette verzögert. Die FlipFlops werden mit einer Clock von 160 MHz betrieben. Hierbei beträgt die Schrittweite dann 6.25 ns. Neben dem eigentlichen CSI Makro befindet sich in dem FPGA eine eingebettete CPU, die für die Kommunikation über eine UART Schnittstelle zuständig ist. Zur Auswertung der übertragenen Daten muss auf dem DUT eine spezielle Software installiert sein.

Die Steuerung des Gesamtsystems übernimmt eine LabVIEW Applikation, die über die UART Verbindung sowohl der Testhardware als auch dem DUT die entsprechenden Kommandos sendet.

 

Messprinzip

Im einfachsten Mode befindet sich das DUT im Slave-Mode und die Testhardware sendet sowohl die Daten als auch die Clock. Hierbei kann die Clock verzögert und damit die Hold-Zeit reduziert werden. Die Clock wird so lange verzögert, bis das empfangene Datum nicht mehr gültig ist. Im zweiten Schritt kann man das Datum verzögern, bis auch hierbei kein gültiges Datum mehr empfangen wird und erhält damit die Setup Zeit für dieses Signal.

Befindet sich dagegen das DUT im Master-Mode, kann man nur noch das Datum, welches zum DUT geschickt wird, verzögern. Um auch eine negative Verzögerung zu erreichen, wird das erste Bit der synchronen Übertragung ignoriert. Wenn der erwartete Empfangswert auch um ein Bit nach rechts verschoben wird, hat man ein negatives Delay von einer Bitlänge. Ohne Verzögerung wird der empfangene Wert als falsch detektiert. Ab einem bestimmten Delay ist der übertragene Wert richtig. Dieser Wert entspricht der kürzesten Hold-Zeit. Hat das Delay eine bestimmte Größe überschritten, ist die Übertragung wieder fehlerhaft. Aus diesem Zeitpunkt kann die kürzeste Setupzeit ermittelt werden.

 

LabVIEW Umgebung

Das LabVIEW Programm stellt neben der Bedieneroberfläche eine UART Kommunikations­schnittstelle und eine sequentielle Logik zur Synthese der Kommandos bereit. Es wurde mit zwei unabhängigen Schleifen gearbeitet, die über Queues Daten miteinander austauschen. Zusätzlich kann noch eine Stromversorgung für das DUT eingestellt werden. Bei jedem Schleifendurchlauf wird ein kompletter Satz an Kommandos an die Testhardware gesendet. Ein Kommando besteht aus einem Befehl (alphanumerisch) und ein bzw. zwei numerischen Parametern. Es stehen sowohl Kommandos zur Konfiguration des Delays als auch zum Einstellen der CSI zur Verfügung. Die beiden möglichen Delaywerte werden über zwei Drehregler auf der Bedieneroberfläche eingestellt. Bei der CSI werden die entsprechenden Registerwerte des Makros übertragen. Zusätzlich kann noch ein halbautomatischer Betrieb selektiert werden, der das Anfahren der Grenzwerte automatisch übernimmt. In Zukunft soll auch das Einstellen der Spannungsversorgung des DUT automatisiert werden, sodass endgültig alle Setup- und Hold-Zeiten bei verschiedenen Spannungen automatisch gemessen werden.

 

Zusammenfassung

Im Laufe der letzten Jahre hat sich gezeigt, dass die Evaluierung von µ-Controllern ohne Automatisierung nur noch bedingt möglich ist. Erst der Einsatz von LabVIEW hat die Möglichkeiten geschaffen, Abläufe zu automatisieren und damit auch reproduzierbar zu machen. Häufig kommt es vor, dass ähnliche Messungen für verschiedene µ-Controller gemacht werden müssen. In diesem Fall steht mittlerweile eine Vielzahl von LabVIEW Applikationen zur Verfügung, die zu einer Reduzierung des Zeitaufwands führen. Mit Hilfe der PXI Umgebung konnte die Verkabelung der Tests auf ein Minimum reduziert werden. Die Störanfälligkeit bei der Messung von kleinen Strömen konnte ebenfalls verbessert werden.

Author Information:
For more information on this Case Study, contact:
Dipl.-Ing. Jörg Hagedorn
NEC Electronics (Europe) GmbH
Arcadiastr. 10
Düsseldorf 40472
DE
Tel: +49-(0)21 1-6503-1101
Fax: +49-(0)21 1-6503-1248
Joerg.Hagedorn@eu.necel.com

Browse All Case Studies »

  Print