Первый выпуск Pdsink, стека для стандарта быстрой зарядки USB PD 3.2

Состоялся первый релиз проекта pdsink, развивающего реализацию протокола быстрой зарядки USB PD (Power Delivery) для встраиваемый устройств. Библиотека предназначена для разработчиков, которым требуется динамическое управление питанием от USB-зарядников и поддержка самого свежего стандарта. По сравнению с другими проектами, ядро pdsink не зависит и платформ и операционных систем, что значительно упрощает применение. Код написан на языке C++ и распространяется под лицензией MIT.

Реализованные возможности:

  • Полная поддержка режима SNK (потребитель энергии).
  • Поддержка последней спецификации USB PD 3.2 rev1.1 (EPR режим с AVS-профилями).
  • Отсутствие привязок к какой-то конкретной платформе (кроме драйверов).
  • Драйвер FUSB302 под FreeRTOS, c i2c HAL под esp32.
  • Device Policy Manager (не регламентирован в спецификации) под типовые задачи.

В планах создание драйверов для UCPD в STM32Gxxx / WCH. Пока не планируется (не очень востребована) поддержка режима SRC (источник энергии) и управление режимами кабеля/порта.

В настоящий момент доступные зарядники в основном поддерживают спецификацию USB PD 3.1 (с фиксированным профилем 28 вольт). Версия 3.2 отличается тем, что профили AVS стали обязательными. Т.е. можно будет плавно регулировать напряжение во всём диапазоне. Новые зарядники ожидаются где-то к середине следующего года.

Release. Ссылка here.