Forum: PC Hard- und Software Vorteile einer echten seriellen Schnittstelle gegenüber einer virtuellen


von messender (Gast)


Lesenswert?

Hallo.
Angenommen man hat einen PC mit echtem COM-Anschluss und USB-Anschlüssen 
und möchte mit einem μC schnellstmöglich über die serielle Schnittstelle 
kommunizieren.
Der μC hat ein UART-Modul und einen Mini-USB Anschluss welcher ebenfalls 
UART-fähig ist.

Macht es dann Sinn ein MAX232-Modul an den μC anzuschließen und den μC 
mit dem PC mit einem D-SUB-9 Kabel zu verbinden und somit eine echte 
serielle Schnittstelle zu haben?
Oder macht es keinen Unterschied in der Übertragungsgeschwindigkeit im 
Vergleich zu einer virtuellen COM-Schnittstelle per USB-Kabel?
Ist das Signal in der echten seriellen Schnittstelle (RS232) weniger 
störanfällig als über die virtuelle?

Über USB-Anschluss müsste der PC die virtuelle Schnittstelle doch per 
Bit-Banging simulieren, wenn ich das richtig verstanden habe.
Gilt das auch für den μC?

: Verschoben durch User
von Einer K. (Gast)


Lesenswert?

USB über 1200 Meter?
RS232C, als Bus?

Es gibt gefühlt 1000 verschiedene Methoden, um 2 EDV Partner zu 
verbinden.

Ohne die Rahmenbedingungen zu setzen, keine Chance da einen 
Schwanzvergleich zu entscheiden.

messender schrieb:
> Macht es dann Sinn ein MAX232-Modul an den μC anzuschließen und den μC
> mit dem PC mit einem D-SUB-9 Kabel zu verbinden und somit eine echte
> serielle Schnittstelle zu haben?
Natürlich macht das Sinn, wenn die Gegenstelle kein USB kann.
Auch das Gegenteil ist ok, wenn die Gegenstelle kein RS232C kann.

messender schrieb:
> Ist das Signal in der echten seriellen Schnittstelle (RS232) weniger
> störanfällig als über die virtuelle?
Interessante Frage....
Dürfte an der Art der Störung liegen.
Und natürlich an dem Aufbau, in wieweit diese Störung sich auswirken 
kann.

Übrigens, in der Industrie, bei Steuerungsaufgaben, versucht man USB 
schon zu vermeiden. Da ist ModBus oder CAN etwas verbreiteter.

messender schrieb:
> Oder macht es keinen Unterschied in der Übertragungsgeschwindigkeit im
> Vergleich zu einer virtuellen COM-Schnittstelle per USB-Kabel?
Ein USB-Serial Wandler kann nur so schnell sein, wie seine Baudrate 
erlaubt.
Ansonsten ist die auch die Baudrate Virtuell, quasi nicht vorhanden. Ein 
Parameter ohne Wirkung.

von my2ct (Gast)


Lesenswert?

messender schrieb:
> Angenommen man hat einen PC mit echtem COM-Anschluss und USB-Anschlüssen
> und möchte mit einem μC schnellstmöglich über die serielle Schnittstelle
> kommunizieren.

Wie schnell kann denn dein µC, inklusive Bereitstellung/Verarbeitung der 
Daten, kommunizieren, nur um da mal den vermutlich schwächeren Partner 
abzuklopfen.

von Joachim B. (jar)


Lesenswert?

messender schrieb:
> Der μC hat ein UART-Modul und einen Mini-USB Anschluss welcher ebenfalls
> UART-fähig ist.

Die Pegel und der Störabstand

maximale USB Länge?
https://www.sir-apfelot.de/geloest-wie-gross-ist-die-maximale-kabellaenge-von-einem-usb-kabel-1491/

maximale RS232 Länge
https://www.lammertbies.nl/comm/info/de_RS-232_specs.html

RS232 hat viel mehr Signale

RTS CTS DTR DSR RTR DCD RI nicht alle werden von USB bedient
https://de.wikipedia.org/wiki/RS-232

von Rolf M. (rmagnus)


Lesenswert?

Arduino Fanboy D. schrieb:
> messender schrieb:
>> Macht es dann Sinn ein MAX232-Modul an den μC anzuschließen und den μC
>> mit dem PC mit einem D-SUB-9 Kabel zu verbinden und somit eine echte
>> serielle Schnittstelle zu haben?
> Natürlich macht das Sinn, wenn die Gegenstelle kein USB kann.
> Auch das Gegenteil ist ok, wenn die Gegenstelle kein RS232C kann.

Vergessen, den ersten Satz zu lesen? Da steht ausdrücklich, dass beide 
beides können.

messender schrieb:
> Über USB-Anschluss müsste der PC die virtuelle Schnittstelle doch per
> Bit-Banging simulieren, wenn ich das richtig verstanden habe.

Nein, es sei denn, die serielle Schnittstelle wird eben für Bitbanging 
missbraucht.

von Gerd E. (robberknight)


Lesenswert?

messender schrieb:
> Macht es dann Sinn ein MAX232-Modul an den μC anzuschließen und den μC
> mit dem PC mit einem D-SUB-9 Kabel zu verbinden und somit eine echte
> serielle Schnittstelle zu haben?

Dieser Weg könnte unter Umständen einfacher zu programmieren sein. 
Sowohl auf der Seite des µC (USB-Deskriptoren, USB-Stack,Vendor-ID,...), 
als auch auf der Seite des PC (Treiber, OS-Unabhängigkeit,...).

> Oder macht es keinen Unterschied in der Übertragungsgeschwindigkeit im
> Vergleich zu einer virtuellen COM-Schnittstelle per USB-Kabel?

Wenn Du die virtuelle, USB-basierte serielle Schnittstelle auf beiden 
Seiten richtig programmierst, dürfte sie schneller, was die 
Übertragungsgeschwindigkeit angeht, sein.

Die klassische serielle Schnittstelle hat dagegen eine niedrigere 
Latenz, da sie nicht paketorientiert arbeitet und Übertragungen vom µC 
aus nicht auf den nächsten USB SOF vom Host warten müssen.

> Über USB-Anschluss müsste der PC die virtuelle Schnittstelle doch per
> Bit-Banging simulieren, wenn ich das richtig verstanden habe.

Nein. Er sendet die Daten in USB-Paketen die dann auf der Gegenseite 
ausgepackt und ausgewertet werden.

von Jim M. (turboj)


Lesenswert?

messender schrieb:
> Macht es dann Sinn ein MAX232-Modul an den μC anzuschließen und den μC
> mit dem PC mit einem D-SUB-9 Kabel zu verbinden und somit eine echte
> serielle Schnittstelle zu haben?

Welchen MAX232 genau? Die originalen MAX232 waren IIRC nur für bis 
ungefähr 115200 Baud zu gebrauchen - moderne USB2UART laufen auch noch 
mit 1 MBaud zufriedenstellen (wenn das die Gegenstelle unterstützt).

Die Antwort lautet also auch hier: Kommt darauf an(tm).

Wir kennen die Einsatzbedingungen nicht und können leider nicht 
hellsehen.

von c-hater (Gast)


Lesenswert?

messender schrieb:

> Angenommen man hat einen PC mit echtem COM-Anschluss und USB-Anschlüssen
> und möchte mit einem μC schnellstmöglich über die serielle Schnittstelle
> kommunizieren.

"Schnellstmöglich" läßt mehrere Interpretationen zu. Hoher Durchsatz 
oder geringe Latenz. Genau dies wäre aber eine der Kriterien zur Wahl 
der Schnittstelle.

Mit einem echten COM kann man deutlich geringere Latenzen erreichen als 
bei dem Umweg über den gesamten USB-Stack.

Dafür kann man über USB einen deutlich höheren Durchsatz erreichen, wenn 
die Verbindung nicht gerade nur ein paar Millimeter bis Zentimeter lang 
ist, sondern einige (wenige) Meter.

