Inhaltsverzeichnis:

DIY Codierungskonverter für serielle Leitungen - Gunook
DIY Codierungskonverter für serielle Leitungen - Gunook

Video: DIY Codierungskonverter für serielle Leitungen - Gunook

Video: DIY Codierungskonverter für serielle Leitungen - Gunook
Video: Treiber-Installation für Interfaces mit USB-Seriell-Wandler FTDI FT232RL 2024, Juli
Anonim
DIY serielle Leitungscodierungskonverter
DIY serielle Leitungscodierungskonverter

Serielle Datenkommunikation ist in vielen industriellen Anwendungen allgegenwärtig geworden, und es gibt mehrere Ansätze, um jede serielle Datenkommunikationsschnittstelle zu entwerfen. Es ist zweckmäßig, eines der Standardprotokolle wie UART, I2C oder SPI zu verwenden. Darüber hinaus existieren mehrere andere Protokolle für dedizierte Anwendungen wie CAN, LIN, Mil-1553, Ethernet oder MIPI. Eine weitere Möglichkeit, mit seriellen Daten umzugehen, besteht darin, benutzerdefinierte Protokolle zu verwenden. Diese Protokolle basieren normalerweise auf Leitungscodes. Die gebräuchlichsten Arten der Leitungscodierung sind NRZ, Manchester-Code, AMI usw. [Configurable Protocol Decoding of Manchester and NRZ-Encoded Signals, Teledyne Lecroy Whitepape].

Beispiele für spezialisierte serielle Protokolle sind DALI zur Steuerung der Gebäudebeleuchtung und PSI5, das verwendet wird, um Sensoren mit Controllern in Automobilanwendungen zu verbinden. Beide dieser Beispiele basieren auf Manchester-Codierung. In ähnlicher Weise wird das SENT-Protokoll für Automobil-Sensor-zu-Controller-Verbindungen verwendet, und der CAN-Bus, der üblicherweise verwendet wird, um die Kommunikation zwischen Mikrocontrollern und anderen Geräten in Automobilanwendungen zu ermöglichen, basiert auf der NRZ-Codierung. Darüber hinaus wurden und werden viele andere komplexe und spezialisierte Protokolle unter Verwendung von Manchester- und NRZ-Schemata entworfen.

Jeder der Leitungscodes hat seine eigenen Vorzüge. Bei der Übertragung eines binären Signals über ein Kabel können beispielsweise Verzerrungen auftreten, die durch die Verwendung des AMI-Codes deutlich abgeschwächt werden können [Petrova, Pesha D. und Boyan D. Karapenev. "Synthese und Simulation von Binärcode-Konvertern." Telekommunikation in modernen Satelliten-, Kabel- und Rundfunkdiensten, 2003. TELSIKS 2003. 6. Internationale Konferenz über. vol. 2. IEEE, 2003]. Außerdem ist die Bandbreite eines AMI-Signals geringer als das entsprechende RZ-Format. Ebenso weist der Manchester-Code einige der Mängel nicht auf, die dem NRZ-Code inhärent sind. Beispielsweise entfernt die Verwendung des Manchester-Codes auf einer seriellen Leitung DC-Komponenten, bietet eine Taktrückgewinnung und bietet eine vergleichsweise hohe Störfestigkeit [Hd-6409 Renesas Datasheet].

Daher ist die Nützlichkeit der Umwandlung von Standardleitungscodes offensichtlich. Bei vielen Anwendungen, bei denen Zeilencodes direkt oder indirekt verwendet werden, ist die Umwandlung von Binärcode erforderlich.

In diesem Instructable präsentieren wir, wie man mehrere Zeilencodierungswandler mit einem kostengünstigen Dialog SLG46537 CMIC realisiert.

Im Folgenden haben wir die erforderlichen Schritte beschrieben, um zu verstehen, wie der GreenPAK-Chip programmiert wurde, um die seriellen Leitungscodierungskonverter zu erstellen. Wenn Sie jedoch nur das Ergebnis der Programmierung erhalten möchten, laden Sie die GreenPAK-Software herunter, um die bereits fertige GreenPAK-Designdatei anzuzeigen. Schließen Sie das GreenPAK Development Kit an Ihren Computer an und klicken Sie auf Programm, um den benutzerdefinierten IC für die seriellen Codierungskonverter zu erstellen.

Schritt 1: Konvertierungsdesigns

Konvertierungsdesigns
Konvertierungsdesigns
Konvertierungsdesigns
Konvertierungsdesigns
Konvertierungsdesigns
Konvertierungsdesigns
Konvertierungsdesigns
Konvertierungsdesigns

Das Design der folgenden Zeilencodekonverter wird in diesem Instructable bereitgestellt:

● NRZ(L) zu RZ

Die Umwandlung von NRZ(L) in RZ ist einfach und kann durch die Verwendung eines einzigen UND-Gatters erreicht werden. Die Abbildung 1 zeigt das Design für diese Konvertierung.

● NRZ(L) zu RB

