Hi! Ich habe einen ARM7 LPC2368 auf eine eigene Platine aufgebaut. Mit dem JTAG kann ich den Controller auf der Platine programmieren. Aber eine Dateübertragung per USB an den Rechner geht nicht. Jetzt die Frage. Wie kann ich rausfinden was an der Verbindung nicht geht, oder woran es liegt? Ich habe ein MCB2300 Demo-Board von Keil. Prinzipiell habe ich die USB-Portbeschaltung so aufgebaut wie auf dem Board. Nur wenn ich den USB-Stecker in den PC stecke, geht nix. Programmiert ist der µC natürlich & zwar mit dem selben Programm wie für das Demo-Board. Dort geht die Datenbertragung an den PC problemos. Der Vbus hat auch die Spannungsversorgung über den USB-Port. Der Controller selbst hat eine eigene Spannungsversorgung. Mein Quarz, der auf dem Board verbaut ist, gibt 11,99918 MHz raus. Also sollte man den als 12MHz ansehen können. Für Infos wär ich dankbar! gruuß
Hatte auch Probleme mit der ersten eigenen Schaltung mit einem LPC2368 in Verbindung mit USB. Ich wollte schlau sein und hatte für die Filterung vom USB eine speziell dafür vorgesehene Doppeldrossel von Würth an Stelle der Beschaltung auf dem MC2360 eingesetzt. Resultat: Nix ging. USB-Gerät nicht erkannt. Drossel runter und den RC-Filter vom MCB2360 nachgebaut. Alles ok. Überprüf das nochmal ob deine Eingangsbeschaltung wirklich wie auf dem MCB2360 ist. Merkt der PC denn überhaupt nichts beim Einstecken? Oder meldet er unbekanntes USB-Gerät oder ähnliches? Wie sieht ansonsten deine Leitungsführung auf der Platine aus? Wie groß ist der Abstand zwischen USB-Buchse und Controller? Sind die beiden Leitungen weitgehend parallel geführt? Hast du darauf geachtet möglichst wenig Lagenwechsel auf dem Weg zu haben?
Wenn am PC nix geht, also rein gar nichts, dann fehlt der 1K5 Pull-Up bei D+ auf 3,3V.
Hi ARM-Fan! Danke für deine schnelle Antwort! Mein µC befindet sich auf einer normlen 16x10cm grossen Platine fast exakt mittig drauf. Der USB-Port an der hinteren Kante. Allerdings habe ich den Controller über Sockelreihen aufgesteckt. Das sollte aber eigentlich nix ausmachen. Meine Leitungsführung auf dem Board ist eigentlich fast exakt parallel. Einzig direkt an der Buchse ist der eine Bogen etwas weiter ausgeholt als auf der anderen Seite. Aber das ist minimal. Lagenwechsel habe ich gar keine. Mit D+ & D- bin ich auf einer Seite geblieben. Meine RC-Beschaltung an D+ & D- sind, wie auf dem Demo-Board 18pF & 33 Ohm. Wenn ich die USB-Buchse einstecke passiert nix! Im Gerätemenager seh ich absolut keine veränderung. Den 5V USB-Anschluss habe ich, wie auf dem Board über einen 4,7k an Vbus geführt. 220K gehen gegen Masse. Aber das, was ich dann messe ist nicht das, was ich erwarte. Wenn ich mein Board ins Reck stecke, messe ich an Vbus 3,3V. Obwohl der USB-Stecker nicht eingesteckt ist. Verbinde ich dann den USB-Stecker, dann messe ich 1,2V. Dürfte wohl nicht soo ganz passen, oder??? Kann sein, das ich Vbus nicht als Vbus also Input, sondern als Output habe & deswegen die 3,3V auch ohne USB-Stecker drauf habe. Aber warum funktioniert dann mein Programm auf dem Demo-Board???? Weist du ob ich, wenn ich einen ganz niegelnagelneuen LPC2368 auf eine Platine löte & dann programmiere, etwas anders programmieren muss, als den auf dem Demo-Board??? Weil evtl. auf dem Demo-Board irgendwas von Keil schon drin steht??? Und evtl. der interne AHB-Bus gar nix rafft, weil ich da auch nix reinprogrammiert habe ausser das er an sein muss, aber die Taktzahl ja deswegen evtl. totaler mist ist???? gruuß
Markus wrote: > Wenn am PC nix geht, also rein gar nichts, dann fehlt der 1K5 Pull-Up > bei D+ auf 3,3V. Ach ehrlich? Dachte den braucht man nur in Verbindung mit Soft Connect. gruß
>Ach ehrlich? >Dachte den braucht man nur in Verbindung mit Soft Connect. Nein, der Widerstand sagt dem PC, DASS und WAS drangesteckt wird und ist notwendig. Schau mal hier: http://www.beyondlogic.org/usbnutshell/usb2.htm
ARM-Fan wrote: >>Ach ehrlich? >>Dachte den braucht man nur in Verbindung mit Soft Connect. > > Nein, der Widerstand sagt dem PC, DASS und WAS drangesteckt wird > und ist notwendig. > > Schau mal hier: http://www.beyondlogic.org/usbnutshell/usb2.htm ah korrekt! Dann teste ich das morgen gleich mal aus .....
Selbst wenn man nur 1,5K von D+ auf 3,3V legen würde und sonst kein einziges Bauteil dran hat, dann würde Windows versuchen was zu installieren und meckern dass die "Enumeration" fehlgeschlagen ist. Ich hab auch einen selbst-Bau-Board mit LPC2368 schon mal am PC dran gehabt, sollte gehen. Siehe: http://www.mikrocontroller.net/attachment/37050/Datenlogger.jpg Ein kleines Schnittstellenwunder, mit nahezu allen Schnittstellen herausgeführt (2 CAN, 4 UART (V24/RS485/LIN), MMC/SD, TCP, USB, I2C(EEPROM), SPI(LCD), RTC, IOs+Treiber, JTAG), auf einer einseitig bestückten Platine. Man könnte da so ziemlich alles anschließen und als Webserver laufen lassen.
Frank N. wrote:
> Und? Erfolg?
Teilweise!
Also der PC erkennt nun, dank dem 1k5 Widerstand gegen 3V, das was
eingesteckt ist. Das geht. Soweit passt das.
Nur die Enumeration geht leider nicht. Also er erkennt den Controller
nicht. Aber das dann wohl ein Problem der Leitungssignale.
Markus wrote: > Selbst wenn man nur 1,5K von D+ auf 3,3V legen würde und sonst kein > einziges Bauteil dran hat, dann würde Windows versuchen was zu > installieren und meckern dass die "Enumeration" fehlgeschlagen ist. > > Ich hab auch einen selbst-Bau-Board mit LPC2368 schon mal am PC dran > gehabt, sollte gehen. > > Siehe: > http://www.mikrocontroller.net/attachment/37050/Datenlogger.jpg > Ein kleines Schnittstellenwunder, mit nahezu allen Schnittstellen > herausgeführt (2 CAN, 4 UART (V24/RS485/LIN), MMC/SD, TCP, USB, > I2C(EEPROM), SPI(LCD), RTC, IOs+Treiber, JTAG), auf einer einseitig > bestückten Platine. Man könnte da so ziemlich alles anschließen und als > Webserver laufen lassen. Cooles Teil ! Schön kompakt. Aber ich soll/darf leider kein SMD verwenden. :'(
>Aber ich soll/darf leider kein SMD verwenden. :'( Einen ARM im QFP und kein SMD drumherum? Wo ist da der Sinn?
Frank N. wrote: >>Aber ich soll/darf leider kein SMD verwenden. :'( > > Einen ARM im QFP und kein SMD drumherum? Wo ist da der Sinn? Kompatibilität. Kompaktheit war net gefordert.
Hi! Jetzt funktioniert auch die Enumeration & mein Controller wird am PC erkannt. Danke!
Damit meine Platine relativ einfach "Herstellbar" ist, hab ich auch nur 0805 als kleinstes Bauteil verwendet, bis auf ein paar BAS516, die lind kleiner... Falls da noch mehr rein muss, müsste ich auf 0603 umbauen. Aber das Herstellen von SMD ist doch viel günstiger, selbst auch beim Hand-Löten ist es schneller, da nicht erst das Bauteil gebogen und durch das Loch gestopft werden muss, und dann noch den Rest Draht abzwicken.
Jo. Nur sind mir im Bezug auf SMD oder THT die Hände gebunden.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.