Forum: Mikrocontroller und Digitale Elektronik LPC1769 als USB Device


von LinkDing (Gast)


Lesenswert?

Hallo,

habe den LPC1769 auf dem LPCxpresso board und möchte ihn als USB Device
betreiben. Habe dazu ein Beispiel "USBMem" hergenommen.
Ziel ist es das dieser unter Windows 7 als Speichermedium erkannt wird.
Habe dazu ein USB Kabel wie folgt verbunden:
D- über 33Ohm auf P0.30
D+ über 33Ohm auf P0.29
VBUS auf P1.30

Leider funktionert das Ganze noch nicht so richtig, und ein 
Speichermedium wird im Betriebssystem auch nicht angezeigt.

Hat jemand schon solch eine Aplikation erfolgreich realisiert?

von Jörg S. (joerg-s)


Lesenswert?

LinkDing schrieb:
> Habe dazu ein USB Kabel wie folgt verbunden:
> D- über 33Ohm auf P0.30
> D+ über 33Ohm auf P0.29
> VBUS auf P1.30
Was ist mit Connect (P2.9)?

von LinkDing (Gast)


Lesenswert?

Hallo,

habe nach mehreren blicken auf dem lpcxpresso-board Schaltplan bemerkt, 
das die Widerstände für D+ und D- bereits auf der Platine sind.
"Connect" ist auch ausgeführt, steuerbar über P2.9.
Dabei wird über einen Transistor ein 1k5 Widerstand von 3V3 auf USB-D+ 
gechaltet.

Werde also einfach die Leitungen vom USB Stecker D+, D- und VBUS direkt 
auf die verhergesehenen Pins löten.
Mal schauen ob es dann funktioniert.

von LinkDing (Gast)


Lesenswert?

Habs jetzt nochmals versucht mit den Änderungen, aber noch immer kein 
Erfolg :-(
Was mache ich falsch?

von JojoS (Gast)


Lesenswert?

> VBUS auf P1.30

ist das richtig? Die VSense Leitung geht beim EA Baseboard auf P0.5. 
Hast du in der Software kontrolliert welche Pins benutzt werden?
Sonst sind beim Baseboard auch nur D+/- angeschlossen, allerdings noch 
mit Schutzdioden versehen. Der Transistor an Connect ist auf dem 
Baseboard auch noch mal vorhanden, gesteuert über P0.21.

von LinkDing (Gast)


Lesenswert?

Hallo JoJoS,

danke für deine Antowort.
Welches Board hast du?
Ich habe dieses hier:
http://ics.nxp.com/support/documents/microcontrollers/pdf/lpcxpresso.lpc1769.schematic.pdf

Das Beispiel ist zwar für ein KEIL MCB1700 Board, aber die Portpins für 
die Ansteuerung sind die selben.

VBUS.....P1.30
D-.......P0.30
D+.......P0.29
CONNECT..P2.9

von JojoS (Gast)


Lesenswert?

ich habe auch das LPCXpresso1769, steckt auf dem EA BaseBoard. Dieses 
hat USB Anschlüsse und andere HW zum Testen.
Die D+/- Anschlüsse gehen direkt auf eine USB Mini-B Buchse. Der Connect 
Ausgang schaltet über einen Transistor + auf die D+ Leitung. Diese Mimik 
ist jetzt zweimal vorhanden, einmal auf dem LPCXpresso und einmal auf 
dem Baseboard, das hat mich verwirrt. Mit dem LPC1769 ist aber der P2.9 
für die Steuerung verantwortlich, das habe ich also auch.
Wofür das VBUS nötig ist weiss ich noch nicht.
An einem Windows7 Rechner wird jedenfalls ein 'NXP LPC17xx Memory' 
Device erkannt. Ein Laufwerk bekomme ich nicht, es wird ein 'Code10' 
Fehler angezeigt im Device.
Als USB Host hat mein Board schonmal funktioniert, ob das USBMem auch 
lief weiss ich nicht mehr genau. Spiele vit. morgen noch etwas damit, 
jetzt dreh ich dem Teil erst mal den Saft ab.

von JojoS (Gast)


Lesenswert?

habe das USBMem Beispiel zum Laufen bekommen. Das Device wurde erst 
richtig erkannt nachdem ich USB_DMA in usbcfg.h abgeschaltet habe. Warum 
es mit DMA nicht läuft weiss ich nicht, aber leider sind da in mehreren 
Beispielen so Ostereier versteckt. Das USBMem war wohl ein Sample für 
den LPC1343.

von LinkDing (Gast)


Lesenswert?

Hallo JojoS,

danke für deine Hilfe!
Es funktioniert bei mir jetzt auch!
Wäre da warscheinlich nie draufgekommen.
Wie kommt man darauf?

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.