Yserogo.ru

Все своими руками

Новое на сайте
Другие публикации

Передача данных совместно с зарядкой в портах USB типа C

При взаимодействии электроники по USB, одно устройство выступает в роли ведущего (host) и одно или несколько ведомых (sink). Абсолютно логично, что ведущий обеспечивает питанием +5В все остальные устройства по линии VBUS. До недавнего времени такая логика всех устаивала (почти).

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

Так как при зарядке устройство является ведомым, пассивным, то по умолчанию как хост оно работать не может. Поговаривают, что некоторые устройства с micro-USB можно заряжать и использовать периферию путем замыкания контакта "ID" на землю через резистор. Но такое поведение вероятно зависит от производителя и не регулируется стандартами USB. Назначение 4-го (ID ) контакта micro-USB в активации режима OTG или же простыми словами, чтобы телефон заработал как хост для периферии.

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

Расположение контактов в гнезде и штекере usb тип c

Базовые понятия ведущего и ведомого в USB-C

Многие устройства могут выполнять функции как ведущих, так и ведомых. Например портативный акб (power-bank) сначала заряжается сам, являясь ведомым, а потом может заряжать телефон, являясь ведущим. Для определения роли устройства, спецификацией придуманы конфигурационные каналы CC1 и CC2. На штекерах и гнездах выводы этих каналов находятся на противоположных сторонах и являются равнозначными. В большинстве случаев достаточно одного канала CC для правильного взаимодействия между устройствами.

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

Схема обнаружения устройств usb тип c

Если вам нужно получить питание или подключить USB-периферию к устройству (например телефону или планшету), то достаточно одного подтягивающего к земле резистора 5,1К на линии CC1 или CC2 (которые соединены с одноименными контактами телефона). Обнаружив сопротивление на землю, телефон подаст VBUS +5В и попытается идентифицировать периферию по линиям D+/D- (флешку, аудиоаксессуар и т.п.). При условии, что телефон поддерживает режим хоста или как еще говорят OTG.

Для того, чтобы устройство принимало заряд или выступало в роли периферии, обычно даже подтягивающие к +5В резисторы не нужны. Достаточно подать +5В на VBUS и поключить D+/D- к хосту.

Зарядка и передача данных одновременно

Для активации режима, когда устройство принимает заряд, одновременно являясь USB-хостом, одними подтягивающими резисторами не обойтись. Требуется полноценная коммуникация по одной из линий CC при помощи протокола Power Delivery (PD).

Важно: для включения режима необходимо, чтобы устройство поддерживало режим хоста (OTG) и протокол PD не ниже 2.0. Наличие гнезда USB-C не является гарантией их поддержки! В различных обзорах упоминается версия PD в контексте мощности зарядки, которую может принять телефон. Это не совсем верно, так как устройство может поддерживать протокол взаимодействия, но не поддерживать большой мощности. Объективно - узнать можно только методом тыка.

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

Адаптер USB-C для одновременной зарядки и передачи данных
Адаптер USB-C для одновременной быстрой зарядки PD и передачи данных USB 3

В подобных устройствах не стоит ожидать быстрой зарядки по протоколам, для активации которых используются линии D+/D- (Quick Charge, Fast Charge, Super Charge и т.п.). Ведь D+/D- заняты периферийными приборами, а указанные протоколы хоть и используют линии данных USB, работают по собственным алгоритмам.

Также, скоростная передача данных USB 3 в подобных переходниках часто является выдумкой продавца. Опять же, технически это реализуемо и качественные изделия могут поддерживать и USB 3, и быструю зарядку.

Техническая реализация сквозной зарядки

В спецификации существует два основных варианта заставить устройство принимать заряд и выполнять роль хоста (DFP).

Первый - это смена ролей питания (PR_Swap), когда устройства в процессе обмена сообщениями по CC, изменяют направление подачи VBUS, не затрагивая передачу данных.

Второй - когда промежуточное устройство сообщает по СС в сторону хоста, что оно поддерживает сквозную зарядку и питается от VCONN (по второй, неиспользуемой линии CC получает питание от 3В до 5,5В). После этого сообщения, хост может общаться с зарядным (промежуточное устройство создает мост по рабочей линии СС, получая питание по второй), поднимая напряжение VBUS выше 5В. Если конечно зарядное поддерживает PD и может дать большее напряжение.

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

Второй вариант неудобен тем, что подключаемое периферийное USB-устройство требует 5В питания и не обязано работать от 3В. К тому же мощность VCONN ограничена. Питание от VBUS требует понижающего преобразователя +5В, если хост запросит от зарядного большее напряжение при быстрой зарядке. То есть обязательно требуется DC-DC преобразователь.

Мне попадало в руки три подобных переходника, с быстрой зарядкой оказался только один.

Фото вскрытых переходников прилагаю:

Плата адаптера USB-C для одновременной зарядки и передачи данных на LDR6500 На микросхеме LDR6500
Плата адаптера USB-C для одновременной зарядки и передачи данных на LDR6500 Судя по анализу сигналов CC1 и CC2, чип активирует подачу VCONN (+3В) на один из конфигурационных каналов, а коммуникация PD происходит по второму. При подключении зарядного, подача VCONN прекращается. Но сам переходник не имел контакта для передачи сигнала CC в сторону зарядного, быстрой зарядки не было.

На микросхему LDR6500 практически нет информации. Удалось найти типовую схему в плохом качестве:

Типовая схема микросхемы LDR6500 Судя по наличию неиспользуемого контакта CC2 на микросхеме, можно предположить, что он может использоваться для трансляции команд хоста к зарядному и обратно. Схема подключения к программатору говорит о наличии прошивки и ее вариациях.

Другой:

Плата адаптера USB-C для одновременной зарядки и передачи данных на 225 На неопознанной 225. Возможно обычный E-mark, с залитой прошивкой на сквозную зарядку. Аналогично переходнику на LDR6500, при подключении к телефону активируется VCONN и пропадает при подключении зарядного.
Плата адаптера USB-C для одновременной зарядки и передачи данных на 225

Угловой переходник с USB 3 и поддержкой быстрой зарядки PD:

Плата адаптера USB-C для одновременной быстрой зарядки PD и передачи данных USB 3 Неопознанный чип PD с маркировкой CY105. Рядом видим дроссель преобразователя. Микросхема понижайки на другой стороне платы.
Плата адаптера USB-C для одновременной быстрой зарядки PD и передачи данных USB 3 Видимо адаптер дорабатывался после выпуска в серию, так как стоит ревизия 1.1. В некоторых отзывах попадались комментарии о сгоревшей периферии.

Последний адаптер не активирует VCONN. Возможно тут как раз смена ролей (PR_Swap) и чип общается с хостом и зарядным, не давая им согласовывать напряжение напрямую. Могу только гадать.

Немного осциллограмм обмена сообщениями PD. Триггер осциллографа в позиции "нормальный", поэтому момент подачи и отключения VCONN не запечатлен.

Осциллограммы сигналов обмена сообщениями PD по каналам CC в USB-C Левые - при подключении к телефону, правые - к телефону и переходнику подключается зарядное. Верхние - на микросхемах LDR6500 и 225, нижние - переходник с USB 3 и быстрой зарядкой. Видна "топорная" работа чипа: сигнал задирается сильно выше 1,5В.

Осциллограмма сигнала обмена сообщениями PD по каналам CC в USB-C Сигнал из "пачки" более развернуто. На экране начало преамбулы в 64 бита, ноль и единица чередуются.

Кабель для USB-периферии с собственным питанием и зарядкой хоста

Пример использования переделанного кабеля с зарядкой хоста

В некоторых, специфических случаях, переходник можно переделать. Мой пример: USB-адаптер Nissan CONSULT 1-2 при диагностике через телефон, заряжает его. Очень удобно. Собственно каждый электронщик может придумать свое применение. В эпоху, когда планшеты и телефоны заменяют компьютеры, очень актуально.

Шнур USB-A|USB-C разрезается около штекера C, провода питания VBUS и GND присоединяются к одноименным контактам переходника со стороны подключения зарядного. А линии D+ и D- подсоединяются к переходнику со стороны USB-периферии. При аккуратном исполнении шнур будет похож на обычный USB-A|USB-C.

Теперь при подключении его к телефону, со стороны USB-A нужно подавать +5В для зарядки и использовать линии данных с пассивным устройством (флешка, USB-диск, адаптер UART ит.п.)

Главное нужно помнить, что такой шнур нельзя включать в USB-A зарядного, которое поддерживает быструю зарядку Quick Charge; Super Charge и подобные, иначе чип шнурка сгорит. Также шнур не поддерживает обычный режим OTG.

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

Источники:

Спецификация USB Type-C Spec R2.4


Смотрите также другие статьи



© Yserogo.ru Все права защищены.
Дизайн : ® Творческая мастерская Федора Рашпиля.