Hi, ich wühle mich grad so ein bisschen durch den USB 1.1 so nun hab ich ein paar Messungen gemacht und wundere mich bei der Kommunikation über ein paar "Lücken" kann mir von euch einer diese erklären? Die Daten sind Dauerschreiben auf einen USB Stick, Arbeite auf einem AVR32UC3A habe soweit auch schon Kommunikationen laufen und alles aber würd auch noch gern Verstehen was solche Pausen sind. Habs nicht gepeilt hier mehrere Bilder hochzuladen :/ deswegen alles in eins gepackt. Hoffe man erkennt es. Im Oberen Abschnitt ist mal so ein breiter Ausschnitt auf 50ms/div ich Vermute dass dies "ein" maximales Daten Packet beim USB ist? das zweite Bild ist auf 1ms/div hier denke ich dass es die 1ms Zeitscheibe von USB 1.1 ist auf die er immer geht? im dritten Bild bin ich wieder verwirrt. Hier sind 50µs ca "Daten?!?" und was sind die 10-20 µs Pause ? öhm das wäre es erst mal Danke schon mal :) mfg Manuel
Die Bilder sind nicht einfach zu lesen. Erstens siehe Bildformate, JPEG ist alles andere als sinnvoll dafür (es vergrößert die Datei im Vergleich zu PNG, verschlechtert aber die Lesbarkeit), zweitens sind sie halt mächtig vollgepfropft. Nur so ein paar Stichpunkte: . Das Protokoll benutzt bestätigte Datenpakete, der Bestätigungsverkehr benötigt eine Datenrichtungsumschaltung und damit Pufferzeiten. Die maximale Paketgröße bei full speed ist 64 Bytes, was bei 12 Mbit/s mindestens 43 µs wären (plus Overhead fürs Framing). Das könnte das beobachtete 50/10-µs-Raster sein. . Ein USB-Stick schreibt nicht endlos schnell. Irgendwann müssen die Daten auch in den Flash, was einige Millisekunden benötigt. Nun gibt es zwei Möglichkeiten: der Bus kann mehr Daten transportieren, als die Brutto-Schreibdatenrate des Flashs hergibt. Dann hast du zwangsweise Zeiten, in denen der Bus per Flussteuerung ausgebremst werden muss, egal wie du es anstellst. Selbst falls der Bus aber das Nadelöhr ist, benötigt der Stick genügend RAM-Puffer, um während der Schreibphasen die parallel einlaufenden Daten zu puffern, bis der Flash wieder bereit ist. Falls der RAM-Puffer nicht ausreicht, muss auch hier der Bus wieder ausgebremst werden. . Jeweils zum 1-ms-Zeittakt eines neuen Frames vom Host dürfte eine Pause fällig sein, damit sich ggf. neu hinzu kommende Geräte synchronisieren und zu Wort melden können. Die Protokolldetails dafür habe ich mir im Standard aber auch nicht angeguckt.
Hallo, es kann meiner Meinung nach 2 Ursachen haben. Eine Ursache liegt darin, dass das Protokoll alle 1ms SOF Packete sendet, so die Übertragung in Frames einteilt. Das letzte Packet passt dann nicht mehr ins Zeitfenster. Das andere ist, das bestimmte Transferarten maximal 90% der Bandbreite zugesichert bekommen, zB Isochronos und Interrupt. Control-Transfers bekommt 10% und Bulk nichts zugesichert Deswegen entstehen die Fenster in der Übertragung. Hoffe es hat geholfen.
Hallo das ging ja Fix :) Ich weiß schon das PNGs besser wären aber das Oszi macht gleich JPGs draus und die umwandeln würde auch nicht viel nützen (wird nicht mehr besser daraus). Dass sie so Vollgestopft sind stimmt -> hab schon 50% davon raus gemacht was hierzu nicht gehört gg) aber es Zeigt halt sehr viel Infos an ;) Benjamin ja das hat schon mal viel geholfen vielen Dank :) Jörg du hast mich auch gut weitergebracht :) Danke
Manuel Kauf wrote: > Ich weiß schon das PNGs besser wären aber das Oszi macht gleich JPGs > draus ... Das sollte einen Bugreport beim Hersteller wert sein.
gg nein ich hätt se beim Oszi umstellen müssen ;) -> ja ist noch recht neu das teil gg kannst dir dann psd png tif gif jpg aussuchen gg die nächsten pics werden png ;)
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.