Ich möchte, dass mein Layout Buchsenleisten enthält, um CP2102 MICRO USB mit dem 6-poligen UART TTL-Modul zu verbinden, damit ich es beim Hochladen des Codes einfach auf meine Leiterplatte kleben kann. Die 5V für das ESP werden während des Betriebs von einer externen Quelle geliefert.
Die Sache ist, dass der CP2102 die folgenden Pins hat: 5 V, 3,3 V, GND, TX, RX, DTR:
Ich habe im Schema von ESP32, Abschnitt Micro-USB 5V und USB-UART nachgesehen und festgestellt, dass ich zum ordnungsgemäßen Hochladen des Codes den RTS-Pin von CP2102 benötige, auf den nicht zugegriffen werden kann:
Es scheint also eine fehlende Pinbelegung (RTS) zum Hochladen des Codes zu geben. Ich habe kein Modul für Micro-USB&UART gefunden, das alle gewünschten Pins enthält.
Gibt es eine Lösung dafür? Oder sollte ich den Micro-USB-5-V- und USB-UART-Abschnitt in meinem Layout implementieren?
Danke.
Aktualisieren:
Also habe ich das Board bekommen und der USB-zu-UART-Abschnitt sieht so aus:
Ich habe versucht, eine Skizze in das Board hochzuladen, und habe folgende Meldung erhalten:
Connecting........_____....._____....._____....._____....._____....._____....._____....._____....._____....._____
Ich habe wie immer bei ESP32 die BOOT-Taste gedrückt und nichts passiert! Ich habe auch Spannungen über IO0 gemessen: 3,3 V und 0 V, wenn ich den Knopf drücke.
Endlich bekam ich die Nachricht:
A fatal error occurred: Failed to connect to ESP32: Timed out waiting for packet header
A fatal error occurred: Failed to connect to ESP32: Timed out waiting for packet header
Mein Design sieht genauso aus wie in der Referenz vorgeschlagen, aber ich konnte immer noch keine Skizze hochladen.
Benötigen Sie RTS? Ja und nein. Gemäß den Referenzschemata für den ESP-WROOM-32 wird der RTS-Pin (zusammen mit DTR) benötigt, wenn Sie möchten, dass der Programmierprozess automatisch neu gestartet und das ESP-Gerät in den richtigen „Boot“-Modus zum Programmieren und dann versetzt werden kann automatisch neu starten und im regulären Boot-Modus ausführen, nachdem die Programmierung abgeschlossen ist. Wenn Sie den RTS-Pin nicht haben, müssen Sie einen separaten Mechanismus (wie einen Druckknopf) verwenden, der direkt mit dem ESP-WROOM-32-Pin IO0 verbunden ist, damit Sie ihn im richtigen Boot-Modus für die Programmierung einschalten können .
Ich bin mit diesem Prozess einigermaßen vertraut, da ich den ESP-Programmierer / Stromkreis in meine eigene benutzerdefinierte Leiterplatte aufgeteilt habe, wobei ich den gleichen Referenzschaltplänen folge, die Sie sich ansehen.
Für einen stärker automatisierten Flash- und Reset-Binärdatei-Upload müssen Sie DTR- und RTS-Pins verbinden. Unten ist ein Schaltplan, wie man eine ordnungsgemäße Datenübertragung auf einer ESP32-MCU-Platine erreicht.
und jeder kann ein PCB-Design in KiCad auf diesem GitHub-Repo herunterladen: https://github.com/aeonSolutions/AeonLabs-MCU-Burner-USB-to-UART-TTL
Siehe die Antworten in dieser Frage ESP32 mit FTDI-Programmierer
Chris Stratton
VAAA