Hallo zusammen, ich bin gerade am entwickeln eines Boards für einen STM32F207ZGT. Die Firmware soll per DFU auf das Board gebracht werden. Mir ist jetzt eine Sache noch nicht klar beim Anschluss des 1.5k Pull-Up an D+. Laut AN4879 von ST ist der Pull-Up erst nach erkennen von VBus (an A9) einzuschalten, um die Enumeration am Host zu starten. Das kann ich in der SW problemlos erkennen. Aber wer handelt mir das im DFU-Bootloader? Der Bootloader? Wenn ja, welcher Pin ist dafür vorgesehen? Der ST-Link-Adapter nutzt VBUS, um den Pull-Up über einen Transisor an 3.3V zu schalten. Was ich möchte: Ähnlich dem ST-Link-Adapter den USB als VCP benutzen und per Kommando in den DFU-Modus wechseln. Dort dann das Firmwareupdate machen und wieder in die Applikation wechseln, ohne den USB-Stecker ziehen zu müssen. Danke für eure Antworten. VG Thomas
Du könntest das so machen, dass der Pull-Up Widerstand per default eingeschaltet ist und durch dein eigenes Programm kurz unterbrochen werden kann, damit der PC das USB Gerät neu erkennt. Ich habe irgendwo mal gelesen, dass man den Pull-Up Widerstand auch einfach fest mit 3,3V verbinden kann und die neue Erkennung dadurch auslöst, dass man den I/O Pin kurz als Ausgang mit LOW Pegel konfiguert. Quick and dirty.
"Du koenntest" Und "ich habe irgendwo gelesen" ist doch nur wilde Raterei. RM0033 sagt fuer den STM32F20x: · integrated ID pull-up resistor used to sample the ID line for A/B device identification. · DP/DM integrated pull-up and pull-down resistors controlled by the OTG_FS core depending on the current role of the device. As a peripheral, it enables the DP pull-up resistor to signal full-speed peripheral connections as soon as VBUS is sensed to be a valid level (B-session valid). In host mode, pull-down resistors are enabled on both DP/DM. Pull-up and pull-down resistors are dynamically switched when the device's role is changed via the host negotiation protocol (HNP). Und AN2606 sagt fuer STM32F2xxxx c Bootloader V3.x: USB_DP pin Input/Output PA12: USB DP line No external Pull-up resistor is required
Ich habe gar nicht ins Datemnblatt geschaut. Dachte mir: Wenn der TO einen externen Pull-Up verwenden will, dann muss das wohl nötig sein. Bei einigen STM32 Modellen ist das ja auch so.
Stefan ⛄ F. schrieb: > Ich habe irgendwo mal gelesen, dass man den Pull-Up Widerstand auch > einfach fest mit 3,3V verbinden kann und die neue Erkennung dadurch > auslöst, dass man den I/O Pin kurz als Ausgang mit LOW Pegel konfiguert. > Quick and dirty. Das dürfte dann das sein, was ST beim ST-Link macht. Per VBUS und Transistor auf 3.3V schalten und über den Pin die Erkennung machen und bei Bedarf die Enumeration starten.
Ich mache das immer so, dass ich noch vor main() den Pin als OpenDrain definiere und auf Low ziehe. Da kann man dann auch im Debugmodus starten mit break in main() ohne dass sich gleich der Rechner verschluckt. Erst wenn der Pin später im Programm umkonfiguriert wird beginnt die Enumeration. Der Widerstand ist fest an 3,3V wie bei den BluePills u.ä. Das hat auch den Vorteil, dass auch sehr langsame Konfigurationsorgien laufen können und die USB Enumeration erst danach losgeht.
Zu "Du koenntest" und "ich habe irgendwo gelesen" kommt jetzt auch noch "Ich mache das immer so". Argh! F2 OTG != F1 USBFS.
Uwe B. schrieb: > Argh! Ja ist gut, kriege dich wieder ein. Wenn du mich wirklich auslachen willst, dann komme vorbei und mache das vor meiner Haustüre.
Das soll kein auslachen sein, sondern ein Hinweis, moeglichst fundiert zu antworten. Bei manchen Problemen, zu denen man keine Doku im Web findet, koennen solche auch Ratschlaege helfen, auf die Spur zu kommen, aber hier leiten sie doc h nur in die Irre. Und fuer die BMP Probe mit dem F103 wird es so gemacht, wie Stefan es beschreibt. @Thomas W. : Warum jetzt noch ein neues Boarddesign mit dem uralten F2? So preissensitive?
Uwe B. schrieb: > "Du koenntest" Und "ich habe irgendwo gelesen" ist doch nur wilde > Raterei. > > RM0033 sagt fuer den STM32F20x: > · integrated ID pull-up resistor used to sample the ID line for A/B > device identification. > · DP/DM integrated pull-up and pull-down resistors controlled by the > OTG_FS core > depending on the current role of the device. As a peripheral, it > enables the DP pull-up resistor to signal full-speed peripheral > connections as soon as VBUS is sensed to be a valid level (B-session > valid). In host mode, pull-down resistors are enabled on both DP/DM. > Pull-up and pull-down resistors are dynamically switched when the > device's role is changed via the host negotiation protocol (HNP). > > Und AN2606 sagt fuer STM32F2xxxx c Bootloader V3.x: > > USB_DP pin Input/Output PA12: USB DP line > No external Pull-up resistor is required Das würde ja bedeuten, ich brauche überhaupt keinen externen Widerstand mehr an den Datenleitungen? Alles wird intern abgehandelt? Auch VBUS geht direkt ohne Spannungsteiler an PA9? Uwe B. schrieb: > @Thomas W. : Warum jetzt noch ein neues Boarddesign mit dem uralten F2? > So preissensitive? Was wäre denn eine alternative dazu? USB, viele I/O, RMII wird benötigt.
Thomas W. schrieb: > Uwe B. schrieb: > > Das würde ja bedeuten, ich brauche überhaupt keinen externen Widerstand > mehr an den Datenleitungen? Alles wird intern abgehandelt? > Auch VBUS geht direkt ohne Spannungsteiler an PA9? > Dazu auch RM0033, 29.4 OTG dual role device (DRD) Figure 350. OTG A-B device connection Kurz: Ja! > Uwe B. schrieb: >> @Thomas W. : Warum jetzt noch ein neues Boarddesign mit dem uralten F2? >> So preissensitive? > Was wäre denn eine alternative dazu? USB, viele I/O, RMII wird benötigt. Schau Dir den Online oder PC STM32MCU -Finder an. Klicke an, was Du brauchst, dann sortiere nach (Grossmengen) Preise und vergleiche dann Preis und Verfuegbarkeit bei den ueblichen Verdaechtigen
Uwe B. schrieb: > Kurz: Ja! Ein Traum. Danke für die Info! Uwe B. schrieb: > Schau Dir den Online oder PC STM32MCU -Finder an. Klicke an, was Du > brauchst, dann sortiere nach (Grossmengen) Preise und vergleiche dann > Preis und Verfuegbarkeit bei den ueblichen Verdaechtigen Danach bin ich auch vorgegangen. Der STM32F429ZGT wäre noch günstiger und schneller. Ich habe mich dann aber für den STM32F207ZGT entschieden. Mehr ein Bauchgefühl.
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.