Für die Umwandlung von NRZ(L) in RB müssen wir drei Logikpegel erreichen (-1, 0, +1). Zu diesem Zweck verwenden wir einen 4066 (quad-bilateral analog switch) für die bipolare Umschaltung von 5 V, 0 V und -5 V. Digitale Logik wird verwendet, um das Schalten der drei Logikpegel durch Auswahl von 4066 Enable-Eingängen zu steuern 1E, 2E und 3E [Petrova, Pesha D. und Boyan D. Karapenev. "Synthese und Simulation von Binärcode-Konvertern." Telekommunikation in modernen Satelliten-, Kabel- und Rundfunkdiensten, 2003. TELSIKS 2003. 6. Internationale Konferenz über. vol. 2. IEEE, 2003].

Die logische Steuerung ist wie folgt implementiert:

Q1= Signal & Clk

Q2= Klick'

Q3=Klick & Signal'

Das Gesamtumwandlungsschema ist in Abbildung 2 dargestellt.

● NRZ(L) nach AMI

Die NRZ(L)-zu-AMI-Umwandlung verwendet auch den 4066-IC, da der AMI-Code 3 Logikpegel hat. Das Logiksteuerungsschema ist in Tabelle 1 zusammengefasst, die dem in Abbildung 3 gezeigten Gesamtumwandlungsschema entspricht.

Das Logikschema kann wie folgt geschrieben werden:

Q1 = (Signal & Clk) & Q

Q2 = (Signal & Clk)'

Q3 = (Signal & Clk) & Q'

Wobei Q die Ausgabe des D-Flip-Flops mit der folgenden Übergangsbeziehung ist:

Qnext = Signal & Qprev' + Signal' & Qprev

● AMI nach RZ

Für die AMI-RZ-Umwandlung werden zwei Dioden verwendet, um das Eingangssignal in positive und negative Teile aufzuteilen. Ein invertierender Operationsverstärker (oder eine Transistor-basierte Logikschaltung) kann verwendet werden, um den abgetrennten negativen Teil des Signals zu invertieren. Schließlich wird dieses invertierte Signal zusammen mit dem positiven Signal an ein ODER-Gatter geleitet, um das gewünschte Ausgangssignal im RZ-Format zu erhalten, wie in Abbildung 4 gezeigt.

● NRZ(L) nach Manchester mit geteilter Phase

