STM32 (3) - Понимание структуры дерева часов и принципа шины часов

При использовании STM32 часы всегда неразделимы, поэтому необходимо иметь глубокое понимание дерева часов, чтобы освоить внутренний принцип работы чипа STM32.


1. Введение источника тактового сигнала

В STM32 есть пять источников синхронизации: HSI, HSE, LSI, LSE, PLL. Здесь я беру в качестве примера серию STM32F103:

①HSE: высокоскоростные внешние часы

HSE (High Speed ​​​​External): высокоскоростной внешний источник тактового сигнала, обычно кварцевый генератор. HSE также является одним из источников тактовых импульсов по умолчанию для чипа STM32, а его частотный диапазон может составлять от 1 до 25 МГц. HSE может использоваться в качестве входа системных часов и фазовой автоподстройки частоты PLL, а также может быть введен в RTC после 128 деления частоты.

②HSI: высокоскоростные внутренние часы

Высокоскоростной внутренний источник синхронизации (Internal), тактовая частота 8МГц. HSI является одним из источников тактовых импульсов по умолчанию для чипа STM32 из-за его высокой стабильности и точности. Может использоваться как системный тактовый сигнал или вход фазовой автоподстройки частоты PLL.

③LSI: низкоскоростные внутренние часы

RC-генератор с частотой 40 кГц. LSI обычно используется в качестве источника часов для RTC (Real Time Clock). Доступно для независимого сторожевого таймера и RTC, а независимый сторожевой таймер может использовать только часы LSI.

④LSE: низкоскоростные внешние часы

Подключитесь к кварцевому кристаллу с частотой 32,768 кГц. LSE также используется в качестве источника часов для RTC, поскольку его частота очень стабильна. Для использования в режиме реального времени.

Примечание. Почему здесь часы с частотой 32,76 кГц? Кварцевый генератор 32,768 кГц потому, что он является приблизительным целым числом, кратным 2 в 15-й степени, то есть 32768 ≈ 2^15. Такой выбор частоты связан с конструкцией RTC, поскольку RTC нуждается в относительно точном источнике тактового сигнала для обеспечения точности времени. Использование кварцевого генератора с частотой 32,768 кГц позволяет RTC использовать источник тактового сигнала с низким энергопотреблением и может обрабатывать время, используя степень двойки, что удобно для программирования и расчетов. Таким образом, кварцевый генератор с частотой 32,768 кГц обеспечивает работу часов реального времени, при этом обеспечивая низкое энергопотребление и стабильную работу.

⑤PLL: выход умножителя с фазовой автоподстройкой частоты

В качестве источника тактового сигнала можно выбрать HSI/2, HSE или HSE/2. Множитель частоты можно выбрать в диапазоне от 2 до 16 раз, но максимальная выходная частота не должна превышать 72 МГц.

Функции контура фазовой автоподстройки частоты включают:
реконструкцию тактового сигнала: контур фазовой автоподстройки частоты может преобразовывать нестабильный входной тактовый сигнал в стабильный выходной тактовый сигнал для повышения точности и стабильности системных часов.
Частотное деление тактового сигнала: контур фазовой автоподстройки частоты может делить высокочастотный тактовый сигнал в соответствии с определенным соотношением для удовлетворения различных системных требований к тактовой частоте.
Умножение частоты тактового сигнала: контур фазовой автоподстройки частоты может умножать частоту низкочастотных тактовых сигналов в соответствии с определенным соотношением, чтобы удовлетворить потребности высокоскоростных системных часов.
Синтез частоты: контур фазовой автоподстройки частоты может синтезировать входные сигналы разных частот в новый частотный сигнал для адаптации к некоторым конкретным приложениям, таким как беспроводная связь.
Обнаружение фазы: контур фазовой автоподстройки частоты может обнаруживать разность фаз входного сигнала и сравнивать ее с фазой опорного сигнала для достижения фазовой синхронизации.

Во-вторых, концепция некоторых часов

1. Системные часы SYSCLK

SYSCLK относится к системным часам , относится к основному тактовому сигналу компьютерной системы, а также является основным тактовым сигналом всей системы. Частота сигнала SYSCLK определяет скорость работы и производительность всей системы.
В микропроцессорной системе сигнал SYSCLK обычно обеспечивается кварцевым генератором или другими внешними источниками тактовых импульсов, а затем после деления и умножения частоты он используется в качестве тактового сигнала для различных частей, таких как ЦП, память и периферийные устройства. Чем выше частота сигнала SYSCLK, тем быстрее будет работать система, но это также увеличит энергопотребление и проблемы с нагревом.
В разных компьютерных системах частота сигнала SYSCLK может различаться, обычно в МГц. Например, обычная системная тактовая частота ПК составляет около 4–5 ГГц, тогда как частота SYSCLK во встроенной системе может составлять всего несколько десятков МГц.

