Häufige Kommunikationsprobleme Analyse und Lösungen

kostenlosKostenloses technisches Material

Dieser Inhalt ist direkt lesbar und eignet sich für das Grundlagenlernen und die Suche.

Häufige Kommunikationsprobleme Analyse und Lösungen

Quelle: Modbus Chinesisches Netzwerk (modbus.cn) - führende Modbus Kommunikationsprotokoll Technologie-Community in China

Dieser Artikel: Serielle Kommunikation Fehlersuche: Vollständige Handbuch von der Ebene zum Protokoll · Autor: Modbus Technologie-Team · Veröffentlicht am 2026 - 07 - 01

Schlagwort: Kommunikationslosigkeit, Verwirrung, Unterbrechung? Dieser Artikel ist ein handhabbares Handbuch zur Fehlerbehebung von seriellen Anschlüssen, das die Verkabelung von RS - 232 / RS - 485 / RS - 422 in drei physikalischen Schichten, die Diagnose der elektrischen Schicht, die Parameter-Anpassung und gängige Fehlerszenarien mit einer echten Wellenformanalyse und der Verwendung von Werkzeugen abdeckt. Schlüsselwörter: Serielle Kommunikationsfehler, RS - 485 - Fehlerbehebung, Unpassung der Baudrate, Common-Bund - Problem, USB-to - TTL-Debugging.


Auf dem industriellen Standort Debugging der seriellen Anschluss-Kommunikation, gibt es eine Erfahrung, die jeder Ingenieur versteht: klar Verkabelung kein Problem, die Parameter nicht falsch eingestellt, die Ausrüstung ist nicht zurück Daten. Nach einem halben Tag fand ich schließlich heraus, dass es GND war nicht angeschlossen - oder angeschlossen, aber die GND-Commodus - Störungen mit dem Frequenzumrichter nebenan waren zu groß und überfluteten das Signal.

Das Problem der seriellen Kommunikation ist verstreut, schlimmer als Modbus. Weil sie sich nicht um den Inhalt des Abkommens kümmert, ist sie nur dafür verantwortlich, den Platz zu übermitteln. Daher kann die Ursache für "nicht übertragbar" von der physischen Ebene bis zum Host-Treiber ausbreiten.

Dieser Artikel wird in der Reihenfolge „Physikalische Verkabelung → Elektrische Schicht → Parametervergleich → Werkzeugkette → Häufige Ausfallszenarien" erstellt. Sie überprüfen von Anfang bis Ende, und ein Nachmittag reicht aus, um die meisten Serien-Kommunikationsfehler zu lokalisieren.


Grundlagen der seriellen Kommunikation: drei physische Schichten, eine logische Schicht

in der Engineering-Site tatsächlich drei völlig verschiedene physikalische Schichten. Viele Leute sagen, dass "serieller Anschluss nicht funktioniert", in Wirklichkeit nicht unterscheiden zwischen RS - 232, RS - 485, RS - 422 - aber ihre Fehler-Performance und Fehlerbehebungsmethoden sind sehr unterschiedlich.

RS - 232: Drei Leitungen, RX, TX, GND. Punkt-zu - Punkt-Kommunikation, vollständig Doppel. Die Spannung beträgt ± 3V ~ ± 15V, während TX und RX im Leerlauf eine negative Spannung halten (Logik 1). Die wichtigste Einschränkung ist die Entfernung - ohne Fahrer bis zu 15 Meter.Über diese Entfernung steigt die Welle.

RS - 485Zwei Linien, A und B (auch + und - genannt). Differenzielles Signal, Halb-Duplex. Bis zu 32 Knoten können auf dem Bus gehängt werden (mit einem Repeater bis zu 256). Die längste Entfernung beträgt etwa 1200 Meter, aber je höher die Baudrate ist, desto kürzer die Entfernung - 115200bps kann tatsächlich nur etwa 100 Meter verwendet werden. Diese Einschränkung wird in der Szene oft übersehen.

