eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaSTM32F4, problem z PLL (asm)STM32F4, problem z PLL (asm)
  • Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!news.kropka.net!.POSTED!not-
    for-mail
    From: Marcin Kulas <h...@k...net>
    Newsgroups: pl.misc.elektronika
    Subject: STM32F4, problem z PLL (asm)
    Supersedes: <s...@k...net>
    Date: Fri, 23 Dec 2016 16:17:29 +0100
    Organization: K5
    Lines: 49
    Message-ID: <s...@k...net>
    NNTP-Posting-Host: hawg.lan
    Mime-Version: 1.0
    Content-Type: text/plain; charset=utf-8
    Content-Transfer-Encoding: 8bit
    X-Trace: wazniak.lan 1482506274 30544 192.168.11.40 (23 Dec 2016 15:17:54 GMT)
    X-Complaints-To: u...@k...net
    NNTP-Posting-Date: Fri, 23 Dec 2016 15:17:54 +0000 (UTC)
    User-Agent: slrn/1.0.2 (Linux)
    Xref: news-archive.icm.edu.pl pl.misc.elektronika:709989
    [ ukryj nagłówki ]

    Witam.

    Odzywam się bardzo rzadko, bo czasu coraz mniej na hobby,
    ale tym razem muszę, bo zaraz nie będę miał czego rwać z głowy.

    Do tej pory grzebałem w 8-bitowych AVR-ach i je rozumiałem.
    Postanowiłem liznąć ARM-a. Padło na Cortex M4, konkretnie
    płytkę Discovery z STM32F429ZI. Interesuje mnie wyłącznie
    assembler i od tej strony się do tego zabrałem, chcąc poznać
    rdzeń i dostępne peryferia.

    Problem:

    Podczas inicjacji MCU chcę ustawić SYSCLK=168MHz.
    Konfiguruję PLL następująco:

    wejście = HSE, kwarc 8MHz
    PLL_M = 4
    PLL_N = 168
    PLL_P = 2
    PLL_Q = 7

    Na razie rdzeń zasilam prosto z HSE, a na MCO1 i MCO2 wypluwam
    sobie wyjście PLL/4 oraz (dla porównania) SYSCLK/4.

    SYSCLK wynosi 8MHz, co nie budzi wątpliwości, natomiast PLL
    nie potrafię zmusić, by zachowywała się zgodnie z dokumentacją.
    Przy powyższych dzielnikach mam za nią ok. 46.4MHz:
    http://hit.kropka.net/adhoc/ST32F4_halp/PLL_4_168_2_
    7.png

    Co dziwniejsze, jeśli ustawię PLL_M=8 i PLL_N=336, na wyjściu
    powinienem mieć taką samą częstotliwość, a nie mam:
    http://hit.kropka.net/adhoc/ST32F4_halp/PLL_8_336_2_
    7.png

    Takie same rezultaty mam na STM32F446ZE, więc błąd jest
    po mojej stronie, nie układu. Od tygodnia go szukam i nie
    mogę zrozumieć, co robię źle. Prośba o wskazanie, jeśli komuś
    się będzie bardzo nudziło. Powoli zaczynam w siebie wątpić.

    Źródła, na których się męczę:
    http://hit.kropka.net/adhoc/ST32F4_halp/

    Oczywiście Datasheet, Errata, Reference Manual i Programming Manual
    zajmują u mnie cały drugi monitor. Zwykle takie podejście działało.
    Tym razem poległem i nie wiem nawet na czym. Będe wdzięczny za pomoc.

    --
    [ ,,Bądź uczynny, pomagaj innym - a wtedy wszyscy wokół pomyślą, ]
    [ że to co dla nich robisz, jest twoim zasranym obowiązkiem." ]

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: