Elektronik-Praktikum am Dritten Physikalischen Institut der Universität Göttingen Wintersemester 2005/2006 Protokoll zum Versuch 146 Messgerätesteuerung über IEC-Bus Name: Georg Herink, Hendrik Söhnholz (Unterschrift) Praktikumspartner: Assistent: Dennis Kröninger Versuch durchgeführt am: 04.04.2006 Protokoll erstellt am:
Inhaltsverzeichnis 1 Einführung 3 2 Theorie 3 2.1 Funktionsweise des GPIB................. 3 2.2 Steuerungssoftware HP VEE Pro............. 4 3 Durchführung und Auswertung 5 3.1 Frequenzgang........................ 5 3.2 Ermittlung der Phasenverschiebung............ 5
1 Einführung Im Jahre 1965 entwickelte Hewlett-Packard den HP-IB (Interface Bus), der den Anschluss von programmierbaren Messgeräten an einen Computer ermöglichen sollte. Später wurde der HP-IB im IEEE-Standard 488 spezifiziert. Mittlerweile wird er auch als General Purpose Interface Bus (GPIB) bezeichnet. Dieser Versuch führt in die Messgerätesteuerung ein. Wir realisieren die automatisierte Messung der Übertragungsfunktion eines unbekannten Schaltkreises durch die Ansteuerung eines Funktionsgenerators, eines Digitalmultimeters und eines Digitaloszilloskops. 2 Theorie 2.1 Funktionsweise des GPIB Am GPIB können Geräte auf drei verschiedene Arten betrieben werden: als Talker, der Daten sendet, als Listener, der Daten empfängt oder als Controller, der den Verkehr auf dem Bus koordiniert. Jedes Gerät hat eine eigene Adresse zwischen 0 und 30, über die es angesprochen werden kann. Der GPIB besitzt 24 Leitungen, davon liegen 8 Leitungen auf Masse. Von den 16 Signalleitungen sind 8 für die Übertragung von Daten vorgesehen. Über weitere 3 Leitungen wird eine fehlerfreie Übertragung garantiert (Handshaking). Die verbleibenden 5 Leitungen steuern den Informationsfluss (Interface Management). Auf den 8 Datenleitungen werden die Daten byteweise in positiver Logik vom Talker gesendet und können von einem Listener empfangen werden. Die Handshake-Leitungen basieren auf negativer Logik. Die Leitung DAV (data valid) wird vom Talker auf low gesetzt, wenn ein gültiges Byte auf den Datenleitungen anliegt. Wenn alle Listener aufnahmebereit sind, wird NRFD (not ready for data) auf high gesetzt. Ist die NDAC-Leitung auf high gesetzt, wurde das aktuelle Datenbyte verarbeitet. Die Interface Management Leitungen arbeiten ebenfalls mit negativer Logik. Das End-or-Identify-Bit (EOI) wird vom Talker bei der Übertragung des letzten Datenbytes gesetzt. Zudem wird es vom Controller zur Abfrage der Geräteadresse benutzt. Durch die Interface Clear Leitung (IFC) kann der Controller alle Geräte zurücksetzen (Reset). Über die Service Request (SRQ) Leitung können Geräte dem Controller ihre Sende- oder Empfangsabsicht mitteilen. Mit Setzen der ATN-Leitung
Pin Name Beschreibung 1 DIO1 Data Input/Output Bit 1 2 DIO2 Data Input/Output Bit 2 3 DIO3 Data Input/Output Bit 3 4 DIO4 Data Input/Output Bit 4 5 EIO End-Or-Identify 6 DAV Data Valid 7 NRFD Not Ready For Data 8 NDAC Not Data Accepted 9 IFC Interface Clear 10 SRQ Service Request 11 ATN Attention 12 Shield Chassis Ground 13 DIO5 Data Input/Output Bit 5 14 DIO6 Data Input/Output Bit 6 15 DIO7 Data Input/Output Bit 7 16 DIO8 Data Input/Output Bit 8 17 REN Remote Enable 18 Shield Ground (DAV) 19 Shield Ground (NRFD) 20 Shield Ground (NDAC) 21 Shield Ground (IFC) 22 Shield Ground (SRQ) 23 Shield Ground (ATN) 24 Signal GND Signal Ground Tabelle 1: Die Pinbelegung der GPIB-Stecker auf low signalisiert der Controller, dass die Datenleitungen für Adressund Steuermitteilungen genutzt werden. Es wird die Adresse des als nächstes agierenden Gerätes ermittelt, an dieses die Aufgaben gesendet und mit Hochsetzen der Leitung alle nicht beteiligten Geräte abgekoppelt. Die REN-Leitung zeigt die Aktivität des Busses an. Im SCPI-Standard werden einige Befehle festgelegt, die jedes Gerät beherrscht. Darüber hinaus gibt es noch gerätespezifische Befehle, über die man gerätespezifische Funktionen nutzen kann. 2.2 Steuerungssoftware HP VEE Pro Mit der Software HP VEE (Visual Engineering Environment) lassen sich die Messaufgaben visuell programmieren. Das Programm beginnt beim Start-Button. Mittels virtuellen Leitungen werden die Befehle an
die Komponenten weitergeleitet. Dabei kann der Programmverlauf über Schleifen und bedingte Verzweigungen beeinflusst werden wie bei herkömmlichen Programmiersprachen. Die Messdaten werden ebenfalls durch virtuelle Leitungen übertragen und können bearbeitet, ausgewertet und graphisch dargestellt werden. Befehle können per Direct I/O direkt in Textform an das Gerät gesendet werden. Für einige Geräte existieren aber auch Instrument Panel Driver, die ein virtuelles Bedienfeld zur Fernsteuerung des Gerätes zur Verfügung stellen. 3 Durchführung und Auswertung Ziel des Versuchs ist die Bestimmung der Übertragungsfunktion einer unbekannten Schaltung (black box). Dazu standen ein Funktionsgenerator, ein Digitalmultimeter und ein Oszilloskop zur Verfügung. Mit HP VEE konnten wir die Messungen automatisieren. 3.1 Frequenzgang Als erstes haben wir in HP VEE ein Schleife erstellt, die alle Frequenzen zwischen 500 Hz und 20 khz in 500 Hz-Schritten durchläuft. Bei jedem Schleifendurchlauf wird die Frequenz im Funktionsgenerator eingestellt, das Sinussignal in die black box eingespeist und mit dem Digitalmultimeter die Ausgangsspannung gemessen. Daraus konnten wir mit Hilfe eines XY-Plots den Frequenzgang darstellen (Abb. 3). Abb. 1 zeigt das verwendete Messprogramm. 3.2 Ermittlung der Phasenverschiebung Wir haben wieder eine Schleife erstellt, die diesmal die Frequenzen von 7 bis 17 khz in 0.5 khz-schritten durchläuft. Die Frequenz wird jeweils im Funktionsgenerator eingestellt. In jedem Schleifendurchlauf haben wir mit dem Oszilloskop das Eingangs- und Ausgangssignal der black box gemessen. Da es für das verwendete Oszilloskop keinen Panel Driver gab, haben wir es über Direct I/O angesteuert. Pro Frequenzschritt haben wir 2500 Messpunkte ausgelesen. Den Messbereich haben wir der jeweiligen Frequenz angepasst, so dass stets etwa fünf Perioden auf dem Oszilloskop sichtbar waren. In HP VEE gibt es Formelobjekte, in denen die Messdaten durch mathematische Vorschriften manipuliert werden können. Mit der Funktion xcorrelate() haben wir Eingangs- und Ausgangssignal kreuzkorre-
liert. Die Lage des Maximums in der Kreuzkorrelation liefert die zeitliche Verschiebung der beiden Signale. Daraus lässt sich bei gegebener Frequenz die Phasenverschiebung berechnen. Letztere haben wir anschließend in einem XY-Plot gegen die Frequenz aufgetragen (Abb. 4). In Abb. 2 ist das verwendete Programm dargestellt.
Abbildung 1: Programm zur Messung des Frequenzgangs
Abbildung 2: Programm zur Messung der Phasenverschiebung
Abbildung 3: Gemessener Frequenzgang (x-achse: Frequenz in Hz, y- Achse: Amplitude in V)
Abbildung 4: Gemessene Phasenverschiebung (x-achse: Frequenz in Hz, y-achse: Phase in )