Die Umwandlung von NRZ(L) in Manchester mit geteilter Phase ist unkompliziert, wie in Abbildung 5 gezeigt. Das Eingangssignal wird zusammen mit dem Taktsignal an ein NXOR-Gatter geleitet, um das Ausgangssignal zu erhalten (gemäß der Konvention von G. E. Thomas). Ein XOR-Gatter kann auch verwendet werden, um den Manchester-Code zu erhalten (gemäß IEEE 802.3-Konvention) [https://en.wikipedia.org/wiki/Manchester_code].

● Teilphasen-Manchester zu Teilphasen-Markierungscode

Die Umwandlung von Manchester mit geteilter Phase in einen Markierungscode mit geteilter Phase ist in Fig. 6 gezeigt. Der Eingang und das Taktsignal werden durch ein UND-Gatter geleitet, um ein D-Flip-Flop zu takten.

Der D-Flip wird durch die folgende Gleichung bestimmt:

Qweiter = Q'

Das Ausgangssignal erhält man wie folgt:

Ausgabe= Clk & Q + Clk' Q'

● Mehr Zeilencode-Konvertierungen

Mit den obigen Konvertierungen kann man leicht die Designs für mehr Zeilencodes erhalten. Beispielsweise können die Umwandlung von NRZ(L) in einen Teilphasen-Manchestercode und eine Umwandlung von einem Teilphasen-Manchestercode in einen Teilphasen-Markierungscode kombiniert werden, um direkt NRZ(L) in einen Teilphasen-Markierungscode zu erhalten.

Schritt 2: GreenPAK-Designs

Die oben gezeigten Konvertierungsschemata können zusammen mit einigen zusätzlichen externen Komponenten leicht im GreenPAK™-Designer implementiert werden. Das SLG46537 bietet reichlich Ressourcen, um die gegebenen Designs auszuführen. Die GreenPAK-Umwandlungsdesigns werden in der gleichen Reihenfolge wie zuvor bereitgestellt.

Schritt 3: NRZ(L) zu RZ in GreenPAK

NRZ(L) zu RZ in GreenPAK
NRZ(L) zu RZ in GreenPAK

Das GreenPAK-Design für NRZ(L) bis RZ in Abbildung 7 ähnelt dem in Schritt 1 gezeigten, außer dass ein DLY-Block hinzugefügt wurde. Dieser Block ist optional, bietet jedoch die Beseitigung von Glitch für die Synchronisationsfehler zwischen den Takt- und Eingangssignalen.

Schritt 4: NRZ(L) zu RB in GreenPAK

NRZ(L) zu RB in GreenPAK
NRZ(L) zu RB in GreenPAK

Das GreenPAK-Design für NRZ(L) bis RB ist in Abbildung 8 dargestellt. Die Abbildung zeigt, wie die Logikkomponenten im CMIC angeschlossen werden, um das in Schritt 1 angegebene beabsichtigte Design zu erreichen.

Schritt 5: NRZ(L) zu AMI in GreenPAK

NRZ(L) nach AMI in GreenPAK
NRZ(L) nach AMI in GreenPAK

Abbildung 9 zeigt, wie das GreenPAK CMIC für die Konvertierung von NRZ(L) zu AMI konfiguriert wird. Dieses Schema zusammen mit den in Schritt 1 angegebenen externen Zusatzkomponenten kann für die gewünschte Konvertierung verwendet werden

Schritt 6: AMI zu RZ in GreenPAK

AMI nach RZ in GreenPAK
AMI nach RZ in GreenPAK

In Abbildung 10 ist das GreenPAK-Design für die AMI-RZ-Konvertierung dargestellt. Das so konfigurierte GreenPAK CMIC kann zusammen mit Operationsverstärker und Dioden verwendet werden, um die erforderliche Leistung zu erzielen.

Schritt 7: NRZ(L) zu Split-Phase Manchester in GreenPAK

NRZ(L) nach Split-Phase Manchester in GreenPAK
NRZ(L) nach Split-Phase Manchester in GreenPAK

In Abbildung 11 wird im GreenPAK-Design ein NXOR-Gatter verwendet, um die NRZ(L)-zu-Teilphasen-Manchester-Umwandlung zu erhalten.

Schritt 8: Split-Phase-Manchester zu Split-Phase-Markierungscode in GreenPAK

Split-Phase-Manchester zu Split-Phase-Markierungscode in GreenPAK
Split-Phase-Manchester zu Split-Phase-Markierungscode in GreenPAK

In Abbildung 12 ist das GreenPAK-Design für den Split-Phase-Manchester-zu-Split-Phase-Mark-Code dargestellt. Das Design für die Konvertierung ist abgeschlossen und es wird keine externe Komponente für den Konvertierungsprozess benötigt. DLY-Blöcke sind optional zum Entfernen von Glitches, die aufgrund von Synchronisationsfehlern zwischen den Eingangs- und Taktsignalen entstehen.

Schritt 9: Experimentelle Ergebnisse

Alle vorgestellten Designs wurden zur Verifizierung getestet. Die Ergebnisse werden in der gleichen Reihenfolge wie zuvor bereitgestellt.

Schritt 10: NRZ(L) zu RZ

NRZ(L) zu RZ
NRZ(L) zu RZ

Die experimentellen Ergebnisse für die Umwandlung von NRZ(L) in RZ sind in Abbildung 13 dargestellt. NRZ(L) ist gelb und RZ blau dargestellt.

Schritt 11: NRZ(L) zu RB

NRZ(L) zu RB
NRZ(L) zu RB

Die experimentellen Ergebnisse für die Umwandlung von NRZ(L) in RB sind in Abbildung 14 dargestellt. NRZ(L) ist rot und RB blau dargestellt.

Schritt 12: NRZ(L) zu AMI

NRZ(L) nach AMI
NRZ(L) nach AMI

Abbildung 15 zeigt die experimentellen Ergebnisse für die Umwandlung von NRZ(L) in AMI. NRZ(L) wird rot und AMI wird gelb angezeigt.

Schritt 13: AMI zu RZ

AMI nach RZ
AMI nach RZ

Abbildung 16 zeigt die experimentellen Ergebnisse für die Umwandlung von AMI in RZ. AMI ist in positive und negative Teile aufgeteilt, die in Gelb und Blau dargestellt sind. Das umgewandelte RZ-Ausgangssignal wird in Rot angezeigt.

Schritt 14: NRZ(L) zu Split-Phase Manchester

NRZ(L) nach Split-Phase Manchester
NRZ(L) nach Split-Phase Manchester

Abbildung 17 zeigt die experimentellen Ergebnisse für die Umwandlung von NRZ(L) in Manchester mit geteilter Phase. Das NRZ(L)-Signal wird in Gelb angezeigt und das umgewandelte Split-Phase-Manchester-Ausgangssignal wird in Blau angezeigt.

Schritt 15: Teilphasen-Manchester zu Teilphasen-Markierungscode

Split-Phase-Manchester zu Split-Phase-Markierungscode
Split-Phase-Manchester zu Split-Phase-Markierungscode

Abbildung 18 zeigt die Konvertierung vom Split-Phase-Manchester- zum Split-Phase-Mark-Code. Der Manchester-Code wird in Gelb angezeigt, während der Mark-Code in Blau angezeigt wird.

Abschluss

Leitungscodes bilden die Grundlage mehrerer serieller Kommunikationsprotokolle, die in verschiedenen Branchen universell eingesetzt werden. Einfache und kostengünstige Konvertierung von Leitungscodes in vielen Anwendungen gesucht. In diesem anweisbaren Details werden für die Konvertierung mehrerer Leitungscodes mit Dialogs SLG46537 zusammen mit einigen zusätzlichen externen Komponenten bereitgestellt. Die vorgestellten Designs wurden verifiziert, und es wird geschlussfolgert, dass die Konvertierung von Leitungscodes mit den CMICs von Dialog problemlos durchgeführt werden kann.

Empfohlen: