Erweiterte Funktionen von Hochgeschwindigkeits-Digital-I/O-Geräten: Datenverzögerung

Inhalt

Datenverzögerung

Mithilfe der Funktionen für die Datenverzögerung können die Erfassungs- und Erzeugungskanäle sowie der exportierte Takt phasenverschoben werden. NI-Digitalsignalanalysatoren/-generatoren ermöglichen die Konfiguration der Daten- und Taktposition und eignen sich somit für eine Vielzahl an Anwendungsanforderungen, u. a. für die Messung von Initialisierungs-/Haltezeiten und Verteilungsverzögerungen sowie zur Maximierung der Timing-Abstände bei Hochgeschwindigkeits-Datentransfers. Datenverzögerungsfunktionen sind nur auf SMC-basierten (Synchronization and Memory Core) Geräten verfügbar. Bei diesen Geräten kann jeweils ein Datenverzögerungswert für die Erfassung und ein Wert für die Erzeugung festgelegt werden. Es ist außerdem möglich, einen Wert für die Erfassung bzw. Erzeugung pro Kanal festzulegen.

Diese Funktion ist insbesondere für schnelle Digitalsignale von Bedeutung, da sich die Taktperioden verkürzen, je höher die Datenraten werden. Bei diesen kurzen Taktperioden reicht es nicht mehr aus, nur die steigenden und fallenden Flanken abzutasten, da die gültigen Daten nicht mehr unbedingt auf die Taktflanken fallen. Durch die Verschiebung des Takts um einen bestimmten Wert kann somit sicher gestellt werden, dass nur gültige Daten abgetastet und falsche Daten, die während der Initialisierungs- und Haltezeiten erfasst werden könnten, eliminiert werden.

So kann für die Erfassungskanäle eine Verzögerung von 1/64 der Taktperiode ausgewählt werden, während für die Erzeugungskanäle eine Verzögerung von 1/256 der Taktperiode gilt.

Abbildung 1 zeigt die Datenverzögerung während der Erzeugung. Der Datenverzögerungswert tDD(Tx), wird zum Takt "Clock to Out Time" (tCO) addiert, um die Datenerfassung bzw. -erzeugung um einen festgelegten Wert zu verzögern.

Abbildung 1: Datenverzögerung (Erzeugung): Der Takt wird so verschoben, dass er nicht mehr auf die Daten abgestimmt ist. So wird sichergestellt, dass Abtastungen nicht während der Initialisierungs- und Haltezeiten durchgeführt werden. Dies ist wichtig für Anwendungen, in denen z. B. Verteilungsverzögerungen auftreten können.

Datenverzögerung kann auch für die Erfassung eingesetzt werden. In diesem Fall wird die Abtastung um tDD(Rx) verschoben.

Abbildung 2:  Datenverzögerung (Erfassung): Datenverzögerung kann auch für die Erfassung von Digitalsignalen eingesetzt werden. Der Takt kann um einen bestimmten Wert verschoben werden, so dass nur die "reinen" Bereiche des Digitalsignals abgetastet werden. Dadurch lassen sich "schlechte" Abtastungen, die in Übergangsbereichen auftreten können, vermeiden.

 

Nach oben

Einstellungen für die Datenposition

Für Hochgeschwindigkeits-Digitalerfassungs- und -erzeugungsanwendungen sind die folgenden drei Einstellungen für die Datenposition verfügbar:

Sample-Takt steigende Flanke (Sample Clock Rising Edge): Daten werden an der steigenden Taktflanke erfasst/erzeugt.

Sample-Takt fallende Flanke (Sample Clock Falling Edge): Daten werden an der fallenden Taktflanke erfasst/erzeugt.

Verzögerung von Sample-Takt steigende Flanke (Delay from Sample Clock Rising Edge): Daten werden zu einem bestimmten Zeitpunkt nach der steigenden Taktflanke erfasst/erzeugt. Die Auflösung der verzögerten Daten hängt dabei von der Taktfrequenz ab.

 

Nach oben

Auflösung der verzögerten Daten

Ein Großteil der NI-Digitalsignalanalysatoren/-generatoren verfügt über drei interne Datenverzögerungsfunktionen: 1) für die dynamische Erfassung, 2) für die dynamische Erzeugung und 3) für den exportierten Abtasttakt. Mithilfe der Funktionen sind Anwender in der Lage, die Daten sowie die Taktposition um bis zu eine volle Taktperiode zu verzögern. Bei Frequenzen von mindestens 25 MHz geschieht dies in Schritten von 1/256 der Taktperiode. Die gültigen Frequenzen und Verzögerungsintervalle sind in den Spezifikationen des jeweiligen Geräts zu finden.

Die Digitalsignalanalysatoren/-generatoren NI 6544/6545 verfügen über einen anderen Verzögerungsmechanismus, der abhängig von der Ausführungsfrequenz eine unterschiedliche Anzahl von Schritten erfordert.

