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



Teraz jest 23 sty 2025, o 22:27


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 37 ]  Przejdź na stronę 1, 2  Następna strona
Autor Wiadomość
PostNapisane: 5 lip 2014, o 12:26 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 26 sie 2012
Posty: 159
Pomógł: 1

Hej !

Własnie zaczynam moją przygodę z STM32, ale już zaczynam mieć porblemy uruchamiając przyklady z książki na moim discovery z prockiem z rdzeniem M0. Sami wiecie, że są pewne ograniczenia niższych wersji. I postanoiwłem wykonać swój zestaw startowy z prockiem stm32f100r8 z rdzeniem już cortex M3. Ale mam problem z podłączeniem na schemacie innych ukałdów typu karta sd ( do jakich pinów ? ) - nie oczekuję gotowego rozwiązania, tylko miejsca gdzie mam tego szukać. Także prosze o pomoc w połaczeniu urządzeń typu karta sd z mikrokontrolerem.

Obrazek


zmieniłem lekko temat rezasurmar



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 lip 2014, o 14:51 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 17 sty 2013
Posty: 123
Lokalizacja: Warszawa
Pomógł: 10

Musisz podłączyć kartę SD do portu SPI.
Nie wiem ilu nóżkową masz obudowę, zatem musisz dopasować to do poniższych danych:

Obrazek

Obrazek

To oczywiście wycinka z datasheeta od tej rodziny procesorów.
Bez dalszego zaglądania do niego nie da się obejść ;-)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 lip 2014, o 16:21 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 26 sie 2012
Posty: 159
Pomógł: 1

Właśnie go znalazłem - wcześniej też szukałem w datasheecie, ale jakoś pominąłem tą tablekę, przyzwyczajony do datasheetów Atmela.
A tutaj poprawiony schemat:

Obrazek

Jak myslicie co mogę jeszcze tam dodac oprócz paru diodek itp ? Oczywiście puste piny będą wyprowadzone na goldpiny.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 lip 2014, o 19:18 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 26 sie 2012
Posty: 159
Pomógł: 1

Dzięki bardzo wszystko przeczytałem, ale nasuwa mi się pytanie - do jakich pinów mam podłączyć programator z płytki discovery ? Wystarczą tylko piny SWDIO i SWCLK, GND i Vcc ?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 lip 2014, o 19:37 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 17 sty 2013
Posty: 123
Lokalizacja: Warszawa
Pomógł: 10

Niektórzy zalecają jeszcze wyprowadzenie linii Reset, bo niektóre programatory (Jlink?) z niej korzystają. Natomiast ST-Link z niej nie korzysta (i czasami sprawia to kłopoty z dostępem do procesora w przypadku zablokowania interfejsu SWD).
Ale jeśli masz ręczny reset na płytce w postaci mikroswitch'a , to w razie kłopotów zawsze można "programować z wciśniętym resetem" :-)


Autor postu otrzymał pochwałę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 lip 2014, o 20:04 
Offline
Użytkownik

Dołączył(a): 27 mar 2012
Posty: 511
Lokalizacja: Sląsk
Pomógł: 14

Tylko uważaj bo sygnały SPI od karty sd używasz też do wyświetlacza od noki. A one mogą się pogryźć.

_________________
Programowanie to styl życia :D



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 6 lip 2014, o 12:45 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 26 sie 2012
Posty: 159
Pomógł: 1

Cytuj:
Tylko uważaj bo sygnały SPI od karty sd używasz też do wyświetlacza od noki. A one mogą się pogryźć.


A czemu ? Przecież używam linii CS, które właśnie służą do tego by się nie gryzły. Takie połączenie już wykonywałem na avr'ach i śmigało pięknie.

Edit:

dodałem kilka rzeczy i byłbym bardzo wdzięczny gdyby ktoś zerknął na schemat czy nie ma jakichś błędów itp., bo chciałbym ją już dziś wytrawić, a jutro zabrać się za składanie.

ObrazekObrazek



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 6 lip 2014, o 14:33 
Offline
Użytkownik

Dołączył(a): 15 lut 2012
Posty: 224
Lokalizacja: Opole
Pomógł: 24

1.W lewym dolnym rogu ścieżka nie jest z niczym połączona
2. Część ścieżek jest zbyt blisko
3. Użyj DRC i pousuwaj błędy overlap i clerance bo kilka się znajdzie.
4.Trochę mało tych kondensatorów odprzęgających przy procku, dławik L1 może przeszkadzać (Schemat ze strony 24)
http://www.st.com/st-web-ui/static/acti ... 164185.pdf
5. Na NRST ma być 0,1uF (100nF) a nie 10uF ;)
6. Piny BOOT0 i BOOT1 (Polecam zrobić zworki SMD) - http://www.st.com/st-web-ui/static/acti ... 164185.pdf
7. Kondensatory do kwarcu coś około 20pF
8. Trzymaj się dokumentacji przy filtrowaniu zasilania (dobór pojemności) - mniej problemów ;)


