Forum: PC Hard- und Software Ausgangsdatenstrom und Betriebssystem


von Jo T. (j_thalbach)


Lesenswert?

Hi,

wie wird das Zeitverhalten des Ausgangsdatenstroms (quasi Jitter auf 
USB) am Rechner vom Betriebssystem (Windows oder Android) beeinflusst? 
Gibt’s empfohlene Artikeln zu diesem Thema?

von oszi40 (Gast)


Lesenswert?

So ganz einfach wird diese Antwort nicht, da HW, CPU-Auslastung, RAM, 
Treiber usw. Faktoren sind dir nur bis zum nächsten Update vergleichbar 
wären.

von N. J. Lehmann (Gast)


Lesenswert?

wie sagt Shakespeare:

DMA  or not DMA
FIFO or not FIFO


Für den 16550 gabs wohl Untersuchungen hinsichtlich FIFO-Tiefe und 
Isochronität, aber der zählt inzwischen zur Computer-Mediävistik.

von Georg (Gast)


Lesenswert?

Jo T. schrieb:
> wie wird das Zeitverhalten des Ausgangsdatenstroms (quasi Jitter auf
> USB) am Rechner vom Betriebssystem (Windows oder Android) beeinflusst?

Von Windows, Linux, Android: unvorhersehbar, weil das keine 
Echtzeitsysteme sind. Kann sein dass Impulsfolgen eine Zeitlang halbwegs 
gleichmässig auftreten und ab und zu mit grosser Verzögerung bis zu 
Sekunden.

Georg

von oszi40 (Gast)


Lesenswert?

> unvorhersehbar, weil das keine Echtzeitsysteme sind  +1
Datenmenge und Cacheverhalten sind weitere unbekannte Faktoren. Wenn der 
Cache groß genug ist, wirst Du manche Tücke erst später merken. Frage 
aller Fragen ist immer: WOZU brauchst Du das?

von Norbert (Gast)


Lesenswert?

Jo T. schrieb:
> Hi,
>
> wie wird das Zeitverhalten des Ausgangsdatenstroms (quasi Jitter auf
> USB) am Rechner vom Betriebssystem (Windows oder Android) beeinflusst?
> Gibt’s empfohlene Artikeln zu diesem Thema?

Da der Datenstrom nicht vom BS generiert wird sondern von einer 
eigenständigen Hardware-SIE … gar nicht!

von Rolf M. (rmagnus)


Lesenswert?

Norbert schrieb:
>> wie wird das Zeitverhalten des Ausgangsdatenstroms (quasi Jitter auf
>> USB) am Rechner vom Betriebssystem (Windows oder Android) beeinflusst?
>> Gibt’s empfohlene Artikeln zu diesem Thema?
>
> Da der Datenstrom nicht vom BS generiert wird sondern von einer
> eigenständigen Hardware-SIE … gar nicht!

Wie kommst du darauf? Die Daten werden von einem Programm generiert, das 
unter dem Betriebssystem läuft und von diesem "geschedulet" wird. Das 
Betriebssystem leitet das dann an den USB-Stack weiter, an dessen Ende 
dann der Hardware-Treiber es an den USB-Controller schickt. Erst dann 
übernimmt die "eigenständige Hardware".

: Bearbeitet durch User
von Axel S. (a-za-z0-9)


Lesenswert?

Rolf M. schrieb:
> Norbert schrieb:
>>
>> Da der Datenstrom nicht vom BS generiert wird sondern von einer
>> eigenständigen Hardware-SIE … gar nicht!
>
> Wie kommst du darauf? Die Daten werden von einem Programm generiert, das
> unter dem Betriebssystem läuft und von diesem "geschedulet" wird. Das
> Betriebssystem leitet das dann an den USB-Stack weiter, an dessen Ende
> dann der Hardware-Treiber es an den USB-Controller schickt. Erst dann
> übernimmt die "eigenständige Hardware".

Ja. Eben. Für isochrone USB-Transfers (für andere ergibt die Frage 
ohnehin keinen Sinn) wird sowohl auf Sende- als auch Empfangsseite 
gebuffert, was das Zeug hält. Muß ja, wie sonst will man aus dem 
USB-Datenstrom, der ja in festen Chunks (Buffergröße) bei fester 
Geschwindigkeit (Full- oder Highspeed) einen kontinuierlichen Datenstrom 
generieren?

von Jo T. (j_thalbach)


Lesenswert?

Ich bin der Meinung, nur Echtzeit Betriebssysteme sind in der Lage, das 
richtige Zeitverhalten sicherzustellen um den Jitter zu minimieren

von Norbert (Gast)


Lesenswert?

Wenn man von Jitter redet, dann redet man von den zeitlichen 
Abweichungen der Signalflanken und ganz sicher nicht von der 
Variabilität gesamter Datenblöcken.
Die Signalflanken wiederum werden von der SIE generiert und sind vom BS 
völlig unabhängig.

Oder reden wir nun mittlerweile auch schon von Jitter im Fahrplan wenn 
die Bahn früher oder später kommt?

von Εrnst B. (ernst)


Lesenswert?

Jo T. schrieb:
> Ich bin der Meinung, nur Echtzeit Betriebssysteme sind in der Lage, das
> richtige Zeitverhalten sicherzustellen um den Jitter zu minimieren

Milliarden an Nicht-Echtzeit-Betriebsysteminstallationen, u.A. auch das 
vom TE angefragte "Windows oder Android" kriegen es hin, Audio über USB 
Jitterfrei(*) abzuspielen.


*) Aber evtl. nicht "Stotterfrei".

von 🐧 DPA 🐧 (Gast)


Lesenswert?

Ich sags mal so, wenn ich mein USB BD Laufwerk an meinen Hub 
anschliesse, dann updatet meine Maus noch so 1mal pro Sekunde, der bus 
stirbt fast. Aber auch davor ist er schon an den grenzen. Dabei hängt da 
garnicht so viel drann. 1 Dock, daran 3 Hubs, an einem davon 1x Maus, 1x 
Tastatur, und 1x USB Soundkarte. Und manchmal sind noch Handy und Tablet 
eingesteckt. Das ist schon alles. Power ist auch an allen Hubs drann. 
Alles USB 3.2, und keine Billigteiler. USB ist doch einfach schrott. Mit 
anderen Verbindungstüpen (egal ob ethernet oder sonst was), hab ich 
solche Probleme nicht.

Zeitverhalten, das sind mir sorgen. Man muss schon beten, dass der kram 
überhaupt läuft.

von Rolf M. (rmagnus)


Lesenswert?

Norbert schrieb:
> Wenn man von Jitter redet, dann redet man von den zeitlichen
> Abweichungen der Signalflanken und ganz sicher nicht von der
> Variabilität gesamter Datenblöcken.

Sagt wer?
https://en.wikipedia.org/wiki/Jitter#Packet_jitter_in_computer_networks

> Oder reden wir nun mittlerweile auch schon von Jitter im Fahrplan wenn
> die Bahn früher oder später kommt?

Die Bahn ist kein Datensignal, aber von mir aus kannst du das so nennen.

von DerEinzigeBernd (Gast)


Lesenswert?

🐧 DPA 🐧 schrieb:
> 1 Dock, daran 3 Hubs, an einem davon 1x Maus, 1x
> Tastatur, und 1x USB Soundkarte. Und manchmal sind noch Handy und Tablet
> eingesteckt. Das ist schon alles.

Abgesehen davon, daß das überraschend viele Hubs sind (wozu sind die 
beiden anderen am Dock angeschlossenen), ist das nichts, was irgendwas 
macht, was USB ins Stottern bringen sollte. Maus und Tastatur sind 
Lowspeed-Devices (1.5 MBit/sec), die Soundkarte kann durchaus auch nur 
ein Fullspeed-Device (12 MBit/sec) sein, nichts davon macht irgendwelche 
Probleme.

Wenn das bei Dir nicht funktioniert, ist nicht USB an sich Schrott, 
sondern irgendwas an Deinem Aufbau im Eimer. Du schreibst, daß alle Hubs 
ihre eigenen Netzteile haben; vielleicht gibt es da ja lustige 
Masseschleifen mit Ausgleichströmen. Vielleicht ist ja auch nur Dein PC 
ranzig und dessen USB-Stack im Eimer, was auch an irgendeinem 
übereifrigen Schlangenöl liegen kann, das aus "Sicherheitsgründen" in 
jede USB-Transaktion reinrotzt.

von 🐧 DPA 🐧 (Gast)


Lesenswert?

DerEinzigeBernd schrieb:
> Abgesehen davon, daß das überraschend viele Hubs sind (wozu sind die
> beiden anderen am Dock angeschlossenen)

Die sind alle unter dem Tisch montiert. Oben schaut nur 1 USB-C kabel 
raus. 2 Hubs sind am rand an beiden Tischseiten, so ist immer ein USB 
Anschluss in der nähe. Das ist eigentlich recht praktisch.

DerEinzigeBernd schrieb:
> Wenn das bei Dir nicht funktioniert, ist nicht USB an sich Schrott,
> sondern irgendwas an Deinem Aufbau im Eimer. Du schreibst, daß alle Hubs
> ihre eigenen Netzteile haben; vielleicht gibt es da ja lustige
> Masseschleifen mit Ausgleichströmen.

Vermutlich, aber die Hubs sind dafür vorgesehen, an ein Netzteil 
angeschlossen zu sein. Eigentlich kann man die dinger ja gar nicht 
anders als vorgesehen betreiben, und dann haben die auch zu 
funktionieren.

Bei z.B. Ethernet hat man normalerweise eine saubere galvanische 
Trennung. Da kann einem sowas nicht passieren. Aber bei der verrückten 
art und weise, wie USB die signale überträgt, da ist das eine ganz 
andere Sache.

Und genau deshalb bleibe ich dabei, USB ist schrott, und nicht der 
Aufbau.

DerEinzigeBernd schrieb:
> Vielleicht ist ja auch nur Dein PC ranzig und dessen USB-Stack im Eimer

Das passiert bei all meinen Geräten. Auch beim Geschäftslaptop (auf 
welchem windows drauf ist).

von DerEinzigeBernd (Gast)


Lesenswert?

Da USB bei einer sehr großen Anzahl von Leuten ohne Probleme 
funktioniert, und das auch bei komplexeren Anwendungsszenarien als dem 
von Dir beschriebenen, liegt das Problem nicht im USB, sondern in Deinem 
Aufbau.

Wenn Du lösungsorientiert an die Sache herangehen wolltest, könntest Du 
die Anzahl der Stellschrauben reduzieren und sämtliche Hubs entfernen, 
Maus, Tastatur und Dein BD-Laufwerk direkt an das "Dock" anschließen.

Ein weiterer Test wäre es, das "Dock" wegzulassen, und Maus, Tastatur 
und BD-Laufwerk direkt an den PC anzuschließen.

Das würdest Du tun, wenn Du lösungsorientiert vorgehen würdest.

von Norbert (Gast)


Lesenswert?

Rolf M. schrieb:
> Sagt wer?
> https://en.wikipedia.org/wiki/Jitter#Packet_jitter_in_computer_networks

Na dann gehe ich doch darauf mal ein:

>> A network with constant delay has no packet jitter.
>> Packet jitter is expressed as an average of the deviation
>> from the network mean delay.

1. USB ist kein ›network‹

Selbst wenn man sich einen USB-tree ansieht, gehen Verzögerungen (aka. 
packet jitter) nicht vom Host-BS aus. Das sendet einfach ein Packet und 
eventuelle Verzögerungen ergeben sich ausschließlich aufgrund der Hubs. 
Ergäben sich Verzögerungen aufgrund von DMA Auslastung, so würden die 
Puffer der USB-Hardware schlimmstenfalls vielleicht um einige 
Mikrosekunden verzögert gefüllt werden.

2. USB ist immer noch kein ›network‹

Es gibt gar kein ›average of mean delay‹ Man könnte von einigen 
Aktionen/Befehlen die maximal erlaubte Antwortzeit aufführen, hätte aber 
nichts mit jitter zu tun.

Im einfachsten Fall sendet ein Host direkt ohne dazwischenliegende Hubs 
zu einem Device. Der Rhythmus ist nirgends spezifiziert, doch da kann 
sich das Device im Descriptor ›wünschen‹ wie oft es abgefragt werden 
möchte. Ich habe noch kein BS gesehen das sich genau daran hält (und 
auch das ist in den Spezifikationen nicht festgenagelt worden).

Einzig bei isochronen Transfers sollten die zu übermittelnden Daten 
immer rechtzeitig bereit stehen. Wenn sie das tun, dann haben wir auch 
wieder keinen jitter aufgrund von NACKs.

von Ein T. (ein_typ)


Lesenswert?

🐧 DPA 🐧 schrieb:
> Ich sags mal so, wenn ich mein USB BD Laufwerk an meinen Hub
> anschliesse, dann updatet meine Maus noch so 1mal pro Sekunde, der bus
> stirbt fast. Aber auch davor ist er schon an den grenzen. Dabei hängt da
> garnicht so viel drann. 1 Dock, daran 3 Hubs, an einem davon 1x Maus, 1x
> Tastatur, und 1x USB Soundkarte. Und manchmal sind noch Handy und Tablet
> eingesteckt. Das ist schon alles. Power ist auch an allen Hubs drann.
> Alles USB 3.2, und keine Billigteiler. USB ist doch einfach schrott. Mit
> anderen Verbindungstüpen (egal ob ethernet oder sonst was), hab ich
> solche Probleme nicht.

Du hast noch nie eine saturierte Netzwerkleitung erlebt? Das kann ich 
gar nicht glauben! ;-)

von Powerbank (Gast)


Lesenswert?

Georg schrieb:

> Von Windows, Linux, Android: unvorhersehbar, weil das keine
> Echtzeitsysteme sind. Kann sein dass Impulsfolgen eine Zeitlang halbwegs
> gleichmässig auftreten und ab und zu mit grosser Verzögerung bis zu Sekunden

Das kann es auch bei RT Systemen. Kommt auf die Anforderungen an.

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.