In diesem Artikel werden die folgenden Themen im Detail erläutert:
1) Schritt 1: RS232-Verbindung und-Signale verstehen
2) Schritt 2: Erfahren Sie mehr über das Protokoll
3) Schritt 3: Steuern Sie Ihre RS232-Geräte mithilfe von 232Analyzer
Nachdem Sie diese Seite gelesen haben, sollten Sie die meisten Hardware-und Software-Standards (Protokoll-Standards) für RS232 verstehen können., Wenn Sie die Möglichkeit haben, Ihre RS232-Geräte mit der 232Analyzer-Software zu testen, sollten Sie in der Lage sein, Ihre RS232-Geräte in kurzer Zeit zu steuern.
Schritt 1: Verstehen RS232 Verbindung & Signale
RS-232C, EIA RS-232, oder einfach RS-232, bezieht sich auf die gleiche standard definiert durch die Electronic Industries Association in 1969 für serielle kommunikation.
DTE-und DCE
DTE steht für Data Terminal Equipment. Ein computer ist ein DTE. DCE-steht für Data Communication Equipment. Ein modem ist ein DCE.,
DTE wird normalerweise mit einem Stecker geliefert, während DCE mit einer Buchse geliefert wird. Das ist jedoch nicht immer wahr. Verwenden sie den einfachen weg unten zu bestätigen: Messen Pin 3 und Pin 5 von eine DB-9 Stecker mit einem Volt Meter, wenn sie erhalten eine spannung von-3V zu-15V, dann es ist ein DTE gerät. Wenn die Spannung an Pin 2 liegt, handelt es sich um ein DCE-Gerät.
Hinweis: Das Ergebnis für einen DB-25-Anschluss ist umgekehrt (siehe Konvertierungstabelle DB-9 bis DB-25 unten).
RS-232 Pin-outs (DB-9)
Einem männlichen DB-9-Stecker von vorne gesehen., Reverse oder rückansicht von stecker für Buchse.,div>7
RS-232 Connections
A straight-through cable is used to connect a DTE (e.,g. Computer) an eine DCE (z.B. Modem), alle Signale auf einer Seite mit den entsprechenden Signalen auf der anderen Seite eins zu eins verbunden. Ein Crossover-Kabel (Nullmodem) wird verwendet, um zwei DTE direkt ohne Modem dazwischen anzuschließen., Sie kreuzen Sende-und Empfangssignale zwischen den beiden Seiten und es gibt viele Variationen, wie die anderen Steuersignale verdrahtet sind, unten ist einer von ihnen:
RS-232 Signale
Die obige Grafik veranschaulicht eine typische RS-232-Logikwellenform (Datenformat: 1 Startbit, 8 Datenbits, keine Parität, 1 Stoppbit)., Die Datenübertragung beginnt mit einem Startbit, gefolgt von den Datenbits (LSB zuerst gesendet und MSB zuletzt gesendet) und endet mit einem „Stop“ – Bit.
Die spannung von Logic “ 1 „(Mark) ist zwischen-3VDC zu-15VDC, während die Logic“ 0 “ (Raum) ist zwischen +3VDC zu +15VDC.
RS-232 verbindet die Masse von 2 verschiedenen Geräten miteinander, was die sogenannte „unsymmetrische“ Verbindung ist. Eine unsymmetrische Verbindung ist anfälliger für Geräusche und hat eine Abstandsbeschränkung von 50 ft (etwa 15 Meter).,
Schritt 2: Erfahren Sie mehr über das Protokoll
Ein Protokoll ist ein oder mehrere Sätze von Hardware-und Software-Regeln von allen Kommunikationsparteien für den Austausch von Daten richtig und effizient vereinbart.
Synchrone und asynchrone Kommunikation
Synchrone Kommunikation erfordert, dass Sender und Empfänger dieselbe Uhr gemeinsam nutzen. Der Sender stellt dem Empfänger ein Zeitsignal zur Verfügung, damit der Empfänger weiß, wann er die Daten „lesen“ muss. Synchrone Kommunikation hat im Allgemeinen höhere Datenraten und größere Fehlerprüfungsfähigkeit. Ein Drucker ist eine form der Synchronen Kommunikation.,
Asynchrone Kommunikation hat keine timing-signal oder clock. Stattdessen fügt es Start – / Stoppbits in jedes Datenbyte ein, um die Kommunikation zu „synchronisieren“. Da weniger Drähte für die Kommunikation verwendet werden (keine Taktsignale), ist die asynchrone Kommunikation einfacher und kostengünstiger. RS-232 / RS-485 / RS-422 / TTL, sind die Formen der Asynchronen Kommunikation.
Bohren nach unten: Bits und Bytes
Die interne Computerkommunikation besteht aus digitaler Elektronik, die nur durch zwei Bedingungen repräsentiert wird: EIN-oder AUSSCHALTEN., Wir stellen diese mit zwei Zahlen dar: 0 und 1, die im Binärsystem als Bit bezeichnet werden.
Ein Byte besteht aus 8 Bits, die die Dezimalzahl 0 bis 255 oder die Hexadezimalzahl 0 bis 255 darstellen. Wie oben beschrieben, ist ein Byte die Grundeinheit der asynchronen Kommunikation.
Baudrate, Datenbits, Parität und Stoppbit
Die Baudrate ist die Kommunikationsgeschwindigkeit, die die Anzahl der Bitübertragungen pro Sekunde misst. Zum Beispiel ist 19200 Baud 19200 Bits pro Sekunde.
Datenbits sind eine Messung der tatsächlichen Datenbits in einem Kommunikationspaket., Die obige Grafik zeigt beispielsweise acht (8) Datenbits in einem Kommunikationspaket. Ein Kommunikationspaket bezieht sich auf eine einzelne Byte-Übertragung, einschließlich Start – / Stoppbits, Datenbits und Parität. Wenn Sie einen Standard-ASCII-Code (0 bis 127) übertragen, reichen 7 Datenbits aus. Wenn es sich um einen erweiterten ASCII-Code (128 bis 255) handelt, sind 8 Datenbits erforderlich.
Parität ist eine einfache Möglichkeit zur Fehlerprüfung. Es gibt gerade, ungerade, Mark-und Leerzeichen. Sie können auch keine Parität verwenden., Bei gerader und ungerader Parität setzt die serielle Schnittstelle das Paritätsbit (das letzte Bit nach dem Datenbit) auf einen Wert, um sicherzustellen, dass das Datenpaket eine gerade oder ungerade Anzahl logisch hoher Bits aufweist. Wenn die Daten beispielsweise 10010010 für eine gerade Parität sind, setzt die serielle Schnittstelle das Paritätsbit auf 1, um die Anzahl der logikhohen Bits gleichmäßig zu halten. Für ungerade Parität ist das Paritätsbit 0, so dass die Anzahl der logisch hohen Bits Ungerade ist. Mark parity setzt einfach das Paritätsbit auf logic-high und Space setzt das Paritätsbit auf logic-low, damit die empfangende Partei feststellen kann, ob die Daten beschädigt sind.,
Stoppbits werden verwendet, um das Ende eines Kommunikationspakets zu signalisieren. Dies hilft auch, verschiedene Uhren auf den seriellen Geräten zu synchronisieren.
Datenflusskontrolle (Flow Control)
das Handshaking wird auch als „Flow Control“. Der Hauptzweck des Händeschüttelns besteht darin, eine Überlastung des Empfängers zu verhindern. Durch die Verwendung von Handshaking-Signalen können Empfänger das sendende Gerät anweisen, die Datenübertragung anzuhalten, wenn der Empfänger überlastet ist. Es gibt drei Arten von Handshake: Software-Handshake Hardware-Handshake und die Beiden.
Software-handshaking verwendet zwei steuerzeichen: XON und XOFF., Der Empfänger sendet diese Steuerzeichen während der Kommunikation an den Sender. XON ist dezimal 17 und XOFF ist dezimal 19 im ASCII-Diagramm. Der Nachteil von Software-Handshaking ist, dass diese beiden Steuerzeichen nicht in Daten verwendet werden können. Dies ist sehr wichtig, wenn Sie Binärdaten übertragen, da Sie diese beiden Codes möglicherweise in Ihren Daten verwenden müssen.
Hardware handshaking macht gebrauch von tatsächlichen hardware linien, wie RTS / CTS, DTR / DSR, und DCD / RI (für modem).
In der DTE / DCE-Kommunikation ist RTS (Request to Send) eine Ausgabe auf der DTE und eine Eingabe auf der DCE., CTS (Clear to Send) ist das Antwortsignal, das vom DCE kommt. Vor dem Senden einer Daten bittet der DTE um Erlaubnis, indem er seine RTS-Ausgabe auf hoch setzt. Es werden keine Daten gesendet, bis die DCE mithilfe der CTS-Leitung die Berechtigung erteilt. Das DTE verwendet das DTR-Signal (Data Terminal Ready), um anzuzeigen, dass es bereit ist, Informationen zu akzeptieren, während das DCE das DSR-Signal für denselben Zweck verwendet. DTR/DSR sind normalerweise für die gesamte Verbindungssitzung EIN-oder AUSGESCHALTET (z. B. Off-Hook), während RTS / CTS für jede Datenübertragung EIN-oder AUSGESCHALTET sind., DCD (Data Carrier Ready) wird vom Modem verwendet, wenn eine Verbindung mit Remote-Geräten hergestellt wurde, während RI (Ring Indicator) vom Modem verwendet wird, um ein Ringsignal von der Telefonleitung anzuzeigen.
Datenformate (Binär, Hex, Dec, Oct und ASCII)
Serielle Geräte verwenden Binär für die Kommunikation, die aus nur zwei eindeutigen Zahlen besteht: 0 und 1.
Binär ist das Nummerierungssystem Base-2. Ein Datenbyte besteht aus 8 Binärziffern von 0000 0000 bis 1111 1111. Hexadezimal ist das Basis-16-System, das aus 16 Zahlen besteht: 0 bis 9 und den Buchstaben A bis F (Dezimalzahl 15).,
Das hexadezimale Nummerierungssystem ist nützlich, da es jedes Byte als zwei aufeinanderfolgende Hexadezimalziffern darstellen kann und es für Menschen einfacher ist, Hexadezimalzahlen als Binärzahlen zu lesen. Die meisten Hersteller verwenden Hexadezimal in ihrer Protokolldokumentation. Es ist einfach, einen Wert von Hexadezimal in Binär umzuwandeln. Übersetzen Sie einfach jede hexadezimale Ziffer in ihr 4-Bit-Binäräquivalent. ZB Hexadezimalzahl F3 entspricht Binärzahl 1111 0011.
Dezimal bezieht sich auf Zahlen in Basis 10, dem Nummerierungssystem, das wir im Alltag am häufigsten verwenden., Es ist nicht so einfach wie Hexadezimal und Oktal, Dezimal in Binärzahl umzuwandeln, aber es ist einfacher für uns, Dezimal zu verstehen.
Oktal bezieht sich auf das Nummerierungssystem base-8, das nur acht eindeutige Symbole (0 bis 7) verwendet. Programmierer verwenden häufig das Oktalformat, da es für Menschen relativ einfach zu lesen ist und leicht in das Binärformat übersetzt werden kann: Jede Oktalziffer repräsentiert 3 Binärziffern. ZB ist die Oktalzahl 73 gleich der Binärzahl 111 011.
ASCII (American Standard Code for Information Interchange) ist eine Zeichenkodierung, die basierend auf dem englischen alphabet., ASCII-Codes (sowohl lesbar als auch unlesbar) werden häufig in der Kommunikation verwendet, z. B. in der Modemkommunikation. Buchstaben A bis Z und Zahlen 0 bis 9 sind lesbare ASCII-Codes. Einige ASCII-Codes sind nicht lesbar, z. B. die Steuercodes: XON und XOFF, die in der Software Flow Control verwendet werden.
Prüfsumme
Viele serielle Protokolle verwenden Prüfsumme (zusätzliche Bytes am Ende der Datenzeichenfolge hinzugefügt), um die Datenintegrität zu überprüfen, da während der Datenübertragung Fehler auftreten können. Es gibt viele Arten von Prüfsummen, von der einfachsten Verwendung in Modula oder BCC bis hin zur ausgeklügelten CRC-Berechnung., Am Beispiel von Modula erfahren wir, dass der Absender vor der Datenübertragung alle Befehlsbytes addiert und dann um 255 (dezimal) modifiziert, um ein zusätzliches Byte zu erhalten. Dies wird am Ende der Befehlszeichenfolge hinzugefügt. Wenn der Empfänger die Befehlszeichenfolge empfängt, überprüft er zuerst das hinzugefügte Byte, ob die Daten unverändert bleiben oder nicht. Wenn dies der Fall ist, werden die Daten akzeptiert, und wenn nicht, wird der Absender aufgefordert, die Daten erneut zu senden.
Beispiele für Protokollbefehle
Ein Protokollbefehl ist eine Datenzeichenfolge, die von einem seriellen Gerät (z. B. einem Computer) an einen anderen gesendet wird (dh, Modem). Hier sind einige Beispiele:
ASCII-Befehl Beispiel: ATI1 zum Abfragen der Herstellerinformationen des Modems. (Hinweis: sind die Steuercodes von Wagenrücklauf und Zeilenvorschub).,mal und es wird: 41 54 49 31 0D 0A
Konvertieren Sie die Befehlszeichenfolge oben in Dezimal und es wird: 065 084 073 049 013 010
Konvertieren Sie die Befehlszeichenfolge oben in Oktal und es wird: 101 124 111 061 015 012
Konvertieren Sie die Befehlszeichenfolge oben in Binär und es wird: 01000001 01010100 01001001 00110001 00001101 00001010
Schritt 3: Steuern Sie mit 232Analyzer
232Analyzer ist eine Erweiterte Serial Port Protocol Analyzer software, die sie zu steuern / debug, monitor / sniff serielle geräte (RS-232 / RS-485 / RS-422 / TTL) direkt von ihrem PC., 232Analyzer ist eine Shareware, die kostenlose Version hat einige Einschränkungen, ist aber mehr als genug, um Ihre seriellen Geräte zu testen und zu steuern. Klicken Sie hier, um eine KOSTENLOSE Kopie herunterzuladen.
Prüfsummenberechnung
232Analyzer wird mit einem Prüfsummenrechner geliefert, mit dem Sie das komplizierte Prüfsummenbyte in Sekunden berechnen können, hier ein Beispiel:
Angenommen, Sie steuern einen Projektor, und das Projektorprotokoll verwendet xOR, um das zusätzliche Prüfsummenbyte abzurufen, die Befehlszeichenfolge zum Einschalten des Projektors lautet: „1A 2B 3C“ plus das Prüfsummenbyte., Verwenden Sie die folgenden Verfahren zur Berechnung der Prüfsummen-byte:
- Select Hex als Operanden-format
- Wählen Sie xOr als Betreiber
- – Taste in der Kommando-string und fügen Sie ein Komma (,) nach jedem byte des Befehls-code: z.B., 1A,2B,3C,
- Klicken Sie auf die Schaltfläche „Berechnen“ und Sie erhalten das Ergebnis von 0D (0 wird weggelassen)
Wählen Sie den COM-Port und richten Sie die Kommunikationsformate ein
Hinweis: Nachdem Sie die richtigen Kommunikationsformate eingerichtet haben (diese müssen mit den COM-Porteinstellungen des Projektors übereinstimmen), klicken Sie links auf die Schaltfläche „Verbinden“, um den COM-Port zu aktivieren.,
Flow-control-Einstellungen
Steuern Sie Ihre RS232-Geräte
- Steuerungen / Monitor-Line-Staaten
232Analyzer ermöglicht Ihnen, zu Steuern / überwachen Linie Staaten des COM-ports.
- Linie staaten von RTS und DTR wird umgeschaltet werden, wenn die jeweiligen LED ist geklickt, sie können eine spannung-meter zu überprüfen die änderungen, sie sollte erhalten +6 V bis +15 V, wenn die linie zustand ist AUF, und-6 V bis-15 V, wenn die linie zustand ist OFF.,
- Andere Leitungszustände können über den virtuellen Ds überwacht werden, z. B. RX, TX, DSR, CTS, DCD und RI.
- Befehle senden / empfangen
Verwenden Sie das obige Beispiel, um einen Projektor zu steuern (Projektor einschalten), geben Sie die vollständige Befehlszeichenfolge“ 1A,2B,3C, 0D „in das Send_Command_Pane ein, wie oben gezeigt, und klicken Sie dann auf die Schaltfläche“ Senden“…
Hinweise:
- In der KOSTENLOSEN Version ist der Hex-Modus nicht verfügbar., Sie können das Dezimalformat verwenden, um die Befehlszeichenfolge zu senden: „26,43,60,13“,
- Sie können jedes RS-232-Gerät zum Testen verwenden, solange Sie die Protokollbefehle kennen.