Питание STM32 USB Type-C

Введение
В этом документе содержится список часто задаваемых вопросов (FAQ) по STM32 USB Type-C® и подаче питания.
Подача питания через USB Type-C®
Можно ли использовать USB Type-C® PD для передачи данных? (Функции высокоскоростной передачи данных USB не используются)
Хотя сам USB Type-C® PD не предназначен для высокоскоростной передачи данных, его можно использовать с другими протоколами и альтернативными режимами, а также он обеспечивает базовую передачу данных.
Каково практическое применение модуля VDM UCPD?
Сообщения, определяемые поставщиком (VDM), в USB Type-C® Power Delivery предоставляют гибкий механизм расширения функциональности USB Type-C® PD за пределы стандартного согласования питания. VDM обеспечивают идентификацию устройств, альтернативные режимы, обновление прошивки, выполнение пользовательских команд и отладку. Внедряя VDM, поставщики могут создавать собственные функции и протоколы, сохраняя совместимость со спецификацией USB Type-C® PD.
STM32CubeMX необходимо настроить с помощью определенных параметров. Где их можно найти?
Последнее обновление изменило отображение информации, сделав ее более удобной для пользователя, теперь интерфейс просто запрашивает громкостьtage и требуемый ток. Однако эти параметры можно найти в документации, краткую справочную таблицу можно найти в AN5418.
Рисунок 1Подробные характеристики (таблица 6-14 в спецификации универсальной последовательной шины питания)

Рисунок 2 объясняет примененное значение 0x02019096.
Рисунок 2. Детальное декодирование PDO