2. Часы реального времени

Часы RTC относятся к часам реального времени (Real-Time Clock), которые являются источником часов, независимым от ЦП в компьютерной системе, и используются для обеспечения функции часов реального времени в системе. В отличие от SYSCLK, часы RTC, как правило, не зависят от рабочего состояния системы.Даже если система выключена, часы RTC могут продолжать работать.
Часы RTC обычно обеспечиваются независимым кварцевым генератором, который обычно имеет частоту 32,768 кГц. Точность и стабильность часов RTC очень высоки, что может обеспечить точность времени и стабильность системы.
В компьютерной системе часы RTC обычно используются для обеспечения функций часов реального времени, таких как системные часы, календарь, будильник и другие функции. Например, в управлении питанием часы RTC можно использовать для управления пробуждением и переходом в спящий режим системы для продления срока службы батареи; в функции календаря часы RTC могут записывать время и дату системы для просмотра пользователями. и управлять; в функции будильника часы RTC можно использовать для запуска функции будильника системы.

3. Сторожевые часы

Сторожевые часы — это аппаратный таймер, который используется в компьютерной системе для контроля рабочего состояния системы.Когда система ненормальна или заблокирована, сторожевые часы могут перезапустить систему для возобновления нормальной работы. Сторожевые часы обычно состоят из независимого счетчика и независимого кварцевого генератора, который работает как таймер.

В компьютерных системах сторожевыми часами обычно управляет операционная система или прикладные программы, чтобы система могла быть перезапущена вовремя в случае системного сбоя. Счетчик сторожевых часов обычно устанавливает определенный интервал времени, например, несколько минут или несколько секунд.Когда система работает нормально, операционная система или прикладная программа должны регулярно отправлять сигнал сторожевым часам в течение заданного времени. , Для сброса счетчика сторожевых часов, чтобы система не была ошибочно принята за сбой и автоматически перезапустилась. Если система неисправна или заблокирована, счетчик сторожевых часов не получит сигнал сброса в течение заданного времени, и система будет автоматически перезапущена для возобновления нормальной работы.

Сторожевые часы имеют широкий диапазон сценариев применения.Например, во встроенных системах, серверах и других приложениях сторожевые часы можно использовать для наблюдения за рабочим состоянием системы и предотвращения сбоев или сбоев системы из-за программных сбоев или аппаратные сбои. В то же время сторожевые часы также можно использовать для защиты безопасности системы и предотвращения сбоев системы, вызванных небезопасными факторами, такими как хакерские атаки.

4. Системный таймер

Systick — это аппаратный таймер, системные часы в чипах серии ARM Cortex-M, которые обеспечивают простой таймер для времени микросхемы калькулятора. Так что можно сказать, что Systick — это своего рода часы.

Таймер Systick состоит из счетчика и контроллера прерываний.Его счетчик может автоматически начинать отсчет после включения микросхемы.Временной интервал устанавливается регистром SYST_RVR, обычно равным 1 мс. Когда счетчик достигает установленного значения, таймер Systick запускает прерывание, и с помощью функции обработки прерывания могут быть реализованы различные задачи синхронизации.

Таймеры Systick могут использоваться для реализации таких функций, как синхронизация, задержка и ритм системы, и широко используются во встроенных системах. Использование таймера Systick может реализовать разделение времени для нескольких задач и повысить эффективность и стабильность системы. В то же время таймер Systick также можно использовать для калибровки и проверки системных часов, чтобы обеспечить точность и стабильность системы.

Следовательно, хотя таймер Systick сам по себе не является часами, его можно использовать в качестве реализации системных часов, предоставляя услуги синхронизации и прерывания, а также реализуя подсчет времени, тем самым помогая системе выполнять различные задачи и функции.

3. Анализ дерева часов

вставьте сюда описание изображения
Как показано на рисунке, я объясню по блокам:

Примечание. В дереве тактовых импульсов микросхем серии STM32 крайняя левая вертикальная линия обычно представляет источник тактового сигнала микросхемы, также известный как входной сигнал тактового сигнала или селектор источника тактового сигнала. К этой вертикальной линии подключено несколько источников тактового сигнала, включая внутренний RC-генератор, внутренний тактовый генератор HSI, внешний кварцевый генератор, внешний тактовый вход и т. д.
Когда микросхема STM32 инициализируется, необходимо выбрать соответствующий источник ввода тактового сигнала в соответствии с конкретными требованиями приложения и переключить источник ввода тактового сигнала с помощью селектора источника тактового сигнала. С помощью конфигурации селектора источника синхронизации могут быть реализованы такие функции, как выбор соответствующего источника синхронизации, управление переключением и переключением источника синхронизации, калибровка источника синхронизации и оптимизация стабильности источника синхронизации.

