www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik USB1.1 Low Level Fragen (Lücken in Daten)


Autor: Manuel Kauf (mkauf)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Benjamin S. (recycler)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Manuel Kauf (mkauf)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Manuel Kauf (mkauf)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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 ;)

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.