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” - это запутать пользователей и усложнить схемотехнику.
Подключаем и смотрим
Посмотрим на ток в разных режимах.
| Тестер | Через папу | Через маму и кабель | Положение кабеля |
|---|---|---|---|
| KM003C | 0.055 | 0.000 | Down |
| K2 | 0.000 | 0.043 | Up |
| X3 | 0.000 | 0.070 | Down |
| C1 | 0.000 | 0.052/0.000 | Up |
Все, кроме KM003C, показывают ток при подключению через маму. И только KM003C показывает ток при подключении через папу. У C1 на экране вольтметра можно убрать собственное потребление зажатием кнопки “-”. Интересно, что ориентация кабеля для подключения CC1 к линии CC попарно совпадает у KM003C с X3 и у K2 с C1. То есть тут делали CC1 относительно корпуса как получится, без общео правила.
