DE60223649T2 - Verfahren und Vorrichtung zur Dekodierung Manchester-kodierter Signale - Google Patents

Verfahren und Vorrichtung zur Dekodierung Manchester-kodierter Signale Download PDF

Info

Publication number
DE60223649T2
DE60223649T2 DE60223649T DE60223649T DE60223649T2 DE 60223649 T2 DE60223649 T2 DE 60223649T2 DE 60223649 T DE60223649 T DE 60223649T DE 60223649 T DE60223649 T DE 60223649T DE 60223649 T2 DE60223649 T2 DE 60223649T2
Authority
DE
Germany
Prior art keywords
signal
bit
data
transitions
decoder
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE60223649T
Other languages
English (en)
Other versions
DE60223649D1 (de
Inventor
Vanni Poletto
Paolo Ghigini
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
STMicroelectronics SRL
Original Assignee
STMicroelectronics SRL
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by STMicroelectronics SRL filed Critical STMicroelectronics SRL
Publication of DE60223649D1 publication Critical patent/DE60223649D1/de
Application granted granted Critical
Publication of DE60223649T2 publication Critical patent/DE60223649T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M5/00Conversion of the form of the representation of individual digits
    • H03M5/02Conversion to or from representation by pulses
    • H03M5/04Conversion to or from representation by pulses the pulses having two levels
    • H03M5/06Code representation, e.g. transition, for a given bit cell depending only on the information in that bit cell
    • H03M5/12Biphase level code, e.g. split phase code, Manchester code; Biphase space or mark code, e.g. double frequency code
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/38Synchronous or start-stop systems, e.g. for Baudot code
    • H04L25/40Transmitting circuits; Receiving circuits
    • H04L25/49Transmitting circuits; Receiving circuits using code conversion at the transmitter; using predistortion; using insertion of idle bits for obtaining a desired frequency spectrum; using three or more amplitude levels ; Baseband coding techniques specific to data transmission systems
    • H04L25/4904Transmitting circuits; Receiving circuits using code conversion at the transmitter; using predistortion; using insertion of idle bits for obtaining a desired frequency spectrum; using three or more amplitude levels ; Baseband coding techniques specific to data transmission systems using self-synchronising codes, e.g. split-phase codes

Description

  • Die vorliegende Erfindung betrifft eine digitale Übertragung von Daten, insbesondere unter Bezugnahme auf ein Decodierungsverfahren und einen Manchester-Decodierer.
  • Die Verwendung eines Manchester-Codierens binärer Daten z. B. bei einer kontinuierlichen oder Paketübertragung von Daten ist bekannt.
  • Beim Manchester-Codieren wird Daten oder einem Bit mit einem logischen Wert „1" das Codewort „10" zugeordnet, während Daten mit einem logischen Wert „0" das Codewort „01" zugeordnet wird. Auf diese Weise werden die Bits mit einem Logikpegel „1" während der ersten Hälfte der Bitperiode mit einem Signal mit hohem Pegel codiert und während der zweiten Hälfte mit einem niedrigen Pegel. Im Gegensatz dazu werden Bits mit einem Logikpegel „0" während der ersten Hälfte der Bitperiode mit einem Signal mit niedrigem Pegel codiert und während der zweiten Hälfte mit einem hohen Signal.
  • Folglich besteht immer ein Übergang in der Mitte jedes Bits: niedrig-zu-hoch (aufwärts) für eine logische „0" und hoch-zu-niedrig (abwärts) für eine logische „1".
  • Ein Manchester-codiertes binäres Datensignal umfasst ferner einen Übergang an einem Bitstart, jedoch nur zwischen benachbarten Bits mit dem gleichen Logikwert.
  • Typischerweise werden zum Erhalten eines Manchester-codierten binären Datensignals ein Taktsignal mit einer Frequenz, die gleich der Datenübertragungsrate ist, und das Datensignal in einem Exklusiv-ODER-Logik-ODER-Gatter EX-OR kombiniert; der Manchester-codierte Datenstrom wird aus dem Gatter ausgegeben. Zur Vereinfachung werden diese Daten im Folgenden als „Manchester-Daten" bezeichnet.
  • Deshalb erfordert die Übertragung eines Signals mit Manchester-Daten eine Datenübertragungsrate, die zweimal diejenige des Datenstroms vor einer Codierung ist.
  • Ein Vorteil, der sich aus der Verwendung des Codierens herleitet, besteht darin, dass es dank der großen Anzahl von Übergängen bei den codierten Daten einfacher ist, das Sync-(Takt-)Signal bei Empfang wiederzugewinnen.
  • Ein weiterer Vorteil leitet sich aus der Möglichkeit eines Erfassens von Fehlern in dem Eingangsdatenstrom als Verletzungen der erlaubten Codesequenz her (z. B. sind die Codes 00 und 11 Fehler).
  • Zahlreiche weit verbreitete Weisen zum Decodieren von Manchester-Daten auf der Empfangsseite sind gut bekannt.
  • Es ist z. B. möglich, ein Manchester-Datensignal durch ein genaues Extrahieren des Taktsignals zu decodieren, um dasselbe dann in einem EX-OR-Gatter mit den Manchester-Daten zu kombinieren. Die binären Daten werden an dem Gatterausgang erhalten.
  • Dieses Verfahren besitzt einen Nachteil: das Taktsignal, das aus den Daten rückgewonnen werden soll, muss immer in Phase mit den empfangenen Daten sein. In diesem Sinn stellt das Vorliegen von Jitter bei den empfangenen Daten, in anderen Worten eine Fluktuation bei der Länge der Bitperiode, einen ernsten Nachteil dar.
  • Ferner machen es die bekannten Systeme zur Rückgewinnung eines Synchronismus erforderlich, dass zahlreiche „Übungs"- oder Einleitungsbits einen Verriegelungszustand erreichen. Diese Übungsbits werden vor den Daten übertragen, sie tragen keine Informationen und ihre Funktion besteht darin, eine Synchronisation auszuführen. Aus diesem Grund ist eine Phasenrückgewinnung für eine Paketübertragung besonders von Nachteil, da dies eine wesentliche Verschwendung bei der Übertragung bewirkt, insbesondere dann, wenn die Pakete nur einige Bits umfassen.
  • Das Dokument US-A-5 168 511 offenbart eine Synchron-Digital-Decodierschaltung. Diese Schaltung decodiert Manchester-codierte Daten unter Verwendung einer Taktregenerierungsschaltung, die einen Decodiertakt erzeugt, der fortwährend gemäß den erfassten Phasenabweichungen an dem empfangenen Datensignal eingestellt wird. An dem Empfangsende erfasst eine Digitalzustandsmaschine, die mit einer Zeitgeber-/Zählereinheit gekoppelt ist, ob ein Übergang bei jeder Bitzelle, verglichen mit dem eingerichteten Decodiertakt, rechtzeitig, zu früh oder zu spät ist. Wenn der Übergang in der Mitte der Datenbitzelle zu früh oder zu spät ist, erzeugt die Zustandsmaschine ein Korrektursignal, das verwendet wird, um den Taktzählwert entsprechend um eine vorbestimmte Inkrementmenge einzustellen.
  • Decodierverfahren, die nicht auf Taktrückgewinnung basieren, sind ebenso bekannt, wie z. B. das, das in dem Patent US 4361895 beschrieben ist. Dieses Verfahren fasst keine Taktrückgewinnung ins Auge und macht es erforderlich, dass ein Überabtasten des Signals in einer durch eine lokale Frequenzreferenz getakteten Weise decodiert wird. Das Decodieren findet durch Prüfen des Werts von Abtastwerten an bestimmten Positionen statt. Die Position der Abtastwerte wird unter Verwendung eines lokalen Zählers bestimmt, der die Anzahl von Zyklen der lokalen Frequenzreferenz zählt, rückgesetzt und durch die Übergänge in der Mitte jedes Bits des codierten Signals gestartet.
  • Die Decodierer, die dieses Verfahren verwenden, benötigen eine Zeitreferenz (Taktfrequenz) mit sehr hoher Genauigkeit bei sowohl Senden als auch Empfang. Aus diesem Grund wird die Leistung dieser Decodierer durch Altern und die Wärme drift der lokalen Referenzen beeinträchtigt. Ferner sind diese Decodierer nicht sehr tolerant gegenüber Variationen bei der Bitrate, die bei der Übertragung verwendet wird, sowie Jitter.
  • Die Aufgabe der vorliegenden Erfindung besteht darin, ein Verfahren zum Decodieren Manchester-codierter Daten bereitzustellen, das nicht die Nachteile der oben beschriebenen in der Technik bekannten Verfahren besitzt.
  • Die Aufgabe wird durch ein Decodierverfahren gelöst, wie es in dem ersten Anspruch beschrieben ist.
  • Ein Decodierer, wie er im Anspruch 15 beschrieben ist, bildet ebenso einen Teil der vorliegenden Erfindung.
  • Weitere Aspekte und Vorteile der Erfindung werden aus der folgenden detaillierten Beschreibung eines bevorzugten Ausführungsbeispiels, das als ein nichteinschränkendes Beispiel gegeben ist, in Verbindung mit den beigefügten Zeichnungen besser ersichtlich werden, in denen:
  • 1a und 1b schematisch die Struktur eines Pakets und einer Nachricht, die bei dem PAS-Protokoll (Peripheral Acceleration Sensor = Peripherie-Beschleunigungssensor) verwendet wird, zeigen,
  • 2 schematisch ein Blockdiagramm eines Manchester-Decodierers gemäß der vorliegenden Erfindung zeigt,
  • 2a ein mögliches Ausführungsbeispiel eines Filters zeigt, das bei dem in 2 dargestellten Decodierer verwendbar ist,
  • 3a, 3b und 4 den Signalverlauf der Signale in dem Decodierer, der in 2 dargestellt ist, zeigen,
  • 5a eine Nachrichtenende-Zustandsmaschine zeigt, die in dem in 2 dargestellten Decodierer verwendbar ist, und
  • 5b eine Zustandsmaschine zum Erfassen der Bitmitte zeigt, die in dem in 2 dargestellten Decodierer verwendbar ist.
  • Das bevorzugte Ausführungsbeispiel dieser Erfindung, das im Folgenden beschrieben ist, bezieht sich auf die serielle Übertragung Manchester-codierter Paketdaten, wie diese durch das PAS-Protokoll (Peripheral Acceleration Sensors) verwendet werden.
  • In diesem Zusammenhang wird hervorgehoben, dass die Lehren der vorliegenden Erfindung auch auf das Decodieren von Manchester-Daten erweitert werden können, die in Anwendungen eingesetzt werden, die sich von denjenigen unterscheiden, auf die in der folgenden Beschreibung Bezug genommen wird.
  • Das PAS-Protokoll ist ein Industriestandard für die Übertragung von Beschleunigungsdaten von einem entfernten Sensor zu einer zentralen Verarbeitungseinheit und wird z. B. in Fahrzeug-Airbag-Systemen eingesetzt. Diese Systeme weisen Beschleunigungssensoren auf, die im Allgemeinen vorne in dem Fahrzeug platziert sind. Jeder derselben kommuniziert seinen Beschleunigungswert in einer seriellen Zweidrahtleitung an eine zentrale Einheit, die den Strom moduliert.
  • Jeder Beschleunigungsabtastwert wird in der Form eines Datenpakets mit Manchester-Typ-Codierung übertragen.
  • In 1a ist ein Datenpaket 1 durch B_NRZ angezeigt, z. B. des Typs, der durch einen Beschleunigungssensor erzeugt wird, vor einem Manchester-Codieren.
  • Das Paket B_NRZ aus 11 Bits ist in der bekannten NRZ-Form (Non Return To Zero = keine Rückkehr zu Null) dargestellt, in der ein hoher Strompegel Hi einem Logikwert 1 entspricht und ein niedriger Strompegel Lo einer logischen Null entspricht.
  • Das Paket 1 beginnt immer mit zwei Startbits S1 und S2, die logisch Null sind und verwendet werden, um den Beginn eines Empfangs des Pakets 1 zu synchronisieren. Dann folgen acht bis zehn Datenbits, bei diesem Beispiel acht Bits D0, ..., D7, die die durch den Sensor gemessene Beschleunigungsrate beinhalten. Ein Paritätsbit P beendet vorzugsweise das Paket, um eine Fehlersteuerung beim Empfang zu ermöglichen.
  • Unter Bezugnahme auf die gleiche 1a ist das Paket 1 nach einem Manchester-Codieren dargestellt durch B_Manchester. Eine Übertragung von dem Sensor zu der zentralen Einheit findet durch Modulieren des Stroms in der Zweidrahtleitung auf zwei Pegel IQ und IQ + ΔI statt. Wie bereits erwähnt wurde, weist das B_Manchester-Paket Übergänge in der Mitte des Bits auf, wobei eine ansteigende Flanke und eine abfallende Flanke (in der Figur durch einen Pfeil angezeigt) einer logischen „0" bzw. einer logischen „1" entsprechen. Ferner weist das B_Manchester-Paket Übergänge an dem Anfang des Bits Init_Bit auf, die zum Decodieren nicht nützlich sind.
  • Wie in 1b zu sehen ist, gibt es zwischen dem Paket 1 und dem folgenden ein Zeitintervall mit einem niedrigen Strompegel, das IMS (Inter Message Space = Zwischennachrichtraum) genannt ist. Das Paket 1 gemeinsam mit dem Folgenden IMS-Raum wird „Nachricht" 2 genannt. Die Dauer eines Bits beträgt typischerweise 8 μs.
  • 2 zeigt schematisch ein bevorzugtes Ausführungsbeispiel eines Manchester-Decodierers gemäß der Erfindung zum Decodieren eines Signals mit Daten in 11 Bitpaketen gemäß der Form des zuvor beschriebenen PAS-Protokolls.
  • In dem Ausführungsbeispiel weist der Decodierer, der durch das Bezugszeichen 20 angezeigt ist, ein Filter 21 Ein Filter, einen Taktsignalerzeuger 22 Takt 5 MHz, eine erste Zählervorrichtung 23 Bit_Zähl, eine zweite Zählervorrichtung 24 Bit_Zeit_Zähl auf.
  • Der Decodierer 20 weist ferner eine Speichereinrichtung, wie z. B. ein Register 25 Bit_Zeit_Reg, ein Schieberegister 28 Schiebe_Reg, und ein Ausgangsregister 29 Aus_Reg auf.
  • Der Decodierer 20 ist ebenso mit einer ersten Zustandsmaschine Mitte Erfassung 30, einer zweiten Zustandsmaschine Ende_der_Nachr 31 und mit einem ersten und einem zweiten Komparator 26 und 27 versehen.
  • Der Takterzeuger 22 ist derartig, um eine Zeitreferenz zu erzeugen, bei diesem Beispiel ein Signal CK mit einer Frequenz, in anderen Worten die Zahl von Zyklen pro Sekunde, gleich 5 MHz.
  • Das Filter 21, Ein_Filter ist optional und ist mit zwei Eingängen zum Empfangen des CK-Taktsignals und des empfangenen Manchester-Datensignals RX_DATA versehen und ist ferner mit einem Ausgang für das Signal mit gefilterten Daten FILT_DATA versehen. Diese Daten entsprechen den empfangenen Daten RX_DATA, wobei Störungen verschiedener Arten beseitigt wurden, wie z. B. Interferenz auf der Zweidrahtleitung.
  • Eine mögliche Implementierung des Filters 21 ist im Folgenden unter Bezugnahme auf die 2a und 3a beschrieben.
  • Die erste Zustandsmaschine 30 Mitte Erfassung ist mit Eingängen zum Empfangen von Folgendem versehen: dem gefilterten Datensignal FILT_DATA, dem Zeitsignal CK und einem Maskierungssignal MASK.
  • Die Zustandsmaschine 30 wird zum Erzeugen eines ersten Signals HALF_EDGE verwendet, das Pulse aufweist, die den Übergängen in der Mitte jedes Bits des Signals FILT_DATA entsprechen.
  • Gemäß einem in 5b dargestellten Ausführungsbeispiel weist die Zustandsmaschine 30 ferner eine Einrichtung zum Erzeugen eines zweiten Signals ANY_EDGE auf, das Pulse aufweist, die allen Übergängen des Signals FILT_DATA entsprechen. Diese Einrichtung kann mittels eines sequentiellen Logiknetzwerkes gebildet sein, das z. B. ein Flip-Flop 53, das durch das Taktsignal CK getaktet wird, und ein Logikgatter EX-OR 55 umfasst.
  • Ferner ist die Zustandsmaschine 30 mit einer Maskierungseinrichtung zum Auswählen von Pulsen des zweiten Signals ANY_EDGE, die Übergängen in der Mitte jedes Bits des Signals FILT_DATA entsprechen, versehen, um das erste Signal HALF_EDGE zu erzeugen. Die Maskierungseinrichtung kann z. B. ein Logikgatter UND 56 umfassen, wie z. B. zum Kombinieren des Maskierungssignals MASK mit dem zweiten Signal ANY_EDGE.
  • Bei dem bestimmten gegebenen Beispiel weist die Maskierungseinrichtung ferner einen Multiplexer MUX 57 auf, der geeignet zum Empfangen des Ausgangssignals von dem Logikgatter UND 56 und eines dritten Signals RISE_EDGE an geeigneten Eingängen (in der Figur mit 1 und 0 bezeichnet) ist. Der Multiplexer 57 ermöglicht auf der Basis eines Auswahlsignals, das durch ein Logikgatter NOR3 58 erzeugt wird, eine Übertragung der Signale, die an den Ausgängen vorliegen, um das Signal HALF_EDGE zu bilden.
  • Ferner ermöglicht die Zustandsmaschine 30 Mitte_Erfassung eine Erzeugung des dritten Signals RISE_EDGE, das an ein Logikgatter UND 54 ausgegeben wird und Pulse beinhaltet, die den ansteigenden Übergängen des Signals FILT_DATA entsprechen, sowie eines Signals BIT_0 (aus einem Logikgat ter NOR2 59 ausgegeben), das signalisiert, wenn der Zähler 23 Bit_Zähl den Wert 0 beinhaltet.
  • Unter Bezugnahme auf 2 besteht die Funktion der ersten Zählervorrichtung, z. B. eines herkömmlichen Zählers 23 Bit_Zähl, darin, einen Zählwert der Zahl von Bits, die in einer Nachricht 2 empfangen werden, zu halten, und ist mit Eingängen INCR und RES versehen, um um das Signal HALF_EDGE erhöht bzw. durch das Signal IMS_Detect zurückgesetzt zu werden.
  • Die zweite Zählervorrichtung, z. B. ein herkömmlicher Zähler 24 Bit_Zeit_Zähl, ist derartig, dass sie die Zahl von Zyklen des Taktsignals CK zählt, die zwischen zwei aufeinander folgenden Pulsen des Signals HALF_EDGE auftreten. Zu diesem Zweck ist die Schaltung 24 mit einem Eingang INCR versehen, um durch das Taktsignal CK erhöht zu werden, und einem Eingang RES, um durch einen Puls des Signals HALF_EDGE zurückgesetzt zu werden. Bei diesem Beispiel ist der Zähler 24 Bit_Zeit_Zähl ein 8-Bit-Zähler.
  • Eine zweite Zustandsmaschine Ende der Nachr 31 wird zum Verhindern einer Erhöhung in dem Zähler 24 verwendet, wenn der Decodierer das Ende des Pakets 1 empfangen hat, indem ein SLEEP-Signal erzeugt wird, das durch das ODER-Gatter 32 wirkt. Ein mögliches Ausführungsbeispiel der zweiten Zustandsmaschine 31 ist im Folgenden unter Bezugnahme auf 5a beschrieben.
  • Das Register 25 Bit_Zeit_Reg, bei diesem Beispiel mit 7 Bits, speichert den Inhalt des Zählers 24.
  • Insbesondere speichert, wenn Tn-1, Tn, Tn+1 drei folgende Mittelübergänge des Signals FILT_DATA anzeigen, entsprechend drei folgenden Pulsen des ersten Signals HALF_EDGE, während der Zähler 24 das Zeitintervall misst, das zwischen Übergängen Tn und Tn+1 verstreicht, d. h., während die Zahl von Taktzyklen zwischen diesen Übergängen gezählt wird, das Register Bit_Zeit_Reg 25 den Wert des Zeitintervalls, das zwischen den Übergängen Tn-1 und Tn, zuvor gemessen, verstreicht.
  • Der Block 28, bei diesem Beispiel Schiebe_Reg, ist ein 11-Bit-Schieberegister. Dieses Register empfängt die drei Signale, die durch die Zustandsmaschine Mitte Erfassung 30 erzeugt werden, und speichert die bereits decodierten Daten eines bestimmten Pakets 1 seriell.
  • Das Schieberegister 28 überträgt seinen Inhalt an dem Ende jeder Nachricht 2, d. h. nach einer Aktivierung des Nachrichtenende-Signals IMS_Detect, zu dem Ausgangsregister 29, z. B. von dem 11-Bit-Typ, mit dem dasselbe verbunden ist. Bei einem bevorzugten Ausführungsbeispiel besitzen die Register eine Größe (ausgedrückt in Bits), die gleich der Zahl von Bits des Pakets 1 ist.
  • Der erste Komparator 26 ist mit zwei Eingängen versehen (in 2 mit den herkömmlichen Vorzeichen + und – angezeigt), die mit dem Zähler 24 Bit_Zeit_Zähl bzw. mit dem Register 25 Bit_Zeit_Reg verbunden sind, und ist derartig, um einen Vergleich ihrer Inhalte zu ermöglichen. Ferner ist der Eingang des Komparators 26, der mit dem Register 25 Bit_Zeit_Reg verbunden ist, derartig, um den Inhalt des Registers 25 mit einem konstanten Faktor tniedrig zu multiplizieren, bevor die Vergleichsoperation durchgeführt wird. Basierend auf dem Vergleichsergebnis aktiviert/deaktiviert der Komparator 26 das Maskierungssignal MASK.
  • Ähnlich ermöglicht der zweite Komparator 27 einen Vergleich zwischen den Inhalten des Zählers 24 und des Registers 25, wobei derselbe mit diesen beiden mittels zweier Eingänge verbunden ist. Der Eingang des Komparators 27, der mit dem Register 25 verbunden ist, ist derartig, um den Inhalt des Registers 25 mit einem konstanten Faktor thoch zu multiplizieren, bevor die Vergleichsoperation durchgeführt wird. Auf der Basis des Vergleichsereignisses ist der Komparator 27 derartig, um das Nachrichtenende-Signal IMS_Detect zu aktivieren/deaktivieren.
  • Das Verhalten des Decodierers 20 gemäß der vorliegenden Erfindung wird im Folgenden Block für Block beschrieben.
  • 2a zeigt eine mögliche Implementierung des Eingangsfilters 21 Ein_Filter. Dieses Filter weist im Wesentlichen einen Auf-Ab-Zähler A/A Zähler 10 auf, der bei diesem Beispiel von dem Vier-Bit-Typ ist, sowie ein folgendes Logiknetzwerk.
  • 3a zeigt die Signalverläufe des Filters 21 Ein_Filter, das in 2 gegeben ist. Das Signal RX_DATA stellt den Fluss von Daten, die in das Filter 21 eingegeben werden, dar. Dieses Signal weist ein Bit auf, z. B. S1 und S2, und möglicherweise Rauschen, z. B. in der Form von Pulsen, die die unerwünschten Übergänge 35 bestimmen.
  • Ein Übergang des Signals RX_DATA, der dessen Wert entgegengesetzt zu dem von FILT_DATA macht, bewirkt, dass sich der Auf/Ab-Zähler 10 nach oben bewegt, dessen Inhalt in 3b mit A/A Zähler angegeben ist. Dieser Zähler zählt z. B. die Zyklen des Taktsignals CK. Jeder folgende Übergang der Eingabe RX_DATA bewirkt eine Änderung an der Richtung des Zählens des Zählers: der Zähler 10 nimmt ab, wenn Eingabe und Ausgabe sich entsprechen, der Zähler 10 nimmt zu, wenn sich Eingabe und Ausgabe unterscheiden.
  • Zu diesem Zweck werden die Signale RX_DATA und FILT_DATA, die an dem Eingang D bzw. an dem Ausgang Q eines Flip-Flops 11 genommen werden, zu den Eingängen eines Gatters EX_OR 12 gesendet. Ein aktives Hoch-Signal UP wird an einem Ausgang des Gatters erzeugt, wenn sich RX_DATA und FILT_DATA unterscheiden. Das Signal UP ist, wenn es auf einem hohen Pegel ist, derartig, um den Zähler 10 in einen Zustand eines Aufwärts-Zählens zu bringen, und zwar durch den UP/DOWN-Eingang. Umgekehrt ist, wenn das Signal UP auf einem nied rigen Pegel ist, es derartig, um den Zähler in einen Zustand eines Abwärts-Zählers zu bringen.
  • Wenn der Zähler 10 den anfänglichen Null-Pegel 36 erreicht, stoppt er und die Ausgabe FILT_DATA des Flip-Flops 11 bleibt unverändert. In diesem Fall hatte die Eingabe RX_DATA eine gerade Zahl von Übergängen und ist zu ihrer Anfangsbedingung zurückgekehrt, der Ausgang schaltet nicht um und deshalb wurden die Eingangsübergänge 35, die bei Bewegung des Zählers stattfanden, zurückgewiesen.
  • Wenn jedoch der Zähler A/A Zähler 10 den letztendlichen Zählpegel 37 erreicht, setzt ein aktives Hoch-Signal CHAN-GE, das durch das Gatter END des Zählers 10 ausgegeben wird, den Zähler 10 durch den Eingang RES zurück und bewirkt gleichzeitig durch das Flip-Flop 11 ein Umschalten der Ausgabe FILT_DATA. In diesem Fall ist eine ungerade Zahl von Eingangsübergängen aufgetreten, was einen Logikwert für eine ausreichend lange Durchschnittszeitperiode entgegengesetzt zu dem Ausgangswert beibehält.
  • Sobald der Zähler 10 rückgesetzt wurde, stoppt derselbe, da das Gatter NOR 13, wenn alle Bits des Zählers (vom niedrigstwertigen: <0>, <1>, <2>) gleich Null sind, erzeugt ein aktives Hoch-Signal LEV_0, das das Zählsignal CK durch das ODER-Gatter 165 blockiert. Ein Logik-UND-Gatter 14 beendet eine Blockierung des Taktes CK, wenn das Signal UP wieder aktiviert wird.
  • Die maximale Dauer des zurückgewiesenen Pulses 35 entspricht der Zeit, die der Zähler braucht, um den letztendlichen Pegel 37 zu erreichen, beginnend bei dem Null-Pegel 36.
  • Diese Zeit, die auch äquivalent zu der minimalen Verzögerung ist, mit der die Eingangsinformationen zu einem Ausgang übertragen werden, ist vorzugsweise gleich 2 μs.
  • Die gefilterten Daten FILT_DATA werden durch die erste Zustandsmaschine 30 Mitte_Erfassung empfangen, die die Übergänge auswählt, die der Bitmitte des gefilterten Signals FILT_DATA entsprechen.
  • Ähnlich der Beschreibung, die unter Bezug auf das B_Manchester-Paket erfolgte, das in 1a dargestellt ist, weist das Signal FILT_DATA, das in 3b gezeigt ist, eine erste Sequenz von Übergängen 40 in der Mitte jedes Bits auf, die auch Mittelübergänge 40 genannt werden, sowie eine zweite Sequenz von Übergängen 42, die nur zwischen benachbarten Bits mit dem gleichen Logikwert vorhanden sind, die Anfangsübergänge 42 genannt werden.
  • Es sollte zu erkennen sein, dass in 3b, die nur als Beispiel gegeben ist, das zu decodierende Paket einen Beschleunigungswert beinhaltet, der durch 10 Bits (D0...D9) dargestellt ist.
  • Gemäß der vorliegenden Erfindung ist die erste Zustandsmaschine 30 derartig, um die Mittelübergänge 40 auszuwählen.
  • Vorzugsweise weist die Auswahl einen Maskierungsschritt auf, wenn die Anfangsübergänge 42 beseitigt oder zurückgewiesen wurden, da diese zum Decodieren nicht nützlich sind, um so das Signal HALF_EDGE zu erzeugen.
  • Dieses Signal weist Pulse 41 auf, die den Übergängen 40 in der Mitte jedes Bits S1, S2, D0, ..., P von FILT_DATA entsprechen. Diese Pulse weisen bei diesem Ausführungsbeispiel eine zeitliche Breite auf, die vergleichbar mit der Periode des Taktsignals CK ist.
  • Die Pulse 41 des HALF_EDGE erhöhen den Zähler Bit_Zähl 23, bei diesem Beispiel von dem 4-Bit-Typ. Der Zähler zählt die Zahl von Bits des Pakets 1, die bereits empfangen wurden, und wird durch die erste Zustandsmaschine 30 gelesen.
  • Auf der Basis des Inhalts des Zählers 23 erzeugt die Zustandsmaschine 30 das Signal BIT_0, das während eines Empfangs des Pakets 1 ein hoher Pegel ist, und das aktiviert wird (niedriger Pegel), wenn ein Wert 0 in dem Zähler 23 gelesen wird.
  • Ein Puls 41 des Signals HALF_EDGE wird ebenso rückgesetzt und startet den Zähler Bit_Zeit_Zähl 24, der bei jedem Zyklus des Taktsignals CK erhöht wird. Bei einem bevorzugten Ausführungsbeispiel ist der Zähler 24 von dem 8-Bit-Typ.
  • Ein nachfolgender Puls 41 des Signals HALF_EDGE bewirkt ein Laden des Inhalts des Zählers Bit_Zeit_Zähl 24 in dem Register Bit_Zeit_Reg 25 unmittelbar vor einem Rücksetzen und Neustarten des Zählers 24.
  • Das Register Bit_Zeit_Reg 25, das mit seinem maximalen Aktivierungswert durch das Signal BIT_0 vorgeladen ist, beinhaltet deshalb eine Zahl Nn-1 von Zyklen des Taktsignals CK, die durch den Zähler 24 gemessen werden und zwischen dem letzten Paar ausgewählter benachbarter Mittelübergänge 40 auftreten (Pulse 41). Die Zahl Nn-1 stellt so eine Messung des Zeitintervalls dar, das zwischen dem letzten Paar ausgewählter benachbarter Mittelübergänge 40 verstreicht. Andererseits beinhaltet der Zähler 24 zu einem bestimmten Moment die Zahl von Taktzyklen Nn, die nach dem letzten ausgewählten Mittelübergang 41 verstrichen sind (Puls 40).
  • Die beiden Messungen Nn und Nn-1 werden in den beiden Komparatoren 26 und 27 verglichen. Insbesondere wird der Komparator 27 zum Erfassen des Endes des Pakets 1 verwendet.
  • Das Ende des Pakets wird erfasst, wenn der Inhalt des Zählers 24 um eine geeignete zuvor eingerichtete Menge den Inhalt des Registers 25 übersteigt, das die Dauer des letzten empfangenen Bits beinhaltet. In der Formel wird das Ende des Pakets erfasst, wenn: Nn ≥ thoch·Nn-1 wobei thoch eine reelle Zahl größer als 1 ist, die einen Proportionalitätsfaktor darstellt.
  • Wenn die obige Beziehung verifiziert ist, gibt der Komparator 27 das Paketende-Signals IMS_Detect auf einen aktiven Hoch-Pegel.
  • Bei einem bevorzugten Ausführungsbeispiel ist der Proportionalitätsfaktor thoch in etwa gleich 2, so dass, wenn der Inhalt Nn des Bitzeitzählers 24 den Inhalt Nn-1 des Registers 25 um 200% überschreitet, das Ende des Pakets 1 mit einer Aktivierung des Signals IMS_Detect (hoher Pegel) signalisiert wird. Wenn dies geschieht, hatte FILT_DATA keine weiteren Übergänge 40 für eine Dauer von 2 Bits, beginnend bei der Mitte des letzten empfangenen Bits, d. h. 1,5 Bits nach dem Ende des letzten empfangenen Bits.
  • Deshalb stellt das Signal IMS_Detect (Inter Message Space Detection-Zwischennachrichtraumerfassung) das Ende des Datenpakets 1 dar, da die gefilterten Daten FILT_DATA für eine Länge einer Zeit von 1,5 mal mehr als die Dauer des letzten empfangenen Bits „still" bleiben.
  • Durch ein Variieren der Menge thoch ist es möglich auszuwählen, wie lange gewartet werden soll, bevor das Ende des Pakets signalisiert wird. Wenn der Faktor thoch nahe bei 1 ist, bestimmt ein Bit mit einer Dauer von etwas mehr als dem vorherigen Bit (z. B. durch Jitter bewirkt) unter Umständen ein falsches Paketende-Signal.
  • Ein Faktor thoch mit einem etwas höheren Wert, z. B. zwischen 1,5 und 3, erlaubt einen bestimmten Spielraum einer möglichen Bitzeitvariabilität zwischen benachbarten Bits.
  • Im Gegensatz dazu bestimmt ein hoher Faktor thoch eine bestimmte Verzögerung beim Decodieren. In jedem Fall kann der Faktor nicht willkürlich sein: er besitzt eine obere Grenze, die mit der minimalen Beabstandung IMS zwischen benachbarten Paketen 1 korreliert ist.
  • Es soll angemerkt werden, dass eine Initialisierung des Registers Bit_Zeit_Reg 25 bei seinem maximalen Wert, bereitgestellt durch eine Aktivierung des Signals BIT_0, es möglich macht, während eines Empfangs des ersten Bits des Pakets 1 eine fälschliche Erkennung eines Paketendes zu vermeiden, wenn der Inhalt des Zählers 24 den Inhalt des Registers 25 um 200% (bei diesem Beispiel) überschreitet.
  • Das Signal IMS_Detect setzt den Inhalt des Registers 23 zurück und aktiviert gleichzeitig das SLEEP-Signal (hoch aktiv) mittels der zweiten Zustandsmaschine 31.
  • Das SLEEP-Signal bleibt während der gesamten Ruheperiode zwischen zwei aufeinander folgenden Paketen 1 auf einem hohen Pegel, unter Maskierung des Taktes CK, durch das Logik-OR-Gatter 32, zu dem Zähler 24 Bit_Zeit_Zähl.
  • Eine mögliche Implementierung der zweiten Zustandsmaschine Ende_der_Nachr 31 gemäß der Erfindung ist in 5a schematisch dargestellt.
  • Die Maschine Ende der Nachr 31 weist ein erstes 50 und ein zweites 51 D-Typ-Flip-Flop auf, die in Kaskade geschaltet sind, sowie ein Logik-ODER-Gatter 52. Das erste und das zweite Flip-Flop 50 und 51 werden durch ein Ausgangssignal aus dem Logik-ODER-Gatter 52 getaktet. Ferner empfängt ein Eingang D des ersten Flip-Flops 50 das Paketendesignal IMS_Detect und ein Ausgang Q des zweiten Flip-Flops 51 macht das SLEEP-Signal verfügbar. Dieses SLEEP-Signal wird mit dem Taktsignal CK in dem Logik-ODER-Gatter 52 kombiniert. Das erste und das zweite Flip-Flop 50 und 51 sind mit einem Rücksetzeingang R versehen, um so durch das Signal HALF_EDGE zurückgesetzt zu werden.
  • Die zweite Zustandsmaschine 31 ist derartig, um das SLEEP-Signal nach einer Aktivierung des Paketendesignals IMS_Detect auf einen hohen Pegel zu geben, sowie dasselbe nach einem Puls 40 des Signals HALF_EDGE zurück zu einem niedrigen Logikpegel zu bringen, entsprechend der Mitte des ersten Bits (S1) des nächsten Pakets 1.
  • Vorzugsweise ist es durch derartiges Dimensionieren des Bitzeitregisters 25, dass dasselbe kleiner ist als der Bitzeitzähler 24, möglich, zu verhindern, dass der Zähler 24 einen Zustand eines arithmetischen Überlaufs erreicht, sobald das Paket 1 zu Ende ist. Wenn z. B. thoch = 2 gilt und das Register 25 ein Bit weniger als der Zähler 24 aufweist, kann der Zähler 24 nicht überlaufen, da, bevor dies geschieht, der Komparator 27 das Paketende erfasst (das SLEEP-Signal ist aktiviert) und den Zähler 24 stoppt.
  • Der zweite Komparator 26 vergleicht den Inhalt Nn des Bitzeitzählers 24 und den Inhalt Nn-1 des Bitzeitregisters 25, um ein Zeitintervall zu schätzen, in dem es, beginnend bei dem letzten ausgewählten Mittelübergang 40, wahrscheinlich ist, dass ein Anfangsübergang 42 stattfindet. Dies geschieht, um den Anfangsübergang 42 zu maskieren und den Mittelübergang 40 unmittelbar darauf folgend auszuwählen.
  • Der Komparator 26 erzeugt das Maskensignal MASK, das einen hohen Logikpegel erhält, wenn: Nn ≥ tniedrig·Nn-1.Bei einem bevorzugten Ausführungsbeispiel ist tniedrig in etwa gleich 0,75, so dass, wenn der Inhalt des Bitzeitzählers 24 den Inhalt des Registers 25 um 75% überschreitet, anders ausgedrückt, wenn es wahrscheinlich ist, dass ein Moment, der im Wesentlichen äquidistant zwischen dem Anfang und der Mitte des gerade empfangenen Bits ist, empfangen wird, das MASK-Signal (hoher Logikpegel) aktiviert wird.
  • Das MASK-Signal ermöglicht ein Maskieren des Übergangs 42 zu Beginn des Bits durch die Zustandsmaschine 30, um ein Signal (HALF_EDGE) zu erzeugen, das nur Übergänge 41 beinhaltet, die der Mitte der Bits des Pakets 1 entsprechen.
  • Wie in 5b zu sehen ist, erzeugt die Zustandsmaschine 30 aus dem Taktsignal CK und dem Signal FILT_DATA durch das Flip-Flop 53 und das Logikgatter UND 54 das Signal RISE_EDGE, das Pulse beinhaltet, die den ansteigenden Übergängen des Signals FILT_DATA entsprechen. Ferner erzeugt sie außerdem durch das Flip-Flop 53 und das Logikgatter EX_OR 55 das Signal ANY_EDGE, das Pulse beinhaltet, die allen Übergängen des Signals FILT_DATA entsprechen.
  • Durch Anwenden einer Logik UND in dem Gatter 56 auf die Signale ANY_EDGE und MASK werden die Pulse des Signals ANY_EDGE, die nicht den Mittelbitübergängen 40 des Pakets 1 entsprechen, beseitigt.
  • Dies geschieht, da das Signal MASK an einem Punkt in Äquidistanz zwischen dem Anfang des Bits und dessen Mitte hoch und aktiv wird, wobei so ein Maskieren eines beliebigen Anfangsübergangs 42 ermöglicht wird.
  • Wenn die ersten beiden Bits S1 und S2 der Nachricht 2 empfangen werden, wählt, um das Ausgangssignal HALF_EDGE zu erzeugen, der Multiplexer MUX 57 die ersten beiden Pulse des Signals RISE_EDGE aus (d. h. er sendet diese an seinem Ausgang). Es sollte in Erinnerung gerufen werden, dass das Signal RISE_EDGE Pulse beinhaltet, die ansteigenden Übergängen entsprechen, und deshalb die durch den Multiplexer 57 ausgewählten Pulse der Mitte der Bits entsprechen, wobei die ersten beiden Bits S1 und S2 jedes Pakets 1 Logikwerte „0" aufweisen.
  • Wenn jedoch die folgenden Bits empfangen werden, wählt der Multiplexer 57 den Puls in der Mitte des Bits, der durch das Logikgatter UND 56 ausgegeben wird, aus.
  • Es soll angemerkt werden, dass die Auswahl, die durch den Multiplexer 57 ausgeführt wird, durchgeführt wird, da das durch das Logikgatter 56 ausgegebene Signal zur Erzeugung des Signals HALF_EDGE erst nach Empfang des zweiten Bits des Pakets 1 verwendet werden kann, da die ersten beiden Bits zur Initialisierung des Zählers Bit_Zeit_Zähl 24 und des Registers Bit_Zeit_Reg 25 verwendet werden.
  • Bei einem bevorzugten Ausführungsbeispiel, wie z. B. dem in 5b dargestellten, wird die Auswahlsteuerung SEL der Eingänge des Multiplexers 57 durch ein Lesen des 4-Bit-Zählers Bit_Zähl 23 erzeugt. Insbesondere stellt eine Logik NOR, die durch das Gatter NOR3 58 durchgeführt wird, ein hohes aktives Ausgangssignal BIT_0_1 bereit, wenn die ersten drei höchstwertigen Bits des Zählers 23 (Bit_Count<3>, Bit_Count<2>, Bit_Count<1>) alle Null sind. In diesem Fall beinhaltet der Zähler Bit_Zähl 23 „0" oder „1", so dass der Multiplexer eine Eingabe 0 auswählt. Andernfalls wählt er eine Eingabe 1 aus. Schließlich wird durch Anwenden einer weiteren Logik NOR (Gatter NOR2 59) auf das durch das Gatter 58 NOR3 ausgegebene Signal und das niedrigstwertige Bit des Zählers 23 das Signal BIT_0 erzeugt, das hoch und aktiv ist, wenn der Zähler 23 einen Wert 0 beinhaltet.
  • Wie in 2 dargestellt ist, werden die Signale RISE_EDGE, BIT_0 und HALF_EDGE an das Schieberegister Schiebe_Reg 28 gesendet.
  • Dieses Register 28 führt basierend auf den Signalen RISE_EDGE und HALF_EDGE einen letzten Entscheidungsschritt durch, der es möglich macht, ein Bit mit dem Logikwert „0" einem ansteigenden Mittelübergang zuzuordnen, sowie ein Bit mit dem Logikwert „1" einem fallenden Mittelübergang.
  • Detaillierter gesprochen verwendet das Register 28 das Signal HALF_EDGE als einen Zeitgebungstakt, um nachfolgend den abgelehnten Logikwert, der durch das Signal RISE_EDGE getragen wird, zu erfassen. Es sollte in Erinnerung bleiben, dass das Signal RISE_EDGE alle ansteigenden Pulse des zu decodierenden Manchester-Binärdatensignals beinhaltet.
  • Es wird der Fall betrachtet, in dem das Signal RISE_EDGE einen Puls (Logikwert „1" von RISE_EDGE) gleichzeitig mit einem Puls 41 von HALF_EDGE vorlegt. Dies impliziert das Vorliegen eines ansteigenden Mittelübergangs und so eine logische „0" in dem Signal FILT_DATA.
  • In diesem Fall erfasst das Register 28 eine logische „0", unter Invertierung des Logikwerts, der dem Puls des Signals RISE_EDGE zugeordnet ist.
  • Ferner wird der Fall betrachtet, in dem das Signal RISE_EDGE keinen Puls (Logikwert „0" von RISE_EDGE) gleichzeitig mit einem Puls 41 von HALF_EDGE vorlegt. Dies impliziert das Vorliegen eines fallenden Mittelübergangs und so eine logische „1" in dem Signal FILT_DATA.
  • In diesem Fall erfasst das Register 28 eine logische „1", unter Invertierung des Logikwerts, der dem Signal RISE_EDGE zugeordnet ist.
  • Ferner wird das Schieberegister Schiebe_Reg 28 durch das Signal BIT_0 an dem Ende des Pakets zurückgesetzt, um so zu Beginn eines Erfassens der nächsten Nachricht 2 blank zu sein.
  • An dem Ende des Pakets 1, genauer gesagt bei Aktivierung des Signals IMS_Detect, wird der Inhalt des Registers Schiebe_Reg 28 in das Ausgangsregister Aus_Reg 29 geladen, das das decodierte Paket verfügbar macht.
  • 4 zeigt, zur Vollendung der Beschreibung, die Signalverläufe der Signale während eines Betriebs des Decodierers gemäß der vorliegenden Erfindung. In der Figur wird aus Gründen der Einfachheit angenommen, dass das empfangene Signal RX_DATA nicht durch Rauschen beeinflusst wird. Folglich stellt das Signal FILT_DATA seine verzögerte Wiederholung dar.
  • Ferner ist wie in 3b in der 4 die Zahl nützlicher Bits in dem Paket 1 10 (D0...D9): bei dem Entwurf des Decodierers 20, der in 2 gezeigt ist, muss nur der Dimensionierung des Schieberegisters 28 und des Ausgangsregisters 29 in einer derartigen Weise, dass dieselben alle Bits in einem Paket 1 beinhalten können, Aufmerksamkeit geschenkt werden.
  • Das Signal Bit_Zeit_Zähl zeigt den Inhalt des Zählers 24 während eines Decodierens des Pakets 1. N1, N2... zeigen die Werte (Messungen) an, die in dem Zähler Bit_Zeit_Zähl 24 beinhaltet sind, vor dessen Rücksetzen, das durch die Pulse des Signals HALF_EDGE bewirkt wurde.
  • Wie in der Figur zu sehen ist, nimmt das Signal MASK, wenn der Inhalt des Zählers 24 Bit_Zeit_Zähl den Inhalt des Registers 25 Bit_Zeit_Reg um 75% überschreitet, einen hohen Logikpegel an. Ein Rücksetzen des Zählers 24 Bit_Zeit_Zähl bringt das Signal MASK wieder auf einen niedrigen Pegel.
  • Bei der vorgeschlagenen Lösung wird ein Decodieren durch Bestimmen der Mittelübergänge 40 des zu decodierenden Datensignals RX_DATA ausgeführt. Um die Übergänge zu bestimmen, wird jeder folgende Mittelübergang 40 auf der Basis der Messung N des Zeitintervalls zwischen dem Paar benachbarter Mittelübergänge 40, die dem folgenden Mittelübergang 40 unmittelbar vorausgehen, ausgewählt.
  • Insbesondere wird ein Anfangsübergang 42, d. h. nicht mittig, der dem folgenden Mittelübergang 40, der ausgewählt werden soll, unmittelbar vorausgeht, ignoriert oder maskiert. Noch genauer beseitigt ein Maskieren einen Anfangsübergang 42, der in ein Zeitintervall fällt, das von dem letzten Mittelübergang gemessen wird und eine Dauer besitzt, die proportional zu dem Maß N des Zeitintervalls ist, gemäß einem Proportionalitätsfaktor, der größer als 0,5 und kleiner als 1 ist, der bei einem bevorzugten Ausführungsbeispiel in etwa gleich 0,75 ist. Insbesondere macht es diese letztere Auswahl möglich, Variationen von 25% bei der Bitzeit zwischen folgenden Bits zu tolerieren.
  • Wenn das Signal RX_DATA, das decodiert werden soll, durch Rauschen beeinträchtigt ist, das ein Verschieben der Bitübergänge bewirkt (Phasenjitter), kann die Toleranz, die durch den Decodierer 20 gemäß dieser Erfindung garantiert wird, in jedem Fall ein korrektes Decodieren ermöglichen.
  • Wie zuvor beschrieben wurde, wird gemäß dieser Erfindung jedes Bit unter Verwendung des Maßes N der Dauer des vorherigen Bits als Zeitreferenz decodiert.
  • Es folgt, dass, im Gegensatz zu den bekannten und bereits genannten Decodierungsverfahren die Decodierer gemäß dieser Erfindung keine Frequenzreferenz mit hoher Präzision und Stabilität benötigen.
  • Ferner erfordern die Decodierer gemäß dieser Erfindung nicht notwendigerweise eine genaue Beziehung zwischen den Taktfrequenzen, die beim Senden und Empfangen verwendet werden, und diese tolerieren deshalb sogar sehr kleine Variationen bei der Bitzeit sowohl zwischen unterschiedlichen Paketen 1 als auch innerhalb des gleichen Pakets 1.
  • Außerdem soll beachtet werden, dass es nach Reduzierung der Empfindlichkeit der Frequenzreferenz gegenüber Empfänger und Sender möglich ist, billige Frequenzreferenzen zu verwenden.
  • Die einzige Anforderung an ein korrektes Decodieren ist eine ausreichend stabile lokale Frequenzreferenz CK während eines Empfangs folgender Paare von Bits.
  • Bei dem bestimmten beschriebenen bevorzugten Ausführungsbeispiel wird diese Dauer vorzugsweise auch verwendet, um das Ende des Pakets 1 zu erfassen.
  • Bei dem beschriebenen Beispiel wird, da die Bitzeit gleich 8 μs ist und das Taktsignal CK eine Frequenz gleich 5 MHz aufweist, die Messung N eines Intervalls zwischen folgenden Mittelübergängen 40 durch Zählen eines Durchschnitts von 40 Taktzyklen zwischen jedem Paar von Mittelübergängen 40 ausgeführt.
  • Natürlich ist es möglich, die Frequenz des Taktsignals CK beliebig auszuwählen. Je höher die Frequenz ist, desto höher ist die Genauigkeit, mit der die Messung N des Zeitintervalls zwischen zwei benachbarten Mittelübergängen 40 ausgeführt wird. Wenn das Verhältnis zwischen Taktfrequenz und Bitübertragungsrate zu gering ist, z. B. gleich 4, arbeitet der Decodierer, er verliert jedoch einen Großteil seiner Toleranz gegenüber Variationen bei der Bitzeit zwischen folgenden Bits und gegenüber Rauschen.
  • Bei einem bevorzugten Ausführungsbeispiel ist das Verhältnis zumindest gleich 10. Insbesondere ist bei einem weiteren bevorzugten Ausführungsbeispiel das Verhältnis eine Zahl zwischen 10 und 100, z. B. 40.
  • Es sollte zu erkennen sein, dass es nicht strikt nötig ist, dass die einzelnen Blockfunktionen in der oben beschriebenen Weise bereitgestellt werden, ferner sollte zu erkennen sein, dass es möglich ist, zahlreiche zusätzliche Funktionen hinzuzufügen.
  • Es gibt z. B. zahlreiche bekannte Verfahren zum Bereitstellen des Eingangsfilters Ein_Filter 21, das sogar weg gelassen werden könnte.
  • Es ist außerdem möglich, Funktionen zum Steuern der Parität des Pakets 1 oder diagnostische Funktionen zur Steuerung der genauen Zahl von Bits eines Pakets 1 hinzuzufügen. In dem letzteren Fall könnte es nötig sein zu verifizieren, dass der Inhalt des Zählers Bit_Zähl 23 einem zuvor eingerichteten Wert entspricht, und zwar zu der Zeit, zu der das Ende der Nachricht 2 durch das Signal IMS_Detect erfasst wird.
  • Es ist möglich, die Dauer der verschiedenen Bits sorgfältiger zu steuern, z. B. durch Verifizieren, dass die Entfernung zwischen zwei Bitmitten die Dauer des vorherigen Bits um nicht mehr als 125% überschreitet. Zu diesem Zweck ist es ausreichend, einen weiteren Komparator hinzuzufügen, der den Inhalt des Zählers 24 Bit_Zeit_Zähl mit 125% des Inhalts des Registers 25 Bit_Zeit_Reg vergleicht.
  • Eine weitere Variation könnte die sein, die relative Dauer der verschiedenen Bits weniger streng zu vergleichen, unter Akzeptanz des ersten der folgenden beiden Ereignisse als Mitte des Bits: (a) was geschieht, nachdem der Zähler Bit_Zeit_Zähl das Register Bit_Zeit_Reg um 75% überschreitet, oder (b) der zweite Übergang der gefilterten Daten nach der letzten Bitmitte. Auf diese Weise kann ein Bit, das wesentlich kürzer als das ist, das ihm vorausgeht, akzeptiert werden, unter der Voraussetzung, dass es das Eingangsfilter 21 passieren kann.
  • Natürlich kann ein Fachmann zur Erfüllung eventueller und spezifischer Anforderungen viele Modifizierungen und Variationen auf das oben beschriebene Decodierungsverfahren und den oben beschriebenen Decodierer anwenden, die übrigens alle innerhalb des Schutzbereichs der Erfindung, wie durch die beigefügten Ansprüche definiert ist, beinhaltet sind.

Claims (26)

  1. Verfahren zum Decodieren eines Manchester-codierten binären Datensignals (RX_DATA), wobei das Verfahren die folgenden Schritte aufweist: – Empfangen des binären Datensignals (RX_DATA), das eine erste Sequenz von Mittelbitübergängen (40) in der Mitte jedes Bits und eine zweite Sequenz von Anfangsbitübergängen (42), die zwischen benachbarten Bits mit dem gleichen Logikwert vorhanden sind, aufweist, – Erzeugen eines lokalen Taktsignals (CK), und – Bestimmen der Mittelbitübergänge (40) des codierten binären Datensignals (RX_DATA), dadurch gekennzeichnet, dass der Schritt des Bestimmens der Mittelbitübergänge (40) die folgenden Schritte aufweist: – Messen des Zeitintervalls, das zwischen einem Paar benachbarter Mittelbitübergänge (40) verstreicht, mittels des lokalen Taktsignals (CK), wobei das Intervall als eine Zahl N von Zyklen des lokalen Taktsignals (CK) ausgedrückt wird, – Auswählen jedes folgenden Mittelbitübergangs (40) auf der Basis des Zeitintervalls N, das zwischen dem Paar von Mittelbitübergängen (40) gemessen wird, die dem folgenden Mittelbitübergang (40) unmittelbar vorausgehen.
  2. Decodierungsverfahren gemäß Anspruch 1, bei dem der Schritt des Auswählens des folgenden Mittelbitübergangs einen Maskierungsschritt zum Beseitigen eines etwaigen Anfangsbitübergangs (42), der dem folgenden Mittelbitübergang (40) unmittelbar vorausgehen könnte, aufweist.
  3. Decodierungsverfahren gemäß Anspruch 2, bei dem der Maskierungsschritt einen etwaigen Anfangsbitübergang (42) beseitigt, der in einem Zeitintervall auftreten könnte, das beginnend bei einem letzten ausgewählten Mittelbitübergang (40) gemessen wird und eine Dauer aufweist, die gemäß einem Proportionalitätsfaktor tniedrig, der größer als 0,5 und kleiner als 1 ist, proportional zu dem Zeitintervall N ist.
  4. Decodierungsverfahren gemäß Anspruch 3, bei dem der Proportionalitätsfaktor tniedrig zwischen 0,7 und 0,8 beträgt.
  5. Decodierungsverfahren gemäß Anspruch 2, bei dem der Proportionalitätsfaktor tniedrig im Wesentlichen gleich 0,75 beträgt.
  6. Decodierungsverfahren gemäß Anspruch 1, bei dem die zu decodierenden Binärdaten (RX_DATA) in Pakete (1) Manchester-codierter Bits gruppiert werden.
  7. Decodierungsverfahren gemäß Anspruch 6, das ferner einen Schritt eines Erfassens eines Paketendes (1) aufweist, der auf der Basis der Messung des Intervalls N des letzten Paars ausgewählter Mittelbitübergänge (40) durchgeführt wird.
  8. Decodierungsverfahren gemäß Anspruch 7, bei dem das Paketende (1) erfasst wird, wenn keine Mittelbitpositionen (40) für ein Zeitintervall N' ausgewählt werden, das beginnend bei dem letzten ausgewählten Mit telbitübergang (40) gemessen wird und eine Dauer, die gemäß einem weiteren Proportionalitätsfaktor thoch, der größer als 1 ist, proportional zu dem Zeitintervall N ist, und mit einer oberen Grenze basierend auf einem minimalen Zeitabstand zwischen folgenden Paketen (1) aufweist.
  9. Decodierungsverfahren gemäß Anspruch 8, bei dem der weitere Proportionalitätsfaktor thoch im Wesentlichen gleich 2 ist.
  10. Decodierungsverfahren gemäß Anspruch 1, bei dem die Mittelbitübergänge (40) ansteigende Übergänge und abfallende Übergänge aufweisen, und wobei das Verfahren einen letzten Entscheidungsschritt aufweist, bei dem ein Bit mit einem Wert 0 einem ansteigenden Mittelbitübergang zugeordnet wird und ein Bit mit einem Wert 1 einem abfallenden Mittelbitübergang zugeordnet wird.
  11. Decodierungsverfahren gemäß Anspruch 1, das ferner einen anfänglichen Schritt zum Filtern des empfangenen Signals (RX_DATA) zu decodierender Binärdaten aufweist.
  12. Decodierungsverfahren gemäß Anspruch 1, bei dem das Zeitintervall N zumindest vier Signalzyklen eines lokalen Taktes (CK) aufweist.
  13. Decodierungsverfahren gemäß Anspruch 1, bei dem das Zeitintervall N zumindest zehn Signalzyklen eines lokalen Taktes (CK) aufweist.
  14. Decodierungsverfahren gemäß Anspruch 1, bei dem das Zeitintervall N zumindest 40 Signalzyklen eines lokalen Taktes (CK) aufweist.
  15. Decodierer (20) für ein Manchester-codiertes binäres Datensignal (RX_DATA), wobei die Daten eine erste Se quenz von Mittelbitübergängen (40) in der Mitte jedes Bits und eine zweite Sequenz von Anfangsbitübergängen (42), die zwischen benachbarten Bits mit dem gleichen Logikwert vorhanden sind, aufweist, wobei der Decodierer folgende Merkmale aufweist: – einen Generator (22) zum Liefern eines lokalen Taktsignals (CK), – eine erste Zustandsmaschine (30) zum Erzeugen eines ersten Signals (HALF_EDGE), das Pulse (41) aufweist, die den Mittelbitübergängen (40) entsprechen, wobei das erste Signal beginnend bei dem codierten binären Datensignal (RX_DATA) erhältlich ist, – eine Zählervorrichtung (24), die durch das Taktsignal (CK) erhöht wird, zum Messen eines Zeitintervalls, das zwischen zwei benachbarten Mittelbitübergängen (40) verstreicht, dadurch gekennzeichnet, dass die erste Zustandsmaschine (30) folgende Merkmale aufweist: – eine Einrichtung (53, 55) zum Erzeugen eines zweiten Signals (ANY_EDGE), das Pulse aufweist, die beiden Sequenzen (40, 42) von Mittel- und Anfangsbitübergängen entsprechen, – eine Maskierungseinrichtung (56, 57) zum Auswählen jedes folgenden Mittelbitübergangs (40) unter Beseitigung von Pulsen, die einem etwaigen Anfangsbitübergang (42) entsprechen, der dem folgenden Mittelbitübergang (40) vorausgeht, aus dem zweiten Signal, wobei die Maskierungseinrichtung (56, 57) derart ist, um den Anfangsbitübergang (42) auf der Basis des Zeitintervalls zu beseitigen, das zwischen dem Paar ausgewählter benach barter Mittelbitübergänge (40) gemessen ist, die den folgenden Mittelbitübergängen (40) unmittelbar vorausgehen.
  16. Decodierer (20) gemäß Anspruch 15, der ferner eine Speichereinrichtung (25), die mit der Zählervorrichtung (24) verbunden ist, zum Speichern einer Zahl N, die das Zeitintervall darstellt, aufweist, wobei die Zahl N gleich der Zahl von Zyklen des lokalen Taktsignals (CK), die innerhalb des Zeitintervalls auftreten, ist.
  17. Decodierer (20) gemäß Anspruch 16, der ferner einen Komparator (26) zum Vergleichen der Zahl N, die in der Speichereinrichtung (25) gespeichert ist, des Zeitintervalls, das zwischen dem letzten Paar ausgewählter benachbarter Mittelbitübergänge (40) verstreicht, mit einem Zählwert der Vorrichtung (24) aufweist, wobei der Zählwert der Zahl von Taktzyklen (CK) entspricht, die von dem letzten ausgewählten Mittelbitübergang (40) an verstreichen.
  18. Decodierer (20) gemäß Anspruch 17, bei dem der Komparator (26) derart ist, um ein Maskierungssignal (MASK) zu erzeugen, wenn der Zählwert einen voreingestellten Wert überschreitet, der gemäß einem Proportionalitätsfaktor tniedrig, der größer als 0,5 und kleiner als 1 ist, proportional zu der gespeicherten Zahl N ist.
  19. Decodierer (20) gemäß Anspruch 17, bei dem die Maskierungseinrichtung (56, 57) ein Logikgatter (56) zum Kombinieren des Maskierungssignals (MASK) und des zweiten Signals (ANY_EDGE) aufweist, um so aus dem zweiten Signal (ANY_EDGE) die Pulse zu beseitigen, die Anfangsbitübergängen (42) entsprechen, und das erste Signal (HALF_EDGE) zu erzeugen.
  20. Decodierer (20) gemäß Anspruch 15, bei dem die Einrichtung (53, 55) zum Erzeugen eines zweiten Signals (ANY_EDGE) ein sequentielles Logiknetzwerk aufweist, das durch das Taktsignal zeitgesteuert ist.
  21. Decodierer (20) gemäß Anspruch 20, der ferner eine Einrichtung (53, 54) zum Erzeugen eines dritten Signals (RISE_EDGE), das Pulse aufweist, die ansteigenden Übergängen des zu decodierenden Datensignals entsprechen, aufweist.
  22. Decodierer (20) gemäß Anspruch 15, bei dem das Signal von Binärdaten ein Paketsignal ist.
  23. Decodierer (20) gemäß Anspruch 16 und 21, der ferner eine weitere Komparatorvorrichtung (27) zum Vergleichen der Zahl N, die in der Speichereinrichtung (25) gespeichert ist, des Zeitintervalls, das zwischen dem letzten Paar ausgewählter benachbarter Mittelbitübergänge (40) verstreicht, mit einem Zählwert der Vorrichtung (24), der der Zahl von Taktzyklen (CK) entspricht, die von dem letzten ausgewählten Mittelbitübergang (40) an auftreten, aufweist, wobei der Komparator (26) derart ist, um ein Paketende-Signal (IMS_Detect) zu erzeugen, wenn der Zählwert einen voreingestellten Wert, der gemäß einem Proportionalitätsfaktor thoch, der größer als 1 ist, proportional zu der gespeicherten Zahl N ist, und mit einer oberen Grenze, die von der minimalen Entfernung zwischen folgenden Paketen (1) abhängt, überschreitet.
  24. Decodierer (20) gemäß Anspruch 23, der ferner eine zweite Zustandsmaschine (31) zum Verhindern einer Erhöhung in der Zählervorrichtung (24), sobald das Paketende (1) erfasst wurde, aufweist, wobei die zweite Maschine beginnend bei dem Paketende-Signal (IMS_Detect) ein Signal (SLEEP) zum Verhindern der Erhöhung erzeugt.
  25. Decodierer (20) gemäß Anspruch 20 und 21, der ein Schieberegister (28) aufweist, das das erste Signal (HALF_EDGE) als ein Taktsignal verwendet, um sequentiell die Informationen, die durch das dritte Signal (RISE_EDGE) getragen werden, zu erfassen.
  26. Decodierer (20) gemäß Anspruch 15, der ferner ein Eingangsfilter (22) zum Filtern des empfangenen Datensignals (RX_DATA) vor dem Decodieren aufweist.
DE60223649T 2002-03-22 2002-03-22 Verfahren und Vorrichtung zur Dekodierung Manchester-kodierter Signale Expired - Lifetime DE60223649T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
EP02425178A EP1347609B1 (de) 2002-03-22 2002-03-22 Verfahren und Vorrichtung zur Dekodierung Manchester-kodierter Signale

Publications (2)

Publication Number Publication Date
DE60223649D1 DE60223649D1 (de) 2008-01-03
DE60223649T2 true DE60223649T2 (de) 2008-10-30

Family

ID=27771991

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60223649T Expired - Lifetime DE60223649T2 (de) 2002-03-22 2002-03-22 Verfahren und Vorrichtung zur Dekodierung Manchester-kodierter Signale

Country Status (3)

Country Link
US (1) US7133482B2 (de)
EP (1) EP1347609B1 (de)
DE (1) DE60223649T2 (de)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3705273B2 (ja) * 2003-03-24 2005-10-12 ソニー株式会社 クロック抽出回路およびクロック抽出方法
US7310390B2 (en) * 2003-10-30 2007-12-18 Apple Inc. Decoding coded data streams
FR2862821B1 (fr) * 2003-11-21 2006-04-07 Atmel Nantes Sa Procede et circuit electronique de decodage d'une trame asynchrone biphase dont la longueur n'est pas connue a l'avance, application, programme d'ordinateur et moyen de stockage correspondants
FR2862820B1 (fr) * 2003-11-21 2006-03-31 Atmel Nantes Sa Circuit electronique de decodage d'un signal de donnees asynchrone biphase et procede de decodage correspondant, dispositif de controle d'un equipement
JP2006279868A (ja) * 2005-03-30 2006-10-12 Sharp Corp 半導体装置、および、それを備えるicカード
CN100376084C (zh) * 2006-05-19 2008-03-19 宁波中科集成电路设计中心有限公司 一种曼彻斯特编码的解码方法及应用装置
US7991080B2 (en) * 2006-07-20 2011-08-02 Broadcom Corporation RFID decoding subsystem with decode module
US7358871B2 (en) * 2006-08-25 2008-04-15 Freescale Semiconductor, Inc. Method and system for decoding data
US7724782B2 (en) * 2007-03-20 2010-05-25 George Mason Intellectual Properties, Inc. Interval centroid based watermark
US7741964B2 (en) * 2007-05-31 2010-06-22 Schrader Electronics Ltd. Tire pressure detector having reduced power consumption mechanism
DE102008031498B4 (de) * 2008-07-03 2012-03-08 Infineon Technologies Ag Taktbestimmung eines Sensors
US7633414B1 (en) 2008-06-27 2009-12-15 Silicon Laboratories Inc. Circuit and method for Manchester decoding with automatic leading phase discovery and data stream correction
WO2010094296A1 (en) 2009-02-17 2010-08-26 Thyssenkrupp Presta Ag Method for decoding manchester code
KR101122242B1 (ko) 2009-12-29 2012-03-20 전자부품연구원 맨체스터 코드 복호 장치
DE102012010375A1 (de) 2012-05-29 2013-12-05 Sew-Eurodrive Gmbh & Co Kg Dekodierungsverfahren und Dekodiereinrichtung
CN109309682B (zh) * 2018-10-29 2022-09-20 中国电力科学研究院有限公司 一种用于数字化计量的ft3到iec61850-9-2协议转换方法及系统
CN112491425B (zh) * 2020-12-08 2024-02-27 中科计算技术创新研究院 灵活可配的射频硬件解码器
CN112583083A (zh) * 2020-12-24 2021-03-30 深圳劲芯微电子有限公司 一种基于Qi无线充电协议的解码实现方法、装置及设备
CN113438052B (zh) * 2021-06-15 2022-09-16 深圳市元征未来汽车技术有限公司 信号解码方法、装置、电子设备以及存储介质
US11683205B2 (en) * 2021-07-20 2023-06-20 Raytheon Company Baseband data reduction and compression algorithm
CN114205054A (zh) * 2021-11-30 2022-03-18 武汉光迅科技股份有限公司 信号处理方法及装置、电子设备及存储介质
CN114337677B (zh) * 2021-12-21 2023-11-03 中国电子科技集团公司第五十八研究所 一种单端口曼彻斯特解码系统及方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4363002A (en) * 1980-11-13 1982-12-07 Fuller Robert M Clock recovery apparatus for phase shift keyed encoded data
CA1199371A (en) * 1982-12-03 1986-01-14 Orest Z. Roy Ultrasonic enhancement of cardiac contractility synchronised with ecg event or defibrillation pulse
US4955365A (en) * 1988-03-02 1990-09-11 Laboratory Equipment, Corp. Localization and therapy system for treatment of spatially oriented focal disease
US5170396A (en) * 1990-06-14 1992-12-08 Introtek International, L.P. Data valid detector circuit for manchester encoded data
US5168511A (en) * 1990-10-22 1992-12-01 Berkeley Varitronics Systems, Inc. Manchester data recorder with synchronously adjustable clock
US5224126A (en) * 1991-07-31 1993-06-29 At&T Bell Laboratories Phase ambiguity resolution for manchester-encoded data
US5230334A (en) * 1992-01-22 1993-07-27 Summit Technology, Inc. Method and apparatus for generating localized hyperthermia
KR970011839B1 (ko) * 1994-03-15 1997-07-16 엘지반도체 주식회사 근거리통신망의 데이타충돌 검출회로
US5626554A (en) * 1995-02-21 1997-05-06 Exogen, Inc. Gel containment structure
US6008746A (en) * 1995-11-13 1999-12-28 Texas Instruments Incorporated Method and apparatus for decoding noisy, intermittent data, such as manchester encoded data or the like
US6977973B1 (en) * 2001-10-05 2005-12-20 Raytheon Company System and method for decoding manchester data

Also Published As

Publication number Publication date
DE60223649D1 (de) 2008-01-03
US7133482B2 (en) 2006-11-07
EP1347609A1 (de) 2003-09-24
US20030227987A1 (en) 2003-12-11
EP1347609B1 (de) 2007-11-21

Similar Documents

Publication Publication Date Title
DE60223649T2 (de) Verfahren und Vorrichtung zur Dekodierung Manchester-kodierter Signale
DE2608879C3 (de) Decodierschaltung
DE2606688C2 (de) Signalverarbeitungsschaltung zum Decodieren einer Signalform
CH656760A5 (de) Verfahren und anordnung zur sicherstellung der start-synchronisation eines aus bit-impulsfolgen bestehenden telegramms innerhalb eines empfaengers.
DE2630197C3 (de) Zeitkorrekturschaltung für ein Datenwiedergewinnungssystem
DE102005037263A1 (de) Verfahren und Vorrichtung zum Decodieren eines Signals
DE3238157C2 (de) Schaltungsanordnung zum Ermitteln der Synchronisierung von Eingangs-Datenblöcken
DE2437390B2 (de) Verfahren zur Übertragung von binären Daten
DE2705779C3 (de) Wiederholer für den Empfang und die Übertragung von Daten
DE2728275C2 (de) Schaltungsanordnung zum Wiedergewinnen von Datensignalen
DE2838228B2 (de) Verfahren zum Synchronisieren einer Datenbitfolge
DE2719309B2 (de) Serielle Datenempfangsvorrichtung
DE2635892A1 (de) Verfahren und schaltungsanordnung zum messen und anzeigen der frequenzrelation zweier signale
DE2554025A1 (de) Null-unterdrueckung in impulsuebertragungsanlagen
DE2729705A1 (de) Verfahren zur reduzierung unauffindbarer fehler beim lesen magnetischer baender sowie detektor zur durchfuehrung des verfahrens
DE2613930B2 (de) Digitaler Phasenregelkreis
DE2304129A1 (de) Verfahren und vorrichtung zum kodieren und dekodieren einer digitalen information
DE3234576A1 (de) Digitaler phasenregelkreis zur synchronisierung beim empfang binaerer signale
DE3625589C2 (de)
DE10059758A1 (de) Verfahren zum Empfangen von Daten
DE10218513B4 (de) Schaltungsanordnung und Verfahren zur Übertragung digitaler Signale
DE2241089C3 (de) Schaltungsanordnung zur Übertragung einer Vielzahl von binär codierten Fernschreibnachrichtensignalen, Dauersignalen und Wählsignalen zwischen Signalsendern und Signalempfängern
DE1937646C (de) Schaltungsanordnung zur Übertragung von binären Informationsworten, bei der in einer Empfangseinrichtung Taktsignale mit den ankommenden binären Signalen synchronisiert werden
DE2040150C3 (de) Verfahren und Schaltung zur Demodulation phasengetasteter Signale
DE3638296A1 (de) Verfahren zur messung digitaler parameter in einem digitalen videosignal

Legal Events

Date Code Title Description
8364 No opposition during term of opposition