Jak zdecydował byś się na np. STM32103RBT6 (Większość książek z BTC jest oparta o rodzinę ..103 także przykłady powinny ruszyć za pierwszym razem) to większość pinów IO ma tolerancję 5V i więcej peryferiów, a programuje się tak samo.


Autor postu otrzymał pochwałę


Ostatnio edytowano 6 lip 2014, o 15:35 przez ps19, łącznie edytowano 5 razy

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 6 lip 2014, o 14:45 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 26 sie 2012
Posty: 159
Pomógł: 1

1. Dzięki, poprawione.
2. które ścieżki według Ciebie są za blisko ? Jeśli chodzi o te przy procku to nic na to nie poradzę, bo jego nogi sa tak blisko siebie.
4. Proponujesz dodać kilka tantali czy jeszcze ceramiki ?
5. zmienione
6. już dodaję
Dzięki za odpowiedź



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 6 lip 2014, o 14:59 
Offline
Użytkownik

Dołączył(a): 15 lut 2012
Posty: 224
Lokalizacja: Opole
Pomógł: 24

Zmodyfikowałem trochę wcześniejszego posta ;)

2. Przy przycisku od resetu (prawa noga u góry), powinno udać się ją puścić pod przyciskiem jak przesuniesz nieco w dół ścieżkę która leci od prawej strony chyba do rezystora.

Najważniejsza zasada na początek to trzymać się dokumentacji - zaoszczędzisz sporo czasu na szukaniu błędów. Te procki są nieco bardziej wrażliwe niż Atmegi na błędy w filtrowaniu dodając wg. siebie np. "tantale" możesz pogorszyć sytuację, a nie ją poprawić.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 6 lip 2014, o 16:34 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 26 sie 2012
Posty: 159
Pomógł: 1

Poprawiłem mniej więcej, dodam jeszcze tylko kondensatory i chyba będzie OK:

ObrazekObrazek



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 6 lip 2014, o 17:57 
Offline
Użytkownik

Dołączył(a): 04 paź 2011
Posty: 8597
Pomógł: 337

Nie widzę jakiś uchybień
warto czasem popodglądać chińskie wynalazki z armami :)
na płytce coś masz niepoprowadzone ??

_________________
Zbuduj swój system [url=https://helion.pl/ksiazki/w-labiryncie-iot-budowanie-urzadzen-z-wykorzystaniem-ukladow-esp8266-i-esp32-andrzej-gromczynski,wlablo.htm#format/d]IOT[/url]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 6 lip 2014, o 18:08 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 26 sie 2012
Posty: 159
Pomógł: 1

Aaa tak mam jedną ścieżkę +5v, ale nie chcę jej ciągać po płytce - dam tam przewód.

Jakie chińskie wynalazki masz na myśli ? :)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 6 lip 2014, o 18:28 
Offline
Użytkownik

Dołączył(a): 04 paź 2011
Posty: 8597
Pomógł: 337

jest masa chińskich z HY płytek z STMami i dodają do nich bardzo obszerne schematy :)

dlaczego nie chcesz po płytce ??

_________________
Zbuduj swój system [url=https://helion.pl/ksiazki/w-labiryncie-iot-budowanie-urzadzen-z-wykorzystaniem-ukladow-esp8266-i-esp32-andrzej-gromczynski,wlablo.htm#format/d]IOT[/url]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 6 lip 2014, o 18:36 
Offline
Użytkownik

Dołączył(a): 15 lut 2012
Posty: 224
Lokalizacja: Opole
Pomógł: 24

Ja bym na twoim miejscu zrezygnował z kabelka, a pociągnął ścieżkę nawet bokiem płytki i dał na niej przy odbiorniku ewentualnie 100nf przy odbiorniku. Stosuję czasami długi ścieżki po 20cm i nic się nie dzieje.

Kabelek moim zdaniem mocniej zbiera zakłócenia, no chyba że dasz taki z ekranowaniem coś a`la skrętka UTP, ale to ostra przesada.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 7 lip 2014, o 07:39 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 26 sie 2012
Posty: 159
Pomógł: 1

No dobra przekonaliście mnie już prowadzę tą ścieżkę :P

EDIT:

Obrazek

Moge już wytrawiać, czy jeszcze coś poprawić ?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 7 lip 2014, o 09:50 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 17 sty 2013
Posty: 123
Lokalizacja: Warszawa
Pomógł: 10

Jak na mój gust, to odległości pomiędzy padami w scalaku STM32 są za małe, a szerokość padów za duża.
To powinno wyglądać mniej więcej tak:
Obrazek

Producent w datasheecie dostarcza informację jak powinien wyglądać footprint od każdego scalaka.

Oto przykładowa strona:

Obrazek

Mamy tam wymiary A,B,C,a,e...itd.. i nasz footprint w programie PCB powinen mieć dokładnie te same wymiary (a przynajmniej takie rozmiary są rekomendowane przez producenta scalaka).

A druga sprawa - ja bym nie pozostawiał niepodłączonych stref ("wylanych" powierzchni) - pod scalakiem.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 7 lip 2014, o 10:30 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 26 sie 2012
Posty: 159
Pomógł: 1

Wiesz co wydaje mi się że to tylko złudzenie, bo mam włączone sprawdzanie DRC i zaznaczyło mi między padami nóg procka czerwonw kreski, i to pewnie one powodują tren efekt - jest to biblioteka znana w necie i korzysta z niej dużo osób.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 7 lip 2014, o 11:12 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 17 sty 2013
Posty: 123
Lokalizacja: Warszawa
Pomógł: 10

Najlepiej po prostu sprawdzić jaka jest odległość pomiędzy padami footprintu procka - min. 0,2mm, (recommended 0,25mm).
Dla mnie to wyglądało na oko jak 0,1 mm :-)

A bibliotekom nie należy bezgranicznie wierzyć, bo "można się przejechać" ;-)
Ja zazwyczaj robię próbny wydruk samych padów scalaków i przymierzam je, czy rzeczywiście pasują.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 7 lip 2014, o 11:24 

Pomógł: 0

Jado napisał(a):
Ja zazwyczaj robię próbny wydruk samych padów scalaków i przymierzam je, czy rzeczywiście pasują.


Dokładnie to samo polecam, już raz sie przejechałem i zamiast padów 0,65mm zrobiłem 0,9mm, niestety zamówienie poszło i trzeba było rozginać nóżki w scalakach :lol:



Góra
  
cytowanie selektywne  Cytuj  
PostNapisane: 7 lip 2014, o 17:09 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 26 sie 2012
Posty: 159
Pomógł: 1

Hehe ok zrobię tak jak mówicie - najpierw wydruk i porównam sobie z prockiem.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 lip 2014, o 16:58 
Offline
Użytkownik

Dołączył(a): 15 lut 2012
Posty: 224
Lokalizacja: Opole
Pomógł: 24

Możesz pochwalić się jak ci to wyszło ?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 19 lip 2014, o 11:20 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 26 sie 2012
Posty: 159
Pomógł: 1

Pochwalę się już jutro, bo teraz byłem tydzień poza domem, ale za to zamówiłem paczuszkę stopu lichtenberga i już doszła, także tylko jak przyjadę zacznę cynwanie i lutowanie. Póki co wziąłem sobie na wyjazd płytkę discovery f0 i coś tam sobie powolutku piszę, tylko trochę się zniechęciłem do STL'a czytając fora, i nie wiem czy nie lepiej mi od razu zacząć na rejestrach.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 19 lip 2014, o 11:27 
Offline
Użytkownik

Dołączył(a): 04 paź 2011
Posty: 8597
Pomógł: 337

poczytaj o CMSIS i sam wybierz drogę http://sunduino.elektroda.eu/wordpress/

albo się standard , albo piszesz dla siebie tylko ..
:)

_________________
Zbuduj swój system [url=https://helion.pl/ksiazki/w-labiryncie-iot-budowanie-urzadzen-z-wykorzystaniem-ukladow-esp8266-i-esp32-andrzej-gromczynski,wlablo.htm#format/d]IOT[/url]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 19 lip 2014, o 15:19 
Offline
Użytkownik

Dołączył(a): 15 lut 2012
Posty: 224
Lokalizacja: Opole
Pomógł: 24

Ja piszę na rejestrach + CMSIS, ogólnie fajna sprawa tylko niestety nie ma żadnych książek po Polsku o tym. Pozostaje DS, Programing manual i dokumentacja ARM`a, większość przykładów w internecie oparta jest o SPL`a.

Jestem bardzo początkującym w temacie, ale chętnie pomogę.

Ten link może Ci się przydać:
http://infocenter.arm.com/help/index.js ... BCFHA.html

Co do środowiska to CooCox albo Eclipse (Ja używam Eclipse Luna + OpenOCD 0.8.0 + ST-LINK/V2 sterownik WinUSB)

Przy składaniu posiłkowałem się tymi stronami, debuger ustawiony w oderwaniu od wszystkich poradników jakie znalazłem :D

http://sunduino.elektroda.eu/wordpress/ ... rm-part-1/
http://www.freddiechopin.info/pl/artyku ... n-tutorial
http://promikro.com.pl/wp-content/uploa ... images.pdf



Ostatnio edytowano 19 lip 2014, o 15:50 przez ps19, łącznie edytowano 2 razy

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 19 lip 2014, o 15:44 
Offline
Użytkownik

Dołączył(a): 04 paź 2011
Posty: 8597
Pomógł: 337

ps19 napisał(a):
tylko niestety nie ma żadnych książek po Polsku o tym


mozliwe że coś się zmieni ... w tej kwestii
zacząłem już powoli wprowadzenie ogólne do CMSIS i .... a cicho sza puki co

_________________
Zbuduj swój system [url=https://helion.pl/ksiazki/w-labiryncie-iot-budowanie-urzadzen-z-wykorzystaniem-ukladow-esp8266-i-esp32-andrzej-gromczynski,wlablo.htm#format/d]IOT[/url]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 19 lip 2014, o 16:24 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 17 sty 2013
Posty: 123
Lokalizacja: Warszawa
Pomógł: 10

ps19 napisał(a):
Ja piszę na rejestrach + CMSIS, ogólnie fajna sprawa tylko niestety nie ma żadnych książek po Polsku o tym. Pozostaje DS, Programing manual i dokumentacja ARM`a

Przy okazji ćwiczysz angielski ;-) - to dobra motywacja do nauki.
Dzięki temu potem otworem stoją wszelkie zagraniczne (anglojęzyczne) strony WWW, fora, portale, strony producentów, książki angielskojęzyczne, materiały video na YT, itp....