Bei noch längeren Verbindungen ist dann wieder die echte 
COM-Schnittstelle im Vorteil. Geht bei USB schon lange garnix mehr, ist 
mit RS232 immer noch eine Verbindung möglich, wenn auch nur bei 
zunehmend bescheidenerem Durchsatz.

> Über USB-Anschluss müsste der PC die virtuelle Schnittstelle doch per
> Bit-Banging simulieren, wenn ich das richtig verstanden habe.

Das hast du nicht richtig verstanden.

von messender (Gast)


Lesenswert?

my2ct schrieb:
> messender schrieb:
>> Angenommen man hat einen PC mit echtem COM-Anschluss und USB-Anschlüssen
>> und möchte mit einem μC schnellstmöglich über die serielle Schnittstelle
>> kommunizieren.
>
> Wie schnell kann denn dein µC, inklusive Bereitstellung/Verarbeitung der
> Daten, kommunizieren, nur um da mal den vermutlich schwächeren Partner
> abzuklopfen.

Es handelt sich um keinen speziellen µC, ich versuche nur besser zu 
verstehen wie man die serielle COM-Schnittstelle mit der virtuellen 
COM-Schnittstelle abwägen kann.
Ich habe selbstverständlich auch selbst davor recherchiert aber ganz 
durchdrungen habe ich den Unterschied noch nicht.

von Karl B. (gustav)


Angehängte Dateien:

Lesenswert?

Hi,
kommt auf die Hardware an:

"...Supports RS232, RS485 and RS422 modes
Bi-directional speeds from 50 bps to 16Mbps/Port.."

https://sewelldirect.com/pci-express-rs-232-serial-4-port-card-moschip-9845-chipset

Also, meine MOS-Chip blockiert einen PCI Steckplatz hat aber noch einen 
Slot für Buchsenpanel nötig. Also 2 Slots.
Mit reinem RS232 bzw. V24 konnte bei uns einmal eine Distanz von 50 m 
überbrückt werden ohne merkliche Bitfehlerrate.
Aber jede Signalader noch mit GND verdrillt und extra abgeschirmt.
Prinzipiell gibt es mehr Bitfehler, wenn Nullen oder FF übertragen wird.
Bei asynchron wäre es besser, einen anderen Code zu nehmen.

ciao
gustav

: Bearbeitet durch User
von COMmoran (Gast)


Lesenswert?

messender schrieb:
> Es handelt sich um keinen speziellen µC, ich versuche nur besser zu
> verstehen wie man die serielle COM-Schnittstelle mit der virtuellen
> COM-Schnittstelle abwägen kann.

Gibt mehrere Gründe. Das ganze ist aber in erster Linie sehr robust und 
die wohl am längsten laufende und am besten getestete Schnittstelle. 
Dann läuft es von jedem Betriebssystem und teilweise sogar aus dem BIOS 
(z.B. bei Servern). Bei Linux etc kannst du mit minimalen mitteln eine 
Konsole draus machen.

Meiner einer hat das viel in der Industrie benutzt weil die 
Schnittstellen verschraubt werden können und keiner auf die Idee kommt 
mal eben den USB seriell Konverter zu tauschen. Profi Systeme haben auch 
den vollen Spannungshub (+/-12V - statt +/-5V bei den USB Wandlern) 
damit einen besseren Störabstand. Galvanisch trennen ist einfach und 
Diagnose mit einer LED bzw Prüfstecker ebenso. Die Länge lässt sich via 
RS422 Konverter auf Kilometer ausdehnen, über Glasfaser ist es auch kein 
Problem usw. usf.

Du hast weniger Software Schichten zwischen Schnittstelle und Anwendung 
und kannst selbst mit nem Smartphone (mit entsprechendem Adapter) testen 
.

Im Netzwerk geht die Übertragung mittels COM-Server auch weltweit

Meine Geräte haben alle eine serielle mindestens zur Diagnose eingebaut.
Das ist einfach zu machen,fast jeder Controller hat mindestens eine oder 
man macht es über Software.

