LINUX.ORG.RU

Предварительный релиз pdsink — стека USB-PD для встраиваемых устройств

 ,

Предварительный релиз pdsink — стека USB-PD для встраиваемых устройств

0

3

Вышел предварительный релиз pdsink. Библиотека ориентирована на разработчиков железа, которым нужна простая поддержка питания по USB PD. Основной упор сделан на режиме SNK, как наиболее востребованном.

Power Delivery (PD) — универсальная спецификация, разработанная как общий стандарт быстрой зарядки, который можно использовать с любыми гаджетами с поддержкой USB-интерфейса. PD существует с 2012 года — примерно с того же момента, когда представили порт USB-C.

Что есть на текущий момент:

  • PD-стек без привязок к платформе (пока только sink);
  • полная поддержка последней спецификации USB PD Rev3.2 v1.1;
  • драйвер для FUSB302B (одного из самых популярных чипов) под FreeRTOS, на текущий момент – с HAL для ESP32;
  • Device Policy Manager (не регламентирован в спецификации) под типовые задачи.

Что планируется:

  • Драйвер для STM32G0/STM32G4 со встроенным PD-контроллером.

>>> Репозиторий на гитхабе

★★★★★

Проверено: hobbit ()
Последнее исправление: hobbit (всего исправлений: 6)
Ответ на: комментарий от etwrq

Вот кстати возникает резонный вопрос. У меня есть куча PD-триггеров на разные напряжения. И с виду их схемотехника предельно простая, а уровни напряжения задаются просто перемычками. Так что не очень похоже, что тамошний контроллер кто-то прошивал отдельно, он скорее монолитное изделие. Так вот куда уж проще, чем это, «если нужна простая поддержка PD» — припаял готовую микросхему и сосёшь там свои 9, 12, 15 или 20 вольт из источника.

Smacker ★★★★★
()
Ответ на: комментарий от Smacker

«если нужна простая поддержка PD» — припаял готовую микросхему и сосёшь там свои 9, 12, 15 или 20 вольт из источника

Зачем припаивать, если можно не припаивать? Микросхема денег стоит, а контролер у тебя уже есть.

vbr ★★★★★
()
Ответ на: комментарий от vbr

Ну так там же ключевое слово было «просто»: что может быть проще готовой микросхемы и нескольких резисторов обвязки? Опять же, если сгорит, так не контроллер же.

Smacker ★★★★★
()
Последнее исправление: Smacker (всего исправлений: 1)
Ответ на: комментарий от Smacker

Это для задач где регулировки напряжения или тока нужны. Или когда уже есть встроенный контроллер. Там где ничего нет и достаточно один раз на фиксированный профиль переключиться - воткнуть китайский триггер будет разумнее.

Vit ★★★★★
() автор топика
Ответ на: комментарий от yars068

Вторым задумывался G4, но когда скопипастил, отвлекся на что-то более важное :)

Vit ★★★★★
() автор топика
Ответ на: комментарий от Vit

А можно пример задачи, где контроллер должен с PD источником питания регулярно передоговариваться о параметрах питания? Типа «ок, давай 9 вольт и 1 ампер.... а стоп, концепция изменилась. Надо 12 и полтора. Хотя нет, минуточку, давай-ка один ампер но на 20 вольтах».

Smacker ★★★★★
()
Ответ на: комментарий от Smacker
  • Разнообразные нагревалки с контролем температуры. Например паяльники. Я делал для вот такого https://github.com/puzrin/reflow_micro.

  • Зарядка китайских банок от электроинструмента на 12-18 вольт. Триггеры обычно не умеют PPS профиль с ограничением тока выставить.

Короч, любая задача, где удобнее пилить на PPS или AVS профилях. Когда желательно крутить напряжение или ток с мелким шагом.

Еще учти, что есть всякие CH32X035, с PD контроллером на борту, которые всего пол бакса стоят. Но которые не спешат использовать просто потому что под PD софта нормального нет.

В конце ридми есть ссылки на более-менее вменяемые опенсорсы по этой теме. Но они все с кучей особенностей. Где-то к операционке гвоздями приколочены. Где-то нет полноценной поддержки EPR или апи драйверов недостаточно универсальное. В общем, у меня было непреодолимое желание закрыть вопрос с питаловым «раз и навсегда».

Vit ★★★★★
() автор топика
Ответ на: комментарий от Vit

Интересно, а ведь если запитывать тот же паяльник, то ему потребуется явно немаленький ток. И этот ток пойдёт через контроллер? Аналогично, вроде бы и аккумуляторы могут затребовать больших токов при зарядке. Нет ничего нежелательного в том, чтобы эти токи через навороченный контроллер гонять, ведь он сам-то потребляет существенно меньше?

Smacker ★★★★★
()
Ответ на: комментарий от Smacker

Через контроллер токи не текут. В кабеле есть 2 отдельных проводка CC1/CC2 по которым он зарядником командует, чего выдать на VBUS. Если нужно коммутировать VBUS, это делается внешним обвесом.

Vit ★★★★★
() автор топика
Последнее исправление: Vit (всего исправлений: 1)
Ответ на: комментарий от Vit

Ну чума вообще. Чем больше я узнаю про PD, тем больше диву даюсь. Хотя мне до микроконтроллеров далеко, я разве что с помощью триггеров внедрил PD в домашний обиход для обычного питания.

Smacker ★★★★★
()
Ответ на: комментарий от Dimez

Зачем секреты выдаешь? Эта информация только для избранных, которые умеют ходить по ссылкам.

Vit ★★★★★
() автор топика
Ответ на: комментарий от Dimez

Они не избранные, они особенные :)

Vit ★★★★★
() автор топика

Убили хорошую годную идею USB этими свистоперделками.

windows10 ★★★★★
()

Почему бы не написать «Power delivery» к аббревиатурам и пару слов, что за режим SNK. Это всё-таки не специализированный hardware ресурс и читаемость для более широкого круга не повредит.

Logopeft ★★
()
Ответ на: комментарий от PPP328

Зачем вставили этот аишный слоп в новость?

Так будешь радоваться, когда pdsink станешь использовать... ;P

Somebody ★★★
()

Поняв из статьи, что для зарядки телефона теперь нужен полноценный компьютер с GNU\Linux, немедленно вспомнил цитату из полного собрания сочинений «Рикиморти»:

Каково мое предназначение?

Ты будешь передавать маспо… А, не! Ты будешь контроллером зарядки PD!

somemong
()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.