RS - 422: Vier Leitungen, RX +, RX -, TX +, TX -. Das Full-Duplex - Differenz ist eigentlich ein „Empfang und Senden eines Paares" von RS - 485. Es wird auch häufig als 485 - 4 bezeichnet (485 - 2 bezieht sich auf die zweileitige RS - 485). Der größte Unterschied im Vergleich zu RS - 485: RS - 422 kann nur einen Sender mit mehreren Empfängern verbinden und unterstützt nicht mehrere Sender.

Häufige Kommunikationsprobleme Analyse und LösungenAbbildung

Die Ausfallmodi dieser drei physikalischen Schichten werden in den folgenden Abschnitten betrachtet.


2. Selbstprüfung vor dem Debugging: Gibt es ein Problem mit Ihrem Werkzeug selbst?

Das am leichtesten übersehenes Problem der Serienanschlüsse - das Tool, das Sie für das Debuggen verwenden, kann selbst schlecht sein.

2.1 USB zu TTL-Modul Selbstprüfung

Verknüpfen Sie das TX und RX-Modul von USB-to - TTL direkt mit einem DuPont-Kabel.Öffnen Sie den seriellen Port-Assistenten (empfohlen SSCOM oder AccessPort) und legen Sie die gleichen Parameter wie das Gerät fest, mit dem Sie kommunizieren möchten - Baht-Rate 9600, 8 Datenbits, 1 Stop-Bit, keine Überprüfung. Senden Sie eine beliebige Reihe von Daten (empfohlen, einen Frame mit variablen Bytes01 03 00 00 00 01in Hexadezimalform zu senden), um zu sehen, ob der Empfangsbereich wie vor zurückgegeben wird.

Beachten Sie, dass Sie im Hexadezimalmodus sehen müssen. Bei der Anzeige im ASCII-Modus werden0x00、0x0A、0x0Ddiese Sonderzeichen verzehrt, und Sie sehen "Return", aber es gibt weniger Bytes.

Wenn der Senden und Empfang nach dem Kurzverbindung nicht konsistent ist, versuchen Sie es erneut mit einem USB-Datenkabel - einige Ladekabel haben keinen Datenkanal, anschließen Sie das Licht, aber nicht übertragen. Lachen Sie nicht, das ist echt.

2.2 Der Serien-Assistent bestätigt, dass die Parameter tatsächlich wirksam sind.

Viele Leute glauben, dass es sich um 9600 handelt, wenn Sie "9600, 8, N1" in der Serien-Assistenten - Schnittstelle wählen. Es ist tatsächlich passiert: Die Serien-Assistenten - Schnittstelle zeigt 9600, aber der zugrunde liegende Windows-Treiber öffnet sich tatsächlich 115200 - da sich die Seriennummer beim Anstecken des USBs geändert hat und die Software eine alte Konfiguration verwendet. Die sicherste Methode ist, zuerst mit einem Logik-Analysator das erste Byte zu greifen, das Sie senden, um zu überprüfen, ob die Bitbreite 1 / 9600 ≈ 104 μ s ist.

Wenn Sie keinen Logik-Analysator haben, überprüfen Sie mit mindestens einem anderen Gerät, das eine normale Kommunikation bestätigt, ob die aktuellen seriellen Anschlussparameter wirklich gültig sind.


3. Physikalische Verkabelung: 90% der Probleme liegen auf dieser Ebene

3.1 Common ground - die am leichtesten vergessen dritte Leitung

RS - 232 Kommunikation muss Common ground sein. GND bietet eine Referenz von 0 - Level. Wenn die GND der beiden Geräte nicht miteinander verbunden ist, scheint das ± 12V-Signal auf dem TX am anderen Ende nichts zu bedeuten - es hat keinen Bezugspunkt, um das Niveau zu bestimmen.

Tatsächliche Prüfmethode: Das Multimeter schlägt bis zum Brillen, einen Punkt Punkt GND Fuß des Geräts A, einen Punkt GND Fuß des Geräts B, bestätigen Sie die Leitung. Gleichzeitig auf die DC-Spannung, die Spannungsdifferenz zwischen beiden Enden GND zu messen. Wenn es mehr als ± 3V, zeigt Ihr System ein ernstes Erdungsproblem - in diesem Fall ist die Kommunikation auch mit GND schütteln.

RS - 485 benötigt im Idealfall keine Erdleitung. Das Differenzsignal sieht nur die Spannungsunterschiede zwischen A / B und benötigt keine Referenz für GND. Aber in der Praxis - wenn die gemeinsame Modusspannung zwischen GND zwei Geräten übersteigt die gemeinsame Modus-Eingangsbereich des RS - 485 - Transceivers (normalerweise -7V bis +12V), Kommunikation instabil ist. Daher ist es am besten, dass der RS - 485 - Bus auf der industriellen Seite eine schwache GND-Referenzleitung (eines Endes Erdung, das andere Ende durch 100 Ω Widerstand + 0,1 μ F Kondensator und Verbindung mit GND) anschließen kann, um die gemeinsame Modusspannung zu begrenzen und gleichzeitig keine Erdschleife zu bilden.

3.2 RX / TX-Kreuzung - richtig?

Die Regeln für RS - 232 sind einfach, aber immer gibt es einen Fehler: TX von Gerät A wird an RX von Gerät B angeschlossen, RX von Gerät A wird an TX von Gerät B angeschlossen.

Bestätigungsmethode: Messen Sie den TX-Pin des USB-TTL - Moduls mit einer Multimeter-Diode - Datei - im Leerlauf-Zustand sollte TX eine negative Spannung (ca. -5V bis -12V-Bereich) ausgeben, während RX im Leerlauf ein hoher Widerstand ist (unbestimmte Spannung). Wenn eine stabile negative Spannung auf RX gemessen wird, wird RX und TX umgekehrt.

3.3 RS - 485 - A / B-Leitung - Verwirrende Markierungen von verschiedenen Herstellern

Die A / B-Kabelmarkierung von RS - 485 gibt es keinen einheitlichen Standard für Geräte verschiedener Hersteller. Sie können auftreten:

GerätekennzeichnungHoch (Logic1) Entsprechende PolaritätPraxis
A / BA ist positiv, B ist negativ.A ist positiv, B ist von einem anderen Gerät
+ / -+ ist positiv, - ist negativ+ B ist positiv, - ist A ist positiv, B ist positiv.
D + / D -D + ist hochD + an A, D - an B
485 - A und 485 - BA ist hochA zu A, B zu B

Der zuverlässigste Weg ist also nicht, die Markierung zu betrachten, sondern das Chip-Handbuch zu überprüfen.Finden Sie das Modell des RS - 485 - Transceiver-Chip auf Ihrem Gerät (gemein ist MAX485, SP3485, SN65HVD08 usw.), und dann suchen Sie nach Datasheet - DI, das den Sendeinput entspricht, RO, das den Empfangsausgang entspricht, DE / RE ist Transceiver aktiviert. Der A-Pin ist der In-Phaseneingang (Non-Inverting) des Empfängers, der B-Pin ist der Umkehrungseingang (Inverting). In der gleichen Phase, in der gleichen Phase, umgekehrt in der umgekehrten Phase - wenn es nicht funktioniert, tauschen Sie A und B. Das ist kein Witz, es ist das am häufigsten verwendete Mittel zur Beseitigung von Hindernissen auf der Szene.

3.4 Vier-Leiter - Verkabelung für RS - 422

RS - 422 teilt das RX von RS - 232 in RX + und RX - und das TX in TX + und TX -. Die Verkabelungsregeln: TX am Sender + RX + am Empfang, TX - am Sender, RX - am Empfang.

Häufige Kommunikationsprobleme Analyse und LösungenAbbildung1

Notfallverbindung über Vereinbarungen hinwegWenn Ihr Controller RS - 232 ist, der Sensor RS - 422 ist, ohne Adapter, können Sie die folgenden Notfalllösungen in einer kurzen Entfernung von 5 Metern ausprobieren (nicht garantiert Stabilität, nur Debugger):

  • 422 - Gerät TX + Anschluss 232 - Gerät RX
  • 422 - Gerät TX - Anschluss 232 - Gerät GND
  • 422 - Gerät RX + Anschluss 232 - Gerät TX
  • 422 - Gerät RX - Anschluss 232 - Gerät GND Das Prinzip ist, dass das Differenzsignal von 422 in kurzer Entfernung, die Schwingung des einzelnen Endes auf GND ausreicht, um 232 zu erkennen. Dies ist jedoch völlig unkonform für die Norm, kann nicht verwendet werden. Wenn Sie eine langfristige Nutzung der Produktionslinie benötigen, kaufen Sie einen RS - 232 - RS - 422 - Wandler, das ein paar Dutzend Dollar kostet.

Das Prinzip ist, dass das Differenzsignal von 422 in kurzer Entfernung, die Schwingung des einzelnen Endes auf GND ausreicht, um 232 zu erkennen. Dies ist jedoch völlig unkonform für die Norm, kann nicht verwendet werden. Wenn Sie eine langfristige Nutzung der Produktionslinie benötigen, kaufen Sie einen RS - 232 - RS - 422 - Wandler, das ein paar Dutzend Dollar kostet.


Viertens, elektrische Schicht Diagnose: Wenn das Multimeter nicht ausreicht,

die physische Verkabelung ist abgeschlossen, das Kabel ist richtig, aber es gibt immer noch keine Daten - zu dieser Zeit müssen Sie die elektrische Schicht sehen.

4.1 Sehen Sie die RS - 232 - Wellenform mit einem Oszilloskop

Oszilloskop-Sonde - Klammer GND, Sonde auf TX-Fuß. Im Leerlauf ist RS - 232 eine negative Spannung (-5V ~ -12V). Wenn Sie Daten senden beginnen, ist das Startbit eine positive Spannung (+5V ~ +12V, entspricht der Logik 0), gefolgt von 8 Datenbits (niedriges Bit zuerst), gefolgt von einem Check-Bit (falls vorhanden), und schließlich wird das Stop-Bit zur negativen Spannung (Logik 1) zurückgekehrt.

Eine normale Wellenform sollte quadratisch sein - sowohl die aufsteigenden als auch die absteigenden Kanten sind einfach. Wenn Sie sehen, dass die Ecke der Quadratwelle rund ist, oder die Amplitude des Levels ernsthaft zu wenig ist (sollte etwa ± 8V sein, tatsächlich nur ± 2V), ist es ein alter Treiberchip, oder Ihr USB-Modul 232 ist zu wenig Stromversorgung.

Die FormelDauer jedes Bit = 1 / Baudrate. Bei 9600 bps beträgt jeder Bit ca. 104 μ s; bei 115200 bps beträgt jeder Bit ca. 8,68 μ s Messen Sie die Breite des Startbits mit dem Oszilloskop-Cursor, und wenn Sie deutlich von dem erwarteten Wert abweichen, ist die Baud-Rate falsch eingestellt.

4.2 A / B-Wellenform von RS - 485 mit Differenz-Sonde

Unterschiedspannung von RS - 485 = V _ A - V _ B. Senden Sie die Logik 1, V _ A > V _ B (Differenzspannung ≥ +1,5 V); Senden Sie die Logik 0, V _ A < V _ B (Differenzspannung ≤ -1,5 V).

Eine wirklich nützliche Diagnose istWenn der Bus leer ist。Wenn alle Sender auf dem RS - 485 - Bus ausgeschaltet sind, sollte die Differenzspannung zwischen A / B durch einen Ausfallsicherer Bias auf einem bestimmten Leerstand gehalten werden (normalerweise ≥ + 200 mV, um sicherzustellen, dass der Empfänger nicht um 0 V schwingt). Wenn Sie die Spannung zwischen A / B mit einem Multimeter DC-Datei messen und die Lesung im Leerlauf nahe 0V liegt, ist die Empfänger-Ausgabe unsicher - die Kommunikation ist entweder intermittierend oder vollständig 0xFF.

Der Auslegungswert des Bias-Widerstandes hängt von der Anzahl der Knoten und dem Endwiderstand ab:

  • Der Terminationswiderstand Rt beträgt in der Regel 120 Ω, jeweils ein an beiden Enden, Rt_eq = 60 Ω nach gleichwertiger Parallelverbindung
  • benötigt einen Pull-up - Widerstand (B bis VCC) und einen Pull-down - Widerstand (A bis GND), um sicherzustellen, dass V_AB ≥ 200mV im Leerlauf
  • VCC = 5V zum Beispiel, Erforderlicher Pull-Up / Pull-Down - Widerstand ≈ (VCC - 0,2 V) * Rt _ eq / (2 * 0,2 V) ≈ 720 Ω. Wirkliche Auswahl von 680 Ω oder 560 Ω

