Страница 1 из 1

STM32G474 удвоитель тактовой частоты таймеров

Добавлено: Вс июн 15, 2025 14:13:34
GARMIN
Работаю над домашним проектом, взял отладочную плату STM NUCLEO-G474RE с процессором STM32G474 на борту (из названия было непонятно, да). С этим процессором работаю уже давно, потом был перерыв пару лет.
Мне нужно запускать измерение по таймеру с периодом 10мс, не зависящим от состояния FreeRTOS. Для этого я использовал TIM7 как самый ограниченный и бесполезный. Рассчитывал на входную тактовую частоту PCLK1 20МГц. Установил делитель тактовой частоты и значение счётчика. Разрешил прерывание. И получил период прерывания не 10, а 5мс. Я, конечно, могу установить другие коэффициенты, но всё равно полез разбираться.
RCC у меня настроен вручную, частота процессора 160МГц. SysTick работает от делителя частоты на 8: 20МГц, секунды считают корректно. Частота PCLK1 после делителя на 8 равна 20МГц. Картинку прилагаю.
Изображение
У меня вопрос:
От шины PCLK1 до тактирования таймеров 2-7 стоит блок умножения частоты "x1 or x2". Сейчас он настроен на х2. Но я нигде не нашёл управление этим блоком, ни в RCC, ни в таймерах. Может кто видел, где и как управляется этот множитель?

Re: STM32G474 удвоитель тактовой частоты таймеров

Добавлено: Вс июн 15, 2025 14:31:22
veso74
стр 281:
7.2.13 Timer clock
The timer clock frequencies (tim_ker_ck) are automatically defined by hardware. If the APB prescaler equals 1, the timer clock frequencies are set to the same frequency of the APB domain, otherwise, they are set to twice (×2) the frequency of the APB domain.

Re: STM32G474 удвоитель тактовой частоты таймеров

Добавлено: Вс июн 15, 2025 15:37:55
GARMIN
Большое спасибо! Сам не нашёл.