STM32 часовник
Стана повече или по-малко нормално да се ориентирам в системата за синхронизация, затова реших да запиша бележка.
За разлика от AVR, STM32 има 3 източника на часовник:
1. Вътрешен RC (HSI) - инсталиран вътре в микрони, така че честотата винаги е фиксирана, недостатъкът е, че честотата може да плава, за 103 серии 8 MHz, за 407 16 MHz.
2. Външен (HSE) - например кварцов резонатор, съответно висока стабилност и точност на отчитанията. Можете да промените честотата, като замените кварца, т.е. каквото поставите ще бъде. Максимална честота за 103 - 25MHz, за 407 серии - 26MHz.
3. Честотен множител (PLL) - в този случай в началото трябва да изберете кой "основен" източник ще бъде: HSE или HSI. Освен това, чрез задаване на коефициентите, базовата честота се разделя или умножава. Камъкът ще работи на получената честота. Тези. честоти по-високи
25MHz може да се получи само с помощта на PLL модула.
Трябва да се отбележи, че когато се използва HSI като база, максималната честота ще бъде по-ниска, отколкото когато се използва HSE. Освен това, тъй като честотата на HSI може да плава, PLL ще се променя заедно с нея. Например изчисляваме, че HSI = 8MHz, в действителност е 7,8MHz, да кажем, че коефициентът на умножение на честотата е 9. Тогава на изхода, вместо 8 * 9 = 72MHz, получаваме 7,8 * 9 = 70MHz. Някъде няма да играе роля, но някъде може да попречи.
Всички ракети започват първо от HSI. След това можете да превключите на HSE или PLL, в случай на неизправности микроконтролерът не се изключва, а преминава към HSI. В допълнение към основния часовник SYSCLK, не трябва да се забравя, че периферните устройства са с тактова честота от различни шини (имената могат да се различават в различните серии). Всяка шина има своя собствена максимална тактова честота, която може да бъде много по-малка от SYSCLK, така че всяка шина има предскалатори за настройка.
За да се почувствате малко по-удобно с настройката, по-добре е да се задълбочите в STM32Cube Mx, ако параметрите са извън обхвата, те са маркирани в червено. Посочените настройки ще бъдат генерирани в проекта.
