-
Die Erfindung betrifft eine Dekodiereinheit gemäß dem Oberbegriff des Anspruchs 1 sowie ein Verfahren zum Umwandeln eines differentiellen Manchester-Signals in ein Binärsignal gemäß dem Oberbegriff des Anspruchs 9. Des weiteren betrifft die Erfindung eine Kodiereinheit gemäß dem Oberbegriff des Anspruchs 10 sowie ein Verfahren zum Umwandeln eines Binärsignals in ein differentielles Manchestersignal gemäß dem Oberbegriff des Anspruchs 15.
-
Der differentielle Manchester-Code ist ein Leitungscode, der zur Übertragung von Digitalsignalen eingesetzt wird. Genau wie der Manchester-Code enthält auch der differentielle Manchester-Code das für den Empfang benötigte zugrundeliegende Taktsignal, das aus dem differentiellen Manchester-Code mittels Taktrückgewinnung zurückerhalten werden kann. Beim differentiellen Manchester-Code moduliert eine binäre Bitfolge die Änderung der Phasenlage des zugrundeliegenden Taktsignals. Beim differentiellen Manchester-Code handelt es sich somit um eine differentielle digitale Phasenmodulation, die auch als Differential Phase Shift Keying (DPSK) bezeichnet wird.
-
Ein wesentlicher Vorteil der differentiellen Manchester-Kodierung besteht darin, dass die Polarität des kodierten Signals für den korrekten Empfang und die Dekodierung keine Rolle spielt. Bei einer üblichen symmetrischen Signalübertragung über Leitungspaare hat die Vertauschung der einzelnen Leiter untereinander keine Auswirkung, was die Auswirkungen von Installationsfehlern in der Verkabelung zu reduzieren hilft. Ein weiterer Vorteil des differentiellen Manchester-Codes ist die Gleichanteilsfreiheit des resultierenden Signals. Das bedeutet, dass der Gleichspannungsanteil genau Null ist und es daher möglich ist, die kodierte Signalfolge beispielsweise über Impulstransformatoren zwecks galvanischer Trennung oder über Lichtwellenleiter übertragen zu können. Der differentielle Manchester-Code wird beispielsweise in Token-Ring-Netzwerken eingesetzt.
-
Es ist Aufgabe der Erfindung, eine vereinfachte Dekodiereinheit und Kodiereinheit für den differentiellen Manchester-Code zur Verfügung zu stellen.
-
Gelöst wird diese Aufgabe durch die in den Ansprüchen 1, 9, 10 und 15 angegebenen Merkmale.
-
Vorteilhafte Weiterentwicklungen der Erfindung sind in den Unteransprüchen angegeben.
-
Eine erfindungsgemäße Dekodiereinheit zur Umwandlung eines differentiellen Manchestersignals in ein Binärsignal umfasst mindestens eine Zeitgebereinheit, die dazu ausgelegt ist, das differentielle Manchestersignal auszuwerten und ein im Wesentlichen dazu synchrones Taktsignal zu erzeugen, sowie eine Logikeinheit, welche dazu ausgelegt ist, zu erfassen, ob am Beginn einer Taktperiode des erzeugten Taktsignals eine Flanke im differentiellen Manchestersignal vorhanden ist oder nicht. Die Dekodiereinheit ist dazu ausgelegt, beim Auftreten einer Flanke am Beginn einer Taktperiode während der betreffenden Taktperiode einen ersten Pegel in dem Binärsignal zu setzen, und beim Ausbleiben einer Flanke am Beginn einer Taktperiode während der betreffenden Taktperiode einen zweiten Pegel in dem Binärsignal zu setzen.
-
Bei der erfindungsgemäßen Dekodiereinheit erfolgt die Dekodierung des differentiellen Manchester-Signals mit Hilfe der Logikeinheit, welche Flanken am Beginn einer Taktperiode erfasst. Wenn am Beginn einer Taktperiode eine Flanke im differentiellen Manchester-Signal auftritt, dann wird im entsprechenden Binärsignal ein erster Pegel gesetzt, und falls keine Flanke am Beginn der Taktperiode auftritt, wird ein zweiter Pegel gesetzt. Dadurch kann auf einfache Weise eine Dekodierung des differentiellen Manchester-Signals vorgenommen werden.
-
Der Vorteil der erfindungsgemäßen Dekodiereinheit ist insbesondere, dass sie mit sehr geringem baulichem Aufwand zu realisieren ist und daher kostengünstig implementiert werden kann. Die mindestens eine Zeitgebereinheit kann beispielsweise von einem Mikrocontroller zur Verfügung gestellt werden. Zur Realisierung einer erfindungsgemäßen Dekodiereinheit werden lediglich eine oder mehrere periphere funktionelle Einheiten eines Mikrocontrollers genutzt, die eigentlichen Kernfunktionen des Mikrocontrollers, also insbesondere die programmierbaren Funktionen sowie die arithmetischen Funktionen, werden dagegen nicht benötigt. Darüber hinaus werden einige diskrete Bauelemente wie beispielsweise Flipflops und logische Gatter benötigt. Im Gegensatz zu den Dekodiereinheiten des Standes der Technik wird keine programmierbare Logik wie beispielsweise CPLD (Complex Programmable Logic Device), FPGA (Field Programmable Gate Array), ASIC (Application Specific Integrated Circuit) benötigt. Es werden auch keine Chips mit interner PLL (Phase Locked Loop) oder interner Logik benötigt. Dadurch gelingt es, die Komplexität sowie den baulichen Aufwand im Vergleich zum Stand der Technik deutlich zu reduzieren.
-
Das erfindungsgemäße Verfahren zum Umwandeln eines differentiellen Manchester-Signals in ein Binärsignal umfasst das Auswerten des differentiellen Manchestersignals und das Erzeugen eines im Wesentlichen dazu synchronen Taktsignals, das Erfassen, jeweils zu Beginn einer Taktperiode, ob am Beginn der Taktperiode des erzeugten Taktsignals eine Flanke in dem differentiellen Manchester-Signal vorhanden ist oder nicht, und, falls am Beginn der Taktperiode eine Flanke vorhanden ist, das Setzen des Binärsignals auf einen ersten Pegel während der betreffenden Taktperiode. Falls am Beginn der Taktperiode keine Flanke vorhanden ist, wird das Binärsignal während der betreffenden Taktperiode auf einen zweiten Pegel gesetzt.
-
Die erfindungsgemäße Kodiereinheit zur Umwandlung eines Binärsignals in ein differentielles Manchestersignal, wobei das Binärsignal oder ein davon abgeleitetes Signal durch ein Taktsignal getaktet ist, umfasst ein erstes Flipflop, wobei an mindestens einem Eingang des ersten Flipflops das Binärsignal oder das davon abgeleitetes Signal anliegt, wobei an einem Takteingang des ersten Flipflops das Taktsignal anliegt, wobei sich ein Pegel eines Ausgangssignals des ersten Flipflops jedes Mal ändert, wenn das Binärsignal bei Auftreten einer steigenden Flanke des Taktsignals auf einem ersten Pegel liegt, und wobei der Pegel des Ausgangssignals des ersten Flipflops unverändert bleibt, wenn das Binärsignal bei Auftreten einer steigenden Flanke des Taktsignals auf einem zweiten Pegel liegt. Darüber hinaus umfasst die Kodiereinheit ein zweites Flipflop, wobei an einem invertierenden Takteingang des zweiten Flipflops das Taktsignal anliegt, und wobei sich der Pegel eines Ausgangssignals des zweiten Flipflops mit jeder fallenden Flanke des Taktsignals ändert, sowie ein XOR-Gatterelement, welches eine XOR-Verknüpfung zwischen dem Ausgangssignal des ersten Flipflops und dem Ausgangssignal des zweiten Flipflops durchführt.
-
Auch die erfindungsgemäße Kodiereinheit benötigt lediglich einige diskrete Bauelemente, wie beispielsweise Flipflops oder logische Gatter, sowie eventuell eine oder mehrere periphere funktionelle Einheiten eines Mikrocontrollers. Zur Realisierung der Kodierfunktionalität ist es nicht notwendig, auf die Kernfunktionen eines Mikrocontrollers wie beispielsweise die programmierbaren Funktionen sowie die arithmetischen Funktionen zuzugreifen. Im Gegensatz zum Stand der Technik ist es nicht notwendig, programmierbare Logik (CPLD, FPGA, ASIC) oder Chips mit interner PLL oder interner Logik zu verwenden. Im Vergleich zum Stand der Technik kann der bauliche Aufwand zur Realisierung einer Kodiereinheit deutlich reduziert werden, die Komplexität der Schaltung wird vereinfacht, und die Kosten bei der Implementierung der Kodiereinheit werden gesenkt.
-
Das erfindungsgemäße Verfahren zum Umwandeln eines Binärsignals in ein differentielles Manchestersignal, wobei das Binärsignal oder ein davon abgeleitetes Signal durch ein Taktsignal getaktet wird, umfasst das Erzeugen eines ersten Signals, wobei der Pegel des ersten Signals jedes Mal dann geändert wird, wenn das Binärsignal bei Auftreten einer steigenden Flanke des Taktsignals auf einem ersten Pegel liegt, und wobei der Pegel des ersten Signals jeweils dann unverändert bleibt, wenn das Binärsignal bei Auftreten einer steigenden Flanke des Taktsignals auf einem zweiten Pegel liegt. Darüber hinaus umfasst das Verfahren das Erzeugen eines zweiten Signals, wobei der Pegel des zweiten Signals mit jeder fallenden Flanke des Taktsignals geändert wird, und das Durchführen einer XOR-Verknüpfung zwischen dem ersten Signal und dem zweiten Signal.
-
Nachfolgend ist die Erfindung anhand von in der Zeichnung dargestellten Ausführungsbeispielen näher erläutert.
-
Es zeigen:
-
1 ein Signaldiagramm zum differentiellen Manchester-Code;
-
2 eine erfindungsgemäße Dekodierschaltung zur Umwandlung eines differentiellen Manchester-Signals in ein Binärsignal;
-
3 ein Signaldiagramm zur Funktionsweise eines JK-Flipflops;
-
4 ein Signaldiagramm zu der in 2 gezeigten Dekodierschaltung;
-
5 eine erfindungsgemäße Kodierschaltung; und
-
6 ein Signaldiagramm zu der in 5 gezeigten Kodierschaltung.
-
In 1 ist anhand eines Beispiels dargestellt, wie aus einer vorgegebenen Bitfolge ein zugehöriger differentieller Manchester-Code erzeugt wird. Ganz oben ist das Taktsignal 1 dargestellt, darunter das Binärsignal 2 mit der Bitfolge „10100111001”. Die Taktperioden des Taktsignals 1 und des Binärsignals 2 sind mit T1, T2, ..., T10, T11 gekennzeichnet. Ausgehend vom Taktsignal 1 wird das differentielle Manchester-Signal 3 erzeugt, indem die Phasenlage des Taktsignals 1 entsprechend dem Binärsignal 2 moduliert wird. Dies geschieht mit Hilfe folgender Kodierungsvorschrift: Zur Übertragung einer logischen Null wird die Phasenlage des Taktsignals in der aktuellen Taktperiode im Vergleich zur vorherigen Taktperiode beibehalten, die Phasenlage des Taktsignals wird also nicht geändert. Zur Übertragung einer logischen Eins wird die Phasenlage des Taktsignals in der aktuellen Taktperiode im Vergleich zur vorherigen Taktperiode invertiert, d. h. um 180° in der Phase gedreht.
-
Diese Kodierungsvorschrift soll nun anhand des in 1 gezeigten Beispiels erläutert werden. Dabei wird zur Übertragung des ersten Bits des Binärsignals 2 die Phase des Taktsignals 1 in der ersten Taktperiode T1 zunächst unverändert übernommen. Man erhält daher in der ersten Taktperiode T1 des differentiellen Manchester-Signals 3 einen Signalverlauf mit einer abfallenden Flanke 4 in der Mitte der ersten Taktperiode T1. Als Nächstes soll das zweite Bit des Binärsignals 2 übertragen werden, das den Wert 0 hat. Entsprechend der oben angeführten Codierungsvorschrift wird zur Übertragung einer logischen Null die Phasenlage der vorhergehenden Taktperiode T1 unverändert beibehalten. Das differentielle Manchester-Signal 3 hat daher in der zweiten Taktperiode T2 dieselbe Phasenlage wie in der vorhergehenden ersten Taktperiode T1. Daher erhält man in der zweiten Taktperiode T2 wieder einen Signalverlauf mit einer in der Mitte der Taktperiode abfallenden Flanke 5. Als drittes Bit des Binärsignals 2 wird ein Bit mit dem Wert 1 übertragen. Dementsprechend ändert sich nun in der dritten Taktperiode T3 die Phasenlage des differentiellen Manchester-Signals 3 relativ zur bisherigen Phasenlage. in der dritten Taktperiode T3 erhält man einen Signalverlauf mit einer ansteigenden Flanke 6 in der Mitte der dritten Taktperiode T3. Als viertes Bit des Binärsignals 2 wird ein Bit mit dem Wert 0 übertragen. Entsprechend der oben angeführten Kodierungsvorschrift bleibt daher in der vierten Taktperiode T4 die Phasenlage des differentiellen Manchester-Signals 3 unverändert im Vergleich zur vorhergehenden Taktperiode T3. Man erhält also wieder einen Signalverlauf mit einer ansteigenden Flanke 7 in der Mitte der vierten Taktperiode T4. Als fünftes Bit wird wieder ein Bit mit Wert 0 übertragen. Insofern bleibt auch in der fünften Taktperiode T5 die Phasenlage des differentiellen Manchester-Signal 3 gegenüber der Phasenlage in der vorhergehenden Taktperiode T4 unverändert, und man erhält wieder eine ansteigende Flanke 8 in der Mitte der fünften Taktperiode T5. Anschließend werden drei aufeinanderfolgende Bits übertragen, die alle den Wert 1 haben. Insofern ändert sich in jeder der Taktperioden T6, T7, T8 die Phasenlage des differentiellen Manchester-Signals 3 jeweils um 180° relativ zur Phasenlage in der vorhergehenden Taktperiode. Man erhält daher eine abfallende Flanke 9 in der Mitte der Taktperiode T6, eine ansteigende Flanke 10 in der Mitte der Taktperiode T7 und wieder eine abfallende Flanke in der Mitte der Taktperiode T8.
-
Der weitere Verlauf des differentiellen Manchester-Signals in den weiteren Taktperioden T9, T10, T11 ergibt sich entsprechend.
-
Zur Dekodierung eines differentiellen Manchester-Signals kann entsprechend einer ersten Methode die jeweilige Phasenlage in den aufeinanderfolgenden Taktperioden ausgewertet werden. Hierzu wird die Phasenlage des differentiellen Manchester-Signals innerhalb einer Taktperiode mit der Phasenlage innerhalb der vorangehenden Taktperiode verglichen. Wenn die Phasenlage im Vergleich zur vorherigen Phasenlage unverändert ist, dann entspricht das einem übertragenen Wert von 0. Wenn die Phasenlage dagegen im Vergleich zur vorherigen Phasenlage invertiert ist, also um 180° gedreht ist, dann entspricht dies einem übertragenen Wert von 1. Die Phasenlage innerhalb einer bestimmten Taktperiode kann auf einfache Weise ausgewertet werden, indem man die in der Mitte der Taktperiode auftretende Flanke untersucht und ermittelt, ob es sich um eine fallende Flanke oder um eine steigende Flanke handelt. Anschließend wird die Flanke mit der in der Mitte der vorhergehenden Taktperiode aufgetretenen Flanke verglichen, um zu ermitteln, ob die Phasenlage sich geändert hat oder gleichgeblieben ist. Wenn die Richtung der Flanke gleichgeblieben ist, dann wurde ein Bit mit dem Wert 0 übertragen. Wenn sich die Richtung der Flanke geändert hat, dann wurde ein Bit mit dem Wert 1 übertragen. Durch die Auswertung der jeweils in der Mitte einer Taktperiode auftretenden Flanken kann die im differentiellen Manchester-Signal enthaltene Bitfolge daher auf einfache Weise dekodiert werden.
-
Daneben gibt es noch eine zweite Methode zur Auswertung eines differentiellen Manchester-Signals, die noch etwas einfacher ist als die soeben beschriebene erste Methode. Entsprechend dieser zweiten Methode wird ermittelt, ob jeweils zu Beginn einer Taktperiode eine Flanke auftritt oder nicht. Dabei macht man sich die Erkenntnis zunutze, dass bei gleichbleibender Phasenlage jeweils eine Flanke am Beginn der aktuell betrachteten Taktperiode auftritt. Wenn die Phasenlage der aktuellen Taktperiode relativ zur bisherigen Taktperiode gleichbleibt, dann tritt am Beginn der aktuell betrachteten Taktperiode eine Flanke auf. Wenn dagegen zwischen der vorherigen Taktperiode und der aktuell betrachteten Taktperiode eine Phasenänderung um 180° auftritt, dann entfällt die Flanke am Beginn der aktuell betrachteten Taktperiode. Entsprechend der zweiten Methode zur Auswertung eines differentiellen Manchester-Signals wird daher ermittelt, ob am Beginn einer Taktperiode eine Flanke auftritt oder nicht. Wenn eine Flanke am Beginn der aktuell betrachteten Taktperiode auftritt, dann handelt es sich um eine logische Null, wenn keine Flanke am Beginn der aktuell betrachteten Taktperiode auftritt, dann handelt es sich um eine logische Eins.
-
Diese zweite Methode zur Dekodierung eines differentiellen Manchester-Signals soll im Folgenden anhand von 1 veranschaulicht werden. Bei dem dort gezeigten differentiellen Manchester-Signal 3 wird als erstes Bit der Wert 1 übertragen, und als zweites Bit wird der Wert 0 übertragen. Dies bedeutet, dass die Phasenlage des differentiellen Manchester-Signals in der zweiten Taktperiode T2 unverändert bleibt gegenüber der Phasenlage in der ersten Taktperiode T1. Genau deshalb aber kommt es am Beginn der zweiten Taktperiode T2 zur Ausbildung einer steigenden Flanke 12. Die steigende Flanke 12 am Beginn der zweiten Taktperiode T2 zeigt daher an, dass der Wert des zweiten übertragenen Bits gleich 0 ist. Als drittes Bit wird der Wert 1 übertragen. Dies bedeutet, dass die Phasenlage des differentiellen Manchester-Signals 3 in der dritten Taktperiode T3 um 180° gedreht wird gegenüber der Phasenlage in der zweiten Taktperiode T2. Aus diesem Grund kommt es am Beginn der dritten Taktperiode T3, also am Punkt 13, nicht zur Ausbildung einer Flanke. Aus dem Ausbleiben der Flanke am Beginn der dritten Taktperiode T3 kann gefolgert werden, dass das dritte Bit den Wert 1 hat. In der darauffolgenden vierten Taktperiode T4 wird ein Bit mit dem Wert 0 übertragen, und dementsprechend bleibt die Phase des Signals während der Taktperiode T4 gegenüber der Taktperiode T3 unverändert. Deshalb kommt es zur Ausbildung einer Flanke 14 am Beginn des vierten Zeitintervalls T4. Die Flanke 14 zeigt an, dass während der Taktperiode T4 ein Bit mit dem Wert 0 übertragen wird. In der darauffolgenden fünften Taktperiode T5 wird wieder der Wert 0 übertragen, und deshalb bleibt die Phasenlage des Signals unverändert. Insofern kommt es zur Ausbildung einer Flanke 15 am Beginn der fünften Taktperiode T5, die anzeigt, dass der Wert 0 übertragen wird. In der sechsten Taktperiode T6 wird ein Bit mit Wert 1 übertragen, und dementsprechend ändert sich die Phase während der Taktperiode T6 im Vergleich zur vorhergehenden Taktperiode T5. Deshalb kommt es am Beginn der Taktperiode T6 nicht zur Ausbildung einer Flanke. Das Ausbleiben einer Flanke am Punkt 16 zeigt an, dass während der Taktperiode T6 der Wert 1 übertragen wird.
-
Insofern kann diese zweite Methode zur Dekodierung eines differentiellen Manchester-Signals 3 folgendermaßen zusammengefasst werden: Wenn am Beginn einer Taktperiode eine Flanke auftritt, dann wird während der Taktperiode der Wert 0 übertragen. Wenn die Flanke am Beginn einer Taktperiode dagegen ausbleibt, dann wird während der Taktperiode der Wert 1 übertragen. Zur Dekodierung eines differentiellen Manchester-Signals ist es entsprechend dieser zweiten Methode erforderlich, zu detektieren, ob zu Beginn einer Taktperiode eine (steigende oder fallende) Flanke auftritt. Wenn eine Flanke auftritt, dann entspricht das dem Wert 0, wenn die Flanke dagegen ausbleibt, dann entspricht es dem Wert 1. Insofern kann durch Detektieren der jeweils am Beginn einer Taktperiode auftretenden oder ausbleibenden Flanken eine Dekodierung des differentiellen Manchester-Codes vorgenommen werden. Ein Vorteil dieser zweiten Dekodiermethode ist, dass es nicht notwendig ist, einen Vergleich der Phasenlage zwischen der aktuellen Taktperiode und der vorhergehenden Taktperiode durchzuführen. Es ist lediglich erforderlich, das Auftreten bzw. Nicht-Auftreten einer Flanke am Beginn einer jeweiligen Taktperiode zu detektieren. Bei der im Folgenden beschriebenen Dekodierschaltung wird die zuletzt beschriebene zweite Methode zur Dekodierung eines differentiellen Manchestersignals genutzt.
-
In 2 ist ein Schaltbild der erfindungsgemäßen Dekodierschaltung gezeigt. Die erfindungsgemäße Dekodierschaltung dient zur Dekodierung eines differentiellen Manchester-Signals in ein binär kodiertes Signal, welches häufig auch als NRZ (Non-Return-to-Zero)-Signal bezeichnet wird. Die Dekodierschaltung umfasst ein erstes Flipflop 17, ein zweites Flipflop 18 sowie ein NOR-Gatter 19. Zusätzlich zu diesen drei diskreten Bauelementen werden verschiedene funktionelle Einheiten eines Mikrocontrollers 20 für den Dekodierprozess benötigt. Insbesondere werden ein erster Zeitgeber 21, ein zweiter Zeitgeber 22 sowie eine Schnittstelleneinheit 23 benötigt. Optional kann darüber hinaus ein dritter Zeitgeber 24 zum Einsatz kommen. Dagegen werden die Kernfunktionen des Mikrocontrollers 20, also insbesondere die programmierbaren Funktionen und die arithmetischen Funktionen, nicht benutzt.
-
Die Schnittstelleneinheit 23 kann vorzugsweise entsprechend dem Standard SPI („Serial Peripheral Interface”) ausgebildet sein. Bei SPI („Serial Peripheral Interface”) handelt es sich um ein Bus-System mit einem synchronen seriellen Datenbus, mit dem digitale Schaltungen nach dem Master-Slave Prinzip miteinander verbunden werden können.
-
Zunächst soll auf das erste Flipflop 17 und das zweite Flipflop 18 näher eingegangen werden. Das erste Flipflop 17 dient zur Detektion von steigenden Flanken am Beginn einer jeweiligen Taktperiode, während das Flipflop 18 zur Detektion von fallenden Flanken am Beginn einer jeweiligen Taktperiode vorgesehen ist. Vorzugsweise handelt es sich bei dem ersten Flipflop 17 und bei dem zweiten Flipflop 18 um JK-Flipflops, welche auch als „Jump-/Kill-Flipflops” bezeichnet werden. Ein JK-Flipflop besitzt einen 1J-Eingang zum Setzen des Flipflops, einen 1K-Eingang zum Rücksetzen des Flipflops, einen Takteingang sowie einen Ausgang Q.
-
Die Funktionsweise eines JK-Flipflops wird im Folgenden anhand eines in 3 gezeigten Signaldiagramms erläutert. In 3 sind ein Taktsignal 25, ein J-Eingangssignals 26 sowie ein K-Eingangssignal 27 als Funktion der Zeit dargestellt. Unterhalb von diesen Signalen ist das Ausgangssignal 28 des JK-Flipflops gezeigt.
-
JK-Flipflops sind in der Regel als taktflankengesteuerte Flipflops realisiert, wobei die Übernahme von Eingangszuständen entweder durch die steigende Flanke oder durch die fallende Flanke getriggert werden kann. Bei dem in 3 gezeigten Beispiel werden die am 1J-Eingang sowie am 1K-Eingang anliegenden Signale jeweils mit der steigenden Flanke des Taktsignals 25 übernommen. Bei der ersten steigenden Flanke 29 des Taktsignals 25 ist das J-Eingangssignal 26 auf „High”, während das K-Eingangssignal 27 auf „Low” liegt. In diesem Fall wird das Flipflop durch das J-Eingangssignal 26 gesetzt, und dementsprechend springt das Ausgangssignal 28 zum Zeitpunkt 30 auf „High”. Bei der nächsten steigenden Flanke 31 des Taktsignals 25 liegt das J-Eingangssignal 26 auf „Low”, während das K-Eingangssignal 27 auf „High” liegt. In diesem Fall wird das JK-Flipflop durch das K-Eingangssignal 27 zurückgesetzt, und das Ausgangssignal 28 springt zum Zeitpunkt 32 zurück auf „Low”.
-
Bei der nächsten steigenden Flanke 33 des Taktsignals 25 liegen sowohl das J-Eingangssignal 26 als auch das K-Eingangssignal 27 auf „Low”. Das Flipflop wird also weder gesetzt noch zurückgesetzt. In diesem Fall bleibt der bisherige Zustand des JK-Flipflops unverändert erhalten; das Ausgangssignal 28 bleibt also auf „Low”.
-
Zum Zeitpunkt der darauffolgenden steigenden Flanke 34 des Taktsignals 25 liegen zum ersten Mal sowohl das J-Eingangssignal 26 als auch das K-Eingangssignal 27 auf „High”. Wenn das J-Eingangssignal 26 und das K-Eingangssignal 27 beide auf „High” liegen, dann wird das JK-Flipflop in den sogenannten „Toggle”-Modus versetzt. In diesem Toggle-Modus wird der Pegel des Ausgangssignals 28 mit jeder ansteigenden Flanke des Taktsignals 25 geändert. Das JK-Flipflop befindet sich also jetzt im Toggle-Modus, und dementsprechend wird der Pegel des Ausgangssignals 28 zum Zeitpunkt 35 auf „High” geändert. Bei der nächsten steigenden Flanke 36 befindet sich das JK-Flipflop immer noch im Toggle-Modus, und dementsprechend wird der Pegel des Ausgangssignals 28 zum Zeitpunkt 37 auf „Low” gesetzt. Bei der nächsten steigenden Flanke 38 befindet sich das JK-Flipflop immer noch im Toggle-Modus, und deshalb wird der Pegel des Ausgangssignals 28 zum Zeitpunkt 39 erneut geändert, und zwar diesmal auf „High”.
-
Der soeben beschriebene Toggle-Modus spielt bei der in 2 gezeigten Dekodierschaltung eine Rolle. Aus dem in 2 gezeigten Schaltplan ist erkennbar, dass sowohl der 1J-Eingang 40 als auch der 1K-Eingang 41 des ersten Flipflops 17 permanent mit der positiven Versorgungsspannung Vcc verbunden sind. Ebenso sind beim zweiten Flipflop 18 der 1J-Eingang 42 sowie der 1K-Eingang 43 permanent mit der positiven Versorgungsspannung Vcc verbunden. Dies bedeutet, dass sich beide Flipflops 17, 18 permanent im Toggle-Modus befinden. Anstatt von JK-Flipflops könnten in der Dekodiereinheit von 2 auch andere Typen von Flipflops eingesetzt werden, die einen Toggle-Modus aufweisen, beispielsweise T-Flipflops oder RS-Flipflops.
-
Das am Eingang der Dekodierschaltung anliegende differentielle Manchester-Signal 44 wird zum einen dem Takteingang 45 des ersten Flipflops 17 zugeführt, so dass das erste Flipflop 17 (sofern es aktiviert ist) jeweils durch steigende Flanken des differentiellen Manchester-Signals 44 getriggert wird. Darüber hinaus wird das differentielle Manchester-Signal 44 dem invertierenden Takteingang 46 des zweiten Flipflops 18 zugeführt, so dass das zweite Flipflop 18 (sofern es aktiviert ist) jeweils durch fallende Flanken des differentiellen Manchester-Signals 44 getriggert wird.
-
Darüber hinaus wird das differentielle Manchester-Signal 44 dem ersten Zeitgeber 21 des Mikrocontrollers 20 zugeführt („MANCHESTER_IN”). Der erste Zeitgeber 21 wird durch das differentielle Manchester-Signal 44 gestartet und misst die Taktfrequenz des Takts aus, der dem differentiellen Manchester-Signal 44 zugrundeliegt. Der erste Zeitgeber 21 erzeugt dabei ein Zeitgebersignal 47, das dem zweiten Zeitgeber 22 und – falls vorhanden – auch dem dritten Zeitgeber 24 zugeführt wird. Durch den mit dem ersten Zeitgeber 21 zusammenarbeitenden zweiten Zeitgeber 22 wird ein pulsweitenmoduliertes Taktsignal 48 („PWM_OUT”) erzeugt, das hinsichtlich seiner Taktperiode dem zugrundeliegenden Taktsignal des differentiellen Manchester-Signals 44 entspricht. Dieses pulsweitenmodulierte Taktsignal 48 wird dem Eingang „SPI_CLK” der Schnittstelleneinheit 23 als Taktsignal zugeführt („TAKT_IN”). Außerdem wird das pulsweitenmodulierte Taktsignal 48 dem invertierten Clear-Eingang 49 („ CLR ”) des ersten Flipflops 17 und dem invertierten Clear-Eingang 50 („ CLR ”) des zweiten Flipflops 18 zugeführt und setzt die Flipflops 17, 18 periodisch aktiv oder inaktiv. Das jeweilige Flipflop 17, 18 wird dann aktiviert, wenn der jeweilige invertierte Clear-Eingang 49 bzw. 50 auf „High” gelegt wird. Wenn der jeweilige invertierte Clear-Eingang 49 bzw. 50 dagegen auf „Low” gelegt wird, dann wird das zugehörige Flipflop 17 bzw. 18 deaktiviert. In diesem Fall findet keine Verarbeitung der an den Eingängen anliegenden Signale statt, und die jeweiligen Ausgänge des ersten Flipflops 17 bzw. des zweiten Flipflops 18 werden auf „Low” gesetzt.
-
In 4 sind sowohl das differentielle Manchester-Signal 44 als auch das pulsweitenmodulierte Taktsignal 48 als Funktion der Zeit dargestellt. Bei Betrachtung des pulsweitenmodulierten Taktsignals 48 ist zu erkennen, dass das pulsweitenmodulierte Taktsignal 48 jeweils zu Beginn jeder Taktperiode, also zu den Zeitpunkten 51, 52, 53, 54, etc. auf „High” liegt. Hierzu wird das pulsweitenmodulierte Taktsignal 48 kurz vor Beginn einer neuen Taktperiode auf „High” geschaltet, liegt dann am Beginn der Taktperiode auf „High”, und wird kurz nach dem Beginn der Taktperiode wieder auf „Low” zurückgeschaltet. Daher liegt das pulsweitenmodulierte Taktsignal 48 jeweils während der Zeitintervalle 55, 56, 57, 58 etc. auf „High”. Insofern dient das pulsweitenmodulierte Taktsignal 48 zum „Scharfschalten” der beiden Flipflops 17, 18 in den Zeitintervallen um den Beginn einer neuen Taktperiode herum. Durch das Scharfschalten der Flipflops 17, 18 in den Zeitintervallen 55, 56, 57, 58 etc. wird erreicht, dass die zu Beginn einer Taktperiode auftretenden oder ausbleibenden Flanken sicher detektiert werden können. Dabei ist das erste Flipflop 17, das durch das differentielle Manchester-Signal 44 getriggert wird, dafür zuständig, steigende Flanken am Beginn einer Taktperiode des differentiellen Manchester-Signals 44 zu erfassen. Dagegen ist das zweite Flipflop 18, das durch das invertierte differentielle Manchester-Signal 44 getriggert wird, dafür zuständig, fallende Flanken am Beginn einer Taktperiode des differentiellen Manchester-Signals 44 zu detektieren.
-
Unterhalb des differentiellen Manchester-Signals 44 und des pulsweitenmodulierten Taktsignals 48 sind das Ausgangssignal 59 des ersten Flipflops 17 und das Ausgangssignal 60 des zweiten Flipflops 18 als Funktion der Zeit aufgetragen.
-
Der dargestellte Abschnitt des differentiellen Manchester-Signals 44 enthält fünf Flanken 61 bis 65, die jeweils am Beginn einer Taktperiode auftreten. Bei den Flanken 61, 64 und 65 handelt es sich um steigende Flanken, und bei den Flanken 62, 63 handelt es sich um fallende Flanken. Die restlichen Flanken im gezeigten Ausschnitt sind nicht am Beginn einer jeweiligen Taktperiode angeordnet und daher für die Auswertung nicht relevant.
-
Durch das erste Flipflop 17 werden die steigenden Flanken 61, 64, 65 des differentiellen Manchester-Signals 44 erfasst. Dementsprechend erscheinen im Ausgangssignal 59 des ersten Flipflops 17 drei Pulse 66, 67, 68, die den steigenden Flanken 61, 64, 65 des differentiellen Manchester-Signals 44 entsprechen. Dagegen werden durch das zweite Flipflop 18 die fallenden Flanken 62, 63 des differentiellen Manchester-Signals 44 erfasst. Dementsprechend erscheinen im Ausgangssignal 60 des zweiten Flipflops 18 zwei Pulse 69, 70, die den fallenden Flanken 62, 63 des differentiellen Manchester-Signals 44 entsprechen.
-
Das Ausgangssignal 59 und das Ausgangssignal 60 werden den Eingängen des NOR-Gatters 19 zugeführt. Das NOR-Gatter 19 führt eine Nicht-Oder-Verknüpfung des Ausgangssignals 59 und des Ausgangssignals 60 durch und erzeugt auf diese Weise ein NOR-Ausgangssignal 71. Dieses NOR-Ausgangssignal 71 ist in 4 ebenfalls als Funktion der Zeit aufgetragen. Da das NOR-Ausgangssignal 71 durch eine Nicht-Oder-Verknüpfung des ersten Ausgangssignals 59 und des zweiten Ausgangssignals 60 erzeugt wurde, weist es grundsätzlich einen „High”-Pegel auf und fällt nur dann kurzzeitig auf „Low” ab, wenn entweder im Ausgangssignal 59 oder im Ausgangssignal 60 Pulse auftreten. Insofern erhält man bei dem in 4 gezeigten Beispiel ein NOR-Ausgangssignal 71 mit fünf umgekehrten Pulsen 72 bis 76, wobei der Signalpegel während dieser Pulse 72 bis 76 jeweils kurzzeitig auf „Low” absinkt. Jeder der Pulse 72 bis 76 zeigt an, dass zu Beginn des entsprechenden Taktintervalls eine Flanke im differentiellen Manchester-Signal 44 aufgetreten ist.
-
Das durch das NOR-Gatter 19 erzeugte NOR-Ausgangssignal 71 wird der Schnittstelleneinheit 23 zugeführt und dort abgetastet, um auf diese Weise ein Binärsignal zu erzeugen. Bei der in 2 gezeigten Ausführungsform ist die Schnittstelleneinheit 23 als SPI-Schnittstelleneinheit ausgebildet, und dieser SPI-Schnittstelleneinheit wird als SPI-Taktsignal das pulsweitenmodulierte Taktsignal 48 zugeführt. Deshalb wird das NOR-Ausgangssignal 71, das am MOSI(Master Out Slave In)-Eingang der SPI-Schnittstelleneinheit anliegt, durch das pulsweitenmodulierte Taktsignal 48 abgetastet.
-
In 4 ist gezeigt, wie die Abtastung des NOR-Ausgangssignals 71 durch das pulsweitenmodulierte Taktsignal 48 durchgeführt wird. Bei der Abtastung wird der Wert des NOR-Ausgangssignals 71 mit jeder fallenden Flanke des pulsweitenmodulierten Taktsignals 48 erfasst. So hat das NOR-Ausgangssignal 71 bei der fallenden Flanke 77 den Wert Eins, bei der darauffolgenden fallenden Flanke 78 den Wert Null, und bei der nächsten fallenden Flanke 79 wieder den Wert Eins. Bei der fallenden Flanke 80 wird der Wert Null detektiert, und bei der darauffolgenden fallenden Flanke 81 wird ebenfalls der Wert Null detektiert. Auf diese Weise wird durch Abtasten des NOR-Ausgangssignals 71 auf Seiten der Schnittstelleneinheit 23 ein Binärsignal 82 erzeugt, das in 4 als Funktion der Zeit aufgetragen ist. Dieses Binärsignal 82 entspricht der Bitfolge „1010011100”. Dies ist aber genau die Bitfolge, die dem differentiellen Manchester-Signal 44 aufmoduliert war. Die in 2 gezeigte Dekodierschaltung ist also in der Lage, ein differentielles Manchester-Signal 44 in ein entsprechendes Binärsignal 82 umzusetzen.
-
Der dritte Zeitgeber 24 des Mikrocontrollers 20 kann optional dazu verwendet werden, um eine Zeitüberschreitung („Time-out”) des differentiellen Manchester-Signals 44 zu detektieren. Wenn während einer vorgegebenen Zeitspanne keine Datentelegramme mehr empfangen werden, detektiert der dritte Zeitgeber 24 aufgrund von fehlenden Flanken im differentiellen Manchester-Signal 44 eine Zeitüberschreitung. Auf diese Weise kann der dritte Zeitgeber 24 das Ende des Datentelegramms erkennen.
-
In 5 ist eine erfindungsgemäße Kodierschaltung gezeigt, welche dazu ausgelegt ist, ein Binärsignal in ein entsprechendes differentielles Manchester-Signal umzuwandeln. Die Kodierschaltung umfasst einen Zeitgeber 83 sowie eine Schnittstelleneinheit 84, die auf einem Mikrocontroller 85 angeordnet sind. Darüber hinaus umfasst die Kodierschaltung ein erstes Flipflop 86, ein zweites Flipflop 87 sowie ein XOR-Gatter 88. Insofern ist die in 5 gezeigte Kodierschaltung durch das Zusammenwirken von peripheren funktionellen Einheiten eines Mikrocontrollers mit einigen wenigen diskreten Bauelementen gekennzeichnet. Vorzugsweise handelt es sich bei dem ersten Flipflop 86 und bei dem zweiten Flipflop 87 um JK-Flipflops. Alternativ könnten auch andere Typen von Flipflops eingesetzt werden, die einen Toggle-Modus aufweisen, beispielsweise T-Flipflops oder RS-Flipflops.
-
Der Zeitgeber 83 ist dazu ausgelegt, ein Taktsignal 89 („M_CLK”) zu erzeugen. Dieses Taktsignal 89 wird dem Takteingang 90 der Schnittstelleneinheit 84 zugeführt und dient dort als Grundtakt für die Erzeugung eines invertierten Binärsignals 91, welches am Ausgang 92 der Schnittstelleneinheit 84 ausgegeben wird. Vorzugsweise handelt es sich bei der Schnittstelleneinheit 84 um eine Schnittstelleneinheit entsprechend dem Standard SPI („Serial Peripheral Interface”), und das Taktsignal 89 dient als SPI-Taktsignal („SPI_CLK”). Bei dem Ausgang 92 handelt es sich vorzugsweise um einen MOSI(„Master Out Slave In”)-Ausgang der SPI-Schnittstelleneinheit.
-
Zu beachten ist, dass am Ausgang 92 der Schnittstelleneinheit 84 nicht das eigentliche Binärsignal bzw. NRZ-(„Non-Return-to-Zero”)-Signal zu der zu kodierenden Folge erscheint, sondern das invertierte Binärsignal 91 („ NRZ_OUT ”).
-
Wie aus 5 erkennbar ist, wird das invertierte Binärsignal 91 sowohl dem 1J-Eingang 93 als auch dem 1K-Eingang 94 des ersten Flipflops 86 zugeführt, während am Takteingang 95 des ersten Flipflops 86 das Taktsignal 89 anliegt. Insofern wird das erste Flipflop 86 durch steigende Taktflanken des Taktsignals 89 getriggert. Der invertierte Clear-Eingang 96 („ CLR ”) des ersten Flipflops 86 ist permanent mit der positiven Versorgungsspannung Vcc verbunden, daher ist das erste Flipflop 86 ständig aktiv geschaltet.
-
Beim zweiten Flipflop 87 sind der 1J-Eingang 97, der 1K-Eingang 98 sowie der invertierte Clear-Eingang 99 („ CLR ”) permanent mit der positiven Versorgungsspannung Vcc verbunden. Da der invertierte Clear-Eingang 99 permanent auf „High” gesetzt ist, ist das zweite Flipflop 87 ständig aktiv geschaltet. Dabei befindet sich das zweite Flipflop 87 ständig im Toggle-Modus, denn sowohl der 1J-Eingang 97 als auch der 1K-Eingang 98 sind permanent auf „High” gesetzt. Das Taktsignal 89 liegt am invertierenden Takteingang 100 des zweiten Flipflops 87 an, so dass das zweite Flipflop 87 jeweils durch fallende Flanken des Taktsignals 89 getriggert wird. Das Ausgangssignal 101 des ersten Flipflops 86 sowie das Ausgangssignal 102 des zweiten Flipflops 87 sind mit den Eingängen des XOR-Gatters 88 verbunden, welches eine XOR-Verknüpfung des Ausgangssignals 101 und des Ausgangssignals 102 durchführt. Am Ausgang des XOR-Gatters 88 erhält man als Ergebnis dieser XOR-Verknüpfung das gewünschte differentielle Manchester-Signal 103.
-
In 6 ist das zugehörige Signaldiagramm für die in 5 auftretenden Signale gezeigt. Sowohl das Binärsignal 104 („NRZ_OUT”) als auch das am Ausgang 92 ausgegebene invertierte Binärsignal 91 („ NRZ_OUT ”) sind in 6 als Funktion der Zeit dargestellt, wobei das Binärsignal 104 der Sequenz „10100111001” entspricht. Unter dem Binärsignal 104 und dem invertierten Binärsignal 91 ist das Taktsignal 89 („M_CLK”) als Funktion der Zeit aufgetragen. Unterhalb dieses Taktsignals 89 ist das Ausgangssignal 101 des ersten Flipflops 86 aufgetragen. Die Entstehung dieses Ausgangssignals 101 kann man sich folgendermaßen veranschaulichen: Das erste Flipflop 86 wird durch steigende Taktflanken 105, 106, 107, 108, 109 etc. des Taktsignals 89 getriggert. Wenn zu dem Zeitpunkt, zu dem die steigende Flanke auftritt, sowohl der 1J-Eingang 93 als auch der 1K-Eingang 94 auf „Low” liegen, dann bleibt der Pegel des Ausgangssignals 101 unverändert. Wenn dagegen zum Zeitpunkt des Auftretens der steigenden Flanke sowohl der 1J-Eingang 93 als auch der 1K-Eingang 94 auf „High” liegen, dann ändert sich der Pegel des Ausgangssignals 101, weil sich in diesem Fall das erste Flipflop 86 im Toggle-Modus befindet. Insofern wechselt der Pegel des Ausgangssignals 101 immer dann, wenn zu dem Zeitpunkt, zu dem eine steigende Flanke des Taktsignals 89 auftritt, das invertierte Binärsignal 91 auf „High” liegt. Wenn das invertierte Binärsignal 91 dagegen beim Auftreten der steigenden Flanke auf „Low” liegt, dann ändert sich der Pegel des Ausgangssignals 101 nicht. Beim Auftreten der steigenden Flanke 105 liegt das invertierte Binärsignal 91 auf „Low”, und insofern wird der Pegel des Ausgangssignals 101 nicht geändert. Beim Auftreten der steigenden Flanke 106 dagegen liegt das invertierte Binärsignal 91 auf „High”, und deshalb wird nun „getoggelt”: Zum Zeitpunkt 110 ändert sich der Pegel des Ausgangssignals 101 auf „High”. Beim Auftreten der steigenden Flanke 107 befindet sich das invertierte Binärsignal 91 auf „Low”, und deshalb bleibt der Pegel des Ausgangssignals 101 unverändert. Bei der ansteigenden Flanke 108 dagegen liegt das invertierte Binärsignal 91 wieder auf „High”, und insofern wechselt zum Zeitpunkt 111 der Pegel des Ausgangssignals 101 von „High” auf „Low”. Bei der nächstfolgenden steigenden Flanke 109 ist der Pegel des invertierten Binärsignals 91 immer noch auf „High”, und deshalb wird erneut getoggelt: Zum Zeitpunkt 112 wechselt der Pegel des Ausgangssignals 101 von „Low” auf „High”.
-
Das zweite Flipflop 87 ist permanent im Toggle-Modus. Da das Taktsignal 89 am invertierenden Takteingang 100 des zweiten Flipflops 87 anliegt, ändert sich der Zustand des zweiten Flipflops 87 mit jeder fallenden Taktflanke des Taktsignals 29. In 6 sind im Zeitdiagramm des Taktsignals 89 die fallenden Flanken 113, 114, 115, 116, 117 etc. gekennzeichnet. Mit der fallenden Flanke 113 springt das Ausgangssignal 102 des zweiten Flipflops 87 von „Low” auf „High”, und bei der nächstfolgenden fallenden Flanke 114 springt der Pegel zurück auf „Low”. Bei den darauffolgenden fallenden Flanken 115, 116, 117 ändert sich jedes Mal der Pegel des Ausgangssignals 102. Insofern erhält man ein Ausgangssignal 102, bei dem jeweils in der Mitte jeder Taktperiode eine Flanke auftritt.
-
Das gewünschte differentielle Manchester-Signal 103 wird durch eine XOR-Verknüpfung des Ausgangssignals 101 und des Ausgangssignals 102 gebildet. Dabei dient das Ausgangssignal 101 dazu, dem differentiellen Manchester-Signal die gewünschten Phasenänderungen aufzumodulieren, während das Ausgangssignal 102 dafür zuständig ist, die jeweils in der Mitte einer Taktperiode auftretenden Flanken zu erzeugen. Das als Ergebnis der XOR-Verknüpfung erhaltene differentielle Manchester-Signal 103 entspricht der Bitfolge „10100111001”. Dies ist genau die Bitfolge des ursprünglichen Binärsignals 104.