Skocz do zawartości

Połączenie STM32F411ECU6


apaczenko1993

Pomocna odpowiedź

Cześć

Zamierzam sobie zamówić płytkę opartą na STM-ie (model w tytule) i zastanawiam się jak podłączyć 2 piny, dokładniej NRST oraz BOOT1. Płytkę zamierzam programować poprzez ST-Linka. W schemacie Blackpill z tego co zauważyłem pin NRST jest podłączony przez rezystor do zasilania a pin BOOT1 przez rezystor o wartości 10k do GND.

Czy to wystarczy by mikrokontroler zaczął działać poprawnie? Czy mój schemat odnośnie podłączenia STM jest poprawny by pracował i dało się go programować za pomocą ST-LINKa?  Schemat w załączniku

Schematic_Falcon v3 Licznik_2023-03-29.pdf

Link do komentarza
Share on other sites

NRST przez rezystor 10K do 3.3V, alternatywnie możesz dodać przycisk NO zwierający NRST do masy i resetujący MCU, ale rezystor podciągający musi być 😉 

BOOT0/BOOT1 zależnie od metody boot'owania MCU, ale polecam dać tam zworkę z 3 pinami (środkowy przez 10K do BOOTN, pozostałe piny jeden do 3V3, drugi do GND). Wtedy możesz sobie łatwo przełączać tryb bootowania 😉 Tak są zrobione moduły typu BlackPill / BluePill.

  • Lubię! 2
Link do komentarza
Share on other sites

(edytowany)

Już rozumiem, czyli z tego co wyczytałem to pinami BOOT0 oraz BOOT1(PB2) decydujemy czy chcemy uruchomić bootloader przez który będziemy mogli wgrać nowy program przez port szeregowy czy uruchomić program z pamięci flash. Czyli na moje potrzeby by wgrać program przez ST-Linka wystarczy jak BOOT1 i BOOT0 podłączę do masy przez rezystory 10k 🙂, aczkolwiek myślę warto dać dip switcha na BOOT0 by móc decydować a BOOT1 mam podłączony do GND. Jak na poniższym schemacie. 

Czyli rozumiem że jak na BOOT1 switchem wymuszę logiczną 1 to będę mógł wgrać program poprzez port szeregowy, racja? 🙂 

Edit: już sprawdziłem wgrywanie przez port szeregowy też działa 🙂 

Opcja BOOT1.pdf

Edytowano przez apaczenko1993
Sprawdzenie założenia wgrywania przez UART
Link do komentarza
Share on other sites

22 minuty temu, apaczenko1993 napisał:

Czyli rozumiem że jak na BOOT1 switchem wymuszę logiczną 1 to będę mógł wgrać program poprzez port szeregowy, racja? 🙂 

To akurat zależy od konkretnego mikrokontrolera, STM ma gdzieś notę aplikacyjną na ten temat.

Osobiście dałbym zworki albo switche, po kilkunastu zaprojektowanych PCB nauczyłem się dmuchać na zimne i jak jest miejsce to daję nawet dodatkowe linie wyjścia czy puste miejsca na kondensatory 😄 

Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

Dobrze masz wystawione złącze pod USB_TTL i dobrze masz wystawione złącze pod ST-LINK'a. 

USB_TTL.thumb.png.9072229973208f87b8fd49b839af42e2.pngSWD.thumb.png.19bdfcfc27866b4f174061f7f7a70191.png
Co do NRST widzę że często jest on nawet w stanie pływającym (niepodłączonym do żadnego bieguna i do GND przez reset switch'a. Jeżeli podciągasz go do VCC, to przez rezystor 10, nawet 47 kilo, żeby nie było upływów i szarpnięć prądu. 

Boot0 dajesz przez rezystor do masy i przez tactile switch'a do VCC - czyli nie jesteśmy przy AVR'ach i max to może być 3V3. To samo z VCC dla NRST. Zobacz, że jeszcze PB2 trzeba dać przez 10-47K do masy

boot.thumb.png.e4c4a72c5302df930c9659b2f15e40e3.png

Sztuczka wygląda tak, że jeżeli masz podłączony USB_TTL do PA9 i PA10, to trzymasz wciśnięty switch od BOOT0 i wciskasz oraz zwalniasz reset (switch od NRST), i w końcu zwalniasz BOOT0, a kontroler przechodzi w tryb bootowania przez UART.

Wówczas do flaszowania nie używasz programu do ST-LINK'a, tylko STMFlashLoader

STM_FLASHLOADER.thumb.png.3f4b7128cfa8c391142bb5eb3e1cdd10.png

Kończąc - jeżeli Twój devboard ma być shieldem (takim daughter board) dla Black Pill'a, którego zamierzasz kupić i na niej osadzić, wówczas nie przejmujesz się ustawieniami BOOT0 (a nawet reset także!), ponieważ jest on (są one) zamontowany(e) w samym Black Pill'u i używając ich możesz wprowadzić procka w tryb bootowania via UART:

STM32F411CEU6_WeAct_Black_Pill_V2.0-2.thumb.jpg.2905f453d4a2cc1ec148287adc627ce4.jpg

 

Z tego co widzę, to po pierwsze Black Pil ma również już wyprowadzone złącze dla ST-LINK'a, natomiast PA13 i PA14 nie są wyprowadzone na osobnych złączach, więc gdybyś chciał na Twoim shieldzie udostępnić złącze dla ST-LINK'a, to musiał byś je doprowadzić najpierw na devboarda kablami dupount jak na przykład w shieldzie dla Blue Pill'a doprowadzono sygnał BOOT0, który w Black Pillu, także na zewnątrz nie jest wcale wyprowadzony

PA13_14.thumb.png.3012c0e5ca2037fabe1f2f05ade0f17f.pngdupount.thumb.png.41e656c1695a8ec81bf1c57d62582c55.png

Poniżej Blue Pill shield - doprowadzenie  na PCB BOOT0 kabelkiem:

04.thumb.jpg.b41b9100764061b36a815ee354b6a52b.jpg

Przykładowy shield dla Black Pill'a STM32F411CEU6

03.thumb.jpg.6cfaa0715f1cb4d6d2ca3d7322241b30.jpg

 

Edytowano przez virtualny
  • Lubię! 1
Link do komentarza
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Gość
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.