Forum: Mikrocontroller und Digitale Elektronik Wofür braucht man USB am uC?


von Christian J. (elektroniker68)


Lesenswert?

Hallo,

bei der Auslegung meines Systems mit LPC2478 stiess ich auf das Thema 
USB. Der Chip hat ja alles onboard was man sich nur denken kann. (Leider 
passt das Eagle Bild mit 208 Pins nicht mal auf eine A3 Arbeitsfläche).

Was kann man mit der USB Schnittstelle praktisch anfangen? Steckt man 
ein USB Gerät ein erzeugt dieses für gewöhnlich einen 
Laufwerksbuchstaben. Schöner wäre es, wenn es einen COM Port erzeugen 
würde, so dass ich mit einem Terminalprogramm die Ausgaben des uC 
aufzeichnen kann.

Meine Fragen:

1. Wie komplex ist die Software hinter USB im uC? Muss man sich dazu mit 
jedem Bit befassen oder gibt es da Read-to-Use Interfaces?

2. Wie wird das Gerät im PC dann erkannt? Braucht es Treiber? Ich möchte 
auf keinen Fall Windows Software schreiben müssen, da ich ausser Visual 
Basic keine Entwicklungsoberflächen habe und PC Programmierung ohnhin 
nicht mag.

3. Wie schwierig ist es zB uCLinux aufzusetzen und die Anpassungen zu 
machen an die Portpins usw.? Ist das als stundenweises Hobbyprojekt 
machbar oder braucht man dazu Tage und Wochen?

4. Der 2478 hat ein SD Karteninterface, welches die Karte im Multimedia 
Mode betreibt. Man beschreibt Register, der Physical Layer wird erzeugt. 
Leider ist die reine Beschreibung im Manuál nicht geeignet zu verstehen 
wie man es praktisch bedient. Code habe ich nicht gefunden. Hat 
schonbmal jemand dieses Interface benutzt?

Gruss,
Christian

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Sieh Dir einfach mal dieses Board hier an, das ist zwar ein LPC2468 und 
kein LPC2478, aber dafür ist da auch schon ein ucLinux mit drauf ...

http://shop.embedded-projects.net/product_info.php?info=p109_LPC2468-Linux-Entwicklungsplatine--LPC-E2468-.html

von Walter T. (nicolas)


Lesenswert?

Hallo,

ich kann es im Moment nicht ausprobieren, aber es war entweder "Shift" 
oder "Ctrl" gedrückt halten, während man auf die Leiterbahn klickt, die 
verlängert werden soll.

von Michael (Gast)


Lesenswert?

Also dass ein USB-Gerät immer einen Laufwerksbuchstaben verpasst bekommt 
ist nicht richtig, das gilt wohl nur für Speichergeräte wie Festplatten 
und Flashspeicher, die mittels USB an den Rechner angeschlossen werden. 
Es gibt aber auch z.B. Messgeräte und ähnliches, die über USB 
angeschlossen werden und die werden nicht mit einem Laufwerksbuchstaben 
gebrandmarkt. Um Programmierung wird man bei USB aber nicht herum kommen 
sofern man ein Gerät für USB bauen will. Der Vorteil von USB ist ja u.a. 
dass der User weniger zu tun hat um ein Gerät zum Laufen zu bekommen, 
dafür hat der Entwickler des USB-Gerätes mehr zu tun ;)

von ARM-Fan (Gast)


Lesenswert?

>Steckt man ein USB Gerät ein erzeugt dieses für gewöhnlich einen
>Laufwerksbuchstaben

Aha!
Du hast also für deine Webcam, Maus, Tastatur, etc. Laufwerksbuchstaben?

>Was kann man mit der USB Schnittstelle praktisch anfangen?

Ist die Frage ernst gemeint?
Oder bist du wirklich noch mit keinem anderen USB-Gerät außer einem
USB-Speicherstick in Berührung gekommen?

>1. Wie komplex ist die Software hinter USB im uC? Muss man sich dazu mit
>jedem Bit befassen oder gibt es da Read-to-Use Interfaces?

Ziemlich komplex. In der Regel mußt du dich auch mit jedem Bit befassen,
wenn du nicht gerade ein Betriebssystem laufen hast oder dir einen USB
Stack irgendwoher besorgst (kaufen, evtl. open source).

>2. Wie wird das Gerät im PC dann erkannt? Braucht es Treiber? Ich möchte
>auf keinen Fall Windows Software schreiben müssen, da ich ausser Visual
>Basic keine Entwicklungsoberflächen habe und PC Programmierung ohnhin
>nicht mag.

Es braucht immer Treiber!
Die Frage ist, ob du die von dir gewünschte Funktionalität mit Bord-
mitteln von Windows erschlagen kannst (z.B. HID). Wenn du aber eh
auf der PC-Seite nichts mit deinem USB-Device anzufangen weißt, dann
brauchst du scheinbar auch keine USB-Schnittstelle am Gerät.

von Mike (Gast)


Lesenswert?

>Sieh Dir einfach mal dieses Board hier an, das ist zwar ein LPC2468
>und kein LPC2478, aber dafür ist da auch schon ein ucLinux mit drauf ...


Und wieso nicht für das gleiche oder weniger Geld einen richtigen Prozi 
mit echtem Linux? ucLinux auf dem LPC ist doch schnarchlahm und lausig.

Z.B. hier:
http://beagleboard.org/

Das Ding hat echte Power.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Wenn es um den Preis ginge, dann könnte man ja auch stinknormale 
PC-Hardware nehmen, die ist dann nochmal ganz erheblich flotter, und 
dafür verfügbare Linuxe erst recht.

Aber das ist hier wohl nicht Sinn der Übung.

von Christian J. (elektroniker68)


Lesenswert?

Hallo,

ich werde auf den FTI232 Chip zurückgreifen, weil der einfacher 
funktioniert und nur diesen VCP Treiber benötigt.

Mir ging nur darum zu klären, wie auch bei diesen Linux Boards welcher 
Aufwand dahinter steckt. Wenn ich erst 20.000 Code, den ich nicht 
geschrieben habe compilieren und laden muss und 500 Seiten Doku wie 
dieser Code zu bedienen ist lesen, mich dazu mit TCP IP Protokoll, USB 
Bitschieberei etc herumschlagen muss vergeht mir jede Freude an der 
Sache, das übersteigt bei weitem die Möglichkeiten es im Rahmen eines 
Hobbys zu betreiben. Ich habe Linux zudem nicht auf dem Rechner und kann 
es auch nicht mehr bedienen als fertige Programme anzuklicken.

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.