ATNEL tech-forum
https://forum.atnel.pl/

[STM32] Jak podłączyć mikrokontroler z programatorem
https://forum.atnel.pl/topic20585.html
Strona 1 z 1

Autor:  bastik [ 11 kwi 2018, o 22:18 ]
Tytuł:  [STM32] Jak podłączyć mikrokontroler z programatorem

Mam mikrokontroler STM32F103RET zalutowany na adapter dla obudowy MQFP 64 z wyprowadzonymi oraz programator ST-LINK/V2. Z programatora podłączyłem zasilanie i masę do pinów Vdd_1 i Vss_1, dodatkowo podpinam jeszcze wyprowadzenia JTDI, JTMS, JTDO i NRST. Niestety w Keilu przy próbie przesłania programu do procesora wyskakuje błąd "No target conncected", nie znalazłem za wiele informacji jak podłączyć mikrokontroler z programatorem, więc liczę na pomoc forumowiczów :) Sprawdzałem luty pomiędzy scalakiem a adapterem pod mikroskopem i nie znalazłem nieprzylutowanych lub zwartych nóżek. Wyczytałem gdzieś, że można podłączyć nóżkę RST poprzez rezystor do masy na chwilę, ale ona jest w sumie podłączona do wyprowadzenia programatora, więc chyba resetem zajmuje się sam programator.
Obrazek

Autor:  Szofer [ 12 kwi 2018, o 09:49 ]
Tytuł:  Re: [STM32] Jak podłączyć mikrokontroler z programatorem

Zasilanie podepnij do wszystkich Vss i Vdd

Autor:  bastik [ 12 kwi 2018, o 21:55 ]
Tytuł:  Re: [STM32] Jak podłączyć mikrokontroler z programatorem

Też próbowałem i niestety nie działa. Mam też zestaw STMF103RB Nucleo i próbowałem wykorzystać tamten programator i podłączyć się z procesorem za pośrednictwem wyprowadzeń SWD niestety pomimo zdjęcia zworek (jak na obrazku) na pinie VDD_TARGET nie pojawia się żadne napięcie, ktoś wie czemu?
Obrazek

Autor:  Marhef [ 12 kwi 2018, o 22:35 ]
Tytuł:  Re: [STM32] Jak podłączyć mikrokontroler z programatorem

Nie wiem, jak to jest w nucleo (coś nie mogę dokumentacji znaleźć... chyba mam bana na google), ale w płytkach discovery, które mam, na pinie VDD_TARGET nie ma napięcia zasilania. Może w nucleo jest inaczej.
W discovery, żeby użyć jako programator, trzeba usunąć kilka zworek, ale to jest w dokumentacji.
EDIT:
Znalazłem takie coś: https://jeelabs.org/book/1547a/
Tam jest o wykorzystaniu st-link'a z nucleo do programowania zewnętrznego procka.

Autor:  krish [ 13 kwi 2018, o 17:09 ]
Tytuł:  Re: [STM32] Jak podłączyć mikrokontroler z programatorem

Skąd masz informację, że ST-Link podaje napięcie na programowaną płytkę?

z UM1075:
1. The power supply from the application board is connected to the ST-LINK/V2 debugging and programming
board to ensure signal compatibility between both boards.

Autor:  rskup [ 13 kwi 2018, o 22:20 ]
Tytuł:  Re: [STM32] Jak podłączyć mikrokontroler z programatorem

A ja ten zapis rozumiem tak, że to płytka z procesorem podaje napięcie na płytkę programatora by zapewnić poprane poziomy napięć między tymi płytkami.
Czyli nigdzie tu nie ma że programator zasila podłączany układ, a nawet więcej, on wymaga podania dodatkowego napięcia z programowanej płytki.

--
Pozdrawiam,
Robert

Autor:  krish [ 14 kwi 2018, o 10:43 ]
Tytuł:  Re: [STM32] Jak podłączyć mikrokontroler z programatorem

@rskup -z DS tak właśnie wynika.
Dotyczy to jednak oryginalnego ST-linka (który ma bufor na we/wy i zabezpieczania ESD).
Podróbki/samoróbki mogą być inaczej skonstruowane np.
https://wiki.cuvoodoo.info/doku.php?id=jtag
i tu trzeba indywidualnie weryfikować schemat/układ.

Autor:  rskup [ 14 kwi 2018, o 12:07 ]
Tytuł:  Re: [STM32] Jak podłączyć mikrokontroler z programatorem

krish napisał(a):
Dotyczy to jednak oryginalnego ST-linka (który ma bufor na we/wy i zabezpieczania ESD).
Podróbki/samoróbki mogą być inaczej skonstruowane np.
Ale z tego co kolega bastik zaprezentował to chodzi o oryginalne Nucleo.

--
Pozdrawiam,
Robert

Autor:  krish [ 14 kwi 2018, o 12:45 ]
Tytuł:  Re: [STM32] Jak podłączyć mikrokontroler z programatorem

W pierwszym poście była mowa o ST-linku, potem dopiero o dodatkowym Nucleo.

Autor:  ZbeeGeen [ 15 kwi 2018, o 09:32 ]
Tytuł:  Re: [STM32] Jak podłączyć mikrokontroler z programatorem

