Latenzen im Ethernet zu RS232 Adapter

Latenzen im Ethernet zu RS232 Adapter

Erfordernis: Auf meinem Windows läuft eine Software, die über den RS232-Port mit einem externen Gerät kommuniziert. Die Hardware empfängt die vom PC gesendeten Befehle und antwortet dem PC. Bei Verwendung eines einfachen Kabels zwischen Computer und Hardware ohne Adapter sind Übertragung und Empfang etwa in 50 ms abgeschlossen. Bei Verwendung eines Ethernet-zu-RS232-Adapters beträgt die gesamte Kommunikationszeit (50 + x) ms, mit einer Latenz von x ms.

Viele Produkte sind online verfügbar. Ich habe mir einige der Produktdatenblätter angesehen. Es gab Informationen zu Ethernet- und seriellen Kommunikationsparametern wie Datenbits, Baudrate und Geschwindigkeit, aber Informationen zur Latenz konnte ich nirgends finden.

Bis jetzt Ich habe zum Testen meiner Software einen Adapter (max. Baudrate 230,4 kbps) verwendet, aber dann ist mir die Ausnahme „Serial Port Timeout“ begegnet.

Frage

Von welchen Kriterien hängt diese Latenz ab?

Hängt die Latenz von der Baudrate ab?

Was sollte ich in den Datenblättern überprüfen, um die (ungefähre) Latenz zu bestimmen?

Geben die Hersteller Informationen zur Latenz an?

Antwort1

Von welchen Kriterien hängt diese Latenz ab?

Ich vermute, dass Pufferung, Datenrahmen, Übertragung, Protokoll und Timeout die wichtigsten sind.

Wie andere Kommentatoren erwähnt haben, kommt es zumindest zu Verzögerungen bei der Protokollübersetzung. Sie müssen die Pufferung der Endpunkt- und Brückendaten, die Neucodierung, den Protokoll-Overhead und die Übertragungszeit berücksichtigen. Die Latenz wird davon beeinflusst, ob ein vollständiger Datenrahmen vor der Übertragung gepuffert wird oder nicht und wie hoch die internen Timeouts sein könnten. Diese können bei einigen Geräten konfiguriert werden.

Es hängt auch davon ab, ob das Ethernet-Protokoll UDP, TCP oder ein benutzerdefiniertes Protokoll verwendet. Es hängt davon ab, ob das Protokoll die erneute Übertragung unterstützt und ob es zusätzliche Integritäts- oder Signalinformationen hinzufügt. Auch diese können in einigen Geräten konfiguriert werden. Ohne nachgeschaut zu haben, würde ich vermuten, dass Low-End-Geräte dazu neigen, UDP ohne Integrität oder erneute Übertragung zu verwenden und dazu neigen, einen vollständigen UDP-Datenrahmen mit einem internen Timeout zu puffern, um einen Teilrahmen zu senden, wenn der Datenfluss stoppt.

Hängt die Latenz von der Baudrate ab?

Es hängt wirklich davon ab, welche Latenz Sie messen. Der Unterschied in den seriellen Datenraten wird wahrscheinlich IhreDurchsatzdeutlicher als IhreLatenz. Ja, es wirkt sich auf die Latenz aus, aber bedenken Sie, dass bei 9600 bps die Übertragung eines Bytes etwa 1 ms dauert.

Was sollte ich in den Datenblättern überprüfen, um die (ungefähre) Latenz zu bestimmen?

Geben die Hersteller Informationen zur Latenz an?

Brücken für industrielle Anwendungen liefern manchmal Informationen über Latenz und/oder Durchsatz. Zum Beispieleine solche Produktseitegibt eine Latenz von 2 ms an. Es gibt auch einige von Unternehmen gesponserte Testberichte wie diesenWettbewerbsvergleich 2003oderdieser Bericht von 2002das die Latenzen mehrerer Geräte vergleicht. Die Latenzen in ihrem Test reichen von einigen Millisekunden bis zu durchschnittlich 861 ms.

Wie dem auch sei, es klingt, als ob Ihr zugrunde liegendes Problem eher ein Timeout der seriellen Schnittstelle als ein Latenzproblem ist. Nach dem Wenigen, was Sie gesagt haben, vermute ich vorläufig einen Software- oder Konfigurationsfehler. In einer seriellen Schnittstellenbibliothek sind normalerweise mehrere Timeouts angegeben, z. B. Interbyte-Timing, Multibyte-Lesezeit und Schreibzeit. Außerdem gibt es Pufferüberlauffehler, wenn die gepufferten Daten nicht schnell genug geleert werden. Wie Sie vielleicht wissen, können Sie normalerweise jedes Timeout in Ihrem seriellen Client anpassen oder deaktivieren.

Ich würde zunächst herausfinden, wo der Fehler herkommt. Sie könnten die Geschwindigkeit auch auf 9600 reduzieren, da billige Adapter bei ihren angegebenen Höchstwerten nicht immer die beste Leistung erzielen.

verwandte Informationen