-
Die vorliegende Erfindung befaßt sich
mit einem Verfahren und einer Vorrichtung zum Filtern von Rauschen
von einem Signal auf einer Signalleitung zu einer Digitalschaltung.
-
Bei heutigen Elektroniksystemen,
wie z. B. Computern, Druckern, Servern und Telekommunikationshardware,
ist eine digitale Schaltungsanordnung weit verbreitet. Die Komplexität solcher
Systeme umfaßt
oft lange interne Signalleitungen, die bis zu 20 Zoll oder mehr
durch gedruckte Schaltungsplatinenleiterbahnen oder -spuren und
Rückplatinen überspannen.
Ein Problem bei diesen Signalleitungen ist es, daß sie für die zugeordnete
Digitalschaltungsanordnung ein Rauschen erzeugen; sie wirken oft
auch als Antenne, um unerwünschte
Rauschsignale mit der Digitalschaltungsanordnung zu koppeln. Bei
einem Beispiel umfassen bestimmte elektronische Systeme ein Spannungssignal,
das mit einem frei programmierbaren Gate-Array (FPGA; FPGA = field
programmable gate array) gekoppelt ist, entlang einer Signalleitung,
um eine Leistungsqualität
anzuzeigen; Rauschen, das mit der Signalleitung gekoppelt ist, kann
jedoch eine falsche Ablesung in dem FPGA erzeugen, was zu einem
unerwünschten
Abschalten oder einer anderen Fehlfunktion führen kann.
-
Allgemeiner gesagt kann Rauschen,
das mit Digitalsignalleitungen gekoppelt ist, falsche Auslöser und Metastabilitätsprobleme
erzeugen, wenn eine Rauschspitze in einer Digitalschaltung zwischengespeichert
ist. Dies kann beispielsweise passieren, wenn die Rauschspitze mit
einer Taktflanke in der Digitalschaltung zusammenfällt.
-
Ein Rauschen in digitalen Schaltungen
kann auch spezielle Probleme für
Signale mit langsamen Anstiegs- oder Abfall zeiten bewirken: Wenn
ein sich langsam änderndes
Signal auf einer Signalleitung zu einer Digitalschaltung übergeht,
kann ein Rauschen auf dieser Leitung zu falschen Erfassungen von
mehreren Flanken durch die Digitalschaltung führen.
-
Der Stand der Technik umfaßt mehrere
Techniken zum Filtern von Rauschen auf Signalleitungen zu Digitalschaltungen.
Ein besonders beliebter Lösungsansatz
ist es, ein analoges Filter in der Nähe des Eingangs der Digitalschaltungsanordnung
einzubauen. Beispielsweise kann ein Tiefpaßfilter an dem Eingang implementiert
werden, um Hochfrequenzspitzen auf der Signalleitung zu entfernen.
Das Einbauen des Tiefpaßfilters
verlangsamt jedoch auch die gewünschten
Signalflanken, was zu anderen Problemen führen kann. Analoge Filter weisen
andere Probleme auf, da sie Widerstände und Kondensatoren verwenden
können,
die relativ aufwendig sind, um auf jeder Signalleitung eingebaut
zu werden. Ein Lösungsansatz,
der eine Reihe von analogen Filtern verwendet, erfordert typischerweise
auch Listen und eine Verfolgung, um eine Konfigurationsverwaltung
und eine bestmögliche
Konstruktionstechnik zu ermöglichen,
was zu zusätzlichen
Kosten führt.
Streuinduktivitäten
und -kapazitäten
können
ebenfalls unerwünschte
Resonanzen in der darunterliegenden Digitalschaltung erzeugen, was
weitere Schwierigkeiten erzeugt.
-
Der Stand der Technik hat ebenfalls
versucht, Rauschen auf Signalleitungen zu Digitalschaltungen durch
Einbauen von Hysteresen zu filtern, wie bei einem Schmidt-Auslöser (Schmidt-Trigger);
Schmidt-Auslöser-Geräte unterliegen
jedoch großen
Spannungsspitzen, wodurch ein unvorhersagbarer Betrieb erzeugt wird. Bezüglich dieses
Ansatzes zur Filterung von Digitalsignalen mittels Schmidt-Trigger-Schaltungen wird
verwiesen auf die
US-6,084,456
A .
-
Der Stand der Technik hat außerdem den
Mikroprozessor verwendet, um die Signalleitung zu der Digitalschaltungsanordnung
abzutasten. Der Mikroprozessor kann z. B. einen Sig nalleitungswert
zu der Digitalschaltungsanordnung leiten, wenn das Abtasten der
Signalleitung einen statistisch stabilen Leitungswert liefert. Hochentwickelte
Versionen dieser Technik können
das Abtasten der Signalleitung bei verschiedenen Frequenzen umfassen,
bei einem Versuch, das Abtasten von allen Signalleitungsharmonischen
zu entkoppeln. Systeme, die solche Mikroprozessor umfassen, umfassen
jedoch einen aufwendigen und komplizierten Mehraufwand, insbesondere
wenn der Prozessor für
diesen Zweck reserviert ist. Ferner kann ähnlich zu den oben beschriebenen
Tiefpaßfilterproblemen
die Verzögerung,
die durch das Abtasten der Signalleitung bewirkt wird, als eine
Verzögerung
der Signalerfassung für
die darunterliegende Digitalschaltung wirken. Außerdem muß der Elektroentwickler des
Systems die vielen Prozessorzyklen, die beim Abtasten der Signalleitung
verwendet werden, sinnvoll verwalten.
-
Ein anderer beliebter Lösungsansatz
im Stand der Technik zum Filtern von Rauschen auf Digitalsignalleitungen,
die in eine zugeordnete Digitalschaltung eingegeben werden, ist
die Verwendung von in Kaskade geschalteten D-Flip-Flops. Bei diesem
Lösungsansatz
wird jeder Eingangstaktzyklus in das erste D-Flip-Flop getaktet,
und verläuft
dann entlang der Kette von D-Flip-Flops nach unten. Nach einer ausreichenden
Anzahl von Taktzyklen – typischerweise
entsprechend zu der Länge
der D-Flip-Flop-Kette – wird
das Eingangssignal abgetastet und in die Digitalschaltung eingespeist,
falls alle Ausgangssignale der D-Flip-Flops gleich sind. Ein wesentliches
Problem bei diesem Lösungsansatz
ist es, daß oft
eine große
Anzahl von Flip-Flops erforderlich ist, was Entwurfskomplexität und Kosten
erhöht
und Platinenplatz verringert, der für Kernsystemkomponenten verfügbar ist.
Zu den beiden letztgenannten Lösungsansätzen nach
dem Stand der Technik wird verwiesen auf die
US-4,764,923 , auf die
US-5,796,392 sowie auf die
US-6,072,427 .
-
Es ist daher die Aufgabe der vorliegenden
Erfindung, Verfahren und Vorrichtungen zum Filtern von Signalen
auf einer Signalleitung zu schaffen, so daß Rauschimpulse nicht in der
begleitenden Digitalschaltung zwischengespeichert werden, und ohne
die oben erwähnten
Probleme.
-
Diese Aufgabe wird durch ein Verfahren
gemäß Anspruch
1 und eine Vorrichtung gemäß Anspruch
14 gelöst.
-
Es ist ein Vorteil der vorliegenden
Erfindung, ein Digitalfilter zu liefern, ohne die Verwendung von
analogen Komponenten oder Mikroprozessoren. Es ist ein weiterer
Vorteil der vorliegenden Erfindung, ein Verfahren zum Sicherstellen
eines einzelnen Übergangs
zu einer Digitalschaltungsanordnung zu schaffen, durch Filtern unerwünschter
Rauschkomponenten auf einer Signalleitung zu der Schaltungsanordnung.
Andere Vorteile der vorliegenden Erfindung sind aus der folgenden
Beschreibung ersichtlich.
-
Es ist die Aufgabe der vorliegenden
Erfindung, ein Verfahren und eine Vorrichtung zum Filtern von Signalen
mit verbesserten Charakteristika zu schaffen.
-
Bei einem Aspekt schafft die Erfindung
ein Verfahren zum Trennen von Rauschen von einem Signal auf einer
Signalleitung zu einer digitalen Schaltung. Das Verfahren umfaßt die folgenden
Schritte: Bestimmen einer oder mehrerer Flanken des Rauschens bezüglich eines
schnellen Taktes; Rücksetzen
eines Zeitgebers gemäß den Flanken;
Takten des Ausgangssignals von dem Zeitgeber bezüglich eines langsamen Taktes,
wobei der langsame Takt langsamer ist als der schnelle Takt; und
Kommunizieren eines ersten Werts von der Signalleitung zu der Digitalschaltung,
nach einer Periode, die durch den langsamen Takt definiert ist,
innerhalb der der Zeitgeber nicht rückgesetzt war. Vorzugsweise
tritt der Schritt des Rücksetzens
des Zeitgebers asynchron mit der Zeitgebung der Flanken des Rauschens
auf.
-
Bei einem bevorzugten Aspekt weist
der schnelle Takt eine Rate von etwa 8 MHz auf, und der langsame
Takt weist eine periodische Rate von etwa 4 Millisekunden auf. Das
Verhältnis
zwischen der schnellen Taktfrequenz und der langsamen Taktfrequenz
ist typischerweise größer als
zumindest 1.000 und ist vorzugsweise größer als etwa 10.000.
-
Bei einem anderen Aspekt verwendet
das Verfahren beim Bestimmen der Flanken einen Flankendetektor.
Der Flankendetektor kann ein Flip-Flop umfassen, das mit der Signalleitung
gekoppelt ist. Das Flip-Flop kann ein D-Flip-Flop mit einem D-Eingang
sein, der mit der Signalleitung gekoppelt ist. Ein Ausgang des D-Flip-Flops
kann verwendet werden, um einen Zwischen-„B"-Signalwert zu anderen Komponenten des
Flankendetektors zu kommunizieren. Der B-Signalwert wird vorzugsweise
auf einen „A"-Signalwert zwischengespeichert,
der einem Wert der Signalleitung an einer ansteigenden Flanke des
schnellen Taktes entspricht. Bei einem bevorzugten Aspekt werden
die Signalwerte A und B verglichen, wie z. B. mit einem XOR-Gatter;
das Ausgangssignal des XOR-Gatters
kann als ein „E"-Signalwert in den
Zeitgeber eingespeist werden.
-
Bei einem Aspekt umfaßt der Schritt
des Kommunizierens den Schritt des Verwendens eines zweiten Flip-Flops,
z. B. eines D-Flip-Flops. Das zweite Flip-Flop kann den Schritt
des Taktens des zweiten Flip-Flops von einem Ausgangssignal des
Zeitgebers umfassen. Die Signalleitung speist das D-Eingangssignal in
das zweite Flip-Flop ein; und der Zeitgeber speist das Takteingangssignal
in das zweite Flip-Flop ein. Das Ausgangssignal des zweiten Flip-Flops
wird in die Digitalschaltung eingegeben.
-
Die Erfindung schafft außerdem bei
einem anderen Aspekt eine Logikvorrichtung zum Filtern von Rauschsignalen
auf einer Signalleitung zu einer Digitalschaltung. Ein Flankendetektor
erfaßt
Flanken der Rauschsignale und bezüglich eines schnellen Taktes.
Ein Zeitgeber taktet ein Latch auf einen Wert der Signalleitung
und bezüglich
eines langsamen Taktes. Der langsame Takt ist langsamer als der
schnelle Takt.
-
Der Zeitgeber wird durch ein oder
mehrere Signale von dem Flankendetektor asynchron und entsprechend
den Flanken rückgesetzt.
Das Latch tritt nach einer Zeitperiode auf, die durch den langsamen
Takt definiert wird, innerhalb der der Zeitgeber nicht zurückgesetzt
wurde.
-
Bei einem Aspekt umfaßt die Logikvorrichtung
ein erstes Flip-Flop, z. B. ein D-Flip-Flop, das mit dem Zeitgeber
und der Signalleitung verbunden ist. Das erste Flip-Flop speichert
den Wert der Signalleitung zwischen, wenn es durch den Zeitgeber
getaktet ist.
-
Der Flankendetektor kann ein zweites
Flip-Flop, z. B. ein D-Flip-Flop, und einen Digitalkomparator umfassen.
Die Signalleitung ist mit einem Eingang des zweiten Flip-Flops gekoppelt;
das zweite Flip-Flop wird durch den schnellen Takt getaktet, um
an einem Ausgang des zweiten Flip-Flops einen B-Signalwert zu erzeugen.
Der B-Signalwert entspricht einem A-Wert der Signalleitung an einer
ansteigenden Flanke des schnellen Taktes. Ein Digitalkomparator,
z. B. ein XOR-Gatter,
vergleicht den A-Signalwert der Signalleitung mit dem B-Signal für die Eingabe
in den Zeitgeber.
-
Die Erfindung wird nachfolgend in
Verbindung mit bevorzugten Ausführungsbeispielen
näher beschrieben,
und es wird offensichtlich, daß verschiedene
Hinzufügungen,
Abzüge
und Modifikationen durch einen Fachmann auf diesem Gebiet durchgeführt werden
können,
ohne von dem Schutzbereich der Erfindung abzuweichen.
-
Bevorzugte Ausführungsbeispiele der vorliegenden
Erfindung werden nachfolgend Bezug nehmend auf die beiliegenden
Zeichnungen näher
erläutert.
Es zeigen:
-
1 ein
System, das ein digitales Rauschfilter gemäß der Erfindung umfaßt;
-
2 eine
Logik, die eine Flankendetektorlogik umfaßt, die für die Verwendung als Filter
des Systems von 1 geeignet
ist;
-
3 einen
Flankendetektor, der für
die Verwendung als Flankendetektor von 2 geeignet ist;
-
4 typische
Zeitgebungsdiagrammcharakteristika des Flankendetektors von 3; und
-
5 repräsentative
Abtastcharakteristika, die die Logik von 2 und 3 in
die Digitallogikschaltungsanordnung von 1 implementieren.
-
1 zeigt
ein System 10, das eine Digitalschaltung 12 und
eine zugeordnete digitale Logik 14 gemäß der Erfindung umfaßt. Beim
Betrieb kann die Digitalschaltung 12 Signale von einer
Vielzahl von Quellen erfassen, wie z. B. von einer Signalleitung 16A.
Die Signalleitung 16A kann von Punkten außerhalb
des Systems 10 oder innerhalb des Systems 10 herleiten.
Die Digitallogik 14 stellt sicher, daß Daten, die von der Signalleitung 16A erfaßt werden,
im wesentlichen rauschfrei sind. Insbesondere filtert die Logik 14 Signale
auf der Leitung 16A, um klare Signale an die Digitalschaltung 12 auf
der Signalleitung 16B zu liefern. Die Logik 14 filtert somit
unerwünschte
Rauschimpulse auf der Signalleitung 16A heraus, so daß diese
Rauschimpulse nicht auf der Signalleitung 16B in die Digitalschaltungsanordnung 12 eingegeben
werden. Die Logik 14 kann beispielsweise Rauschen herausfiltern,
das durch asynchrone Signale 18 erzeugt wird, die von einem
unverbundenen Gerät 20 in
die Leitung 16A gekoppelt werden. Dies stellt sicher, daß solche
Rauschimpulse nicht zwischengespeichert werden, um das Verarbeiten
innerhalb der Digitalschaltung 12 zu beeinträchtigen.
-
Die Digitalfilterlogik 14 ist
ferner in 2 dargestellt.
Die Signalleitung 16A ist mit dem Eingang 22 des Flankende tektors 24 gekoppelt.
Ein Ausführungsbeispiel
des Flankendetektors 22 ist in 3 gezeigt. Der Flankendetektor 22 weist
einen Ausgang 26 auf, der über eine Signalleitung 32 mit
der asynchronen Rücksetzung 28 eines
Zeitgebers 30 verbunden ist. Der Ausgang 34 des
Zeitgebers 30 ist mit dem Takteingang 36 eines
D-Flip-Flops 38 entlang einer Signalleitung 40 gekoppelt.
Die Signalleitung 16A ist außerdem mit dem D-Eingang 42 des
Flip-Flops 38 gekoppelt, wie es gezeigt ist. Der Ausgang 44 des
Flip-Flops 38 ist mit der Digitalschaltung 12 gekoppelt, 1, als Signalleitung 16B.
-
Der Flankendetektor 24 ist
an dem Takteingang 24A mit einem schnellen Taktsignal „FCLK" getaktet. FCLK kann
eine Frequenz von 8 MHz aufweisen. Der Zeitgeber 30 ist
an dem Takteingang 30A mit einem langsamen Taktsignal „SCLK" getaktet. SCLK kann
eine Taktperiode von 4,2 Millisekunden aufweisen. Die Frequenz von
FCLK ist daher viel größer als
die Frequenz von SCLK. Mit diesen Taktgebungsanordnungen gibt der
Zeitgeber 30 am Ende jeder Abtastperiode, die durch SCLK definiert
ist, einen Impuls auf der Signalleitung 40 aus. Dieser
Impuls wird dann verwendet, um das Eingangssignal auf der Leitung 32 „zwischenzuspeichern" (dieses Eingangssignal
ist auch in 3 als Signal
E gezeigt). Falls auf der Eingangssignalleitung 32 ein
Rauschen auftritt, bevor der Zeitgeber 30 den Impuls erzeugt,
wird der Zeitgeber 30 zurückgesetzt und beginnt die Abtastperiode
neu, die durch SCLK definiert ist. Die Logik 14 stellt
somit sicher, daß die
Signale auf der Leitung 16B für die Abtastzeit SCLK konstant
sind, bevor diese zu der digitalen Schaltung 12 zur Zwischenspeicherung gehen, 1.
-
3 zeigt
eine schematische Logik 50, die zum Implementieren des
Flankendetektors 24 geeignet ist, 2. Die Logik 50 umfaßt ein D-Flip-Flop 52 und
ein XOR-Gatter 54. „A" entspricht dem Signalwert
auf der Signalleitung 16A, Fig. 2; A ist somit mit dem
Dateneingang D 22' des
Flip-Flops 52 gekoppelt
(der Dateneingang 22' kann
beispielswei se den Eingang 22 darstellen, 2). Das XOR-Gatter 54 vergleicht
den D-Eingang 22' mit
dem Q-Ausgang 58 des Flip-Flops 52. „B" entspricht dem Signalwert von dem Q-Ausgang 58. „E" entspricht dem Digitaldifferenzvergleich
von A und B durch das XOR-Gatter 54. Das Signal E wird
in den Zeitgeber 30, Fig. 2, auf der Signalleitung 32 eingegeben.
-
4 stellt
typische Zeitgebungssignale durch die Logik 50, Fig. 3,
dar. Der Signalwert A kann eine oder mehrere Rauschspitzen 60, 62 aufweisen,
die an den Punkten 64 abgetastet werden, um das Signal
B zu setzen; die Punkte 64 werden an den ansteigenden Flanken
des FCLK-Signals bestimmt. Das Signal E, das durch das XOR-Gatter 54 erzeugt
wird, weist somit vier Impulse 66 auf, die jeder Änderung
in dem Signal A entsprechen.
-
5 stellt
repräsentative
Zeitgebungssignale und Signalwerte dar, die durch die Digitallogik 14,
Fig. 1, erhalten werden. Die Signalleitung A entspricht wiederum
dem Eingangssignal auf der Signalleitung 16A, zum Filtern
durch die Digitallogik 14. Die Werte „S" entsprechen den zwischengespeicherten
Werten von A (oder A'),
die auf der Signalleitung 16B zu der Digitalschaltungsanordnung 12 gesendet
werden. A' entspricht einer
Nichtrauschänderung
im Signal A, das für
die Eingabe zu der Schaltungsanordnung 12 erwünscht ist.
A zeigt außerdem
typische Rauschimpulse 70 (z. B. ähnlich zu den Impulsen 60, 62,
Fig. 4), die durch die Logik 14 ausgefiltert werden. Die
Zeitgebung durch den Zeitgeber 30 ist bei 74 gezeigt.
An jedem Rauschimpuls 70 wird der Zeitgeber 30 an
den Zeitpositionen 80 zurückgesetzt; jeder Wert S wird
daher nur nach einer vollständigen
Auszeitperiode 84 des Zeitgebers 30 in der digitalen
Schaltungsanordnung 12 zwischengespeichert. Die gewünschte Signaländerung
A' setzt den Zeitgeber
30 außerdem
an den Zeitpositionen 82 zurück. Nur nach vollen Auszeitperioden 84 des
Zeitgebers 30 wird A (oder A'), wie es gezeigt ist, als Wert S an
den Punkten 90 zu der Schaltungsanordnung 12 zur
Zwischenspeicherung gehen.
-
Der folgende Verilog-Quellcode liefert
eine nichtbeschränkende
Simulation der Prozessorrücksetzerfassungsschaltungsanordnung,
die gemäß der Erfindung
aufgebaut ist. Für
einen Fachmann auf diesem Gebiet sollte klar sein, daß andere
Simulationen, Quellcodes, Hardwaredesign und/oder elektronische
Einzelheiten, je nach Entwurfsauswahlauswahl, gleichartig dazu eine
Prozessorrücksetzerfassungsschaltungsanordnung
liefern können,
ohne von dem Schutzbereich der Erfindung abzuweichen. Ein Fachmann
auf diesem Gebiet sollte somit erkennen, daß die digitale Logik von 2 und 3 als eine einzelne integrierte Schaltung, alleinstehend
oder in andere Chips eingebettet, implementiert werden kann, um
die Funktionen hierin auszuführen,
und ohne von dem Schutzbereich der Erfindung abzuweichen.
-
-
-
-
-
-
-
-