Forum: Mikrocontroller und Digitale Elektronik USB Device Implementieren


von Tony T. (tony_taylor)


Lesenswert?

Hey guys,

ich habe gerade ein neues Project bekommen, aber weil ich völlig 
anfänger bin, habe ich gar keine Ahnung, wie ich dies erledigen werden 
soll.

Bevor ich mein Problem schreiben, muss ich zunächst erklären, dass ich 
ein ausländischer Student bin, deswegen ab und zu gibt es Fehler in 
meiner Aussage, ich versuche die zu vermeiden und bitte ich um 
Verständnis. Danke

Also, das gesamte Project ist ein System-on-a-Chip zu entwerfen, aber 
für welchen Mikrocontroller ist es noch nicht entschieden. Die 
Kommunikation zwischen dem Mikrocontroller und PC wird mit USB 
realisiert, und meine Aufgabe ist die USB-Schnittstelle zu konfigurieren 
(auf der µC-Seite, also kann ich mit "Firmware" bezeichnen oder?). Ich 
habe einige Dokumentationen gelesen, aber sowieso bin ich noch 
verwirrend, wie genau soll es vorgehen. Gibt es jemand im Forum, der 
sehr nett ist und mir kurz erklären, wie ich Schritt für Schritt machen 
soll?

Ich hoffe, dass ihr was ich meine verstehen kannt, und bedanke ich mich 
im voraus.

Tony

von Uwe2 (Gast)


Lesenswert?

http://blogs.msdn.com/b/usbcoreblog/archive/2009/10/31/how-does-usb-stack-enumerate-a-device.aspx
Da bekommt man ein bischen gefühl dafür, wie es Windows so mach und auf 
was man bei Device achten muß.
Aber da wirst du wohl noch nen Bischen lesen müssen über USB.
gugel mal USB Stack, USB Spec usw.
Danach sich das ganze mal auf der µC Seite angucken in Beispielen für 
den entsprechenden µC.

von Andreas (Gast)


Lesenswert?

Wir setzen in unserem gegenwaertigen Projekt Cypress PSoC (3 und 5LP) 
ein,
und haben dafuer Firmware und Host-Software fuer ein "Custom Device" 
(also keine der Standard Device Classes) implementiert.
Auf Host-Seite verwenden wir libusb.
An sich ist die Unterstuetzung durch die PSoC Creator Software von
Cypress ganz gut, aber es hat doch ein Weilchen gedauert, bis alles 
zuverlaessig lief.

Selbst wenn Ihr keine PSoC Bausteine verwendet, ist es vielleicht 
empfehlenswert, PSoC Creator herunterzuladen und installieren und ein 
Beispiel Projekt zu erzeugen, weil PSoC Creator die Erzeugung der USB 
Konfiguration (Configuration, Interfaces, Endpoints, usw.) sehr schoen 
unterstuetzt.
Bei Silicon Labs ist das zum Beispiel viel schwieriger.

Andreas

von Pit (Gast)


Lesenswert?

Tony Taylor schrieb:
> Die
> Kommunikation zwischen dem Mikrocontroller und PC wird mit USB
> realisiert

Welche Geschwindigkeit brauchst Du? Datenrate?

- bis 20-30 kBytes/s -> USB HID Gerät: keine Treiber, PC-Seite einfach.
- bis 150-200 kBytes/s -> VCP: Treiber notwendig, PC-Seite einfach.
- mehr als 200 kBytes/s -> High-Speed (FX2/FT2232H oder on board):
  Treiber notwendig, PC-Seite etwas komplexer.

von Tony T. (tony_taylor)


Lesenswert?

Danke für die Antworte.

Pit schrieb:

> Welche Geschwindigkeit brauchst Du? Datenrate?
> bis 20-30 kBytes/s -> USB HID Gerät: keine Treiber, PC-Seite einfach.
> bis 150-200 kBytes/s -> VCP: Treiber notwendig, PC-Seite einfach.
> ...

Also, was passiert bei der PC-Seite brauche ich eigentlich nicht 
berücksichtigen, die wird von anderen Kommilitonen erledigt. Meine 
Aufgabe ist völlig bei der Device-Seite. Aber trotzdem vielen Dank für 
deine Erklärung.

von Purzel H. (hacky)


Lesenswert?

Als Anfaenger wuerde ich mir kein USB antun. Vielleicht mal bei FTDI 
reinschauen. Die haben USB to Serial fuer USB2. Auf der PC seite 
schaut's wie ein Serialportaus, auf der Controllerseite seriell oder 
parallel.

von mario (Gast)


Lesenswert?

Tony Taylor schrieb:
>
> Also, das gesamte Project ist ein System-on-a-Chip zu entwerfen, aber
> für welchen Mikrocontroller ist es noch nicht entschieden.

Wie/Mit was enteickelt ihr denn eueren uC? Gibt es für die 
Plattform/Programm nichts fertiges?

von Pit (Gast)


Lesenswert?

Tony Taylor schrieb:
> Also, was passiert bei der PC-Seite brauche ich eigentlich nicht
> berücksichtigen, die wird von anderen Kommilitonen erledigt.

Wenn Ihr euch dann nach 6 Monaten wieder zusammen setzt, Dein Komilitone 
einen VCP implementiert hat und Du Ihm Dein HID-Gerät zeigst, dann ist 
die Überraschung groß.

von Hmm (Gast)


Lesenswert?

If english is your native language, you may post in it, too.
Here are many people which write english quite fluently.
This is especially true for a technical theme, as most of its basics are 
explained and described even to us germans first in english, in most 
cases.

von Guido Körber (Gast)


Lesenswert?

Also wenn ich das richtig verstehe: Keine Erfahrung mit 
Microcontrollern, keine mit USB und keine mit Projektmanagement 
(Abstimmung über Protokolle etc.)

Ich schätze mal da wird es eine Lernkurve von ca. 89,9° Steilheit geben, 
Projektlaufzeit sollte auf ca. 12 Monate mit 100 Stunden pro Woche 
angesetzt werden.

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
Noch kein Account? Hier anmelden.