von COMmoran (Gast)


Lesenswert?

messender schrieb:
> ich versuche nur besser zu
> verstehen wie man die serielle COM-Schnittstelle mit der virtuellen
> COM-Schnittstelle abwägen kann.

Wenn du seriell stabil über Jahre brauchst lässt du die USB Arie weg. 
Für mal  so eben (sozusagen wenn du daneben stehst) ist die USB Lösung 
einfacher und auch günstiger.

von Stefan F. (Gast)


Lesenswert?

Bei 9600 Baud braucht ein Zeichen ca. 1ms für die serialisierung. So 
lange dauert die Übertragung bei einer "echten" UART Schnittstelle.

Bei USB kann es wegen der paket-orientierten Übertragung im 1 ms Raster 
bis zu 2ms dauern.

Da die Pakete jedoch größer sein können, ist die Übertragungsrate bei 
kontinuierlichem Datenstrom nicht beeinträchtigt.

von COMmoran (Gast)


Lesenswert?

Stefanus F. schrieb:
> Bei 9600 Baud braucht ein Zeichen ca. 1ms für die serialisierung. So
> lange dauert die Übertragung bei einer "echten" UART Schnittstelle.

Da du in der Regel ein Betriebssystem hast das auch Zeitscheiben vergibt 
wird das von der Anwendung her gesehen aber auch nicht besser.

von c-hater (Gast)


Lesenswert?

COMmoran schrieb:

> Da du in der Regel ein Betriebssystem hast das auch Zeitscheiben vergibt
> wird das von der Anwendung her gesehen aber auch nicht besser.

Doch, natürlich kann das besser werden. Z.B. dauert das vollständige 
Programmieren eines ATMega1284P über Ponyprog Tage, wenn man eine 
USB-UART verwendet. Über einen echten COM-Port aber unter zwei Minuten.

Das ist so, weil hier nur "mit Beinchen gewackelt" wird (also Bitbanging 
über RS232-Steuerleitungen), der Latenznachteil von USB also hier 
maximal schädlich durchschlägt.

Und nein, das ist so bei einer ganz normalen Anwendung als Programmer, 
unter einem ganz normalen OS. Und das ist deswegen so, weil die 
Anwendung während ihrer Zeitscheibe durchaus mehrmals mit dem 
COM-Beinchen wackeln kann. Bei dem Weg über USB kann sie aber immer nur 
einmal den Wunsch loswerden, das etwas wackeln möge, muss die 
eigentliche Arbeit aber anderen Threads überlassen, d.h.: wäherend des 
Rests ihrer Zeitscheibe macht die Anwendung erstmal nix Nützliches mehr. 
Aber auch wenn sie den Rest ihrer Zeitscheibe freiwillig freigibt, 
wird's nicht viel besser. Die USB-Threads des OS können nämlich auch 
nicht machen, was sie wollen, sondern müssen sich dem Regime der 
USB-Frames unterwerfen.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Joachim B. schrieb:
> RTS CTS DTR DSR RTR DCD RI nicht alle werden von USB bedient
> https://de.wikipedia.org/wiki/RS-232

Das hat nichts mit USB zu tun, es gibt simple Adapter, bei denen die 
Hersteller des Adapters drauf verzichten.

Die meisten USB-Seriell-Bridges wie z.B. der altbekannte FT232 enthalten 
eine vollständige UART, d.h. sämtliche von Dir aufgezählten 
Hansdhakeleitungen.

von Joachim B. (jar)


Lesenswert?

Rufus Τ. F. schrieb:
> Das hat nichts mit USB zu tun

darf ich an die Frage vom TO erinnern?

messender schrieb:
> Der μC hat ein UART-Modul und einen Mini-USB Anschluss welcher ebenfalls
> UART-fähig ist.

Kein RI, kein DCD, uvam.
zeige mir einen µC mit miniUSB wo das ausgewertet wird!

von c-hater (Gast)


Lesenswert?

Joachim B. schrieb:

