Hi, mein Bruder und ich basteln gerade an einem Projekt und ich habe versucht, einen RP2040 auf eine Platine zu bringen und habe sie dann über JLCPCB bestellt. Jetzt habe ich folgendes Problem: Der RP2040 verbindet sich nur manchmal und oftmals auch nur für eine halbe Sekunde ungefähr mit meinem Rechner. Ich habe 5 Stück bestellt und manche Platinen laufen gefühlt besser als andere. Möchte ich ein Programm auf den RP2040 laden, lasse ich ihn angeschlossen einfach liegen. Nach 20min kann es sein, dass sich der RP2040 kurz verbinden konnte und das Programm wurde dann drauf gespielt. Das passiert aber nur nach Lust und Laune der Platine. Weitere Hinweise: - Sobald ein Programm drauf ist, funktioniert der RP2040 einwandfrei alleine mit externem Netzteil. Das drauf gespielte Programm läuft mit allen Funktionen sauber. - Sobald USB angeschlossen ist, geht der RP2040 nicht mehr. Der RP2040 rafft wohl, dass USB angeschlossen ist und funktioniert nicht mehr alleine. Auf dem Rechner wird er jedoch nicht angezeigt. - Ich habe auch schon die VBUS Versorgung gekappt und den RP2040 nur über externem Netzteil laufen lassen, während USB angeschlossen war, aber immer noch das gleiche. Nur über VBUS geht auch nicht. - Egal, was man anschließt, die Spannung am RP2040 bleibt stabil 3,3V - Ich habe die Quarz-Clock mit einer originalen Clock getauscht und das Problem ist immer noch das gleiche. - Ein RaspberryPi Pico, den wir vom Werk hier haben, verbindet sich sofort mit dem Rechner.
Hallo, Was hast du genau beim Quarz getauscht? https://forums.raspberrypi.com/viewtopic.php?t=355641&start=25
:
Bearbeitet durch User
Zeige doch bitte einmal die ganze Platine mit Anbindung des Flash, das sieht man hier nicht, oder? Und dann kann ich nur dazu raten, die Platine nächstes Mal 4-lagig auszuführen. Layer 1+4 Signal, Layer 2 GND, Layer 3 +3.3V. Die Mittellagen möglichst unversehrt lassen. Du gewinnst eine Menge Gestaltungsspielraum, brauchst die Leiterbahnen wie USB nicht mehr krampfhaft dick machen (ist hier im aktuellen Design sowieso nicht gut gelöst und auf dieser kurzen Distanz auch eher unwichtig). Wenn man vorher nie 4-Lagen gemacht hat ist das erstmal eine gedankliche Hürde, es macht es aber einfacher! Kostenmäßig ist es mittlerweile fast egal Alle Kondensatoren sind dann kurz angebunden und Du kannst das Flash vernüftig positionieren. Bevor Du viel mit Impedanzrechner herumtüdelst: Mache die (Signal-) Leiterbahnen für Flash und USB in 8mil, des passt scho. Weiterhin, was ich noch sehe: Kannst Du gewährleisten, dass der GND unter dem RP2040 gut angelötet ist?
Patrick B. schrieb: > Hallo, > > Was hast du genau beim Quarz getauscht? > > https://forums.raspberrypi.com/viewtopic.php?t=355641&start=25 Danke für die Nachricht. Könnte sein ja. Ich habe einen funktionierenden Raspberry Pi Pico genommen, den ich noch rum fliegen hatte, der funktionier hat, habe die Quarz Clock runter gelötet und, mit den passenden Kondensatoren, auf mein Platinendesign drauf gelötet. Immer noch das gleiche Problem, obwohl der Pico vom Werk vorher komplett mit USB funktioniert hat. Bevor ich jetzt wieder teure Platinen aus China bestelle und mit Clocks experimentiere, wollte ich einmal fragen, ob jemand noch eine andere Idee hat. Und Harald für deine Nachricht: Danke für die Tipps, ich bin neu im Platinen designen. Solche Tipps helfen mir generell sehr. Was meinst du könnte ich besser machen um die USB Verbindung zu verbessern? Den RP2040 vielleicht näher an die Schnittstelle? Die Leitungen sind 0,77mm dick. Und ich kann nicht garantieren, dass der RP2040 gut verlötet ist. Ich habe die Platine fertig bestückt von JLCPCB bestellt. Hätte ich die GND Verbindung da besser gestalten können?
Nils F. schrieb: > Die Leitungen sind 0,77mm dick. Das ist für USB-Datenleitungen gar nicht nötig. Sieh Dir einfach mal die Platine des Raspberry Pi Pico genauer an. Die ist nur zweilagig, funktioniert aber stabil. Sieh Dir also die Stellen genauer an, wo sich diese Platine von Deiner unterscheidet. Neben der Takterzeugung ist auch die Spannungsversorgung etwas, was Du genauer betrachten solltest.
Nils F. schrieb: > Der RP2040 verbindet sich nur manchmal und oftmals auch nur für eine > halbe Sekunde ungefähr mit meinem Rechner. Mir fällt zunehmend schwer das zu glauben. Das BOOTROM des RP2040 ist für einen 12MHz Quarz ausgelegt, mit deinem 16MHz Quarz könnte er wahrscheinlich laufen, obwohl der etwas außererhalb des spezifizierten Bereiches von 1MHz bis 15MHz liegt, aber ein erstes Programmieren über USB sollte so eigentlich gar nicht möglich sein. Über SWD wäre ein Programmieren auch bei nicht funktionierendem USB Anschluss möglich aber das scheint auf der Platine nicht vorgesehen zu sein.
Könnt ihr mir vielleicht einen Quarz und die Kondensatoren empfehlen, mit dem der RP2040 laufen sollte und der in der Produktpalette von JLCPCB vorhanden ist?
Fang bitte nicht an, an der falschen Stelle nach Fehlern zu suchen. Wichtig ist, daß es ein 12 MHz Quarz ist. Der Typ selber, die Kondensatoren und die Leiterbahnen dorthin sind weitgehend unkritisch.
Nils F. schrieb: > Ich habe einen funktionierenden > Raspberry Pi Pico genommen, den ich noch rum fliegen hatte, der > funktionier hat, habe die Quarz Clock runter gelötet und, mit den > passenden Kondensatoren, auf mein Platinendesign drauf gelötet. Immer > noch das gleiche Problem, obwohl der Pico vom Werk vorher komplett mit > USB funktioniert hat. Also das müsste ja jetzt dann ein 12 MHz Quarz sein. Denn auf dem Original-Pico ist ja genau so einer verbaut. Richtig? Du kannst ja auch mal mit dem Oszi kurz das XOUT-Signal vor dem 1k-Widerstand vermessen. Da solltest Du die 12 MHz gut sehen können. Ja, mit der Kapazität des Tastkopfes verschiebst Du den Takt etwas, aber für ne grobe Einschätzung ist das allemal gut genug. > - Sobald USB angeschlossen ist, geht der RP2040 nicht mehr. Der RP2040 > rafft wohl, dass USB angeschlossen ist und funktioniert nicht mehr > alleine. Auf dem Rechner wird er jedoch nicht angezeigt. Also das Programm, welches auf dem bereits programmierten RP2040 normalerweise läuft, geht jetzt nicht mehr? Auch wenn Du den RP2040 erst mit dem Labornetzteil startest und dann bei laufendem Programm das USB verbindest? Dann klingt mir das nach einem Masseproblem. Z.B. einer Masseschleife mit der Schutzerde des PCs oder sowas. Hast Du ein Notebook? Dann trenn das von allen Kabeln und lass es nur von Batterie laufen. Steck Deine RP2040-Platine ans USB von dem Notebook. Achte drauf dass an Deiner Platine keinerlei weitere Kabel angeschlossen sind. Geht es dann?
Hmm, ich hab grad mal über das Layout drübergelinst. Ja, 2 lagig ist nicht schön und die Massefläche leidet sehr darunter. Sieht definitiv nicht toll aus. Aber das muss nicht heißen dass es deswegen nicht geht. Was ich aber grad nicht sehe ist wie die 3.3V-Versorgung geroutet ist. Also oben links ist der Regler der die 3.3V erzeugt. Gut. Aber wie kommen die 3.3V zum Flash, zu C1 und C3. Entweder seh ich das in dem Screenshot nicht richtig oder die sind nicht geroutet. Lass mal ein Design Rule Check über das Board laufen. Sind da Unconnected Tracks an der Stelle? Mach mal ein Net-Highlight über das 3.3V-Netz und kontrollier wie das genau verbunden ist.
Nils F. schrieb: > Der RP2040 verbindet sich nur manchmal Versuche es mal mit einem 1,5kOhm Widerstand von 3,3V zum D+ Pin.
Wie Gerd E. schon anmerkt sind da Luftlinien für die 3V3 im Design. Der Chiphersteller baut mehrere Pins für die Versorgung ein, die auch alle von extern angeschlossen werden müssen. Sonst kommt es zu lustigen Effekten.
Ihr könntet den Pico wieder in den Qriginalzustand bringen, den Controller so programmieren, dass er an einem GPIO 12MHz ausgibt und die an eurer Platine mit entferntem Quarz am Osziilatoreingang einkoppeln. Damit hättet ihr einen stabilen Takt und könntet nach den anderen Fehlern suchen. Ihr hättet euch die Arbeit viel leichter gemacht wenn ihr eure Schaltung um einen fertigen Pico entwickelt hättet. Dass ihr stattdessen ausgerechnet Shawn Hymels RPi Pico Debugger Shoe als Schaltungsvorlage benutzt und auf eurer Platine den SWD-Aschluss weggelassen habt hat schon was.
Florian L. schrieb: > Der Chiphersteller baut mehrere Pins für die Versorgung ein, die auch > alle von extern angeschlossen werden müssen. Stimmt, hab ich gar nicht gesehen. Da sind ja nur ein paar Pins angeschlossen, da werden also ein paar Schaltungsteile des Chips gar nicht mit Spannung versorgt oder wenn, dann vielleicht nur intern relativ hochohmig.
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.