Auflösung der Ausführungsfrequenz
In Tabelle 1 ist die Auflösung der jeweiligen Verzögerungsfunktionen für die Abtasttaktfrequenzen von NI-Digitalsignalanalysatoren/-generatoren aufgelistet. Die Verzögerungsauflösung bei Geräten mit externen Frequenzen über 25 MHz, die nicht in der Tabelle aufgeführt sind, beträgt die Auflösung 1/256 der Taktperiode.

Ausführungsfrequenz1

Auflösung/Schrittgröße

200 MHz

20 ps2

100 MHz

39 ps2

66,7 MHz

59 ps2

50 MHz

78 ps

40 MHz

98 ps

33,3 MHz

117 ps

28,6 MHz

137 ps

25 MHz

156 ps

1 Nicht alle Ausführungsfrequenzen gelten für alle Geräte.
2 Informationen zu den unterstützten Schrittgrößen von NI-656x-Geräten sind in den Spezifikationen des jeweiligen Geräts zu finden.

Tabelle 1: Die Tabelle umfasst die kleinsten möglichen Schrittgrößen/Auflösungen für die verschiedenen Ausführungsfrequenzen.

Mindestfrequenzauflösung
Bei der Betrachtung der Verzögerungsauflösung ist zu beachten, dass eine Mindestfrequenz eingehalten werden muss, um Datenverzögerungen durchzuführen. In Tabelle 2 sind die Mindestfrequenzen und die entsprechenden Auflösungen für NI-Digitalsignalanalysatoren/-generatoren zu sehen.

Gerät

Mindestfrequenz

Auflösung

NI 6541/6542

25 MHz

40 ps

NI PXIe-6544/6545

100 Hz

0,5 ps

NI 655x

25 MHz

40 ps

NI 656x

25 MHz

20 ps

Tabelle 2: Mindestfrequenzen und Auflösung der Hochgeschwindigkeits-Digital-I/O von NI

Tabelle 2 zeigt deutlich, dass die Geräte NI 6544/6545 über eine wesentlich größere Auflösung als die NI-Digitalsignalanalysatoren/-generatoren verfügen, obwohl sie deutlich geringere Frequenzen für die Datenverzögerung unterstützen.

Nach oben

Datenverzögerungsintervalle

Bei Frequenzen über 50 MHz können Datenverzögerungen als Teilwert von 0 bis 1 der Taktperiode konfiguriert werden.

Im Frequenzbereich von 25 bis 50 MHz gibt es bestimmte Abschnitte der Taktperiode, in denen keine Datenverzögerungen stattfinden können. Für Frequenzen zwischen 25 und 50 MHz können Datenverzögerungen mit einem Wert zwischen 0 und 1 der Taktperiode konfiguriert werden. Es sei denn, es gilt:  und , wobei Tp die Periode des Abtasttakts darstellt.

 

Abbildung 3: In dieser Abbildung werden gültige und ungültige Einstellungen für Datenverzögerungen gegenübergestellt.

 

Nach oben

Datenverzögerung bei der Erzeugung

Für die Einstellung der Datenverzögerung für die Erzeugung kann die Funktion "niHSDIO Configure Data Delay Position" verwendet werden. Die Verzögerung wird dabei vom Eingabeparameter "Delay" festgelegt, welcher ein Teilwert der Taktperiode ist. Der Positionsparameter der Funktion "niHSDIO Configure Data Delay Position" muss auf Delay from Sample Clock Rising Edge (siehe Abbildung 4) eingestellt sein.


[+] Bild vergrößern

Abbildung 4: Die Abbildung zeigt ein Beispiel für den Einsatz von LabVIEW für die Datenverzögerung während der Erzeugung von Digitalsignalen mit NI-Hochgeschwindigkeits-Digital-I/O-Karten.

 

Nach oben

Datenverzögerung bei der Erfassung

Die Funktion "niHSDIO Configure Data Delay Position" kann auch bei der Erfassung von Signalen eingesetzt werden (siehe Abbildung 5). Genau wie bei der Erzeugung muss auch hier der Positionsparameter der Funktion auf Delay from Sample Clock Rising Edge eingestellt sein.


[+] Bild vergrößern

Abbildung 5: Die Abbildung zeigt ein Beispiel für den Einsatz von LabVIEW für die Datenverzögerung während der Erfassung von Digitalsignalen mit NI-Hochgeschwindigkeits-Digital-I/O-Karten.

In einer textbasierten Entwicklungsumgebung kann der Befehl "niHSDIO_ConfigureDataPosition" genutzt werden, wobei der Positionsparameter als NIHSDIO_VAL_DELAY_FROM_SAMPLE_CLOCK_RISING_EDGE festgelegt wird. Anschließend kann die Funktion "niHSDIO_ConfigureDataPositionDelay" eingesetzt werden, wobei der Verzögerungsparameter auch wieder ein Teilwert der Taktperiode ist. Beispielprogramme für die C-Programmierung von Hochgeschwindigkeits-Digital-I/O-Geräten sind unter Programme»National Instruments»NI-HSDIO»Examples»c zu finden.