> Kein RI, kein DCD, uvam.
> zeige mir einen µC mit miniUSB wo das ausgewertet wird!

Das ist doch Unsinn. Wenn man die entsprechenden Steuerleitungen 
benötigt, leitet man sie natürlich über irgendwelche GPIOs des µC.

Was soll überhaupt "miniUSB" sein? Ich kenn da nur die entsprechende 
Konnektor-Bauform. Und klar: darüber geht USB-CDC wie über jeden anderen 
USB-Konnektor auch. Also inclusive der Signalisierung von 
Steuerleitungen.

von Joachim B. (jar)


Lesenswert?

c-hater schrieb:
> Was soll überhaupt "miniUSB" sein?

soll ich wirklich den µC benennen der mit miniUSB geliefert wird...
ich habe da eine Idee welchen der TO gemeint hat!

c-hater schrieb:
> Das ist doch Unsinn. Wenn man die entsprechenden Steuerleitungen
> benötigt, leitet man sie natürlich über irgendwelche GPIOs des µC.

klar kann man eine 2te Strippe legen, aber das war nicht die Frage!

von Jürgen W. (Firma: MED-EL GmbH) (wissenwasserj)


Lesenswert?

Eine echte RS232-Schnittstelle (Achtung: Nicht, daß das PC-intern über 
USB läuft) hat den Vorteil, daß die bei USB gegebene Latenzzeit wegfällt 
- die kann schon mal 10ms und mehr ausmachen. Bei größeren Datenpaketen 
kann da schon mal der FIFO-Puffer voll sein, bevor der PC die Daten 
ausliest. Selbst schon in der Form gehabt: USB über RS232-Konverter an 
einen PIC-Controller verbunden; der Controller hat die Daten ohne 
Berücksichtigung der Puffergröße übertragen - bei einem "richtigen" PC 
kein Problem, das Netbook war aber damals zu langsam.

Wenn o.a. Latenzzeit aber kein Problem ist: Warum auf alten Techniken 
bleiben? Es hat schon seinen Sinn, daß zumindest im Hausgebrauch RS232 
weg ist - für die Industrie gibt's noch RS485 und Glasfaser.
Am uC hat man entweder ein USB-Interface oder nimmt einen FTDI-Chip und 
mit dem PC-Treiber kann man ein virtuelles COM-Port öffnen. Das 
funktioniert und reicht völlig aus. Aber wie gesagt: FIFO-Puffergrößen 
nicht vergessen.

von messender (Gast)


Lesenswert?

Ok danke, jetzt fühle ich mich schon schlauer :)

Im Prinzip hängt die Übertragungsrate bei einer COM-Schnittstelle vom 
schwächsten Glied in der Kette ab, z.B. einem alten "originalen" MAX232.
Die Latenz ist bei einer echten seriellen Schnittstelle niedriger als 
bei einer virtuellen und man muss bei der virtuellen COM darauf achten, 
dass der PC genügend Zeit hat die Daten aus dem Puffer auszulesen bevor 
neue kommen.

Wenn man also Messwerte loggen will die z.B. im μC per Timerinterrupt 
periodisch gemessen werden und diese per virtueller COM an den PC 
leitet, muss man darauf achten, dass der PC auch alle eingehenden 
Messwerte dem richtigen Zeitpunkt zuordnet und keine verschluckt.

von Stefan F. (Gast)


Lesenswert?

messender schrieb:
> z.B. einem alten "originalen" MAX232.

Nee, der hat gar keinen Einfluss auf Latenz und Übertragungsrate. Der 
MX232 ist nur ein dummer Pegelwandler.

> und man muss bei der virtuellen COM darauf achten, dass
> der PC genügend Zeit hat die Daten aus dem Puffer auszulesen

Das gilt auch für "echte" serielle Schnittstellen. Stichwort: Handshake

von Gurgl (Gast)


Lesenswert?

messender schrieb:
> richtigen Zeitpunkt

Da wäre wohl eine echte RS232 Schnittstelle besser wegen obengenannter 
Latenz. Besser der Kontroller kümmert sich selbst um die Zeitstempel

