www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik USB grundsätzliche Frage


Autor: Nils (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

ich habe mal ne grundsätzliche Frage zu USB, ich hab von meiner Firma 
den Auftrag bekommen ein Protokoll über USB zu Tunneln, die einzelnen 
Frames dieses Protokols können bis zu 64 KB gross sein. Gibt es bei USB 
auch die Möglichkeit so große Frames zu versenden oder muss ich nen 
Buffer auf dem USB Gerät basteln?

Grüße Nils

Autor: sepp (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
1024 Byte ist die maximale Paketlänge bei USB.  Was für ein Protokoll 
verwendest du?

Autor: Thomas B. (yahp) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Größe der "Payload" eines Paketes auf dem Bus ist 1023 Byte 
(Fullspeed) bzw. 1024 Byte (Highspeed). In der Größenordnung werden von 
den Controllern in der Regel auch Empfangsbuffer (oft doppelt gepuffert 
zum einfachen Umschalten) bereitgestellt.

Host-seitig (also der PC) werden größere Datenmengen durch den Treiber 
in kleinere Pakete zerlegt. Auf dem µC musst du sie wieder entsprechend 
zusammenbasteln. Falls also die 64 kB am Stück verarbeitet werden 
müssen, musst du von Hand mehrere Pakete empfangen und zusammensetzten, 
will heißen dass du einen zusätzlichen Puffer von 64 kB unabhängig vom 
FIFO des Endpoints brauchst.

Autor: Nils (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ok vielen dank, das hilft mir schon ordentlich weiter.

Autor: Nils (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ahc vielleicht noch eine "kleinigkeit" über dieses Protokoll kann ich 3 
verschiedene Dinge tun:

1) Schreibe/lese eine Variable
2) Rufe eine Funktion auf dem Board auf
3) Registriere dich für einen Event (z.B. Schicke mir Änderungen an 
Knopf1)

Funktionen können Parameter und Rückgabewerte haben. Im Moment habe ich 
das Board, dass ich habe als USB HIDevice eingerichtet und Tunnel dieses 
Protokoll sozusagen über den einen Input/Output Report der existiert. 
Jetzt hab ich aber gehört, dass dies wohl sehr unschön ist. Ich sollte 
diese drei versch. Aktionen von oben auch auf drei Reports aufteilen. 
Denkt Ihr auch so? Oder ist HID gar nicht die richtige USB Klasse, 
sollte man auf eine andere wechseln oder gar selbst eine schreiben.

Gruss Nils

Autor: willivonbienemaya (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Welches Board ist das?

Autor: Nils (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sorry für die späte Antwort, aber habe sie erst jetzt gesehen.

Ich habe ein Keil mcb2140 Board mit einem LPC2148 als hitex StarterKit

Grüße Nils

Autor: willivonbienemaya (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ok, das habe ich nicht, dazu kann ich leider nichts sagen.

Autor: snowman (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
www.sprut.de gibt dir zu USB einen super überblick, auch wie was 
grundsätzlich gemacht bei USB wird...

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.