This is an old revision of the document!
Table of Contents
Введение
В статье мы изучим, как USB-тестеры показывают собственное потребление на примере Power-Z KM003C, Witrn K2, Ryken X3 и Ryken С1. Все тестеры типа TypeC, поэтому будем смотреть на питание от такого же разъема.
Теория
Будем сравнивать показания тестеров в четырех конфигурациях: подключение тестера напрямую через Type C Male (дальше порт-папа), подключение тестера через кабель, подключенный в Type C Female (дальше порт-мама) и такие же опыты с подключенным питанием через PC/HID разъем (если он есть).
Отступление про включение
Поскольку опыты будут подключать тестер к порту TypeC, то нужно будет добиться его включения. Все тестеры предлагают единый способ активации - зажатие кнопки, ближайшей к порту-маме. Это действие вызывает подключение pull-down резистора (притягивание к земле) линии СС1, что позволяет зарядке увидеть потребителя и подать напряжение 5V.
Все тестеры вели себя одинаково:
- При подключении папой в зарядку они включались в любой позиции
- При подключении мамой через кабель они включались только в одной из двух позиций
Почему такое единство? Очень просто. Тестер подтягивает к земле только контакт CC1 (в силу симметрии нельзя сказать, кто есть кто, но пусть будет CC1). Когда мы подключаемся напрямую, через папу, то зарядка видит, что через один из двух его контактов CC1/CC2 потек ток и логика правильно коммутирует активную линию как CC. При подключении мамой через кабель, CC1 тестера может быть присоединен либо к линии CC, которая подключается к зарядке с другой стороны, либо к линии VCONN, которая обязана быть разорванной. Второй вариант приводит к тому, что зарядка физически не видит pull-down резистора. Можно ли избавиться от необхоимости переворачивания? Теоретически можно, если подтягивать оба контакта, и CC1 и CC2, и самому определять кто из них CC. Но тогда сломается логика определения в случае подключения без кабеля, поскольку ток пойдет через обе линии и определить “где CC” будет невозможно. А пойти на отдельные режимы “подтягивать только CC1”/“подтягивать и CC1 и CC2” - это запутать пользователей и усложнить схемотехнику.
Подключаем и смотрим
Посмотрим на то, какой ток покажет тестер в зависимости от того, через какой разъем он подключен к павербанку. Пока не подключаем дополнительное питание.
| Тестер | Через папу | Через маму и кабель | Положение кабеля |
|---|---|---|---|
| Power-Z KM003C | 0.055 | 0.000 | Down |
| Witrn K2 | 0.000 | 0.043 | Up |
| Ryken X3 | 0.000 | 0.070 | Down |
| Ryken C1 | 0.000 | 0.052/0.000 | Up |
Все, кроме KM003C, показывают ток при подключению через маму. И только KM003C показывает ток при подключении через папу. У C1 на экране вольтметра можно убрать собственное потребление зажатием кнопки “-”. Интересно, что ориентация кабеля для подключения CC1 к линии CC попарно совпадает у KM003C с X3 и у K2 с C1. То есть тут делали CC1 относительно корпуса как получится, без общео правила.
А теперь с дополнительным питанием
Если сразу подключить питание через HID, то подключение включенного тестера к питанию не активизирует зарядку, поскольку pull-down резистора не будет. Поэтому поступим по-другому: сперва подключим тестер к зарядке и только после этого подключим питание через HID. Результат у всех трех тестеров с HID был одинаковым: ненулевой ток уменьшался до нуля. То есть тестер переключался на питание от HID-порта. Если до подключения показывался нулевой ток, то он таким и оставался.