Może postarajmy się jakoś uporządkować informacje, by kolega jednak ruszył do przodu.

1. Zarówno płytki Discovery jak i Nucleo na złączu SWD nie podają napięcia zasilania na pinie 1. Tak samo zdecydowana większość programatorów oryginalnych jak i udających te oryginalne nie wyprowadza napięcia zasilania. Piny opisane jako TVCC, VTG, Vtarget służą do podawania napięcia na bufory - jeśli oczywiście one tam są. Jak można się przekonać klony często ich nie mają i ten pin jest po prostu niepodłączony.

2. Procesor na płytce adaptora trzeba zasilić z dodatkowego źródła napięcia 3,3V. W przypadku Nucleo/Discovery napięcie to wypada podać też na pin 1 złącza SWD bo wbudowany tam programator dokonuje jego pomiaru. W przypadku klonów będzie to raczej bezcelowe z uwagi na braki w implementacji wskazane wyżej.
Jeśli łączysz sam adaptor bez innych peryferii to możesz wykorzystać zasilanie 3,3V jakie płytki Nucleo/Discovery udostępniają na pinach po bokach.

3. Wszystkie piny zasilania procesora - VDD, VDDA, VBAT trzeba podłączyć razem do źródła napięcia zasilania. Tak samo wszystkie masy do masy. Masa adaptora musi być połączona z masą programatora. 3,3V już nie koniecznie jak wynika z opisu powyżej.

4. W przypadku SWD z Nucleo/Disco łączymy wyprowadzenia sygnałowe złącza: SWCLK (pin 2), SWDIO (pin 4), nRST (pin 5) z odpowiednimi wyprowadzeniami procesora. Korzystając z Keila trzeba też wejść w zakładkę Debug, wybrać ST-Link Debugger i w ustawieniach wybrać Port: SW. Mogą wystąpić też dodatkowe problemy z połączeniem, o których pisze Keil http://www.keil.com/support/docs/3662.htm Z reguły trzeba będzie zaznaczyć opcję "Connect under reset".

5. W przypadku ST-LINK-a i wykorzystania JTAG-a, łączymy jego piny sygnałowe z odpowiednimi wyprowadzeniami procesora. Reszta jak punkt wyżej z tym, że ma być ustawiony Port: JTAG.

6. W sporadycznych przypadkach trzeba obniżyć prędkość zegara ST-LINK-a w Max. Clock. Ale to zdarza się gdy procesor już był używany w jakiejś aplikacji, która przestawia taktowanie procesora.

Autor:  bastik [ 16 kwi 2018, o 22:00 ]
Tytuł:  Re: [STM32] Jak podłączyć mikrokontroler z programatorem

Dzięki za informację, faktycznie pin 1 z programatora od Nucleo nie jest od zasilania, mój błąd. Sam procesor udało mi się zaprogramować, chociaż nie wszystkie wejścia VDD i masy muszą być podłączone. Odpinałem pojedynczo i sprawdzałem czy procesor nadal można zaprogramować.
Obrazek

I zdjęcie po odchudzeniu układu
Obrazek
Z podłączeń zostało NRST (nóżka 7), VSSA (nóżka 12), dioda do testowania na PA5 (nóżka 21), SWDIO na PA13 (nóżka 46), SWCLK na PA14 (nóżka 49) i VDD_2 (nóżka 48). Jeszcze nie wiem, jakie konsekwencje będzie miało niepodpięcie wszystkich potrzebnych pinów do zasilania i do masy, ale póki, co działa.
Mam natomiast kolejny problem, mam oryginalny (a przynajmniej tak sadzę, bo kupiony w TME) programator ST-Link/V2, zasilanie mam jedynie na pinie 19, po podłączeniu reszty przewodów oraz przestawieniu Keila z programowania przez SWD na JTAG, wyskakuje mi błąd "USB communication error". Przerobiłem różne poradniki odnośnie podłączania programatora, sterowników oraz aktualizacji softa samego programatora, ale to nic nie pomaga. Może wy mi coś doradzicie?
Obrazek

Autor:  QuadMan [ 17 kwi 2018, o 17:34 ]
Tytuł:  Re: [STM32] Jak podłączyć mikrokontroler z programatorem

Witam,

Bo ST-Link/V2, który posiadasz ma na wyjściu bufory wszystkich swoich linii I/O ( w celu ewentualnej translacji poziomów) i aby zaprogramować mikrokontroler w układzie musisz zasilać swój układ z oddzielnego zasilacza - nie z programatora, a do samego programatora - do pinów 1 lub 2 - doprowadzić napięcie zasilające swój procek, wtedy zasili ono bufor programatora. Zakładając, że zasilasz swojego uC z 3.3V możesz też połączyć piny 1 ( ew 2 ) i 19 na złączu programatora.
W ostateczności możesz też zasilić swój układ z tego pinu, ale pod warunkiem że nie pobiera więcej niż kilkadziesiąt mA, choć tego raczej nie zalecam, bo możesz uszkodzić programator.

Pozdrawiam, QuadMan.

Strona 1 z 1 Strefa czasowa: UTC + 1
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/