von messender (Gast)


Lesenswert?

Gurgl schrieb:
> messender schrieb:
>> richtigen Zeitpunkt
>
> Da wäre wohl eine echte RS232 Schnittstelle besser wegen obengenannter
> Latenz. Besser der Kontroller kümmert sich selbst um die Zeitstempel

Also in dem Fall würde ich eine fortlaufende Nummer + Messwert bzw. 
array[fortlaufende Nummer, Messwert] seriell vom μC aus schicken und der 
PC errechnet anhand der Nummer und dem Abtastintervall den Zeitstempel 
und speichert die Werte ab.

Was ich allerdings nicht verstehe ist warum es besser ist wenn der 
Controller sich selbst um die Zeitstempel kümmert, wenn es dann 
letztendlich e über RS232 (mit weniger Latenz) gesendet wird?

von Stefan F. (Gast)


Lesenswert?

messender schrieb:
> Was ich allerdings nicht verstehe ist warum es besser ist wenn der
> Controller sich selbst um die Zeitstempel kümmert

Weil die Übertragung zum PC unregelmäßig stattfindet. Der PC kann nie 
ganz genau wissen, von welchem Zeitpunkt der gemessene Wert stammt.

Wobei dieses "bisschen" Latenz je nach Anwendung durchaus vollkommen 
egal sein kann. Bei der Regelung der Zimmertemperatur und bei der 
Erfassung von Arbeitszeiten interessiert sich z.B. kein Schwein für 
Millisekunden.

von Le X. (lex_91)


Lesenswert?

c-hater schrieb:
> Doch, natürlich kann das besser werden. Z.B. dauert das vollständige
> Programmieren eines ATMega1284P über Ponyprog Tage, wenn man eine
> USB-UART verwendet. Über einen echten COM-Port aber unter zwei Minuten.

Ponyprog fährt ja auch kein UART/RS232 sondern vergewaltigt den COM-Port 
(Bitbanging).
Das Problem dass du beschreibst rührt also daher dass sich USB nicht so 
leicht vergewaltigen lässt wie die UART.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Bei ungeschickten* Protokollen, bei denen es auf Latenzen ankommt, ist 
die "Hardware-UART" im Vorteil, sonst aber nicht, insbesondere wenn es 
um Datenrate geht. Die Standard-Schnittstelle im PC kann nämlich 
maximal 115200 Baud, mehr erlaubt deren Baudratengenerator nicht.

Im 8250 und den diversen Nachfolgern 16450, 16550 etc. wird der 
Baudratengenerator aus einem externen Taktsignal gespeist, das im PC 
1.8432 MHz hat. Teilt man das durch 16, hat man die altbekannten 115200 
Baud, und das Teilen durch 16 ist durch die UART-Hardware bedingt, bei 
der jedes einzelne Bild mit 16facher Rate abgetastet wird.

Zwar könnte man den Baustein auch mit einer höheren Taktfrequenz 
betreiben, aber das weiß keines der Betriebssysteme, deren Devicetreiber 
mit dem Baustein zu tun bekommen.

*) Ich nenne solche Protokolle bewusst ungeschickt, da sie auch bei 
neueren PC-Uarts durchaus zu Problemen führen können, sofern man nicht 
dafür sorgt, daß deren Hardware-Fifos deaktiviert werden.

Das liegt daran, daß der Empfangs-Interrupt im Fifo-Betrieb nicht für 
jedes einzelne empfangene Byte, sondern nur unter zwei Bedingungen 
erzeugt wird: Fifo-Triggerpegel erreicht oder Timeout verstrichen.

Solange die übertragenen Datenmengen unter der Höhe des 
Fifo-Triggerpegels liegen (Extremfall: Einzel-Byte-Ping-Pong), vergeht 
vor dem Auslösen des Empfangsinterrupts also zwangsweise das 
Fifo-Timeout, was sich ungünstig auf die Latenz auswirkt.

Dieses Timeout beträgt beim 16550 (dem dieses Verhalten definierenden 
Baustein) vier Bytezeiten, bei 115200 Baud also knapp 350 µsec, bei 9600 
Baud entsprechend knapp 42 msec.

(Siehe Datenblatt http://www.ti.com/lit/ds/symlink/pc16550d.pdf, S.16, 
Abschnitt 8.4.1)

von c-hater (Gast)


Lesenswert?

Rufus Τ. F. schrieb:

> Bei ungeschickten* Protokollen, bei denen es auf Latenzen ankommt, ist
> die "Hardware-UART" im Vorteil, sonst aber nicht, insbesondere wenn es
> um Datenrate geht. Die Standard-Schnittstelle im PC kann nämlich
> maximal 115200 Baud, mehr erlaubt deren Baudratengenerator nicht.

Das stimmt weder heute noch für einen weiten Zeitraum in der 
Vergangenheit. Es gab und gibt nämlich schon jahrzehntelang UARTs mit 
mehr Möglichkeiten. Teilweise sogar in den SuperIO-Bausteinen bzw. in 
der Southbridge. Bloß nicht bei Intel, denn die haben ja verfügt, dass 
"legacy"-Schnittstellen zu sterben hätten (was allerdings bis heute 
nicht wirklich passiert ist...)

Typisch gehen mit solchen UARTs dann knapp 1MBit/s (921,6kbps), sie sind 
aber trotzdem weitgehend 16550-kompatibel (erreichen halt mit einem 
"dummen" 16550-Treiber natürlich auch nur 16550-Leistungen).

Darüber hinaus gab und gibt es auch welche mit noch sehr viel mehr 
Möglichkeiten, die sind dann allerdings nicht mal ansatzweise 
16550-kompatibel, brauchen also zwingend einen spezialisierten Treiber, 
um überhaupt irgendwas was zu machen. Sowas fand man allerdings eher 
nicht in SuperIO oder Southbridge, sondern eigentlich nur auf 
Zusatzkarten.

Das zur Hardware.


Und was nun die "ungeschickten" Protokolle betrifft: Sobald ein 
Protokoll eine Antwort vom Peer erfordert, um überhaupt logisch 
funktionieren zu können, kommen ganz automatisch die Latenzen in's 
Spiel. Das gilt völlig unabhängig von irgendeiner "Geschicklichkeit", 
sondern ist Folge eines Grundgesetzes der Informatik, der Kausalität. Du 
kannst halt die Antwort nicht versenden, bevor du den Inhalt der Frage 
kennst...

von Reinhard S. (rezz)


Lesenswert?

c-hater schrieb:
> Du kannst halt die Antwort nicht versenden, bevor du den Inhalt
> der Frage kennst...

42. Geht immer.

von Wolfgang (Gast)


Lesenswert?

Karl B. schrieb:
> Mit reinem RS232 bzw. V24 konnte bei uns einmal eine Distanz von 50 m
> überbrückt werden ohne merkliche Bitfehlerrate.

Für längere Strecken gibt es auf dem physical Layer nun wirklich 
geeigneteres als RS232. Gegen Störungen wäre ein differentielle 
Übertragung (z.B. RS422) schon mal ein Schritt in die richtige Richtung.

von Rolf M. (rmagnus)


Lesenswert?

c-hater schrieb:
> Das stimmt weder heute noch für einen weiten Zeitraum in der
> Vergangenheit. Es gab und gibt nämlich schon jahrzehntelang UARTs mit
> mehr Möglichkeiten.

Du kennst aber den Unterschied zwischen

Rufus Τ. F. schrieb:
> Standard-Schnittstelle im PC

und:

c-hater schrieb:
> die sind dann allerdings nicht mal ansatzweise 16550-kompatibel, brauchen
> also zwingend einen spezialisierten Treiber, um überhaupt irgendwas was
> zu machen. Sowas fand man allerdings eher nicht in SuperIO oder
> Southbridge, sondern eigentlich nur auf Zusatzkarten.

?

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.