www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik V-USB & Isochroner Transfer


Autor: Andi S. (laserandi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,
hat sich hier schon mal jemand mit "Isochronem Transfer"
bei V-USB (ehemals AVR-USB) beschäftigt?
Ich möchte gerne eine feste Datenrate von min. 40 kbyte/s
erreichen, was laut Wikipedia auch möglich sein sollte
Zitat:
>Full-Speed-Geräte können jede ms bis zu 1023 Bytes je isochronem Endpunkt 
>übertragen (1023 kbyte/s).
In der V-USB Dokumentation konnte ich leider nichts finden.

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
V-USB implementiert ein Low-Speed-USB-Device; soweit ich weiß, gibt es 
für Low-Speed-Devices keine isochronen Transfers.

> Low Speed
> Low-speed transfers use a bus transfer rate of 1.5 Mb/s. This
> is the actual rate at which bits are transferred over the bus
> and does not include the overhead required for control and
> error checking.
> The actual data transfer rates possible in a low-speed system
> will be considerably less than 1.5 Mb/s.
>
> Low speed also limits the modes of transfers allowed to the
> interrupt and control modes. Data packets can only be 8 B
> maximum. The maximum latency for interrupt transfers can be
> as low as 10 ms. A maximum of 24 B/ms can be transferred
> with a control endpoint and 8 B/10 ms with an interrupt endpoint.

(Quelle: 
http://archive.evaluationengineering.com/archive/a...)

Autor: Andi S. (laserandi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Aha, so ein Mist.
Von der Datenrate her müsste es aber trotzdem passen.
Vielleicht kann man durch Polling Betrieb so eine
Art Quasi-isochronen Transfer erreichen, wenn der
Treiber das zulässt. Bis jetzt habe ich nur etwas
über Interrupt Endpoints gelesen.

Autor: Εrnst B✶ (ernst)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Andi S. schrieb:
> Von der Datenrate her müsste es aber trotzdem passen.

Rufus schrieb:
> A maximum of 24 B/ms can be transferred
> with a control endpoint


also 24 Byte pro ms. Mal 1000, macht 24000 Bytes pro Sekunde, also etwas 
über 23KiB/sec. Ist also noch etwas weg von den mindestens 40kb/sec, die 
du ursprünglich wolltest.

Autor: Andi S. (laserandi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Stimmt. Das wird zu knapp. Mich haben die 1,5 Mb/s
in die Irre geführt. Dann werde ich wohl einen
USB zu RS232 Konverter vor die UART Schnittstelle
des ATMEGA hängen müssen.

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.