Signalbasierte Synchronisierung von Analogeingangsmodulen der C-Serie mit NI-DAQmx in LabVIEW

Überblick

CompactDAQ-Controller und -Chassis bieten Unterstützung für eine Vielzahl verschiedener I/O-Module der C-Serie mit Messungen verschiedener Arten, wie zum Beispiel von Beschleunigung, Temperatur und Dehnung. Wenn Anwendungen eine enge Synchronisierung zwischen Messungen erfordern, bietet die CompactDAQ-Hardware in Verbindung mit der NI-DAQmx-API dem Benutzer flexible Konfigurationsoptionen, um den gewünschten Grad der Synchronisierung für mehrere I/O-Module der C-Serie zu erreichen. In diesem Dokument werden die verfügbaren signalbasierten Optionen für die Synchronisierung zwischen I/O-Modulen der C-Serie vorgestellt.

Inhalt

Analogeingangsmodule der C-Serie

Analogeingangsmodule der C-Serie können basierend auf ihrer Synchronisierung in vier Gruppen eingeteilt werden: Referenztakt, Delta Sigma, langsam abgetastet und SAR (Successive Approximation Register). Referenztaktmodule wandeln die Signale unter Verwendung eines karteneigenen Takts um. Dieser karteneigene Takt wird mithilfe einer Phasenregelschleife (PLL) auf einen anderen internen Takt eingestellt oder kann auf modulexterne Takte eingestellt werden. Delta-Sigma-Module arbeiten mit 24-Bit-A/D-Wandlern und wandeln die Signale mit einem modulinternen Takt um. Langsam abgetastete Module arbeiten mit einem 24-Bit-A/D-Wandler und wandeln die Signale unter Verwendung eines externen Takts vom CompactDAQ-Controller oder -Chassis um. SAR-Module schließlich arbeiten mit einem (12- oder 16-Bit-)SAR-A/D-Wandler und wandeln die Signale unter Verwendung eines externen Takts um. Die Methode der Implementierung der Synchronisierung kann von der Gruppe abhängen, zu der das Modul gehört. Eine Liste der Modulgruppierungen finden Sie im Abschnitt zu den Ressourcen in dieser Anleitung. In dieser Anleitung werden unter Synchronisierung die Schritte oder Verfahren definiert, die direkt oder indirekt über den DAQmx-Treiber verwendet werden, um Messungen gleichzeitig zu starten und die Drift zwischen aufeinander folgenden Messungen zu eliminieren. Zwar verbessern diese Schritte die Ausrichtung zwischen Abtastwerten (Samples), der Schwerpunkt liegt aber darauf, die Drift zu verhindern.

Time-Based Synchronization vs. Signal-Based Synchronization

Die zeitbasierte Synchronisierung und die signalbasierte Synchronisierung sind zwei verschiedene Paradigmen, die Sie zur Synchronisierung von Messungen mit Modulen der C-Serie verwenden können. In diesem Dokument wird die signalbasierte Synchronisierung beschrieben. Weitere Informationen zur zeitbasierten Synchronisierung erhalten Sie unter Zeitbasierte Synchronisation von Analogeingangsmodulen der C-Serie mit NI-DAQmx in LabVIEW.

  • Die signalbasierte Synchronisierung erfolgt über Signale, die zwischen Geräten ausgetauscht werden. Ein Gerät, das darauf wartet, dass ein digitales High auf einer Trigger-Leitung auftritt, verwendet die signalbasierte Synchronisierung. 
  • Die zeitbasierte Synchronisierung erfolgt über Ereignisse, die in Bezug auf die Zeit auf einem Gerät geplant sind. Ein Gerät, das mit dem Start darauf wartet, dass eine lokale Zeit von 17 Uhr erreicht wird, verwendet die zeitbasierte Synchronisierung.
     

Da jede Synchronisierungsmethode ihre Vorteile hat, richtet sich die Auswahl der richtigen Synchronisierungsmethode nach der Anwendung.

Synchronisation mit Start-Trigger

In diesem Abschnitt werden die verschiedenen Methoden zur modulübergreifenden Steuerung des Beginns einer Erfassung beschrieben. Da der Schwerpunkt auf der Ausrichtung der Startzeit zwischen mehreren Tasks liegt, ist diese Methode die einfachste Möglichkeit, eine Synchronisation zu erreichen.

