Ich sehe den Vorteil von Manchester-Code gegenüber NRZ: Sie erhalten Takt und Daten in einem Signal kombiniert. Aber was fügt das differenzielle Manchester hinzu?
Laut Wiki-Antworten : -
Anders als bei der Manchester-Codierung ist nur das Vorhandensein eines Übergangs wichtig, nicht die Polarität. Differentialcodierungsschemata funktionieren genau gleich, wenn das Signal invertiert ist (Drähte vertauscht).
Das klingt für mich nach einem netten Feature.
In einer anderen Wiki-Antwort heißt es, es gebe eine bessere Störfestigkeit als die normale M-Codierung. Und auf einem anderen erklärt es, wie es das erreicht: -
Ein '1'-Bit wird angezeigt, indem die erste Hälfte des Signals gleich der letzten Hälfte des Signals des vorherigen Bits gemacht wird, dh kein Übergang zu Beginn der Bitzeit. Ein '0'-Bit wird angezeigt, indem die erste Hälfte des Signals der letzten Hälfte des Signals des vorherigen Bits entgegengesetzt gemacht wird, dh ein Null-Bit wird durch einen Übergang zu Beginn der Bitzeit angezeigt. In der Mitte der Bitzeit gibt es immer einen Übergang, ob von High nach Low oder Low nach High. Ein umgekehrtes Schema ist möglich, und die Verwendung eines der beiden Schemata ergibt keinen Vorteil.
Nach einem kleinen Trawl im Internet dachte ich, ich würde diese Zeichnung einfügen, die ich modifiziert habe, um zu zeigen, wie die Bitübergänge logische 1- und logische 0-Daten anzeigen: -
Aus diesem Grund kann der Datenstrom invertiert werden und Sie können immer noch korrekt dekodieren.
Ein "Problem" bei der normalen Manchester-Codierung besteht darin, dass ein stetiger Strom codierter Nullen genau wie ein stetiger Strom codierter Einsen aussieht (es sei denn, Sie sind synchron). In meinem Fall wollte ich, dass die Leitung mit einem bekannten Signal in den Leerlauf geht und die Pakete mit einem einzelnen Startbit (= eins) einrahmt. (Ich wollte eine längere Präambel vermeiden, um die Reaktionszeit zu verkürzen). Durch die Verwendung der differentiellen Manchester-Codierung kann ich die Leitung bei Null im Leerlauf halten und sicher sein, dass der Empfänger synchron ist, wenn ich das erste Startbit (Eins) sende. (Bitte beachten Sie, dass ich Kein Übergang am Startbit als "0" und Übergang am Startbit als "1" definiert habe = Gegenteil des obigen Bildes). Daher; Ein Vorteil der differenziellen Manchester-Codierung besteht darin, dass der Empfänger zuverlässig auf einen stetigen Strom gleicher Symbole zugreifen kann, der beim Startbit keinen Übergang aufweist.
Ich habe keine theoretischen Ergänzungen zu den Antworten bereits hier. Aber dieses Tool vermittelt ein intuitives Verständnis der Unterschiede. Biphase-L ist eine Manchester-Codierung. Die anderen zwei Biphasen sind differentielle Manchester-Codierungen. Insbesondere können Sie die Antwort von @Oyvin in Aktion sehen.
Oldtimer