Der Bias-Widerstand muss nur eine Gruppe auf dem Bus ausreichen (eine Position), und es ist nicht erforderlich, dass jeder Knoten geschweißt wird.

4.3 Endverbindung - wann und wo

Der Endwiderstand 120 Ω muss an den Bus angeschlossen werden.des BusesSie werden verwendet, um die Signalreflexion zu beseitigen. Nicht jede Slave-Station ist angeschlossen - wenn fünf Slave-Stationen jeweils 120 Ω geschweißt sind, ist es nur 24 Ω nach der gleichwertigen Parallelverbindung möglich, dass der RS - 485 - Treiber-Chip direkt abgezogen wird.

Verwenden Sie die Szene Urteil:

  • Baudrate unter 19200 und Buslänge kürzer als 50 Meter, ohne Terminationswiderstand in der Regel auch mit
  • Baudrate 115200 oder Entfernung von mehr als 200 Meter, muss
  • Wenn es sich um eine Sterntopologie (A / B-Leitung des Geräts von einem Zentrum zu mehreren Zweigleitungen getrennt), ist die Position des Terminationswiderstandes schwer zu bestimmen - diese Topologie selbst ist nicht für RS - 485 geeignet, empfiehlt es sich, einen 485 Hub

zu fügen, fünfte, Parameter Übereinstimmung: Baudrate, Datenbit, Stoppbit, Checkbit

Die fünf Parameter der seriellen Kommunikation (Bordrate, Datenbit, Stopbit, Checkbit, Stromsteuerung) müssen beider Seiten identisch sein. Das ist gesunder Menschenverstand - aber auch die höchste Fehlerrate.

5.1 Wellenform-Eigenschaften bei Unpassung der Baud-Rate

Bei der Kommunikation müssen beide Seiten das Start-Bit identifizieren - die absteigende Kante, die vom Leerlauf (hoher) auf niedrig springt.Wenn die Baud-Rate nicht konsistent ist, wird der Empfänger zum falschen Zeitpunkt abtasten und das Lesen ist ein Chaoscode.

Häufige Kommunikationsprobleme Analyse und LösungenAbbildung2

Ein spezifischer Wert: Gerät A 9600 bps, Gerät B 921600 bps. B sendet ein Byte an A (1 Start-Bit + 8 Daten-Bit + 1 Stop-Bit = 10 Bits), B-Seite - Zeitverbrauch = 10 / 921600 ≈ 10,8 μ s. Die Zeit, bis die Seite A ein Byte empfängt = 10 / 9600 ≈ 1,04 ms. A sieht in einem Zeitfenster von 1,04 ms nur 10,8 μ s Low-Level - Impulse - das wird als Rauschen ignoriert, und A denkt nicht, dass „der Frame beginnt zu übertragen".

Häufige Kommunikationsprobleme Analyse und LösungenAbbildung3

Umgekehrt wird eine niedrige Baudrate zu einer hohen Baudrate übertragen: A (9600bps) benötigt 1,04 ms, um einen Frame zu senden, B (921600bps) nimmt nur den Startrand des ersten Bites in einem 10,8 μ s-Fenster an, und die folgenden 9 - Bit-Abtastenpunkte sind alle falsch - das Ergebnis ist Chaos.

Daher ist das Fehlphänomen der "Bordrate Mismatch" nicht "komplett keine Kommunikation", sondern "Kommunikation, aber alle Daten sind chaotisch".Aus diesem Grund glauben viele Menschen, dass es kein Problem geben sollte, wenn sie richtig verdraht sind, und ignorieren die Parameterüberschreiten.

5.2 Stoppen und Prüfen

Die Anzahl der Stoppbits bestimmt das minimale Abstand zwischen den Frames. Die meisten Geräte haben einen Stopp. Einige ältere Geräte (besonders in den 80er Jahren) benötigten jedoch zwei Stop-Bits, da der Prozessor zu dieser Zeit nicht genug Zeit hatte, um den nächsten Frame innerhalb eines Stop-Bits zu empfangen. Wenn Sie ein Stop-Bit verwenden, um mit einem Gerät mit zwei Stop-Bits zu kommunizieren, verlieren Sie Frames beim Senden von großen Datenmengen - nicht die Zwischendaten, sondern der Empfänger kommt, bevor er bereit ist für den nächsten Frame.