Bei der ersten Methode wird eine Softwarefunktion verwendet, mit der die Erfassung entsprechend der Definition durch einen DAQmx-Task gestartet wird. Wenn diese Funktion in jedem Task relativ gleichzeitig ausgeführt wird, ist zu Beginn der Daten ein ähnlicher Grad der Synchronisierung zu beobachten.

Wenn Hardware-Timing verwendet wird und keine Trigger konfiguriert sind, wird die Erfassung durch das VI „DAQmx – Task starten“ initiiert. Dieses VI sorgt dafür, dass CompactDAQ-Controller und -Chassis einen digitalen Impuls senden, mit dem die Erfassung beginnt. Wenn sich die VIs „DAQmx – Task starten“ von zwei unabhängigen Tasks im selben Rahmen einer flachen Sequenzstruktur befinden, beginnen die beiden Tasks zur selben relativen Zeit. Der zeitliche Abstand zwischen den genauen Startzeiten der beiden Tasks hängt jedoch von der Softwareverzögerung zwischen der Ausführung dieser VIs „DAQmx – Task starten“ ab und variiert daher je nach Betriebssystem. Diese Methode ist in Abbildung 1 dargestellt. Dabei wird der Start von zwei Tasks zur Erfassung von Analogsignalen während der Ausführung mit den VIs „DAQmx – Task starten“ innerhalb desselben Rahmens einer flachen Sequenzstruktur gesteuert.

Abbildung 1: Der Start jedes Tasks erfolgt in einer flachen Sequenzstruktur

Um eine solche Verzögerung zu vermeiden, kann das VI „DAQmx – Trigger“ verwendet werden. Bei dieser Methode können Tasks so konfiguriert werden, dass sie nicht durch das Aufrufen einer Softwarefunktion, sondern durch einen Hardware-Trigger gestartet werden. Wenn mit dieser Funktion Tasks synchronisiert werden, sendet der eine Task den Trigger und der andere Task empfängt den Trigger. In diesem Fall wartet der Task, der den Trigger empfängt, auf den vom Master-Task gesendeten Trigger, um mit der Signalerfassung oder -erzeugung zu beginnen. Wenn der Master-Task gestartet wird, wird von ihm ein Digital-Trigger gesendet, der alle Tasks startet, die so konfiguriert sind, dass sie basierend auf diesem Signal gestartet werden. Diese Methode ist in Abbildung 2 dargestellt. Dabei wird das VI „DAQmx – Task steuern“ vor dem Task aufgerufen, der den ai/Start-Trigger akzeptiert, um sicherzustellen, dass der Master-Task den ai/Start-Trigger reserviert. 

Abbildung 2: Trigger-Konfiguration zum Starten beider Tasks

Um die Trigger- und Timing-Nomenklatur zu verstehen, müssen Sie wissen, welche Timing-Engine für einen Task reserviert ist. CompactDAQ-Controller und -Chassis verwenden drei Timing-Engines für die Erfassung von Analogsignalen: ai, te0 und te1. Jeder simultan ausgeführte Task wird einer anderen Timing-Engine zum Steuern des Sample-Takts und der Trigger zugewiesen. Zum Beispiel ist der ai/StartTrigger der Timing-Engine ai zugewiesen. Der Treiber für NI-DAQmx weist jeden Task zur Erfassung von Analogsignalen automatisch einer Timing-Engine beginnend mit ai über te0 bis hin zu te1 zu. Es ist wichtig zu wissen, welcher Task welche Timing-Engine verwendet. Daher richten wir Tasks, die den Start-Trigger empfangen, so ein, dass das Signal der Timing-Engine desselben Master-Tasks verwendet wird. Indem der Master-Task zuerst reserviert wird, wird dieser Task speziell der Timing-Engine ai zugewiesen. Jetzt können beide Tasks so eingerichtet werden, dass sie den Start-Trigger (ai/StartTrigger) des Master-Tasks verwenden.

Synchronisation mit Sample-Takt

