Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 19 sie 2018, o 22:39


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 12 ] 
Autor Wiadomość
PostNapisane: 11 kwi 2018, o 22:18 
Offline
Użytkownik

Dołączył(a): 27 sty 2015
Posty: 57
Pomógł: 0

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



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 12 kwi 2018, o 09:49 
Offline
Użytkownik

Dołączył(a): 05 sty 2015
Posty: 40
Pomógł: 1

Zasilanie podepnij do wszystkich Vss i Vdd



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 12 kwi 2018, o 21:55 
Offline
Użytkownik

Dołączył(a): 27 sty 2015
Posty: 57
Pomógł: 0

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



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 12 kwi 2018, o 22:35 
Offline
Tech-support
Avatar użytkownika

Dołączył(a): 26 sty 2016
Posty: 672
Lokalizacja: Kraków
Pomógł: 59

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.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 13 kwi 2018, o 17:09 
Offline
Użytkownik

Dołączył(a): 22 gru 2013
Posty: 291
Lokalizacja: Szczecin
Pomógł: 45

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.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 13 kwi 2018, o 22:20 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 11 mar 2014
Posty: 1386
Pomógł: 153

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



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 14 kwi 2018, o 10:43 
Offline
Użytkownik

Dołączył(a): 22 gru 2013
Posty: 291
Lokalizacja: Szczecin
Pomógł: 45

@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.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 14 kwi 2018, o 12:07 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 11 mar 2014
Posty: 1386
Pomógł: 153

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



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 14 kwi 2018, o 12:45 
Offline
Użytkownik

Dołączył(a): 22 gru 2013
Posty: 291
Lokalizacja: Szczecin
Pomógł: 45

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



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 kwi 2018, o 09:32 
Offline
Nowy

Dołączył(a): 08 mar 2018
Posty: 6
Pomógł: 0

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.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 kwi 2018, o 22:00 
Offline
Użytkownik

Dołączył(a): 27 sty 2015
Posty: 57
Pomógł: 0

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



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 17 kwi 2018, o 17:34 
Offline
Użytkownik

Dołączył(a): 29 lip 2014
Posty: 198
Pomógł: 44

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.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 12 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 0 gości


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO