Welche USB Klasse

Gast #421058
Hallo zusammen,

ich weiss nicht ob das hier her gehört, aber ich versuchs einfach mal.
Ich will ein Protokoll, was bereits existiert über USB übertragen. Will
also nur die Übetragungsschicht austauschen. Meiner Meinung nach müsste
es sowas wie eine Tunnel Klasse sein, aber leider komme ich bei der
Vielzahl der USB Klassen nicht mehr zurecht. Und den virtuellen COM
Port habe ich schon verboten bekommen von meinem Chef.

Kann mir da jemand helfen?

Grüße Philipp
Gast
Wie schnell mußt du Daten übertragen? Schau dir mal die HID-Klasse an.
Treiberentwicklung auf PC-Seite entfällt bei den meißten
Betriebssystemen und Firmwareimplementierungen gibts von vielen
Herstellern gratis.
Hat Dein Chef das auch irgendwie begründet?

Ich wüßte sonst keine Klasse mit der Du das machen könntest (vielleicht
noch die IrDA-Bridge-Klasse mißbrauchen, aber das wäre auch ein
virtueller COM)

Bleibt fast nur noch eine Custom-Klassen, was aber auch auf PC-Seite
einen Treiber erfordert.

Mußt Du wirklich das Protokoll übertragen. Vielleicht wäre es einfacher
nur die Daten mit der HID-Klasse zu übertragen.

Gruß

  Dirk
Gast
Also bisher lief alles über serielle Schnittstelle, die Geschwindigkeit
sollte also nicht so das Problem sein, kann ich denn mit der HID-Klasse
auch z.B. Isochronen Transfer benutzen oder geht da nut Interrupt?

Philipp
Gast
@Dirk

Nein ich muss nur die Nutzdaten übertragen, wenn ich mit der HID Klasse
auch Isochronen Transfer hinbekomm, dann wäre das wohl die Lösung.
Gast
Es sind viele Geräte von einem Sensor Hersteller, die angesprochen
werden müssen. Wenn es z.B. eine Lichtschranke ist, dann solllte es
funktionieren mit Interrupt, aber wenn z.B. ein Abstandsmesser sein
soll, der seine ganzen Messdaten versendet wird das denke ich schiwerig
oder?
Es besteht immer noch die Möglichkeit keine Standard-Klasse sondern ein
eigenes Protokoll zu verwenden.

Dann brauchst Du aber einen eigenen Device-Treiber.

Alternativ kannst Du auch die libusb verwenden und deren generischen
USB-Treiber verwenden. Dann brauchst Du keinen Device-Treiber zu
schreiben sondern kannst mit einer normalen Anwendung im User-Mode das
USB-Gerät ansprechen.

Damit kannst Du dann auch alle Übertragungsarten verwenden.
Gast
64KByte/s klingt schonmal ganz ordentlich. Für Grafiken wird das wohl
nicht reichen, aber da kann man dann ja noch als zweite Function eine
Video Klasse mit einbeziehen.

Also schonmal vielen Dank,
wenn ich mein Testboard habe, dann werde ich bestimmt sehr oft hier
posten :)

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 20 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.