Bei Verwendung des oben beschriebenen Verfahrens werden Tasks gleichzeitig gestartet, indem ein Start-Trigger gemeinsam genutzt wird. Bei dieser Methode besteht jedoch keine Garantie, dass nachfolgende Messungen zwischen den beiden Tasks nicht voneinander abweichen (dies wird auch als Drift bezeichnet). Da beide Tasks einen Sample-Takt gemeinsam verwenden können, können alle Tasks, die diesen gemeinsamen Takt verwenden, gleichzeitig Abtastwerte (Samples) erfassen. Eine Abweichung (Drift) dieser beiden Tasks ist daher ausgeschlossen. Da, wie bereits erwähnt, Compact-DAQ-Controller und -Chassis drei Timing-Engines für die Erfassung von Analogsignalen verwenden, bestimmt die Reihenfolge, in der die Tasks reserviert werden, welche Timing-Engine durch einen Task verwendet wird. In Abbildung 3 ist dargestellt, wie mehrere Tasks den Sample-Takt gemeinsam nutzen. 

Abbildung 3: Sample-Takt und Trigger werden gemeinsam genutzt

Da jeder Task denselben Sample-Takt verwendet, müssen bei diesem Verfahren beide Tasks mit derselben Sample-Rate arbeiten. Bei Delta-Sigma- oder Referenztaktmodulen funktioniert diese Synchronisierungsmethode nicht. Diese Module verwenden einen moduleigenen Takt zur Erfassung ihrer Messwerte. In den folgenden Abschnitten (Task mit mehreren Geräten und Multiraten-Tasks) wird die Synchronisierung von Delta-Sigma-Modulen erläutert.

Task mit mehreren Geräten

Um die Konfiguration der Synchronisierung zu vereinfachen, können in NI-DAQmx mehrere Analogeingangskanäle von verschiedenen Modulen im selben Task eingefügt werden. Um verschiedene Module in einen Task einzufügen, geben Sie am Eingang „Physikalischer Kanal“ des VIs „Virtuellen Kanal erzeugen“ mehrere Kanäle für die verschiedenen Module an. Kanäle von verschiedenen Modulen sollten in dasselbe VI des Typs „DAQmx – Kanal erzeugen“ eingefügt werden, wenn sie mit der gleichen Messkonfiguration (Spannungsbereich und Einheiten) und den gleichen Informationen zu Timing und Triggerung arbeiten.

Abbildung 4: Verwenden verschiedener Module im selben Task

Wenn die Module unterschiedliche Messungen (z. B. von Spannung oder Strom) durchführen, unterschiedliche Messbereiche erfordern oder unterschiedliche Maßeinheiten verwenden müssen, verwenden Sie mehrere Instanzen des VIs „DAQmx – Virtuellen Kanal erzeugen“ (siehe folgende Abbildung).

Abbildung 5: Mehrere VIs des Typs „DAQmx – Virtuellen Kanal erzeugen“ werden für einen Task verwendet, um unterschiedliche Messtypen anzugeben

Sie können Analogeingangsmodule verschiedener Typen (SAR-, Delta-Sigma-, langsam abgetastete und Referenztaktmodule) im selben Task mischen und vom Treiber für NI-DAQmx synchronisieren lassen. Bei Tasks mit mehreren Geräten wählt DAQmx die bestmögliche Methode zum Synchronisieren der Module. Im Folgenden werden die verschiedenen Szenarien und die Synchronisierung der Messungen durch einen Task mit mehreren Geräten erläutert.

Zwei Module (SAR-Modul und/oder langsam abgetastetes Modul): Wenn zwei SAR-Module, ein SAR-Modul und ein langsam abgetastetes Modul oder zwei langsam abgetastete Module im selben hardwaregetakteten Task eingefügt werden, verwendet der DAQmx-Treiber bei beiden Modulen den Sample-Takt und den Start-Trigger desselben Chassis oder Controllers. Bei der Konfiguration mit SAR- und langsam abgetastetem Modul wird die maximale Rate, mit der die Daten ausgegeben werden, nicht durch das langsam abgetastete Modul bestimmt. In diesem Fall gibt der Treiber doppelte Samples für das langsam abgetastete Modul aus, damit Sie das SAR-Modul mit der schnellsten zulässigen Rate ausführen können.

