Hallo Leute. Kann ich irgendwie einen USB-C Connector so verdrahten, dass er nicht nur die Versorgungsspannung übernimmt, sondern das ich auch komplett darüber programmieren kann? Also sprich so das J1 und J2 entfallen. Hat das schonmal jemand umgesetzt? Der Controller wäre nackt, also es müsste auch der erste Zugriff funktionieren. Es geht mir hier nur um den Controller plus USB. Der Rest ist nicht diskussionsrelevant, da nicht fertig. Vielen Dank!
Klar, schau dir einfach die Schematic eines Arduino an. Du brauchst einen USB/Serial Wandler wie z.B. der CH340. Dazu noch einen entsprechenden Bootloader.
Debug accessory mode könnte das sein was du suchst. Hier ein Bsp wie man das machen könnte ( er hat es für SWD auf ARM, aber die Idee ist die gleiche): https://threadreaderapp.com/thread/1495860045728395278.html Dann bastelst du dir halt noch ein dongle das beide CCs high zieht und isp auf den pins adaptiert. Alternativ einen uC verwenden der mit einem usb-bootloader ab-Werk daherkommt (afaik haben das sogar die avr mit nativem usb drinnen)...
Moin, auch wenn du es vllt nicht wissen möchtest, aber du wirst dich ziemlich verbiegen müssen, damit der Strom durch deine PNP in die eingezeichnete Richtung fließt. Gruß
Philipp schrieb: > Es geht mir hier nur um den Controller plus USB. Das funktioniert schon deshalb nicht weil du RESET hart mit GND verbunden hast. So kannst du den Atmega328P noch nicht einmal über J1 programmieren. Ein fabrikneuer Atmega328P kommt ohne Bootloader und kann nur wie im Datenblatt beschrieben programmiert werden. Du kannst natürlich zwischen USB und Atmega328P einen ISP-Programmer mit aufs Board nehmen. Nur, die brauchen auch Software, und die muss erst mal draufprogrammiert werden ... LG, Sebastian
Da macht du dir extra die Mühe Avcc per LC-Glied zu entkoppeln, und dann baust du einen Kurzschluss von Aref gegen Vcc ein? Aref lässt sich per Software auf Avcc verbinden, da reicht nur ein Kondensator gegen GND am Pin. Und was soll die Kondensator-Serienschaltung daneben am Bild?
:
Bearbeitet durch User
Sebastian W. schrieb: > Du kannst natürlich zwischen USB und Atmega328P einen ISP-Programmer mit > aufs Board nehmen. Nur, die brauchen auch Software, und die muss erst > mal draufprogrammiert werden ... Er könnte einen FTDI nehmen, der eine MPSSE hat, der kann ohne weitere Software auch ISP. Aber ob das den Aufwand lohnt? (FTDI als on-board debugger auf ARMs haben wir aber schon gemacht. Funktionierte problemlos mit OpenOCD.)
Philipp schrieb: > Der Controller wäre nackt, also es müsste auch der erste > Zugriff funktionieren. > USB-C an ATmega328 oder STM32 Mit einem USB-UART-Konverter funktioniert das mit jedem STM32, weil die einen eingebauten UART-Bootloader haben. Man braucht also keinen "großen" uC mit USB-Port. Zum Flashen braucht man noch zwei Signale, RESET und BOOT. Dafür könnte man RTS und DTR benutzen, aber die werden vom PC auch mal unfreiwillig angesteuert. Deshalb erzeuge ich die mit einem 4060, der von RX-Signal resettet wird. Wenn der PC ein längeres Break sendet, kommt zuerst RESET. Etwas später wird BOOT aktiv und RESET wieder inaktiv. Damit startet der Bootloader. Ein kürzeres Break kann den Reset-Taster ersetzen. Das funktioniert mit jedem STM32 und, weil man nur RX und TX braucht, auch mit dem kleinsten USB-UART-Konverter, z.B. FT230X. Man braucht auch nichts weiter als 2 Optokoppler oder einen ISO-7021 für eine galvanische Trennung. Unabhängig von meiner Mimik funktionieren die MCP2200 und MCP2221x nicht mit dem STM32-Bootloader, weil die nur 8N1 kennen. Der Bootloader braucht 8E1.
Die Transistoren sind unnötig, du kannst LEDs direkt ansteuern. Zum Reset Taster gehört weiter nach unten, er muss den Reset Eingang auf Low ziehen. Bist du ganz sicher, dass du USB Kommunikation über normale I/O Pins machen willst? Vermutlich willst du V-USB verwenden. Informiere dich über die Einschränkungen dieser Implementierung. Soweit ich weiß, läuft das nicht so unproblematisch, wie man das gerne hätte. Bauform B. schrieb: > Mit einem USB-UART-Konverter funktioniert das mit jedem STM32 Einige STM32 Modelle enthalten sogar einen Bootloader, der USB direkt unterstützt. Zum Beispiel der STM32L072 und der STM32F303. Hier ist ein ähnliches Board, wie das aus dem Eröffnungsbeitrag, aber mit dem STM32L072: http://stefanfrings.de/yupstick/index.html
Beitrag #7528996 wurde vom Autor gelöscht.
Εrnst B. schrieb: > Da macht du dir extra die Mühe Avcc per LC-Glied zu entkoppeln, und dann > baust du einen Kurzschluss von Aref gegen Vcc ein? Wie gesagt da ist noch einiges dran zu tun. > > Und was soll die Kondensator-Serienschaltung daneben am Bild? Es sind einige Platzhalter noch verbaut
> Das funktioniert mit jedem STM32 und, weil man nur RX und TX braucht, > auch mit dem kleinsten USB-UART-Konverter, z.B. FT230X. Man braucht auch > nichts weiter als 2 Optokoppler oder einen ISO-7021 für eine galvanische > Trennung. > > Unabhängig von meiner Mimik funktionieren die MCP2200 und MCP2221x nicht > mit dem STM32-Bootloader, weil die nur 8N1 kennen. Der Bootloader > braucht 8E1. Vielen Dank. Ich wollte langfristig ohnehin auf STM32 wechseln. Das endgültige Projekt ist weit grösser. Das Testboard dient einem Test zur Umsetzung.
Steve van de Grens schrieb: > Hier ist ein ähnliches Board, wie das aus dem Eröffnungsbeitrag, aber > mit dem STM32L072: http://stefanfrings.de/yupstick/index.html Das sieht doch sauber aus. Vielen Dank!
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.