Меню Закрыть

Разбор Pinout & Configuration в CubeIDE: Categories, Pinout View в файле .ioc

Разбор Pinout & Configuration в CubeIDE: Categories, Pinout View в файле .ioc

Назначение Pinout & Configuration

Давайте рассмотрим панель Pinout & Configuration. Откроем файл ProjectName.ioc вашего проекта. Там будет интересующая нас вкладка. Условно разделим её на левую и правую части. В левой части видим 8 строк System Core, Analog, Timers, Connectivity, Multimedia, Security, Computing, Middleware And Software Packs, а в правой наш микроконтроллер.

Основные задачи которые решает данная вкладка

  1. Предоставляет понятный графический интерфейс который позволяет визуально настраивать выводы микроконтроллера. периферийные устройства.
  2. Настройка периферийных устройств UART, SPI, I2C, GPIO, ADC и т.д.
  3. Если выбранные настройки приводят к конфликтам (например, два устройства используют один и тот же вывод), вкладка подсвечивает проблемные области

Это всё приводит к сильной экономии времени на разработку, особенно на начальном этапе.

Левая часть. Categories

Левая часть вкладки Pinout & Configuration в STM32CubeIDE содержит структурированный список категорий для настройки различных аспектов микроконтроллера. Каждая категория отвечает за определённую группу параметров или периферийных устройств. Для каждого микроконтроллера там будут свои доступные этому микроконтроллеру устройства, но некоторые вещи будут в любом случае, например  System Core NVIC и RCC. Со временем работая в CubeIde вы будете запоминать зачем нужна каждая вкладка, теперь же давайте просто посмотрим за что они отвечают. Замечу, что здесь не будут рассматриваться все возможности всех вкладок так как их набор может значительно отличаться в зависимости от модели микроконтроллера STM32. Основное внимание будет уделено общим принципам работы и базовым функциям, которые присутствуют в большинстве микроконтроллеров STM32.

System Core

DMA (Direct Memory Access) —  позволяет периферийным устройствам (например, UART, ADC, SPI) обмениваться данными с памятью без участия центрального процессора (CPU). Уменьшает загрузку процессора при передаче данных.

Используется для работы с большими объемами данных или частыми обменами данными.

GPIO (General-Purpose Input/Output) —  это основная конфигурация для ввода/вывода цифровых сигналов на пинах микроконтроллера. Настройка пинов в качестве входов или выходов.

IWDG(Independent Watchdog) — независимый сторожевой таймер, который перезапустит микроконтроллер, если программа перестала работать корректно. Обеспечение надежности системы. Ваш хороший друг, не раз спасет ваш проект.

NVIC (Nested Vectored Interrupt Controller) —  управляет прерываниями в системе, включая их приоритеты.Отвечает за обработку событий (например, приход данных по UART, завершение измерений ADC). Устанавливает очередность обработки, если несколько прерываний происходят одновременно.

RCC(Reset and Clock Control) —  управляет тактированием всех модулей микроконтроллера и внешних периферийных устройств.

SYS (System Configuration) —   отвечает за системные функции, такие как конфигурация отладочных интерфейсов и управление памятью.

WWDG (Window Watchdog) —  это сторожевой таймер с «окном» для сброса. Он более сложен, чем IWDG, и позволяет настраивать временное окно для сброса.

Analog

ADC (Analog-to-Digital Converter) —  модуль для преобразования аналоговых сигналов в цифровые данные, которые может обрабатывать микроконтроллер. Аналого-цифровой преобразователь. Можно применять например для Измерение напряжения батареи,чтения данных с потенциометра и т.д.

DAC (Digital-to-Analog Converter) —  модуль для преобразования цифровых данных в аналоговый сигнал. Служит для генерации аналоговых сигналов. 

Timers

RTC (Real-Time Clock) — это модуль для работы с временем и датой, который продолжает функционировать даже при выключении основного питания, если подключена резервная батарея. 

TIM (Timer) — различные таймеры, общие, продвинутые и т.д.

Connectivity

CAN, UART, SPI, I2C, USB, и другие — интерфейсы связи. Позволяют взаимодействовать с внешними устройствами и другими микроконтроллерами. Будем рассматривать каждый в отдельной статье.

Multimedia

DCMI, I2S2 и другие — периферийные модули, предназначенные для работы с мультимедийными данными, такими как изображение, звук и видео.

Security

RNG (Random Number Generator) — модуль который используется для генерации случайных чисел. Этот модуль важен для криптографии, обеспечения безопасности и выполнения других задач, где требуется случайность.

Computing

CRC (Cyclic Redundancy Check)  — используется для вычисления циклической избыточной проверки (CRC). CRC позволяет проверять целостность данных при передаче или хранении. Обеспечивает целостность данных при передаче с помощью различных интерфейсов.

Middleware and Software Packs

Предоставляет доступ к дополнительным программным компонентам и библиотекам, которые могут быть интегрированы в ваш проект. Например FreeRTOS — Операционная система реального времени (RTOS) для управления задачами, памятью и ресурсами. USB Host/Device , драйверы для работы с датчиками  и даже искусственный интеллект

Правая часть. Pinout view.

Рассмотрим теперь правую часть, выглядит она вот так.

Если кликнуть левой клавишей мыши на вывод нашего микроконтроллера то появится список из возможных состояний ножки. У каждого вывода он будет свой в зависимости от внутреннего устройства микроконтроллера. Например такой.

Для удобства условно разделим все выводы на несколько групп.

  1. Универсальные GPIO (General Purpose Input/Output)базовые цифровые и аналоговые функции(GPIO_Input, GPIO_Output, GPIO_Analog) .Эта группа включает выводы, которые могут быть настроены как универсальные входы/выходы. Они используются для базовых задач, таких как чтение кнопок, управление светодиодами или взаимодействие с цифровыми устройствами.
  2. Периферийные функции (Alternate Functions) — выводы, которые могут быть настроены для работы с периферийными устройствами микроконтроллера, такими как UART, SPI, I2C, таймеры и другие(например, USART_TX, SPI_MOSI, TIM_CH1)
  3. Системные функции — Эта группа включает выводы, которые используются для базовой работы микроконтроллера и его взаимодействия с внешними компонентами.  ( Выводы питания (VDD, VSS, VDDA, VSSA) OSC_IN, OSC_OUT для подключения кварцевого резонатора )
  4. Дополнительные функции Эта группа включает специализированные выводы, которые поддерживают уникальные функции, доступные только в определённых моделях микроконтроллеров. (например USB_DM, USB_DP, CAN_TX, I2S, SAI ) 

Цветовая маркировка пинов

В STM32CubeIDE цветовая маркировка пинов играет важную роль в удобстве работы с микроконтроллером. Разные цвета помогают быстро определить, какие пины задействованы, какие зарезервированы, а какие используются для питания или управления. Это позволяет визуально анализировать конфигурацию микросхемы, избегая ошибок при проектировании. Сами цвета можно посмотреть и изменить во вкладке Pinout->Pinout VIew Colors сразу над вашим микроконтроллером.

Стандартные цвета выглядят так.

В разделе Pinout View Colors доступны параметры для изменения фона и текста пинов в разных состояниях: используемые, неиспользуемые, заблокированные, зарезервированные и т. д. Это позволяет, например, сделать важные пины более заметными или подобрать контрастные цвета для лучшей читаемости. Пройдём по некоторым наиболее часто встречаемым стандартным цветам.

1. Используемый пин (Pin In Use)

Пин задействован в проекте и выполняет определенную функцию, например, вход, выход, периферийное соединение (UART, I2C, SPI и т. д.). Такие пины окрашены в зеленый цвет, что указывает на их активное использование в схеме.

2. Неиспользуемый пин (Pin Not In Use)

Пин доступен, но пока не назначен ни на одну функцию.Визуально он выделяется серым цветом, что помогает быстро увидеть свободные контакты.

3. Пин питания (Pin Power)

Пины, через которые микроконтроллер получает питание (VDD, VSS, GND и т. д.). Окрашены в светло-желтый цвет, что делает их легко узнаваемыми среди других пинов.

4. Зарезервированный пин (Reserved Pin)

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

  1. Одиночное назначение пина (Pin Single Mapped)

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

На этом пожалуй всё. Статья получилась больше для ознакомления и конечно с каждым устройством и выводом нужно разбираться отдельно. Я же замечу что вкладка Pinout & Configuration это мощный инструмент для настройки микроконтроллера что делает её незаменимым инструментом как для начинающих, так и для опытных разработчиков.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *