-
Data: 2016-12-23 16:17:29
Temat: STM32F4, problem z PLL (asm)
Od: Marcin Kulas <h...@k...net> szukaj wiadomości tego autora
[ pokaż wszystkie 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." ]
Następne wpisy z tego wątku
- 23.12.16 17:37 w systemie siła 'PO/EU
- 23.12.16 17:58 a...@m...uni.wroc.pl
- 23.12.16 18:16 Marcin Kulas
- 23.12.16 19:11 a...@m...uni.wroc.pl
- 23.12.16 21:20 Marcin Kulas
- 23.12.16 22:27 w systemie siła 'PO/EU
- 24.12.16 13:41 w systemie siła 'PO/EU
- 27.12.16 09:27 J.F.
- 27.12.16 11:27 Marcin Kulas
Najnowsze wątki z tej grupy
- [OT] Jak wycinac ksztalt w piance lub styropianie?
- FV--> ciepła woda w kranie
- Szok
- Dziwny schemat wzmacniacza m.cz.
- We Wrocławiu ruszyła Odra 5, pierwszy w Polsce komputer kwantowy z nadprzewodzącymi kubitami
- CGNAT i ewentualne problemy
- wzmacniacz mocy
- 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
Najnowsze wątki
- 2025-06-04 15.000.000 samochodów rocznie nie dojedzie z Katowic do Chorzowa, Bytomia, Tarnowskich Gór
- 2025-06-04 Białystok => Team Lead Data Engineer (Snowflake) <=
- 2025-06-04 Pomór bydła na Białorusi? Kartofli też brakuje...
- 2025-06-04 Warszawa => Operations Support Systems (OSS) Team Leader <=
- 2025-06-04 Tajemnica estakady w Chorzowie ujawniona
- 2025-06-04 Tajemnica estakady w Chorzowie ujawniona
- 2025-06-04 Białystok => Inżynier oprogramowania .Net <=
- 2025-06-04 Rzeszów => International Freight Forwarder <=
- 2025-06-04 Warszawa => Scrum Master <=
- 2025-06-04 Chrzanów => Spedytor Międzynarodowy (handel ładunkami/prowadzenie f
- 2025-06-04 Dziś od rana trwa strajk w zakładzie Jeremias w Gnieźnie.
- 2025-06-04 "W Sosnowcu [sukcesem -przyp. JMJ] zakończył się strajk pracowników firmy Bitron Appliance Poland."
- 2025-06-04 Rzeszów => Spedytor Międzynarodowy <=
- 2025-06-04 Ten to się trzyma :-)
- 2025-06-04 Warszawa => Test Automation Engineer <=