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

KURS HOME ASSISTANT

Chcesz zautomatyzować swój dom bez skomplikowanego kodowania?
Zastanawiasz się nad wyborem sprzętu, oprogramowania i aplikacji?
Od czego zacząć przygodę z HA? Co będzie najlepsze na start?

Nasz kurs Home Assistant nauczy Cię krok po kroku, jak łatwo zautomatyzować swój dom i oszczędzić na rachunkach za prąd i ogrzewanie. Bez chmur, bez zbędnych abonamentów. Twoja przygoda z Home Assistant zaczyna się tutaj!

↓↓↓

    Szanujemy Twoją prywatność. Możesz wypisać się w dowolnym momencie.




    Teraz jest 7 cze 2025, o 07:56


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 8 ] 
    Autor Wiadomość
    PostNapisane: 18 sie 2015, o 22:23 
    Offline
    Użytkownik

    Dołączył(a): 22 sty 2014
    Posty: 1806
    Zbananowany użytkownik

    Pomógł: 168

    Witam Koledzy,

    Bawię się od kilku dni płytką z STM32F0 Discovery. Wlutowałem w płytkę kwarc 16 MHz, później uruchomiłem sobie taktowanie z zewnetrznego rezonatora i odpaliłem USART z pomocą Kolegów z forum. Problem jest taki, że znalazłem bibliotekach std, a dokładniej mówiąc w pliku stm32f0xx.h, definicje preprocesora

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


    Zmieniłem więc tą linijkę na:

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


    dalej zmieniłem również odpowiednio mnożnik petli PLL aby było 48Mhz i wszystko się zgadza. Ku mojemu zdziwieniu okazało się że termian sypie krzakami. Kombinowałem na różne sposoby aż w końcu odpaliłem oscyloskop i podejrzałem co mam na wejściu OSC_IN.

    Oto zaskakujący wynik:

    Obrazek

    Jak widać na wejściu jest 8Mhz... Czyżby ktoś sprzedał mi lewy kwarc czy może ja nie rozumiem działania wewnętrznego generatora? Proszę o pomoc w rozgryzieniu tej zagadki.

    ------------------------ [ Dodano po: 7 minutach ]

    Wylutowałem ten kwarc i wsadziłem w zestaw ATB. Na oscyloskopie mam f=16MHz.... Czyżby STM rezonował z tym kwarcem na innej częstotliwości?

    Ten sam kwarc w ATB:

    Obrazek



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 18 sie 2015, o 23:00 
    Offline
    Użytkownik

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

    O ile dobrze pamiętam jest tam (system_stm32fx) co najmniej jeden ifdef , w którym trzeba pozmieniać komentarze.

    Zauważyłem, że czasami kompilator olewa funkcje napisane przez nas i korzysta z tych funkcji w pliku system_stm32fx przez co wyskakują takie dziwne rzeczy.

    Tutaj masz przykład dla F1:

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


    Plik H

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


    Jak zobaczysz sobie do plików startowych startup_stm32fxxxx.S to zobaczysz formułkę, która przy starcie procka wywołuje funkcję SystemInit i olewa twoją funkcję.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 19 sie 2015, o 12:23 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 09 gru 2014
    Posty: 1540
    Pomógł: 269

    Może link ten tu pomoże. ;)



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 19 sie 2015, o 13:15 
    Offline
    Użytkownik

    Dołączył(a): 22 sty 2014
    Posty: 1806
    Zbananowany użytkownik

    Pomógł: 168

    anshar napisał(a):
    Może link ten tu pomoże.


    Nie mam problemu z ustawieniem zegara. To jest akurat proste. Mam problem z hardwarem na płytce i już chyba wiem o co chodzi. Chodzi o zworke SB18 która podaje na OSC_IN sygnał 8MHz z procka obsługujacego stlnka :) Sprawdzę to dziś wieczorem i się podzielę z wami :)



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 19 sie 2015, o 18:48 
    Offline
    Użytkownik

    Dołączył(a): 25 cze 2015
    Posty: 123
    Pomógł: 4

    Nefarious19 napisał(a):
    Chodzi o zworke SB18 która podaje na OSC_IN sygnał 8MHz z procka obsługujacego stlnka Sprawdzę to dziś wieczorem i się podzielę z wami


    Dokładnie, trzeba przeczytać instrukcję do płytki, STlink wysyła na OSC_IN zegar 8Mhz, jeżeli zworka nie zostanie zdjęta to kwarc nie będzie działać, ot będzie tylko balastem dla sygnału z stlinka.

    Do każdej discoverki/nukleo jest fajna instrukcja od ST, opisane wszystkie zworki co gdzie i jak. Wystarczy przeczytać ;).

    _________________
    "O sygnałach bez całek" Czesław Frąc



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 19 sie 2015, o 21:38 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 09 gru 2014
    Posty: 1540
    Pomógł: 269

    ramrusazer napisał(a):
    Do każdej discoverki/nukleo jest fajna instrukcja od ST, opisane wszystkie zworki co gdzie i jak. Wystarczy przeczytać ;).


    Dla STM32f0 można to znaleźć tutaj.

    (strona 18)
    Oscillator onboard
    . From X2 crystal (not provided). For typical frequencies and its
    capacitors and resistors, please refer to the STM32F051R8T6 Datasheet.
    Configuration needed:
    – SB16, SB17 SB18 OPEN
    – R22, R23, C13, C14 soldered

    Idąc dalej tym tropem:
    STM32F051R8T6 Datasheet (strona 15) można przeczytać, że domyślnie jest wybrany wewnętrzny oscylator RC 8MHz po resecie. Można wybrać zewnętrzne taktowanie na rezonatorze kwarcowym 4-32MHz, ale jest ono monitorowane, sprawdzane czy nie wystąpił błąd. Czyli wynika z tego, że gdy coś jest nie teges zostaje przy wewnętrznym oscylatorze RC.
    Wygląda na to, że bardzo ważne jest dobranie tych kondensatorów C13 i C14 (CL1 i CL2, strona 63) jak również Rext (strona 64). Odsyłają rówież do AN2867 “Oscillator
    design guide for ST microcontrollers" gdzie można znaleźć informacje jak się dobiera te elementy, piszą również o tym, że nie każdy rezonator kwarcowy się nadaje, jest nawet lista rekomendowanych producentów (strona 26). Ufff od samego pisania, można się zakręcić. ;)

    A nie wystarczyłoby zamiast R22 i R23 wlutować po prostu zworki, a C13 i C14, by nie bawić się w ich obliczanie, wlutować dla przykładu 2x 10pF (uwzględniając pojemność ścieżek itd)?
    Jak Wy sobie z tym poradziliście? Naprawdę liczyliście te pojemności i rezystancje?
    Po co podawany jest sygnał 8MHz z STLINK'a na wejście OSC_IN skoro pracuje na wewnętrznym oscylatorze HSI skalibrowanym na 8MHz (w/g noty +/- 1%) właśnie?



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 21 sie 2015, o 12:10 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 09 gru 2014
    Posty: 1540
    Pomógł: 269

    Zamiast się bawić w dobieranie elementów wystarczy zewrzeć zworkę SB16 i wykorzystać właśnie sygnał z STLINK'a. Czy to wystarczy do poprawnej (stabilnej) pracy z USART?

    Nefarious19 napisał(a):
    Sprawdzę to dziś wieczorem i się podzielę z wami :)

    Udało się?


    Autor postu otrzymał pochwałę


    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 22 sie 2015, o 11:30 
    Offline
    Użytkownik

    Dołączył(a): 22 sty 2014
    Posty: 1806
    Zbananowany użytkownik

    Pomógł: 168

    O to co trzeba rozlutować:

    Obrazek

    Teraz wszystko działa, oto dowód:


    Obrazek


    Bardzo dziękuje Koledze Anshar za pomoc. Napisał mi wiadomość na PW bez której pewnie jeszcze z tydzień bym dochodził do tego że warto zaglądać szczegółowo do dokumentacji płytki ;)



    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: 8 ] 

    Strefa czasowa: UTC + 1


    Kto przegląda forum

    Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 2 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:  
    cron
    Sitemap
    Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
    phpBB SEO