1.МКО

MCO — это контакт вывода тактового сигнала в чипе серии STM32, и его полное название — Master Clock Output. Вывод MCO может выводить внутренний тактовый сигнал микросхемы наружу для подключения к другим микросхемам или модулям, таким как внешние источники тактовой частоты, ЖК-дисплеи и т. д.

Вывод MCO может выводить различные типы тактовых сигналов, включая системные часы, часы PLL, часы HSE и т. д. Частотой и типом выходного тактового сигнала можно управлять с помощью настроек регистра, чтобы удовлетворить различные требования приложений. В то же время вывод MCO также можно использовать с помощью функции мультиплексирования GPIO для реализации других функций, таких как захват ввода, сравнение вывода и т. д.вставьте сюда описание изображения

2. Часы реального времени

Из хода линий на рисунке видно, что источником часов RTC могут быть внутренние низкоскоростные часы LSI, внешние низкоскоростные часы LSE (32,768K) ​​или их можно получить путем деления частота по 128 НИУ ВШЭ.
вставьте сюда описание изображения

3. USB-часы

В STM32 есть модуль USB с функцией полной скорости.Движку его последовательного интерфейса нужен источник тактовой частоты с частотой 48МГц.Этот источник тактовой частоты можно получить только с выхода PLL.Его можно разделить на 1,5 или 1.При использовании модуля USB должна быть включена PLL, а тактовая частота PLLCLK настроена как 48 МГц или 72 МГц.
вставьте сюда описание изображения

4. Системные часы SYSCLK

Это источник тактового сигнала для большинства компонентов STM32. Его источником тактовой частоты могут быть HSI, HSE и PLLCLK.Выбор усовершенствованного чипа, такого как STM32F1, надеется иметь относительно большую тактовую частоту, поэтому PLLCLK выбирается в качестве системных часов. PLLCLK получается из HSE или HSI посредством умножения частоты PLL.
Если источник синхронизации PLLSRC предоставляется HSE , HSE, используемый макетной платой, представляет собой кварцевый генератор 8M , и после умножения PLLMUL на 9 он может выводить тактовую частоту 72M на PLLCLK .
Если HSE, который мы выбираем, является источником тактового сигнала PLL, PLL является источником тактового сигнала SYSCLK , то есть SYSCLK составляет 72 МГц.
вставьте сюда описание изображения

5. Периферийные часы

Конечным источником тактовых импульсов для всех периферийных устройств является SYSCLK . SYSCLK делится делителем частоты AHB и отправляется каждому модулю для использования. Эти модули включают:
①Часы HCLK, используемые шиной AHB, ядром, памятью и DMA.
② После деления на 8 отправьте его на часы системного таймера Cortex, а именно SysTick.
③ Непосредственно отправляется на холостой ход FCLK Cortex.
④ Отправка на делитель частоты APB1. Делитель частоты APB1 выдает один канал для периферийных устройств APB1 (PCLK1, максимальная частота 36МГц), а другой канал для Таймера (Timer) 1 и множителя 2.
⑤ Отправка на делитель частоты APB2. Выход частотного деления делителя частоты APB2 используется для периферийного устройства APB2 (PCLK2, максимальная частота 72 МГц), а другой используется для умножителя частоты Таймера (Timer) 1.
⑥ Отправить на делитель частоты АЦП. После того, как делитель частоты АЦП делится на 2, 4, 6 и 8, он отправляется для использования в АЦП1/2/3.Максимальная частота АЦП составляет 14M.
⑦ После деления на два отправьте его в SDIO для использования.

Необходимо понимать разницу между APB1 и APB2.APB1 подключен к низкоскоростным периферийным устройствам, включая интерфейс питания, интерфейс резервного копирования, CAN, USB, I2C1, I2C2, USART2, USART3 и т. д. APB2 подключен к высокоскоростным периферийным устройствам, включая USART1, SPI1, Timer1, ADC1, ADC2, GPIO и т. д.
На диаграмме дерева часов мы также можем получить важную информацию.Большинство частей вывода часов имеют элемент управления включением, например, шина AHB, периферийные устройства APB1, периферийные устройства APB2, основные часы и т. д. Когда вам нужно использовать определенные часы, вы должны включить их, иначе они не будут работать.
вставьте сюда описание изображения

Подведем итог

После введения в основном объясняется структура пяти частей дерева часов, поэтому мы можем видеть, что микроконтроллер может работать на желаемой частоте благодаря конфигурации различных источников часов дерева часов.При использовании STM32CUBEMX, configure Дерево часов также является важной частью. После понимания этого управление частотой одночипового микрокомпьютера будет более удобным. В следующей статье я проанализирую операции битбандинга.

Supongo que te gusta

Origin blog.csdn.net/qq_53092944/article/details/130642901
Recomendado
Clasificación