Вопрос по настройке таймера CubeMX (скриншот прилагается)

Пытаюсь понять, как работает таймер на внутренних часах. Я прикрепил свою конфигурацию CubeMX ниже.

На данный момент я установил основную частоту на 480 МГц, что является максимумом для этого чипа STM32H743ZI. Я использую TIM 2, поэтому смотрю на APB1.

там из дерева часов я вижу, что в настоящее время это так до 240 МГц для часов таймера и 120 МГц для периферийных часов.

  1. Мой первый вопрос: почему он использует 120 МГц, где явно указано 240 МГц для тактовых импульсов на APB1? Я проверил частоту с помощью осциллографа.

Это маловероятно, но, судя по тому, что я читал, максимальная частота таймера для этого чипа составляет 200 МГц. Значит, 240 больше 200, возможно, чип автоматически применяет делитель / 2? Я мог бы подумать, что дерево конфигурации часов что-то скажет, вместо того, чтобы разрешить применение 240 МГц?

  1. Мой второй вопрос: в качестве аргумента допустим, что максимальная тактовая частота таймера действительно составляет 200 МГц, как мне установить 200 МГц в качестве тактовой частоты для APB1? Я уверен, что нет способа достичь 200 МГц без ущерба для максимальной тактовой частоты MCU и, возможно, снизить ее с 480 до 400 МГц?

  2. Могу ли я доверять автоматическим настройкам предделителя / множителя, которые CubeMX выполняет всякий раз, когда я что-то меняю?

введите описание изображения здесь


person zytra    schedule 22.07.2020    source источник


Ответы (1)


Как проверяли прицелом? Он внутри чипа?

  1. Тактовая частота таймера составляет 240 МГц, тактовая частота других периферийных устройств, подключенных к APB1, составляет 120 МГц.

согласно тому, что я читал, максимальная частота таймера для этого чипа составляет 200 МГц.

Где ты это читал? официальная документация говорит что-то другое

введите описание изображения здесь

  1. Я думаю, что в этом вопросе нет особого смысла

  2. Вы видите значения, вы можете проверить их вручную, если хотите, но в этом случае компьютеры обычно лучше людей. Лично у меня проблем с Cube не было. Кстати, я использую его только для часов (мне лень вычислять все предварительные делители вручную), но я программирую его только для регистрации.

person 0___________    schedule 22.07.2020
comment
Спасибо - я измерил это с помощью осциллографа, просто переключив вывод вывода. Я полагал, что время, необходимое для переключения булавки, будет постоянно одинаковым от переключения к следующему, но это может быть неверным предположением. В любом случае я смог проверить значение от 1 до 2%. Что касается 200 МГц, я, должно быть, смотрел не на ту таблицу. В любом случае, ваш снимок экрана показывает, что максимальная частота таймера должна составлять 240 МГц, а не 120 МГц. изменение делителя внутри CubeMX, чтобы увеличить 120 до 240, говорит, что максимальная частота составляет 120 МГц. - person zytra; 23.07.2020
comment
Так что, возможно, я не понимаю разницы между максимальной частотой интерфейса и максимальной частотой таймера? - person zytra; 23.07.2020
comment
Таймер часов - это часы, используемые для подачи питания на счетчик. Часы интерфейса - это часы цифрового интерфейса таймера (регистры, компараторы, генераторы событий и т. Д.). Многие периферийные устройства имеют более одного источника синхронизации, например АЦП. - person 0___________; 23.07.2020
comment
хм, спасибо - в моем случае, какие из двух часов имеют значение для расчета периода, который я хотел бы отсчитать? - person zytra; 23.07.2020
comment
@zytra timer clock Я предлагаю прочитать Справочное руководство, где все объяснено - person 0___________; 23.07.2020