Differentielle Signalverarbeitung und -erzeugung

Ich versuche, eine Schnittstelle zu einer zentralen Klimaanlage von Mitsubishi herzustellen. Basierend auf dem Handbuch kommunizieren die internen Einheiten über einen differentiellen Bus (ich hoffe, es ist TDM).

Ich habe einen Screenshot des Signals:

Geben Sie hier die Bildbeschreibung ein

Wie würde ich mich mit diesem Bus verbinden? Mir ist klar, dass dies einen Operationsverstärker im Differentialmodus erfordert, aber ich kann außer der Theorie keine Implementierungsdetails finden. Die Idee ist, einen Operationsverstärker zu verwenden, um das Signal zu subtrahieren, und den Single-Ended-Ausgang einen hochohmigen Eingang eines Mikrocontrollers (wahrscheinlich atmega238) ansteuern zu lassen.

Wie könnte ich nach dem Empfangen und Decodieren und vorausgesetzt, ich verstehe, wie der Bus gemultiplext (oder geteilt) wird, ein Differenzsignal erzeugen?

Auch die richtige Terminologie hilft.

Kennen Sie die Amplitude des Signals? Können Sie entweder in der physikalischen Einheit oder im Servicehandbuch sehen, welche Komponente diese Signale erzeugt?
Meine erste Vermutung wäre, dass sie so etwas wie RS-485 verwenden. Es sind viele RS-485-Transceiver -Chips erhältlich. Aber es gibt noch andere Möglichkeiten.
Die Amplitude beträgt 5V. Alles, was mich interessiert, ist das Lesen der Bits, bevor ich sie manuell decodiere, indem ich sie abtaste. Da der Bus keinen gemeinsamen / Masseanschluss hat, muss ich das Signal extrahieren, was der Zweck der Frage ist. Ich glaube, dass die Signalisierung proprietär ist, obwohl eine gewisse RS485-Variante wahrscheinlich ist.

Antworten (1)

Das ist mit ziemlicher Sicherheit ein RS485-Signal. Es ist ein sehr robustes differentielles Protokoll, das häufig in industriellen Umgebungen verwendet wird.

RS485 ist nur ein Signalisierungsstandard, es gibt kein Protokoll. Typischerweise werden Standard-UART-Protokolle verwendet. Aus diesem Grund ist eine Standard-PC-RS232-Verbindung über einen RS232-zu-RS485-Pegelwandler alles, was zum Anschluss an das Gerät erforderlich ist.

Ich empfehle, so etwas zu kaufen: http://www.amazon.com/RS232-To-RS485-Converter-Adapter/dp/B003MN1KKQ und den Ausgang zu testen, um zu bestätigen, dass er Ihnen eine UART-Signalisierung gibt.

Sie sollten in der Lage sein, das RS232-Pegelsignal in einen PC zu bringen und das Ergebnis in einem Terminal anzuzeigen. Ich liebe Realterm dafür, weil es einen guten "Hex-Modus" hat, der Ihnen hilft zu bestätigen, dass es dort echte Daten gibt, selbst wenn das Protokoll binär und kein ASCII-Text ist.

Wenn alles gut geht und Sie bestätigen können, dass Sie es mit RS485 zu tun haben, gibt es viele RS485-zu-LVTTL-Level-Chips, die sauber mit Ihren Mikrocontroller-Pins verbunden werden.

Wenn Sie dafür wirklich einen Operationsverstärker verwenden müssen, reicht eine standardmäßige subtraktive Schaltung aus:

schematisch

Simulieren Sie diese Schaltung – Mit CircuitLab erstellter Schaltplan

Danke für Ihre Antwort. Gibt es eine Möglichkeit, einen Operationsverstärker zur Konvertierung in RS232-Pegel zu verwenden? Während ich rs232-ttl-Level-Shifter habe, habe ich keine für rs485.
Es funktioniert tatsächlich fast perfekt. Das einzige Problem ist, dass es im Leerlauf niedrig zu sein scheint, sollte es nicht im Leerlauf hoch sein? Mein Decoder erzeugt Framing-Fehler.
Außerdem möchte ich keine große Sache daraus machen, aber wie würde ich im Bus senden ?
Sie scheinen zu wissen, wie der Bus aussieht, wenn er aktiv ist und wenn er im Leerlauf ist. Wenn Sie Ihr Diagramm bearbeiten könnten, um beide Abschnitte hervorzuheben, könnten wir Ihnen helfen. Wenn Sie der Meinung sind, dass Sie nur eine Polaritätsumkehrung des Ausgangs benötigen, können Sie die Eingangsanschlüsse + und - vertauschen.