Nach oben

Einsatz der Datenverzögerung

Datenverzögerung kann eingesetzt werden, um Abtastungen während der Initialisierungs- und Haltezeiten zu verhindern. Als Beispiel dienen hier die Initialisierungs- und Haltezeiten zweier Geräte, die miteinander kommunizieren wollen. In diesem Fall erzeugt das NI-Hochgeschwindigkeits-Digital-I/O-Gerät Daten und überträgt den Takt an den Prüfling. Ändern sich die Zustände der digitalen Datenkanäle zum gleichen Zeitpunkt wie die Taktflanke, dann kann das NI-Hochgeschwindigkeits-Digital-I/O-Gerät dem Prüfling keine Initialisierungs- und Haltezeiten bereitstellen. Das bedeutet, dass die abgetasteten Zustände der Datenkanäle für einen gewissen Zeitraum vor und nach der Taktflanke instabil sind. Die Datenverzögerung ermöglicht in diesem Fall die Verschiebung der Signale, so dass die Initialisierungs- und Haltezeiten des Prüflings nicht beeinträchtigt werden. Initialisierungs- und Haltezeiten sind zwar der häufigste Grund für den Einsatz von Datenverzögerungen, allerdings können auch andere Timing-Parameter wie Einschwingzeiten und Verteilungsverzögerungen Datenverzögerung erfordern.

Nach oben

Eliminierung der Round-Trip-Verzögerung

Bei einer Stimulus-Antwort-Anwendung wird die Zeit, die Daten benötigen, um vom digitalen Prüfgerät über das Kabel und den Prüfling wieder zurück zum Prüfgerät zu gelangen, als Round-Trip-Verzögerung bezeichnet.

Eine Methode, um Round-Trip-Verzögerungen auszugleichen, besteht darin, ein Signal mit einer Flanke zu exportieren, die synchron zum Beginn der Stimulusdaten ist. Das Signal sollte dann über die gleiche Kabellänge wie die Daten zum Erfassungs-Start-Trigger geroutet werden, so dass das Signal und die Daten die gleiche Round-Trip-Verzögerung aufweisen. Für diese Aufgabe kann das Data-Active-Ereignis eingesetzt werden, da es synchron zum Beginn der Stimulusdaten ist.

Abbildung 6 zeigt das erforderliche Signalrouting für die Eliminierung von Round-Trip-Verzögerungen.


[+] Bild vergrößern
Abbildung 6: Das Diagramm zeigt, wie Datenverzögerung in einem digitalen Prüfsystem eingesetzt wird.

Das Data-Active-Ereignis kann z. B. auf den Datenkanal PFI 1 exportiert und anschließend auf den Kanal PFI 2 geroutet werden. Kanal PFI 2 kann wiederum als Ursprung für den Erfassungs-Start-Trigger konfiguriert werden. Anschließend kann der Erzeugungsabtasttakt auf den Anschluss DDC CLK OUT exportiert und der Erfassungsabtasttakt als STROBE konfiguriert werden. Die Kabel müssen über die gleiche Länge verfügen, damit die Signale mit dergleichen Round-Trip-Verzögerung wie die Daten übertragen werden. Mi diesem Verfahren wird sichergestellt, dass Takte, Steuer- und Datensignale alle zur gleichen Zeit beim Gerät ankommen.

Eine weitere Methode zum Ausgleich der Round-Trip-Verzögerung ist das interne Routen einer verzögerten Version des Data-Active-Ereignisses an den Erfassungs-Start-Trigger. Um diese Methode einsetzen zu können, muss der Wert der Round-Trip-Verzögerung bekannt sein. Ist der Wert bekannt, kann die Eigenschaft "Data Active Internal Route Delay" oder das Attribut NIHSDIO_ATTR_DATA_ACTIVE_INTERNAL_ROUTE_DELAY auf die Anzahl der Taktperioden eingestellt werden. Anschließend wird für die Eigenschaft "Data Position Delay" oder das Attribut NIHSDIO_ATTR_DATA_POSITION_DELAY der gewünschte Verzögerungswert eingegeben.

Nach oben

Fazit

Die Funktionen zur Datenverzögerung der NI-Hochgeschwindigkeits-Digital-I/O-Geräte eignen sich insbesondere für schnelle Digitalsignale. Mithilfe von Datenverzögerung lassen sich Abtastfehler verhindern, die durch Faktoren wie Initialisierungs- und Haltezeiten hervorgerufen werden können. Durch das Verschieben des Takts um Teilwerte der Periode ist das Gerät in der Lage, nur "reine" Datenbereiche abzutasten und keine falschen Datenwerte zu lesen.

Nach oben