Klicken Sie hier, um zum eingebetteten Viewer zu springen und dieses Projekt zu durchsuchen
Es gibt eine Gruppe von Produkten, an denen ich arbeite, die ein Booten und Konfigurieren über RS-232 oder UART erfordern, und ich starte Prototypen gerne, indem ich sie mit meinem Laptop verbinde. Um jedoch auf diese Schnittstelle zugreifen zu können, muss ich Daten senden und über einen COM-Port empfangen. Leider hat mein Laptop nur USB-Anschlüsse, daher muss ich zwischen dem USB-Port und der UART-Schnittstelle umwandeln. Normalerweise verwende ich ein kleines Schnittstellenkonvertermodul, das online gekauft werden kann.
Die Konverter, die ich online gefunden habe, sind ziemlich minderwertig und sie neigen dazu, durch Schock oder Überspannung ziemlich leicht kaputt zu gehen. Um etwas Überspannungsschutz zu bieten, werde ich zeigen, wie man eine USB-zu-UART-Brücke mit dem CP2102, einem beliebten Schnittstellenkonverterbauteil für USB 2.0-Leitungen, entwirft. Das vollständige Tutorial für dieses Projekt können Sie im folgenden Video ansehen.
Vielleicht fragen Sie sich, warum man nicht einfach einen dieser Schaltkreise direkt auf Prototypen platziert und dann mit einem USB-Kabel auf die UART-Schnittstelle Ihrer Prototypen zugreift? Das ist eine berechtigte Frage. Es gibt zwei Gründe dafür:
Also mit diesem Gedanken im Hinterkopf, lasst uns an einem kleinen Modul für einen CP2102 USB zu UART Konverter arbeiten.
Der CP2102 von Silicon Labs ist ein kompaktes Schnittstellenkonvertermodul, das USB- und UART-Schnittstellen überbrückt. Ich mag diese Komponente für Systeme, die eine Verbindung zu USB benötigen, weil es fertige Treiber für den Chip gibt, die es ermöglichen, ihn über einen COM-Port durch eine Terminalanwendung (ich verwende TeraTerm) zu erreichen. Dieser Chip ist einer von vielen, der in USB-zu-Seriell-Konvertern verwendet wird, die Sie auf Amazon oder Alibaba finden.
Der CP2102 kommt in einem QFN-28-Gehäuse und beinhaltet einige nützliche Funktionen:
Es gibt auch eine optionale Pinleiste, die als Anzeige- oder Steuerpins fungiert, wenn sie auf derselben Platine wie ein Prozessor, wie ein Mikrocontroller, verwendet wird. Diese Pins können durch GPIOs gesteuert werden. Für dieses Modul benötigen wir diese nicht, da das Modul unabhängig von einem Mikrocontroller arbeiten wird.
Die Entwurfsziele für dieses Projekt sind einfach: Das Design wird seine UART-Daten, Strom und Masse an eine Stiftleiste ausgeben. Das Design muss in eine Standardbank von USB-Ports passen. Schließlich werde ich zusätzlichen Überspannungsschutz an allen Datenleitungen und der +5 V Busleitung hinzufügen, um maximalen Überspannungsschutz für den CP2102 und das Host-Gerät zu bieten.
Zuerst werfen wir einen kurzen Blick auf den Anwendungsschaltkreis für den CP2102 (Seite 15 des Datenblatts).
Die Schaltpläne werden im Allgemeinen diesem Anwendungsschaltbild folgen, mit einigen Ergänzungen, die unten besprochen werden. Da wir dieses Modul nur auf der Platine verwenden, ohne andere digitale Komponenten, müssen wir uns keine Gedanken über zusätzliche Leistungsbuskapazität machen, außer den im Anwendungsdiagramm angegebenen diskreten Kondensatoren. Nachdem Sie sich andere Module angesehen haben, die dies und ähnliche Komponenten verwenden, werden Sie dieselbe Art und Anzahl von Kondensatoren sehen.
In diesem Anwendungsdiagramm sehen wir die typische Empfehlung für die Platzierung von TVS-Dioden an den USB-Leitungen. Das Teil, das sie empfehlen, ist Littlefuse SP0503BAHT oder ein Äquivalent. Anfangs platzierte ich eine 0402 unidirektionale TVS-Diode für diese Komponente. Wie ich unten bespreche, wird dies vorerst nur ein Platzhalter sein und in der endgültigen Montage ausgetauscht.
Wir werden in dieser Iteration keine externe Transceiver-Schaltung oder den Reset-Pin verwenden. Stattdessen werden wir nur die Schaltungen auf der linken Seite des Bildschirms nutzen. Ich werde auch TVS-Dioden zu den UART Rx- und Tx-Leitungen hinzufügen. Die maximale Spannungsebene, die für diese Leitung erwartet werden kann, ist VDD - 0,8 V. Bei einem maximalen VDD = 3,6 V wird die maximale UART-Leitungsspannung 2,4 V betragen.
Um den maximal möglichen Schutz auf den UART-Leitungen zu bieten, könnten wir eine TVS-Diode mit einer niedrigeren Durchbruchschwelle platzieren. Die empfohlene TVS-Diode schützt nur bis zu 5,5 V, was knapp unter der Überspannungsbewertung für I/Os auf dem CP2102 liegt. Das Risiko bei der Verwendung einer kleineren TVS-Diode besteht darin, dass sie eine niedrigere Klemmspannung haben wird und nicht in der Lage sein wird, höhere Spannungs-ESD-Impulse zu widerstehen.
Die fertiggestellten Schaltpläne sind unten dargestellt. Das Gerät ist einfach und folgt im Wesentlichen dem Anwendungsschaltkreis. Ich habe den Ansatz gewählt, die +5V Stromversorgung, die über den USB-Anschluss (VBUS-Netz) in das Modul kommt, zu nutzen und habe diese an den Reglereingang des CP2102 weitergeleitet. Die +5V Stromversorgung und die Ausgangsleistung von +3V3 sind beide am Stiftleistenanschluss verfügbar und können verwendet werden, um ein externes Gerät bis zu den Leistungsgrenzen des USB 2.0-Standards zu versorgen.
Das PCB-Layout wird auf zwei Schichten aufgebaut, wobei alle Komponenten auf der oberen Schicht platziert werden. Das PCB-Layout wird klein genug sein, dass wir nicht unbedingt eine Hochgeschwindigkeitsverlegung der USB-Leitungen benötigen, aber wir werden es hier als einfaches Beispiel implementieren, um zu zeigen, wie es auf diesem Typ von Platine gemacht werden kann. Diese Platine ist einfach genug, dass sie nicht auf vier Schichten platziert werden muss und die Anforderungen an die USB-Verlegung können mit koplanarer differentieller Verlegung erfüllt werden.
Die initiale Platzierung wird in zwei Abschnitten behandelt; der USB-Anschluss und die TVS-Dioden für die USB-Leitungen werden auf der linken Seite der Platine platziert, und der Stiftleistenanschluss mit den Dioden D4 und D5 wird auf der rechten Seite der Platine platziert. Die Platzierung auf der linken Seite des PCB-Layouts wird unten gezeigt.
Die initiale Platzierung auf der Seite der Stiftleiste wird unten gezeigt. Ich habe eine rechtwinklige Stiftleiste verwendet, die über den Rand der Platine hinausragt, damit das Modul ein niedriges Profil hat. Dies ermöglicht auch die Verwendung von standardmäßigen Flugleitungen oder einem 100 mil Pitch-Kabel zur Verbindung mit einer anderen Platine. Ursprünglich war der Pinout so eingestellt, dass die +5 V Stromversorgung (VBUS-Netz) oben in die Stiftleiste einlaufen würde, dies wurde jedoch später auf die Unterseite geändert, um das Routing zu vereinfachen.
Die Platzierung ist einfach an beiden Kanten der Platine, und der Hauptpunkt hierbei ist, die Kondensatoren (C1-C4) nahe an ihren jeweiligen Strompins zu halten. Die Platzierung von D4 und D5 wird zwischen U1 und P1 sein, aber ich werde diese erst positionieren, wenn das Routing beginnt, damit ich sicherstellen kann, dass das Routing in ihrer Nähe nicht unübersichtlich wird. Mit dieser Platzierung kann das USB-Routing nun direkt in den Stecker (J1) gehen. Der nächste Punkt ist, die USB-Leiterbahnbreite und den Abstand auf dieser 2-lagigen Platine zu berechnen.
Basierend auf der Minimierung der Kosten sollte die Platine auf die Standarddicke von 62 mils eingestellt werden. Die Rückseite wird eine Ground-Pour-Schicht haben, und die Oberseite wird koplanare Routing für das differentielle Paar verwenden. Der Rest von L1 wird eine Kupferfläche haben. Ich habe die Standard-Dk-Einstellung von 4.8 im Stackup verwendet, die sehr nahe am Standardwert meines ausgewählten Fertigungshauses für 2-lagige PCBs liegt. Die Impedanzeinstellungen sind unten gezeigt.
Hier nutzen wir den Abstand zwischen den Paaren und die Entfernung zum Kupfer-Pour auf L1, um die differentielle Impedanz auf den Zielwert einzustellen. Der Breitenwert wurde basierend auf der Größe der Pads auf dem CP2102 festgelegt, da ich nicht möchte, dass die Verdrahtung in den Footprint für U1 hinein verjüngt wird. Mit diesen Einstellungen können wir die differentiellen Paare in den Stecker führen und das Layout vervollständigen.
Das fertiggestellte PCB-Layout ist unten dargestellt. Hier gibt es zusätzliche Länge, die gelöscht werden könnte, wenn wir das Modul verkleinern möchten. Einfach mit dem Messwerkzeug (Strg + M) würde ich schätzen, dass wir etwa 400-500 mils Länge einsparen könnten, indem wir die Komponenten in der rechten Hälfte des Boards näher zum USB-Stecker verschieben.
Derzeit ist die Größe dieses Moduls ähnlich wie bei anderen Modulen, die Sie online kaufen können, daher ist der oben genannte Punkt nicht kritisch. Es gibt drei weitere Verbesserungen, die in diesem Projekt umgesetzt werden könnten:
Ich werde eine Charge davon in Produktion geben, und wir werden einige Tests durchführen, um zu überprüfen, ob die Platinen korrekt funktionieren. Wie ich in einem anderen Video und Blog darlegen werde, werde ich wahrscheinlich die Dioden durch TPD1E10B06DPYR in der Montage ersetzen, da diese alternativen Dioden bidirektionalen Schutz bieten und sie näher an den SP0503BAHT-Spezifikationen sind.
Folgen Sie diesem Link, um ein ZIP-Archiv mit den Projektquellendateien herunterzuladen. Sie können auch den Download-Link im obigen Einbettungsbereich nutzen, um auf die Quelldateien zuzugreifen.
Wenn Sie schnell kleine Module erstellen und für die Herstellung vorbereiten müssen, verwenden Sie die 2D- und 3D-CAD-Tools in Altium Designer®. Wenn Sie Ihr Design abgeschlossen haben und die Dateien an Ihren Hersteller weitergeben möchten, erleichtert die Plattform Altium 365™ die Zusammenarbeit und das Teilen Ihrer Projekte.
Wir haben nur die Oberfläche von dem gekratzt, was mit Altium Designer auf Altium 365 möglich ist. Starten Sie Ihre kostenlose Testversion von Altium Designer + Altium 365 heute.