Auch die Prüfsätze (None / Odd / Even) können leicht falsch eingestellt werden. Noch schlimmer ist, dass die Paritätseinstellungen für einige serielle Port-Assistenten-Software nicht wirksam sind - die Schnittstelle wählt Even Parity, aber die unteren Ebenen sind nicht wirklich geöffnet. Aus diesem Grund können Sie nicht nur auf die Anzeige der Software vertrauen, sondern müssen einen Logik-Analysator verwenden, um die Bitstruktur eines Frames zu messen.


Sechs, tatsächliche Ausfall-Szenario und Lösung

Szenario 1: Computer USB-Serial - Anschluss kann mit dem Gerät kommunizieren, HMI-Bildschirm ändern kann nicht

Diese Situation ist sehr häufig, die Ursache im Grunde zusammenzufassen:

  1. * * Das USB-zu - serielle Anschlussmodul des Computers ist möglicherweise hochgezogen. * * Viele USB-to - TTL-Module verfügen über ein automatisches RTS / DTR-Signalmanagement. Wenn das Gerät abhängt von RTS / DTR und anderen Strömungssignale neben der seriellen Kommunikation, ist es kein Problem, den Computer zu verbinden, und der Bildschirm (nur RX / TX / GND) hängt ab.Überprüfen Sie die Definition der seriellen Anschlüsse im Gerätehandbuch - wenn es zusätzlich zu RX / TX / GND Pins wie RTS / CTS / DTR / DSR gibt, die einen Kurzschluss benötigen, müssen Sie es auf dieser Seite des Bildschirms behandeln.
  1. * Einige HMI-Konfigurationssoftware Serienport Einstellungen sind sehr tief (möglicherweise in Systemparameter-Kommunikation - Port-Konfiguration), nicht unbedingt in der Hauptoberfläche des Projekts.
  1. * * Der serielle Anschlussassistente des Computers kann sich an die adaptive Baudrate orientieren. * * Einige Host-Software sendet Frames mit den Standardparametern zuerst, und wenn das Gerät nicht reagiert, wird es automatisch mit einer anderen Baud-Rate erneut gesendet - der Benutzer fühlt sich "automatisch verbunden" an. Aber das Bildschirmende wird diese Anpassung nicht tun, muss die Parameter manuell koppeln.

Szenario 2: Gelegentliche Lesbarkeit von Daten auf dem RS - 485 - Bus, gelegentliche CRC-Fehler

Mehrere Möglichkeiten:

  • * * Fehlende oder fehlgelegte Auswahl des Voreinstellungswiderstands. * * Wenn der Bus im Leerlauf liegt, schwebt die Spannung in der Nähe von 0V, und das erste Byte, das durch die Empfänger-Ausgangsschwankungen erzeugt wird, wird als Start-Bit verwechselt. Messen Sie die A / B-Spannungsdifferenz im Leerlauf des Buses mit einem Multimeter, < 200mV bedeutet, dass Sie eine Bias benötigen.
  • * Das Signal reflektiert sich von einem nicht angeschlossenen Ende zurück und erzeugt eine Kollision an einer bestimmten Bitposition. Besonders leichter ist es in einem Szenario wie „Bordrate 19200 / Bus > 50 m".
  • * * Sternentopologie. * * RS - 485 hat strenge Anforderungen an die Länge der Zweigleitungen - reflektierende kritische Länge ≈ t _ rise * Lichtgeschwindigkeit im Kabel / 2. Wenn t _ rise etwa 10ns, ist die kritische Länge etwa 1 Meter. Eine Linie von mehr als einem Meter erzeugt Reflexionen.Ändern Sie die Sternform in eine Kette oder fügen Sie einen RS - 485 - Hub hinzu.

Szenario 3: Wenn die Baudrate niedrig ist, kann es passieren, wenn sie höher ist, kann es nicht passieren