I świat staje się piękny ;-)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 19 lip 2014, o 16:37 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 26 sie 2012
Posty: 159
Pomógł: 1

Oho dzięki za linki już zaczynam wszystkie powoli czytać.

Tylko kurczę trochę mi szkoda bo mam książkę Marka Galewskiego, i jest naprawdę fajna, ale jak chyba jak już zaczynać to porządnie. Myslicie że książka może mi się do czegoś przydać, nawet jeśli nie będę używał STL'a ?

EDIT:

Czekajcie czekajcie czyli w sumie STL jest pisany zgodnie z CMSIS'em ? Czyli jest to jakby to samo, czy jak ? Bo ja już powoli się gubię...



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 19 lip 2014, o 17:58 
Offline
Użytkownik

Dołączył(a): 15 lut 2012
Posty: 224
Lokalizacja: Opole
Pomógł: 24

1. Książkę zostaw bo masz w niej opisane peryferia, możesz wzorować się na programach z książki w kwestii kolejności ustawiania rejestrów - są miejsca gdzie jest to dosyć ważne.
2. Tak i nie, STL ma w bardzo wielu miejscach mnóstwo if`ów przez co niepotrzebnie obciążają procesor, jeszcze sporo innych wad, ale nie chcę się wypowiadać w tym temacie bo zdecydowanie zdecydowanie za krótko w tym siedzę.

O przykładzik - ustawianie portów - rejestry STM32F4 dla F1 praktycznie to samo tylko różnią się chyba nazwą 2 rejestry:

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Mieszaniec :P CMSIS + rejestry

Kod:
void NVIC_Conf(void)
{
                                  //0b110
SCB->AIRCR |= 0xFA05 | (6<<8); //Grupowy model przerwań 8 grup(x) 2 sub(y) (0bxxx.y)
 //0xFA05 wymagane przez procesor, aby zaakceptował zmianę rejestru AIRCR
                                    //0b000.1
NVIC->IP[SysTick_IRQn] = (0b0001<<__NVIC_PRIO_BITS); //Najniższy priorytet grupowy(0), najwyższy sub(1)
NVIC_ClearPendingIRQ(SysTick_IRQn); //CMSIS
NVIC_EnableIRQ(SysTick_IRQn); //Włącz przerwanie od SysTick`a

NVIC->IP[EXTI0_IRQn] = (0b0000<<__NVIC_PRIO_BITS); //Najniższy priorytet grupowy(0), najniższy sub(0)
NVIC_ClearPendingIRQ(EXTI0_IRQn); //CMSIS - wyszyć ewentualny pending ("stan nierozstrzygnięty :P )
NVIC_EnableIRQ(EXTI0_IRQn);
}



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 19 lip 2014, o 19:09 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 26 sie 2012
Posty: 159
Pomógł: 1

A w CooCox'ie można pisac w oparciu o samego CMSIS'a ? Zależy mi także na debugerze bo to naprawdę przydatna rzecz.



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: 37 ]  Przejdź na stronę 1, 2  Następna strona

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 3 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