Более подробную информацию об определении PDO см. в разделе POWER_IF в UM2552.
Каков максимальный выходной ток USB-интерфейса?
Максимальный выходной ток, допустимый стандартом USB Type-C® PD, составляет 5 А при использовании специального кабеля на 5 А. Без специального кабеля максимальный выходной ток составляет 3 А.
Означает ли этот «режим двойной роли» возможность подачи питания и зарядки в обратном направлении?
Да, DRP (порт с двойной ролью) может быть как приёмником (приёмником), так и источником (источником). Он обычно используется в устройствах с питанием от аккумуляторов.
Контроллер и защита питания STM32
Поддерживает ли MCU только стандарт PD или также и QC?
Микроконтроллеры STM32 в первую очередь поддерживают стандарт USB Power Delivery (PD) – гибкий и широко распространённый протокол для передачи питания по соединениям USB Type-C®. Микроконтроллеры STM32 и стек USB PD от STMicroelectronics не поддерживают технологию быстрой зарядки (Quick Charge, QC). Если требуется поддержка быстрой зарядки, следует использовать специальную микросхему контроллера быстрой зарядки (QC) с микроконтроллером STM32.
Можно ли реализовать в пакете алгоритм синхронного выпрямления? Сможет ли он управлять несколькими выходами и ролями контроллера?
Реализация алгоритма синхронного выпрямления с несколькими выходами и функцией контроллера возможна с помощью микроконтроллеров STM32. Настроив периферийные устройства ШИМ и АЦП, а также разработав алгоритм управления, можно добиться эффективного преобразования мощности и управления несколькими выходами. Кроме того, использование коммуникационных протоколов, таких как I2C или SPI, позволяет координировать работу нескольких устройств в конфигурации контроллер-целевой контроллер. Например,ample, STEVAL-2STPD01 с одним STM32G071RBT6, в который встроены два контроллера UCPD, может управлять двумя портами Type-C Power Delivery мощностью 60 Вт.
Есть ли TCPP для VBUS > 20 В? Подходят ли эти продукты для EPR?
Серия TCPP0 рассчитана на напряжение VBUS до 20 В.tage SPR (стандартный диапазон мощности).
Какая серия микроконтроллеров STM32 поддерживает USB Type-C® PD?
Периферийное устройство UCPD для управления USB Type-C® PD встроено в следующие серии STM32: STM32G0, STM32G4, STM32L5, STM32U5, STM32H5, STM32H7R/S, STM32N6 и STM32MP2. На момент написания документа оно имело номер 961.
Как заставить микроконтроллер STM32 работать как USB-устройство с последовательным интерфейсом, соответствующее классу USB CDC? Поможет ли мне эта же или похожая процедура обойтись без кода?
Решение для связи через USB поддерживается реальнымиampфайлы инструментов обнаружения или оценки, включая комплексные библиотеки свободного программного обеспечения и эксampФайлы доступны в пакете MCU. Генератор кода недоступен.
Можно ли динамически изменять «данные» PD во время выполнения программы? Например, voltagи текущие требования/возможности, потребитель/поставщик и т. д.?
Благодаря USB Type-C® PD возможно динамически изменять роль питания (потребитель – SINK или поставщик – SOURCE), потребность в энергии (объект данных о питании) и роль данных (хост или устройство). Эта гибкость проиллюстрирована на рисунке. Видео STM32H7RS USB Dual Role Data and Power.
Можно ли использовать стандарт USB2.0 и Power Delivery (PD) для получения более 500 мА?
USB Type-C® PD обеспечивает мощную и быструю зарядку USB-устройств независимо от передачи данных. Таким образом, при передаче данных по USB 500.x и 2.x возможна передача тока силой более 3 мА.
Есть ли у нас возможность считывать информацию об исходном или потребляющем устройстве, например PID/UID USB-устройства?
USB PD поддерживает обмен различными типами сообщений, включая расширенные сообщения, содержащие подробную информацию о производителе. API USBPD_PE_SendExtendedMessage предназначен для упрощения этой связи, позволяя устройствам запрашивать и получать такие данные, как название производителя, название продукта, серийный номер, версия прошивки и другая информация, определяемая производителем.
При использовании щита X-NUCLEO-SNK1M1 с TCPP01-M12 следует ли также использовать X-CUBE-TCPP? Или в этом случае X-CUBE-TCPP опционален?
Для запуска решения USB Type-C® PD в режиме SINK рекомендуется использовать X-CUBE-TCPP, поскольку решение STM32 USB Type-C® PD требует управления. Оптимальной защитой является TCPP01-M12.
На печатных платах USB линии данных USB (D+ и D-) разводятся как дифференциальные сигналы с сопротивлением 90 Ом. Должны ли линии CC1 и CC2 также быть сигналами с сопротивлением 90 Ом?
Линии CC представляют собой однопроводные линии с низкочастотной связью со скоростью 300 кбит/с. Волновое сопротивление не имеет решающего значения.
Может ли TCPP защитить D+, D-?
TCPP не предназначен для защиты линий D+/-. Для защиты линий D+/- USBLC6-2 Рекомендуется использовать защиту от электростатического разряда или ECMF2-40A100N6 Защита от электростатического разряда + фильтр синфазного сигнала при наличии радиочастот в системе.
Инкапсулирован ли драйвер HAL или регистр?
Водитель — HAL.
Как можно гарантировать, что STM32 правильно обрабатывает согласование мощности и управление током в протоколе PD без написания кода?
Первым шагом может стать серия полевых испытаний на совместимость с использованием доступных на рынке устройств. Для понимания поведения решения STM32CubeMonUCPD позволяет осуществлять мониторинг и настройку приложений STM32 USB Type-C® и Power Delivery.
Вторым шагом может стать сертификация по программе соответствия USB-IF (форум разработчиков USB) для получения официального номера TID (идентификационного номера теста). Сертификацию можно пройти на семинаре по соответствию, спонсируемом USB-IF, или в авторизованной независимой испытательной лаборатории.
Код, сгенерированный X-CUBE-TCPP, готов к сертификации, а решения на плате Nucleo/Discovery/Evaluation уже сертифицированы.
Как реализовать функцию OVP для защиты порта Type-C? Можно ли установить погрешность в пределах 8%?
Порог ОВП устанавливается объемомtagделительный мост, подключенный к компаратору с фиксированным значением ширины запрещенной зоны.
Вход компаратора — VBUS_CTRL на TCPP01-M12 и Vsense на TCPP03-M20. Пороговое значение VBUS для защиты от перегрузки (OVP)tage может быть изменено HW в соответствии с объемомtage коэффициент делителя.
Однако рекомендуется использовать соотношение делителя, указанное на X-NUCLEO-SNK1M1 или X-NUCLEO-DRP1M1, в соответствии с целевым максимальным объемом.tage.
Высокая ли степень открытости? Можно ли настроить некоторые специфические задачи?
Стек USB Type-C® PD не является открытым. Однако все его входы и взаимодействие с решением можно настроить. Кроме того, для ознакомления с интерфейсом UCPD можно обратиться к справочному руководству по STM32.
На что следует обратить внимание при проектировании схемы защиты портов?
Микросхема TCPP должна быть расположена рядом с разъёмом Type-C. Рекомендации по схемотехнике приведены в руководствах пользователя. X-NUCLEO-SNK1M1, X-NUCLEO-SRC1M1, и X-NUCLEO-DRP1M1Чтобы обеспечить хорошую устойчивость к электростатическим разрядам, я бы рекомендовал взглянуть на Примечание по применению рекомендаций по компоновке ESD.
В настоящее время в Китае представлено множество однокристальных микросхем. Каковы их конкретные преимущества?tagиспользования STM32?
Ключевые преимущества этого решения проявляются при добавлении разъёма питания Type-C к существующему решению STM32. Кроме того, оно экономически эффективно благодаря низкому объёмуtagКонтроллер UCPD встроен в STM32 и имеет высокую громкостьtagконтроль/защита осуществляется TCPP.
Предлагает ли ST рекомендуемое решение с блоком питания и STM32-UCPD?
Они — полные бывшие.ampле с Адаптер питания USB Type-C с двумя портами на базе программируемого понижающего преобразователя STPD01. STM32G071RBT6 и два TCPP02-M18 используются для поддержки двух программируемых понижающих преобразователей STPD01PUR.
Какое решение применимо для Sink (монитор класса 60 Вт), использования входа HDMI или DP и питания?
STM32-UCPD + TCPP01-M12 может поддерживать мощность потребления до 60 Вт. Для HDMI или DP необходим альтернативный режим, и это можно сделать программно.
Означает ли это, что эти продукты прошли испытания на соответствие стандартным спецификациям USB-IF и USB?
Код, сгенерированный или предложенный в пакете прошивки, был протестирован и официально сертифицирован для некоторых ключевых конфигураций оборудования.ample, X-NUCLEO-SNK1M1, X-NUCLEO-SRC1M1 и X-NUCLEO-DRP1M1 на базе NUCLEO официально сертифицированы, а идентификаторы теста USB-IF: TID5205, TID6408 и TID7884.
Конфигурация и код приложения
Как создать PDO?
Создание объекта данных питания (PDO) в контексте USB Power Delivery (PD) подразумевает определение характеристик питания источника или приемника USB PD. Ниже приведены шаги по созданию и настройке PDO:
- Определить тип PDO:
- Фиксированная поставка PDO: Определяет фиксированный объемtagе и ток
- Аккумуляторная батарея PDO: Определяет диапазон громкостиtages и максимальная мощность
- PDO с переменной поставкой: Определяет диапазон громкостиtages и максимальный ток
- Программируемый источник питания (PPS) APDO: Позволяет программировать громкостьtagе и ток.
- Определите параметры:
- Томtage: Объемtagуровень, который PDO предоставляет или запрашивает
- Ток/мощность: Ток (для фиксированных и переменных PDO) или мощность (для батарейных PDO), обеспечиваемые PDO
или запрос.
- Используйте графический интерфейс STM32 Cube MonUCPD:
- Шаг 1: Убедитесь, что у вас установлена последняя версия приложения STM32 Cube Mon UCPD.
- Шаг 2: Подключите плату STM32G071-Disco к хост-компьютеру и запустите приложение STM32 Cube Monitor-UCPD.
- Шаг 3: Выберите свою доску в приложении
- Шаг 4: Перейдите на страницу «Конфигурация порта» и нажмите на вкладку «Возможности приемника», чтобы увидеть
текущий список PDO - Шаг 5: Измените существующий PDO или добавьте новый PDO, следуя подсказкам.
- Шаг 6: Нажмите на значок «Отправить получателю», чтобы отправить обновленный список PDO на ваше правление.
- Шаг 7: Нажмите на значок «сохранить все в целевом объекте», чтобы сохранить обновленный список PDO на вашей доске[*].
Вот бывшийampПример того, как можно определить PDO с фиксированным запасом в коде:
/* Define a fixed supply PDO */
uint32_t fixed_pdo = 0;
fixed_pdo |= (voltage_in_50mv_units << 10); // Voltage in 50 mV units
fixed_pdo |= (max_current_in_10ma_units << 0); // Max current in 10 mA units
fixed_pdo |= (1 << 31); // fixed supply type
Exampконфигурация
Для фиксированного источника питания PDO с напряжением 5 В и напряжением 3 А:
content_copy
uint32_t fixed_pdo = 0;
fixed_pdo |= (100 << 10); // 5 V (100 * 50 mV)
fixed_pdo |= (30 << 0); // 3A (30 * 10 mA)
fixed_pdo |= (1 << 31); // fixed supply type
Дополнительные соображения:
- Динамический выбор PDO: вы можете динамически изменять метод выбора PDO во время выполнения, изменив переменную USED_PDO_SEL_METHOD в файле usbpd_user_services.c. file[*] .
- Оценка возможностей: используйте функции, такие как USBPD_DPM_SNK_EvaluateCapabilities, для оценки полученных возможностей и подготовки сообщения-запроса[*].
Создание PDO включает определение объемаtagПараметры тока (или мощности) и их настройка с помощью инструментов, таких как STM32CubeMonUCPD, или непосредственно в коде. Следуя инструкциям иampБлагодаря предоставленным файлам вы сможете эффективно создавать и управлять объектами PDO для своих приложений USB PD.
Существует ли функция для схемы приоритетов с подключенным более чем одним приемником PD?
Да, существует функция, поддерживающая схему приоритетов при подключении нескольких устройств питания. Это особенно полезно в сценариях, когда несколько устройств подключены к одному источнику питания. Распределение питания необходимо контролировать на основе приоритетов.
Схемой приоритизации можно управлять с помощью функции USBPD_DPM_SNK_EvaluateCapabilities. Эта функция оценивает полученные от источника PD возможности и подготавливает запрос на основе требований и приоритетов приёмника. При работе с несколькими приёмниками можно реализовать схему приоритизации, назначив уровни приоритета каждому приёмнику и изменив функцию USBPD_DPM_SNK_EvaluateCapabilities с учётом этих приоритетов.
content_copy
uint32_t fixed_pdo = 0;
fixed_pdo |= (100 << 10); // 5V (100 * 50mV)
fixed_pdo |= (30 << 0); // 3A (30 * 10mA)
fixed_pdo |= (1 << 31); // Fixed supply type
/* Define a Fixed Supply PDO */
uint32_t fixed_pdo = 0;
fixed_pdo |= (voltage_in_50mv_units << 10); // Voltage in 50mV units
fixed_pdo |= (max_current_in_10ma_units << 0); // Max current in 10mA units
fixed_pdo |= (1 << 31); // Fixed supply type
Обязательно ли использовать DMA с LPUART для графического интерфейса?
Да, связь через решение ST-LINK обязательна.
Корректна ли настройка LPUART на 7 бит для длины слова?
Да, это верно.
В инструменте STM32CubeMX есть флажок «сохранять питание неактивных UCPD – отключить подтяжку разряженной батареи». Что означает этот флажок, если он включен?
В режиме SOURCE для USB Type-C® требуется подтягивающий резистор, подключенный к источнику питания 3.3 В или 5.0 В. Он действует как генератор тока. Этот источник тока можно отключить, когда USB Type-C® PD не используется, для снижения энергопотребления.
Необходимо ли использовать FreeRTOS для приложений STM32G0 и USB PD? Есть ли планы на USB PD, не использующие FreeRTOS?ampлес?
Использование FreeRTOS для приложений USB Power Delivery (USB PD) на микроконтроллере STM32G0 не является обязательным. USB PD можно реализовать без RTOS, обрабатывая события и конечные автоматы в главном цикле или прерывая выполнение сервисных процедур. Хотя были запросы на USB Power Delivery exampФайлы без RTOS. В настоящее время нет файлов без RTOS.ample доступен. Но некоторые AzureRTOS example доступны для серий STM32U5 и H5.
В демоверсии STM32CubeMX, создающей приложение USB PD для STM32G0, приемлема ли точность HSI для приложений USB PD? Или использование внешнего кристалла HSE обязательно?
HSI обеспечивает тактовую частоту ядра для периферийного устройства UCPD, поэтому использование HSE не даёт никаких преимуществ. Кроме того, STM32G0 поддерживает безкристальный режим USB 2.0 в режиме устройства, поэтому HSE потребуется только в режиме хоста USB 2.0.
Рисунок 3. Сброс UCPD и часов

Есть ли какая-либо документация, к которой я могу обратиться по поводу настройки CubeMX, как вы объяснили позже?
Документация доступна в следующем формате: Вики-ссылка.
Поддерживает ли STM 32 Cube Monitor мониторинг в реальном времени? Возможен ли мониторинг в реальном времени при подключении STM32 к ST-LINK?
Да, STM32CubeMonitor может выполнять реальный мониторинг, подключив STM32 и ST-LINK.
Есть ли громкость VBUS?tagФункция измерения тока/электроэнергии, демонстрируемая на экране монитора, доступна по умолчанию на платах с поддержкой UCPD или это функция добавленной платы NUCLEO?
Точный объемtagизмерение доступно изначально, поскольку объем VBUStage требуется для USB Type-C®.
Точное измерение тока может быть выполнено с помощью TCPP02-M18 / TCPP03-M20 благодаря высокой стороне ampВыключатель и шунтирующий резистор также используются для защиты от перегрузки по току.
Генератор кода приложения
Может ли CubeMX создать проект на базе Azure RTOS с X-CUBE-TCPP таким же образом, как и с FreeRTOS™? Может ли он сгенерировать код управления USB PD без использования FreeRTOS™? Требуется ли для работы этого программного пакета RTOS?
STM32CubeMX генерирует код благодаря пакету X-CUBE-TCPP, используя RTOS, доступную для микроконтроллера, FreeRTOS™ (для STM32G0 в качестве примера)ample) или AzureRTOS (для STM32H5, напримерampле).
Может ли X-CUBE-TCPP генерировать код для двойного порта Type-C PD, такого как плата STSW-2STPD01?
X-CUBE-TCPP может генерировать код только для одного порта. Для генерации кода для двух портов необходимо сгенерировать два отдельных проекта без перекрытия ресурсов STM32 и с двумя адресами I2C для TCPP02-M18, а затем объединить их.
К счастью, СЦВ-2СТПД01 Имеет полный пакет прошивки для двух портов. Генерация кода не требуется.
Работает ли этот инструмент проектирования со всеми микроконтроллерами с USB Type-C®?
Да, X-CUBE-TCPP работает с любым микроконтроллером STM32 со встроенным UCPD для всех вариантов питания (SINK / SOURCE / Dual Role). Он работает с любым микроконтроллером STM32 с 5-вольтовым Type-C SOURCE.
Таблица 1. История изменений документа
| Дата | Пересмотр | Изменения |
| 20-июн-2025 | 1 | Первоначальный выпуск. |
Важное примечание – внимательно прочитайте
STMicroelectronics NV и ее дочерние компании («ST») оставляют за собой право вносить изменения, исправления, улучшения, модификации и усовершенствования в продукцию ST и/или в этот документ в любое время без предварительного уведомления. Покупатели должны получить последнюю соответствующую информацию о продукции ST перед размещением заказов. Продукция ST продается в соответствии с условиями продажи ST, действующими на момент подтверждения заказа.
Покупатели несут исключительную ответственность за выбор, отбор и использование продукции ST, и ST не несет ответственности за помощь в применении или конструкцию продукции покупателей.
Компания ST не предоставляет никаких лицензий, явных или подразумеваемых, на какие-либо права интеллектуальной собственности.
Перепродажа продукции ST с условиями, отличными от изложенных в настоящем документе, аннулирует любую гарантию, предоставленную ST на такую продукцию.
ST и логотип ST являются товарными знаками ST. Для получения дополнительной информации о товарных знаках ST см. www.st.com/торговые марки. Все остальные названия продуктов или услуг являются собственностью их владельцев.
Информация в этом документе заменяет информацию, ранее предоставленную в предыдущих версиях этого документа.
© 2025 STMicroelectronics – Все права защищены

Документы/Ресурсы
![]() |
Питание ST STM32 USB Type-C [pdf] Руководство пользователя TN1592, UM2552, STEVAL-2STPD01, STM32 USB Type-C Power Delivery, STM32, USB Type-C Power Delivery, Type-C Power Delivery, Power Delivery |