Der Grund für dieses Phänomen ist normalerweise:KabelqualitätoderEntfernungÜberschreiten. Die Distanz und die Baudrate von RS - 485 sind umgekehrt proportional - im Standard kann 9600 bps bis zu 1200 Meter, 19200 bis etwa 600 Meter, 115200 im Grunde nur innerhalb von 100 Meter.

Aber nicht nur die Distanz. Folgende Faktoren können auch die Geschwindigkeit töten:

  • Unpassung der charakteristischen Impedanz des Kabels (RS - 485 erfordert ein Kabel mit einer charakteristischen Impedanz von 120 Ω, Sie verwenden ein Kabel mit einer Impedanz von 100 Ω wird bei hoher Geschwindigkeit eine Reflexion erzeugen)
  • Der Terminationswiderstand ist nicht angeschlossen oder der Widerstand ist nicht zu groß für die Ausgangskapazität des Treibchips eines Knoten auf dem
  • Bus, die kapazitive Last des Buses ist zu groß.

Diagnose: Vergleich der A-B - Differenz-Wellenform bei 9600bps und 115200bps mit einem Oszilloskop. Wenn die Quadratwellenkanten bei 115200 bps deutlich überschreiten oder stufenförmig auftreten (nicht sauber von hohen zu niedrigen), ist das ein Problem der Signalintegrität.

Szenario 4: USB-in - TTL-Modul TX / RX Kurzverbindung Selbsttest normal, aber auch das Gerät reagiert nicht

Überprüfen Sie drei:

  1. * * GND. * * Sie benötigen keine GND für den Kurzschluss-Selbsttest, aber die Kommunikation mit dem Gerät muss über GND verfügen.
  2. * * Standards für beide Seiten. * * Der USB-to - TTL-Ausgang ist ein TTL-Level (0V / 3.3V oder 0V / 5V), wenn Sie ein Gerät mit einer RS - 232 - Schnittstelle (± 12V) anschließen, kann das Signal direkt an das Signal gekürzt werden. Prüfen Sie, ob das Gerät TTL, RS - 232 oder RS - 485 - Level ist.
  3. * * Ob das Gerät im Übertragungsmodus ist. * * Einige 4G-DTU - oder WiFi-Module werden nach dem Einschalten standardmäßig in den AT-Befehlmodus eingeschaltet und müssen zuerst `++ +` aus der Übertragung herausgehen oder einen speziellen Befehl in den Datenübertragungsmodus geben. Wenn Sie diesen Zustand nicht bestätigen, senden Sie direkt Daten, das Modul ignoriert Sie natürlich.

Szenario 5: Kann RS - 485 zwei Hauptstationen haben?

kann nicht. RS - 485 ist eine Halbduplex-Kommunikation, bei der nur ein Sender gleichzeitig auf dem Bus verfügbar ist. Wenn zwei Master-Stationen gleichzeitig Daten senden, Stromkonflikt - zwei Treiber-Chip Schutzwiderstand an beiden Enden der augenblicklichen Strom zu groß, Glück auslöst Kurzschluss-Schutz, Pech verbrennt den Chip.

Wenn Sie mehrere Masterstationen benötigen - wechseln Sie den CAN-Bus oder laufen Sie Modbus TCP über Ethernet.


VII. Die Kette der Werkzeuge

7.1 Multimedia-Uhren

Das erste Werkzeug zur Beseitigung von Schwerpunkten. Was Sie tun können: Bestätigen Sie die Anschluss - und Ausbrechung der Verkabelung (Buffet), Bestätigen Sie die Potenzialdifferenz zwischen GND (DC-Spannung), Bestätigen Sie den Leerstand des RS - 485 - Buses (DC-Spannung A-B).

7.2 USB-to - Serial-Port - Modul-Selbsttest

Der TX - und RX-Kurzschluss - Selbsttest ist eine grundlegende Fähigkeit. Beachten Sie jedoch, dass SieHexadezimalmodus verwenden.- - Der ASCII-Modus versteckt die Steuerzeichen.

7.3 Logik-Analysator

