Liebes Forum, Vor ein paar Monaten habe ich eine Platine mit einem CP2102N und einem USB-C-Anschluss für die USB-Kommunikation mit einem PC entworfen. Der USB-C-Anschluss erfordert zwei differenzielle Datenleitungspaare, der CP2102N verfügt jedoch nur über ein differenzielles Datenleitungspaar. Darüber hinaus müssen die Länge und die Impedanz jedes Differenzpaars abgestimmt werden. Die Pinbelegung des USB-C-Anschlusses gibt an, dass A6 und A7 ein Differenzialpaar und B6 und B7 das andere Differenzialpaar sind. Deshalb habe ich mich entschieden, das Layout wie im Bild „routing_from_me.png“ zu erstellen. Ich habe mir auch andere Routings mit diesem IC und einem USB-C-Anschluss angesehen. Sie haben es wie im Bild „routing2.png“ gemacht. Ich habe mich dagegen entschieden, weil A6 und B7 die gleiche Länge hatten wie B6 und A7. Der Schaltplan entspricht genau den Empfehlungen im Datenblatt, mit dem SP0503BAHTG zum Schutz. Ich habe mit der UART-Kommunikation etwas Ungewöhnliches entworfen. Der CP2102N ist über UART mit einem STM32 verbunden, aber derselbe UART ist auch mit einem ESP8266 verbunden. Die TX-Datenleitungen sind mit RS des CP2102N und RX des ESP8266 verbunden. Der RX des STM32 ist mit dem TX des ESP und dem TX des CP2102N verbunden. Seit ein paar Wochen habe ich die Platinen hier. Zuerst war alles in Ordnung, das Gerät wurde vom PC erkannt, doch dann brachen aus dem Nichts die USB-Datenleitungen ab. Meine Frage ist nun, könnte es sein, dass der IC wegen des Routings kaputt gegangen ist, oder ist es egal, welches der Routings, weil USB 2.0 zu langsam ist? Oder könnte es an der nicht regulären UART-Kommunikation liegen? Am Anfang hat es funktioniert, ich konnte auch nichts dagegen finden. Und die anderen beiden Geräte kommunizieren immer noch einwandfrei über UART. Ich habe das design bereits geändert und einen UART-switch zwischen den STM und den anderen beiden Schaltkreisen eingefügt. Viele Grüße Eric
:
Verschoben durch Moderator
Eric schrieb: > Der RX des STM32 ist mit dem TX > des ESP und dem TX des CP2102N verbunden. Zwei Ausgänge gegeneinander - keine gute Idee.
Ich habe das design bereits geändert und einen UART-switch zwischen den STM und den anderen beiden Schaltkreisen eingefügt.
Eric schrieb: > doch dann brachen aus dem Nichts die USB-Datenleitungen ab. Was willst Du mit dieser Formulierung ausdrücken? "Abbrechen" kann man in diesem Kontext auch mechanisch verstehen, das aber wirst Du kaum meinen. Und was genau meinst Du dann?
Du solltest auf der Client-Seite vom USB-C nicht die USB2 Signale brücken.
Was willst Du mit dieser Formulierung ausdrücken? "Abbrechen" kann man in diesem Kontext auch mechanisch verstehen, das aber wirst Du kaum meinen. Und was genau meinst Du dann? Der Widerstand zwischen den Datenleitungen hat sich stark reduziert, auf ein paar hundert Ohm und es findet keine Kommunikation mehr statt. >Du solltest auf der Client-Seite vom USB-C nicht die USB2 Signale >brücken. Wo ist dort etwas gebrückt? Dp ist ausschließlich mit Dp verbunden und Dn mit Dn. Damit der USB-Stecker für A6 und A7 sowie B6 und B7 funktioniert, sprich der USB-Stecker beidseitig steckbar ist. Muss alles verbunden werden.
Michael X. schrieb: > Du solltest auf der Client-Seite vom USB-C nicht die USB2 Signale > brücken. Sicher? Ich habe mir jetzt nochmal eine AN von Microchip angesehen, da geht es um die Implementierung eines UFP (also eines Peripheriegerätes) und dort wird USB2 gebrückt, bestenfalls per Mux, notfalls aber auch per Brücke unter Inkaufnahme von Stubs. https://ww1.microchip.com/downloads/en/Appnotes/00001914B.pdf
Ganz sicher! Ich habe von diesem Adapter-PCB sehr viele und benutze die täglich (arbeitsbezogen): https://www.waveshare.com/cp2102-usb-uart-board-type-c.htm Im Prinzip habe ich lediglich den Stromlaufplan auf die Leiterplatte übertragen. Ganz unten ist ein Link zum Stromlaufplan und Datenblatt zu finden. Das Layout von waveshare ist wie in Bild routing2.png realisiert. Ich war jedoch der Meinung, dass der Leiterbahnlängenabgleich von 5 mil nicht gegeben ist und habe mich für ein andere Layout entschieden. Kein Adapter ist bisher kaputt gegangen. Wahrscheinlich gelten die 5 mil eher nur für USB 3.0 und höher, sodass beide routings funktionieren?
Eric schrieb: > Ganz sicher! Meinst Du mich? Ich habe doch für die Brücke auf Clientseite plädiert, es ging um den Beitrag von Michael, der der Meinung war, dass die Brücke nicht dahin gehört. Die 5mil sind für den CP2102 definitiv unwichtig. Das ist ja ein Full-Speed Device, da ist es fast sch…egal.
:
Bearbeitet durch User
Eric schrieb: > Ich war jedoch der Meinung, dass der Leiterbahnlängenabgleich > von 5 mil nicht gegeben ist Der CP2102 ist ein Full-Speed-Device, da ist dieser Längenabgleich fast vollkommen irrelevant. Full-Speed sind 12 MBit/sec. Bei High-Speed (480 MBit/sec) fängt es an, etwas kritischer zu werden, und bei Super-Speed (5 GBit/sec oder mehr) ist ein sauberes Design unabdingbar. Aber Full-Speed kann man auch mit Fädeldraht auf einer Lochrasterplatine veranstalten, da ist "length-matching" wegen der niedrigen Frequenzen sehr nachrangig.
>Meinst Du mich? Ich habe doch für die Brücke auf Clientseite plädiert, >es ging um den Beitrag von Michael, der der Meinung war, dass die Brücke >nicht dahin gehört. Entschuldigung, ich habe es falsch gelesen. Dann ist das Routing wohl egal, aber der Längenabgleich schadet auch nicht. Jedoch war das mit der UART-Verknüpfung wohl schmarn.
Full Speed USB habe ich zur Probe schon mal mit 30 cm losen Drähten verkabelt. Geht auch. Da du Probleme in Kombination mit einem ESP8266 hattest, tippe ich mal auf die Stromversorgung. Vielleicht haben deine Leitungen bzw. Kontakte zu viel Innenwiderstand, zu viel Induktivität, oder dein Spannungsregler ist zu schwach oder zu träge. Das wären die Klassiker. Berichte man ganz detailliert, wie die Stromversorgung realisiert wurde, mit Layout und Fotos, und zwar bis zur Quelle.
Der CP2102N wird direkt über USB-C mit 5V versorgt. Die 5V gehen weiterhin zu einem Wandler von Analog Devices, welcher bis zu 600 mA liefern kann. Genau spezifizieren kann ich frühestens am Montag. Der Wandler versorgt dann den ESP8266 ud den STM32. Bei der Hälfte der Leiterplatten habe ich ein LC-Glied in der 5V Versorgung eingefügt. Bei den anderen ist ein 0-Ohm-Widerstand und der Kondensator. Bei beiden Varianten ist jedoch der Fehler in der USB-Verbindung aufgetreten (Ich überprüfe das am Montag noch einmal). Weiterhin ist der interne Wandler vom CP2102N noch funktionsfähig und gibt die 3,3 V aus. Ausschließlich die USB-Datenleitung scheint defekt zu sein, da der PC kein USB-Gerät mehr zu erkennen scheint. Es ist imr auch möglich mit dem oben verlinkten CP2102 USB UART Board und seinen internen Wandler, der nur 100mA liefert, den ESP zu speisen und zu programmieren. Dabei teste ich auch die WLAN-Konnektivität. Beim Programmieren des ESPs ist der CP2102N jedoch so ungünstig angeschlossen, was zu dem beschriebenen Fehler führen kann. Layout und alles weitere ist frühestens am Montag möglich.
Eric schrieb: > Ausschließlich die USB-Datenleitung scheint defekt > zu sein, da der PC kein USB-Gerät mehr zu erkennen scheint. Wirklich dauerhaft defekt, oder reden wir von einer funktionellen Störung die sich durch aus/ein Schalten beheben lässt? Falls es nur eine vorübergehende Störung ist: Der ESP32 braucht 430 mA (Peak). Zusammen mit der Stromaufnahme des nicht genau bekannten ESP32 und dem Rest der Schaltung bist du schnell über 500 mA. Hast du die 3,3 Volt Versorgungsspannung mal mit einem Oszilloskop kontrolliert? Am besten stellst du den Trigger auf fallende Flanke bei 3 Volt ein. Dann wird dir das Oszilloskop auf den Moment des Spannungseinbruches triggern, falls vorhanden.
Stefan F. schrieb: > Der ESP32 braucht schon 430 mA (Peak). Zusammen mit der Stromaufnahme > des nicht genau bekannten ESP32 Es geht um einen ESP8266, nicht um irgendeine Variante des ESP32: Eric schrieb: > Der CP2102N ist über UART mit einem STM32 verbunden, aber > derselbe UART ist auch mit einem ESP8266 verbunden.
Harald K. schrieb: > Es geht um einen ESP8266, nicht um irgendeine Variante des ESP32 Sorry, Tippfehler. Ich meinte auch den ESP8266. Der ESP32 braucht noch mehr Strom.
Stefan F. schrieb: > Wirklich dauerhaft defekt, oder reden wir von einer funktionellen > Störung die sich durch aus/ein Schalten beheben lässt? Wirklich dauerhaft defekt. Wenn ich einen neuen auflöte funktioniert wieder alles. > Falls es nur eine vorübergehende Störung ist: Der ESP32 braucht 430 mA > (Peak). Zusammen mit der Stromaufnahme des nicht genau bekannten ESP32 > und dem Rest der Schaltung bist du schnell über 500 mA. > > Hast du die 3,3 Volt Versorgungsspannung mal mit einem Oszilloskop > kontrolliert? Am besten stellst du den Trigger auf fallende Flanke bei 3 > Volt ein. Dann wird dir das Oszilloskop auf den Moment des > Spannungseinbruches triggern, falls vorhanden. Ich gucke es mir dennoch am Montag genauer an.
Eric schrieb: > Wirklich dauerhaft defekt. Vielleicht passiert das, wenn der Mikrocontroller mit Spannung versorgt wird, während der CP2102 keine Versorgungsspannung hat. Denn dann verträgt dessen UART Schnittstelle maximal 2,5 V, dein Mikrocontroller hat aber 3,3 V. Eine instabile (zu schwache) Versorgungsspannung am Mikrocontroller wird wohl kaum den CP2102 zerstören. Das wäre nur bei einer vorübergehenden Störung von Interesse gewesen.
Stefan F. schrieb: > Vielleicht passiert das, wenn der Mikrocontroller mit Spannung versorgt > wird, während der CP2102 keine Versorgungsspannung hat. > > Denn dann verträgt dessen UART Schnittstelle maximal 2,5 V, dein > Mikrocontroller hat aber 3,3 V. Das wäre dann mit dem UART-Switch gelöst. Vielen Dank für eure Hilfe!
Eric schrieb: > Das wäre dann mit dem UART-Switch gelöst. Arduino Module nutzen an der Stelle oft 1kΩ Widerstände in den Rx und Tx Leitungen. Das scheint auch zu genügen.
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.