Zwei Delta-Sigma-Module: Wenn zwei Delta-Sigma-Module im selben hardwaregetakteten AI-Task eingefügt werden, verwendet der DAQmx-Treiber bei allen Modulen die schnellste Master-Zeitbasis, setzt deren A/D-Wandler basierend auf demselben Synchronisationsimpuls zurück, verwendet einen gemeinsamen Start-Trigger und passt die Reset-Dauer an. Die Master-Zeitbasis ist der interne 12,8-MHz- oder 13,1-MHz-Takt, mit dem durch Delta-Sigma-Module die Messungen erfasst werden. Standardmäßig wird bei einem cDAQ-9185 oder cDAQ-9189 (zeitsensibles Chassis) die Master-Zeitbasis nicht vom Modul mit der schnellsten Master-Zeitbasis, sondern vom Chassis ausgegeben.

Zwei Referenztaktmodule: Wenn zwei Referenztaktmodule im selben hardwaregetakteten AI-Task eingefügt werden, verwendet der DAQmx-Treiber den Bezugstakt vom Master-Modul zum anderen Modul, setzt deren A/D-Wandler basierend auf demselben Synchronisationsimpuls zurück, verwendet einen gemeinsamen Start-Trigger und passt die Reset-Dauer an. Der Bezugstakt ist die interne Master-Zeitbasis, auf die sich das nachfolgende Modul einstellt. Standardmäßig wird bei einem zeitsensiblen Chassis der Bezugstakt nicht vom Master-Modul, sondern vom Chassis ausgegeben.

Referenztaktmodul und Delta-Sigma-Modul: Wenn ein Referenztaktmodul und ein Delta-Sigma-Modul im selben hardwaregetakteten AI-Task eingefügt werden, leitet der DAQmx-Treiber den Bezugstakt des Referenztaktmoduls an die Master-Zeitbasis des Delta-Sigma-Moduls weiter. Beide Module erhalten vom Chassis/Controller einen Synchronisationsimpuls, mit dem die jeweiligen A/D-Wandler zurückgesetzt werden, und verwenden einen gemeinsamen Start-Trigger. Außerdem wird die Reset-Dauer jedes Moduls angepasst. Bei einem zeitsensiblen Chassis wird der Bezugstakt des Referenztaktmoduls nicht mit der Master-Zeitbasis des Delta-Sigma-Moduls genutzt. Stattdessen leitet das Chassis einen Bezugstakt an das Referenztaktmodul und eine Master-Zeitbasis an das Delta-Sigma-Modul weiter. Das Referenztaktmodul (NI 9775) darf sich nicht im Modus „Datensatz“ befinden, wenn es im selben Task wie ein Delta-Sigma-Modul verwendet wird.

Delta-Sigma-Modul oder Referenztaktmodul und SAR-Modul oder langsam abgetastetes Modul: Wenn ein SAR-Modul oder langsam abgetastetes Modul und ein Delta-Sigma-Modul oder ein Referenztaktmodul im selben hardwaregetakteten AI-Task eingefügt werden, konfiguriert der DAQmx-Treiber das Delta-Sigma-Modul bzw. das Referenztaktmodul für die Ausgabe seines internen Sample-Takts, der danach durch das SAR-Modul bzw. das langsam abgetastete Modul verwendet wird. Der interne Sample-Takt entspricht der Datenrate, die für das Delta-Sigma-Modul konfiguriert wurde:

dabei gilt:
     fs ist die Datenrate,
     fm ist die interne Master-Zeitbasis, die in den Spezifikationen des Moduls angegeben ist,
     n/a/b sind Teiler.

Den internen Sample-Takt für das Referenztaktmodul finden Sie im Datenblatt des Geräts. Der Treiber gibt doppelte Samples für das langsam abgetastete Modul aus, damit das Delta-Sigma- oder Referenztaktmodul schneller arbeiten kann. Das Referenztaktmodul (NI 9775) darf sich nicht im Modus „Datensatz“ befinden, wenn es im selben Task wie ein SAR-Modul oder ein langsam abgetastetes Modul verwendet wird.  

Multiraten-Synchronisierung

Wenn mehrere Module in einem Task verwendet werden, gilt für alle Kanäle dieselbe Sample-Rate. Manche Anwendungen erfordern jedoch eine Synchronisierung mit unterschiedlichen Raten.

Zwei SAR-Module: Um zwei SAR-Module oder langsam abgetastete Module, die mit unterschiedlichen Raten in einem CompactDAQ-Chassis oder -Controller erfassen, zu synchronisieren, müssen Sie abgesehen von der Nutzung eines Start-Triggers keine weiteren Schritte unternehmen. Der von jedem Modul verwendete Sample-Takt wird aus demselben Signal abgeleitet. Daher werden die Messungen synchronisiert, wenn sich die Module im selben Chassis befinden.

Zwei DSA-Module: Um zwei Delta-Sigma-Module zu synchronisieren, die mit unterschiedlichen Raten erfassen, richten Sie die Tasks so ein, dass sie eine gemeinsame Master-Zeitbasis, einen gemeinsamen Synchronisationsimpuls (Sync-Impuls) und einen gemeinsamen Start-Trigger verwenden. In Abbildung 6 wird der Master-Zeitbasistakt von dem einen zum anderen Modul geleitet. Beachten Sie, dass sich der NI-DAQmx-Timing-Eigenschaftsknoten „SampleClck.Timebase.Src“ auf dasselbe 12,8-MHz- oder 13,1-MHz-Signal bezieht wie die Master-Zeitbasis, die im Datenblatt in den Betriebsanleitungen und Spezifikationen („Operating Instructions and Specifications“) aufgeführt ist. Dieser Takt wird auch als Überabtasttakt bezeichnet, da viele Taktimpulse notwendig sind, um einen Abtastwert (Sample) zu erzeugen.

Abbildung 6: Gemeinsame Nutzung des Überabtasttakts

Ein Gerät, das ein Delta-Sigma-Modul verwendet, enthält einen frei laufenden A/D-Wandler. Durch die gemeinsame Nutzung der Master-Zeitbasis wird sichergestellt, dass die Messungen vom selben Takt abgeleitet werden. Aufgrund des genauen Startzeitpunkts des A/D-Wandlers kommt es jedoch zu einer unbekannten Phasenverschiebung. Der nächste Schritt ist die gemeinsame Nutzung des Synchronisierungsimpulses. Der Synchronisationsimpuls wird verwendet, um den A/D-Wandler bzw. den D/A-Wandler zurückzusetzen, bevor er mit der Erfassung oder Erzeugung von Samples beginnt. Ohne dieses Signal zum Zurücksetzen des A/D-Wandlers bzw. des D/A-Wandlers werden die durchgeführten Messungen nicht synchronisiert. Unten sind die Eigenschaftsknoten dargestellt, die die gemeinsame Nutzung eines Überabtasttakts und eines Synchronisationsimpulses ermöglichen.

Abbildung 7: Gemeinsame Nutzung von Überabtasttakt, Start-Trigger und Sync-Impuls

In der obigen Konfiguration wird der Synchronisationsimpuls von einem zu einem anderen Task geleitet, je nachdem, welcher Task mit der schnelleren Rate läuft. Bei der Multiraten-Konfiguration verwenden wir den Sample-Takt des langsamer laufenden Tasks, um den schneller laufenden Task zu triggern. Die Begründung dafür finden Sie im Beispiel.

Eine weitere zu untersuchende Überlegung betrifft die für jedes Modul erforderliche Reset-Dauer. Die Reset-Dauer ist eine Verzögerung, die der A/D-Wandler eines Delta-Sigma-Moduls zwischen dem Empfang des Synchronisationsimpulses und dem Beginn der Datenerfassung benötigt. Unterschiedlich modellierte Delta-Sigma-Module können sich in ihrer Reset-Dauer unterscheiden. Diese Reset-Dauer müssen Sie berücksichtigen, um sicherzustellen, dass alle Geräte die Rücksetzsequenz durchlaufen haben und gleichzeitig mit der Erfassung oder Ausgabe von Samples beginnen. Um eventuell unterschiedliche Reset-Dauern richtig zu berücksichtigen, wird die für jedes Modul erforderliche Reset-Dauer überprüft und bei Modulen mit kürzerer Reset-Dauer gegebenenfalls eine Verzögerung hinzugefügt. Die Summe aus Reset-Dauer und Verzögerung sollte daher bei jedem Modul gleich sein.

Die zum Zurücksetzen des A/D-Wandlers benötigte Zeit kann mithilfe des DAQmx-Timing-Eigenschaftsknotens „SyncImpuls.ResetDauer“ ermittelt werden. Um sicherzustellen, dass alle A/D-Wandler ihren Rücksetzzyklus gleichzeitig beenden, wird die Reset-Dauer beider Tasks verglichen. Wir betrachten den Task mit der längsten Reset-Dauer und subtrahieren die Reset-Dauer des Tasks mit der kürzeren Reset-Dauer. Das Ergebnis ist der Zeitpunkt, zu dem der eine Task mit der Datenerfassung begonnen hat, während der andere Task noch seinen Rücksetzzyklus durchläuft. Um diese Verzögerung zu berücksichtigen, verwenden wir eine weitere NI-DAQmx-Eigenschaft mit der Bezeichnung „SyncImpuls.ResetVerzög“. Diese Eigenschaft ermöglicht eine Verzögerung des Synchronisationsimpulses, der an jedes Modul gesendet wird. Wie bereits erwähnt, ist die Reset-Dauer die Verzögerung zwischen dem Empfang eines Synchronisationsimpulses durch den A/D-Wandler und dem Beginn der Datenerfassung. Um diese Eigenschaft optimal zu nutzen, sollten Sie sie auf die Differenz zwischen dem Modul mit der längsten Reset-Dauer und der Reset-Dauer des Moduls festlegen. Damit verschiebt sich der Synchronisationsimpuls eines Moduls, das weniger Zeit zum Zurücksetzen benötigt, wodurch sichergestellt wird, dass die Rücksetzsequenz von Modulen mit langer und schneller Reset-Dauer gleichzeitig beendet wird. Im folgenden Programmcode wird beschrieben, wie die Reset-Dauer ermittelt und die entsprechende Reset-Verzögerung bestimmt wird.  

Abbildung 8: Abfrage der Reset-Dauer des Sync-Impulses und Berechnung der Reset-Verzögerung

Der maximale Wert des NI-DAQmx-Eigenschaftsknotens „SyncImpuls.ResetVerzög.“ beträgt 0,013 Sekunden. Bei großen Differenzen der Reset-Verzögerung ist dieser Wert jedoch möglicherweise nicht geeignet. Beachten Sie die Reihenfolge des Eigenschaftsknotens bei der Abfrage der „SyncImpuls.ResetDauer“ für den Task, der die Master-Zeitbasis empfängt. Dieser Wert ändert sich in Abhängigkeit von einer 13,1-MHz-Zeitbasis oder einer 12,8-MHz-Zeitbasis. Daher ist es wichtig, dass die „SyncImpuls.ResetDauer“ für diesen Task aufgerufen wird, nachdem das Modul über die Rate der Master-Zeitbasis informiert wurde.

Bei der Suche nach den Eigenschaften „SyncImpuls.ResetVerzög.“ und „SyncImpuls.ResetDauer“ werden Sie auch auf „SyncImpuls.SyncZeit“ und „SyncImpuls.MinVerzögBisStart“ stoßen. Die meisten Entwickler werden diese Eigenschaft nicht verwenden, können ihnen jedoch aufgrund der Namensähnlichkeit und ihrer Lage in der Nähe begegnen. SyncImpuls.SyncZeit ist die SyncImpuls.ResetDauer y plus dem Wert, den Sie für SyncImpuls.ResetVerzög. eingegeben haben. Der Wert von SyncImpuls.SyncZeit wird auf die nächste Millisekunde gerundet. SyncImpuls.MinVerzögBisStart ist die Zeit zwischen der Ausgabe des Synchronisierungsimpulses und der Ausgabe des Start-Triggers durch den Master-Task. Diese Eigenschaft entspricht SyncImpuls.SyncZeit, sofern sie nicht ausdrücklich festgelegt wird.

Zwei Referenztaktmodule: Zum Synchronisieren von zwei Referenztaktmodulen mit unterschiedlicher Rate (wie z. B. von zwei DSA-Modulen) müssen Sie den Bezugstakt, den Synchronisationsimpuls und den Sample-Takt des Master-Tasks auf andere Tasks verteilen. Beachten Sie, dass sich der NI-DAQmx-Timing-Eigenschaftsknoten „RefClck.Src“ auf dieselbe interne Master-Zeitbasis bezieht, die auch im Datenblatt aufgeführt ist.