Der Logik-Analysator ist die ultimative Waffe für das Debuggen der seriellen Kommunikation. Heutige inländische Logik-Analysatoren (wie Saleae-Klon, Kingst LA1010) sind bereits sehr billig - Modelle, die das UART / SPI / I2C-Protokoll automatisch analysieren können, sind für weniger als 200 Blocks erhältlich.

Verwenden Sie: Schließen Sie CH0 des Logikanalyzers an TX, CH1 an RX und GND an das Gerät GND. Setzen Sie die Protokolllösung auf UART, die Paare von Parametern wie die Baudrate ein und sehen Sie dann direkt, ob die gesendeten und empfangenen Daten den Erwartungen entsprechen.

Schlüsselfunktionen in der Analyse: Wenn der Logic Analyzer mehrere Bytes an Daten analysiert als der Serien-Assistent (z. B. mehr 0x00 am Ende), zeigt der Serien-Assistent im ASCII-Modus unsichtbare Zeichen an. 16 - Modell-Bestätigung.

7.4 Oszilloskop

Ein Oszilloskop kommt an, wenn der Logikanalysator nur sagen kann, dass die Daten falsch sind, aber nicht wissen, warum sie falsch sind. Schauen Sie sich die Aufstiegs - / Abstiegszeit des Signals, Überschwemmungen, Klingeln, Amplitude-Abfall an - dies sind elektrische Indikatoren, die die Kommunikationsqualität beeinflussen.


VIII. Checklist Quick Checklist

Check-SchritteCheck-InhalteWerkzeugeSelf-Test von USB-to - Serial-Port - Modul
1USB-Modul zum Serienanschluss selbst testenDuPont-Kabel + Serial-Port - AssistantHexadezimal-Loop nach TX / RX-Kurzverbindung
2GemeinsamMultimeter-BippenGND-Leitung an beiden Enden
3GND-PotenzialdifferenzMultimeter-DC - DateiGND-Spannungsdifferenz an beiden Enden < 2V
4RX / TX-VerbindungsrichtungMultimeter-DC - DateiTX mit negativer Spannung (RS - 232), RX mit hohem Widerstand
5RS - 485 A / B PolaritätChip-Handbuch - VergleichGleichphasen-Termination Gleichphasen-Termination
6Bus-LeerlauflevelMultimeter DC-DatenRS - 485 A-B Leerlaufspannung ≥ 200mV
7TerminationswiderstandMultimeter-Widerstandsschiff120 Ω an beiden Enden des Buses, nicht in der Mitte erscheinen
8Baudrate / Datenbit / Stoppbit / CheckbitLogik-AnalysatorMessable Bitbreite = 1 / Baudrate, Rahmenstruktur konsistent
9WellenformqualitätOszilloskopQuadratwellenkanten sauber, genügend Amplitude, Ohne übermäßige Schwingung
10GerätemodusGerätemanualNicht im Spezialmodus wie Transmission / AT / Sleep

Drücken Sie diese Tabelle von oben nach unten, springen Sie nicht bis zum letzten Schritt. Das größte Tabu bei der Serienversorgung ist: „Ich denke, das Kabel ist sicher in Ordnung" und springt direkt zu Schritt 5 - in 99% der Fälle stecken Sie im ersten Schritt fest.


Probleme noch mal reden. Das Ergebnis ist, dass es zwei Schlüsse gibt: entweder weniger eine Linie oder mehr eine Linie gibt.

Sollte man diese Informationen für ein echtes Projekt verwenden?

Gehen Sie zum Tool Center, um Nachrichten zu analysieren, CRC-Prüfungen und Geräte-Debugging zu erledigen, oder senden Sie Anforderungen für Auswahl - und Zugangsvorschläge.

Ingenieur Mitglied

Verwandeln Sie diesen Artikel in ein umsetzbares Debuggermaterial

Erweiterte Nachrichtenanalyse, Paket-Downloads, Codebeispiele, Engineering-Szenarien und Priority-Technischer Support sind für die Real-Projekt - Bereitstellung möglich.

Unbegrenzte Werkzeuge
Datenpaket und Codepaket
Vollständige Engineering Case-Basis
Vorrangiger Zugang zum technischen Support

Antwort veröffentlichen

Ihre E-Mail - Adresse wird nicht öffentlich gemacht. Erforderliche Elemente wurden verwendet * markiert.