-
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)
Date: Fri, 23 Dec 2016 16:15:03 +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 1482506129 30544 192.168.11.40 (23 Dec 2016 15:15:29 GMT)
X-Complaints-To: u...@k...net
NNTP-Posting-Date: Fri, 23 Dec 2016 15:15:29 +0000 (UTC)
User-Agent: slrn/1.0.2 (Linux)
Xref: news-archive.icm.edu.pl pl.misc.elektronika:709988
[ 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, Erratę, 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." ]
Najnowsze wątki z tej grupy
- Linuks od wer. 6.15 przestanie wspierać procesory 486 i będzie wymagać min. Pentium
- Propagation velocity v/c dla kabli RF
- Jakie natynkowe podwójne gniazdo z bolcem (2P+PE)
- Czujnik nacisku
- Protoków komunikacyjny do urządzenia pomiarowego
- Hiszpania bez pradu
- amperomierz w plusie
- 3G-nadal działa
- Historia pewnego miernika kalibratora
- Ustym 4k Pro i wyświetlacz
- Czemu rozwaliło celę?
- Wojna w portfelu
- Jaki trojfazowy licznik tuya lub podobny?
- Problem z dekoderem adresów
- Intel się wyprzedaje: po 10latach pchnęli pakiet kontrolny Altery za 1/4 kwoty zakupu
Najnowsze wątki
- 2025-05-12 presja na aplikacje i blik
- 2025-05-12 czy znacie bardziej popierdolone sieci niż polskie?
- 2025-05-12 czy znacie bardziej popierdolone sieci niż polskie?
- 2025-05-11 Linuks od wer. 6.15 przestanie wspierać procesory 486 i będzie wymagać min. Pentium
- 2025-05-11 Linuks od wer. 6.15 przestanie wspierać procesory 486 i będzie wymagać min. Pentium
- 2025-05-11 obca rejestracja budzi agresję
- 2025-05-11 Po nie udanej próbie egzekucji: Nigeryjczyk, który chciał zabić Polaka, nie odpowie za atak
- 2025-05-10 Szczecin => Key Account Manager IT <=
- 2025-05-10 Rudno => Administrator sieci IT <=
- 2025-05-10 Wrocław => Controlling systems Consultant <=
- 2025-05-10 Rudno => IT network administrator <=
- 2025-05-10 Warszawa => Customer Service with Spanish + translation <=
- 2025-05-10 Warszawa => Senior Account Manager <=
- 2025-05-10 Trójmiasto => Head of Social Media <=
- 2025-05-10 Warszawa => C Programmer <=