Abbildung 9: Synchronisation von zwei Referenztaktmodulen

Delta-Sigma-Modul und SAR-Modul oder langsam abgetastetes Modul: Zum Synchronisieren eines Delta-Sigma-Moduls und eines SAR-Moduls oder langsam abgetasteten Moduls muss das SAR-Modul bzw. langsam abgetastete Modul die Master-Zeitbasis und den Sample-Takt des Delta-Sigma-Moduls verwenden. Da das SAR-Modul bzw. langsam abgetastete Modul nicht bei 12,8 MHz oder 13,1 MHz erfassen kann, wird die Master-Zeitbasis des Delta-Sigma-Moduls mit der Master-Zeitbasis des SAR-Moduls bzw. langsam abgetasteten Moduls gemeinsam genutzt, wie in Abbildung 10 dargestellt. Der Sample-Takt eines SAR-Moduls oder eines langsam abgetasteten Moduls wird in der Regel vom karteneigenen Takt des CompactDAQ-Chassis oder -Controllers abgeleitet. Bei dieser Methode wird der Chassis- oder Controller-Takt durch den 12,8-MHz- oder 13,1-MHz-Takt des Delta-Sigma-Moduls ersetzt.  

Abbildung 10: Synchronisation eines Delta-Sigma-Moduls und eines SAR-Moduls oder langsam abgetasteten Moduls

Referenztaktmodul und SAR-Modul oder langsam abgetastetes Modul: Zum Synchronisieren eines Referenztaktmoduls und eines SAR-Moduls oder langsam abgetasteten Moduls muss das SAR-Modul bzw. langsam abgetastete Modul den Bezugstakt und den Sample-Takt des Referenztaktmoduls verwenden. Da das SAR-Modul bzw. langsam abgetastete Modul nicht bei 12,8 MHz erfassen kann, wird der Bezugstakt des Referenztaktmoduls mit der Master-Zeitbasis des SAR-Moduls bzw. langsam abgetasteten Moduls gemeinsam genutzt. Der Sample-Takt eines SAR-Moduls oder eines langsam abgetasteten Moduls wird in der Regel vom karteneigenen Takt des CompactDAQ-Chassis oder -Controllers abgeleitet. Bei dieser Methode wird der Chassis- oder Controller-Takt, der an das SAR-Modul bzw. das langsam abgetastete Modul geleitet wird, durch die interne Master-Zeitbasis des Referenztaktmoduls ersetzt.  

Abbildung 11: Synchronisation eines Referenztaktmoduls mit einem SAR-Modul oder einem langsam abgetasteten Modul

Tasks mit mehreren Chassis

Einige Messanwendungen erfordern gemischte Messungen und verteilte Systeme, für die möglicherweise mehr als ein CompactDAQ-Chassis oder -Controller erforderlich ist. Für die Synchronisierung mehrerer Chassis gibt es drei Hauptmethoden.

Synchronisierung mehrerer Chassis mit BNC/SMB-Anschlüssen oder Digitalmodulen: Eine Möglichkeit, mehrere Chassis zu synchronisieren, ist die Verwendung der zwei BNC-Anschlüsse an den Chassis cDAQ-9178, cDAQ-9188, cDAQ-9188XT und cDAQ-9179 oder eines SMB-Anschlusses an den Chassis cDAQ-9132, cDAQ-9133, cDAQ-9134, cDAQ-9135, cDAQ-9136, cDAQ-9137, cDAQ-9185 und cDAQ-9189 zum Importieren und Exportieren von Timing-Signalen.

Abbildung 12: NI cDAQ-9178 mit zwei BNC-Anschlüssen kann zum Importieren oder Exportieren von Timing- und Trigger-Signalen verwendet werden

Die BNC- und SMB-Anschlüsse verschiedener Chassis können für das Durchleiten von Trigger- und Timing-Signalen verbunden werden. Bei Verwendung des DAQmx-Treibers können Signale von einem Master-Task mithilfe des Eigenschaftsknotens „NI-DAQmx – Signal exportieren“ exportiert werden. Bei Tasks (in einem anderen Chassis) sind Sample-Takt und Start-Trigger so konfiguriert, dass zum Annehmen von Signalen die BNC- oder SMB-Anschlüsse verwendet werden.

Abbildung 13: Konfigurieren der BNC-Anschlüsse eines CompactDAQ-Chassis

Parallele/korrelierte Digital-IO-Module können auch zum Empfangen oder Senden von Trigger- und Timing-Signalen über das Chassis verwendet werden. Diese Digital-I/O-Module werden bevorzugt, wenn es nicht genügend BNC- oder SMB-Anschlüsse an den NI-CompactDAQ-Controllern und -Chassis gibt oder wenn die Signalbandbreite die des BNC- oder SMB-Anschlusses (1 MHz) überschreitet.

Synchronisierung mehrerer Chassis mit dem NI 9469: Die oben beschriebene Methode zum Konfigurieren von Timing- und Trigger-Signalen über die BNC-Anschlüsse des Chassis oder ein paralleles/korreliertes Digital-I/O-Modul kann für viele Anwendungen funktionieren. Unter den folgenden Umständen ist jedoch eine alternative Methode mit dem NI 9469 vorzuziehen:

  • Große Entfernung zwischen Chassis
  • Hohe Bandbreite der exportierten Signale
  • Komplexe Topologie der Synchronisation
     

Das NI 9469 ermöglicht eine vereinfachte Führung und Codierung der Signale und bietet die Möglichkeit der Synchronisierung mit SAR-Modulen, langsam abgetasteten Modulen, Delta-Sigma-Modulen, Digitaleingangs- und -ausgangsmodulen sowie Analogausgangsmodulen in verschiedenen Chassis-Topologien. Die Verbindungen zwischen den NI 9469-Karten können in Measurement & Automation Explorer (MAX) konfiguriert werden, wie in der folgenden Abbildung dargestellt. Weitere Informationen zum Konfigurieren des NI 9469 finden Sie im Abschnitt „Zugehörige Links“ am Ende dieses Dokuments. 

Abbildung 14: Konfiguration von NI 9469 in Measurement & Automation Explorer

Sobald das NI 9469 in MAX konfiguriert wurde (mit NI-DAQmx ab Version 9.9), kann jedes Modul in einem separaten Chassis demselben Task hinzugefügt werden, um den für die Synchronisierung erforderlichen Programmcode erheblich zu vereinfachen. Die folgende Abbildung zeigt, wie diese Methode der Synchronisierung mehrerer Chassis funktioniert.

Abbildung 15: Programmcode für die Synchronisierung mehrerer Chassis mit in MAX konfiguriertem NI 9469

Der Hintergrundprozess für die Synchronisierung von Modulen in verschiedenen Chassis entspricht den in den Abschnitten zu Multiraten-Tasks und Tasks mit mehreren Geräten beschriebenen Methoden. Die Einschränkung, welche Module in mehreren Chassis mit dieser Methode automatisch synchronisiert werden können, ist bereits vorhanden und dokumentiert.

Fazit

In dieser Anleitung wurden verschiedene Synchronisierungsoptionen demonstriert. Anfänglich wurden Tasks mit softwaregesteuerten Befehlen gestartet. Durch die gemeinsame Nutzung eines Hardware-Triggers für Tasks können Sie die Synchronisierung verbessern und durch die Nutzung eines gemeinsamen Sample-Takts von einem Task durch einen anderen Task können Sie eine Drift zwischen Tasks verhindern. Wenn Sie Module mit der gleichen Rate synchronisieren, können Sie die Programmierung vereinfachen, indem Sie innerhalb eines Tasks auf mehrere Module verweisen. Wenn die von Ihnen verwendeten Module unterschiedliche Sample-Raten erfordern, müssen Sie je nach Modultyp spezielle Überlegungen anstellen. Wenn die von Ihnen verwendeten Module unterschiedliche Raten erfordern, müssen Sie je nach Modultyp spezielle Überlegungen anstellen. Die oben beschriebenen Optionen stellen verschiedene Möglichkeiten dar, Module der C-Serie basierend auf Signalen innerhalb der Timing-Anforderungen vieler Anwendungen zu synchronisieren.

Was this information helpful?

Yes

No