| Both sides previous revisionPrevious revisionNext revision | Previous revision |
| pdtesterusage [2026/03/03 19:51] – gadmin | pdtesterusage [2026/03/03 21:37] (current) – gadmin |
|---|
| USB тестеры выросли из специализированных вольтметров. Первые модели умели только показывать текущее напряжение и ток на линии VBUS, позже к этому добавилась статистика, графики и измерение пройденной энергии. Но это всё было про измеритель напряжения и тока. | USB тестеры выросли из специализированных вольтметров. Первые модели умели только показывать текущее напряжение и ток на линии VBUS, позже к этому добавилась статистика, графики и измерение пройденной энергии. Но это всё было про измеритель напряжения и тока. |
| |
| Тестеры развивались, у них стали появляться новые функции, такие как обнаружение протоколов, поддерживаемых зарядным устройством и функция триггера. Это были эвристические функции, которые работали по неведомым алгоритмам, иногда неточно, но у них было общее свойство: они выходили за рамки "продвинутого вольтметра" и делали тестер отдельным устройством, которое стало вести самостоятельную роль на шине USB. | Тестеры развивались, у них стали появляться новые функции, такие как обнаружение протоколов, поддерживаемых зарядным устройством, и функция триггера. Это были эвристические функции, которые работали по неведомым алгоритмам, иногда неточно, но у них было общее свойство: они выходили за рамки "продвинутого вольтметра" и делали тестер отдельным устройством, которое стало вести самостоятельную роль на шине USB. |
| |
| Эта позиция усилилась в моменте, когда тестеры стали осваивать USB Type C. Етому способствовало то, что новая версия шины USB стала полноценнее, у неё вместо "если у нас чистая зарядка, то задействуем неиспользуемые линии D+/D-" появились линия CC для конфигурации соединений. Стандарт шины оперировал двумя с половиной ролями: источник source, потребитель sink и маркер plug (опустим второй маркер). И для продвинутых функций пришлось изобретать разнообразные хаки. Вот неполный список нюансов и компромиссов, с которыми столкнулись и которые решали производители тестеров: | Эта позиция усилилась в моменте, когда тестеры стали осваивать USB Type C. Этому способствовало то, что новая версия шины USB стала полноценнее, у неё вместо "если у нас чистая зарядка, то задействуем неиспользуемые линии D+/D-" появились линия CC для конфигурации соединений. Стандарт шины оперировал двумя с половиной ролями: источник source, потребитель sink и маркер plug (опустим второй маркер). И для продвинутых функций пришлось изобретать разнообразные хаки. Вот неполный список нюансов и компромиссов, с которыми столкнулись и которые решали производители тестеров: |
| * При подключении тестера ничего не происходит, потому что Type C не подает напряжение на VBUS, как делал USB A | * При подключении тестера ничего не происходит, потому что Type C не подает напряжение на VBUS, как делал USB A |
| * Переключатель PD или зажатие кнопки позволяет включать подключенный без кабеля прибор | * Переключатель PD или зажатие кнопки позволяет включать подключенный без кабеля прибор |
| Подключение тупого потребителя должно быть тупым. Если вы используете для потребителя готовый разъем Type C, то стоит убедиться, что у него нет распаянного pull-down резистора между CC и GND. Резистор вместе с резистором в тестере изменит результирующее сопротивление и источник просто не воспримет комбинацию тестера и кабеля как готовое устройство. Поэтому потребитель должен задействовать только линии VBUS/GND. | Подключение тупого потребителя должно быть тупым. Если вы используете для потребителя готовый разъем Type C, то стоит убедиться, что у него нет распаянного pull-down резистора между CC и GND. Резистор вместе с резистором в тестере изменит результирующее сопротивление и источник просто не воспримет комбинацию тестера и кабеля как готовое устройство. Поэтому потребитель должен задействовать только линии VBUS/GND. |
| |
| Что делает тестер в роли триггера? Очень просто. Он выставляет pull-down резистор на CC1 (в этом месте не нужно варьировать имитацию CC) и после получения профилей питания выбирает требуемый профиль. Интерфейс на экранчике тестера просто посылает команду смены профиля источнику. | Что делает тестер в роли триггера? Очень просто. Он выставляет pull-down резистор на CC1 (в этом месте не нужно варьировать имитацию CC) и после получения профилей питания выбирает требуемый профиль. Интерфейс на экранчике тестера просто посылает команду смены профиля источнику. То есть тестер работает в роли потребителя sink, поэтому подключать других "умных" потребителей нельзя. |
| | |
| | С функцией триггера связана проблема интерфейса тестеров: не все тестеры умеют держать параметры протокола после выхода с экрана. KM003C такое не умеет (хотя может через команды с декстопа), Ryken X3 предлагает при выходе со страницы опции Close (выключить)/Run BG (поддерживать параметры VBUS в фоне). Это стоит изучить для того, чтобы пользоваться тестером после запуска триггера (если такое нужно). |
| | |
| | === Обнаружение протоколов === |
| | Если сузить тему обнаружения протоколов до Power Delivery, то она становится абсолютно аналогичной тому, что мы обсуждали в главе про триггеры. Главное - это обеспечить источник максимально мощным маркером (даже если нет реального кабеля и возможности включить 240W). |
| | |
| | Поскольку обнаружение протоколов не ограничивается PD, то при сканировании может возникнуть отключение напряжения на VBUS. Некоторые тестеры готовы к такому и правильно обрабатывают перезагрузку, но лучше привыкнуть к тому, что обнаружение протоколов лучше делать при включенном питании в разъеме HID, причем туда подается напряжение от другого источника, не того который мы изучаем (или другие разъемы изучаемого источника). |
| | |
| | Чтобы не было скучно, можно отдельно сказать пару слов про расширения PD типа MiPD и SVOOC. К сожалению это знание сложно где-то прочитать, поэтому будьте готовы к тому, что для обнаружения поддержки проприетарщины типа MiPD стоит отдельно запустить обнаружение с тестером около зарядки (и разъемом USB A) и отдельно с тестером у другого конца кабеля. Ryken X3 на родном кабеле (с пятым контактом в разъеме USB A) показывает MiPD до 120W на стороне Type C. А как ведет себя ваш тестер - нужно проверять. |
| | |
| | В качестве развлечения. Если хочется сжечь что-то дорогое, то можно подключить выход тестера к какому-нибудь дорогому гаджету. Он сгорит от высокого напряжения. Утонченный способ сжигания гаджетов описан [[https://usbchargingblog.wordpress.com/2020/02/26/how-to-blow-up-your-usb-tester-or-device-the-secret-of-the-pd-switch/|тут]] . |
| | |
| | Подытожим. Детект протоколов - это вырожденная функция триггера "ни для кого". Запитываем тестер от HID, включаем в источник и запускаем обнаружение. Остальное усугубит ситуацию и повысит шансы что-то сжечь. |
| | |
| | === Обнаружение маркера === |
| | Про маркеры я написал отдельную [[https://telegra.ph/Kak-USB-tester-chitaet-eMarker-01-16|статью]], поэтому здесь ограничимся описанием того, как обнаружение маркера вписывается в общую концепцию. |
| | |
| | Чтение маркера - это самая нестандартная операция, из-за того, что маркер стандартно может читать только источник. Поэтому чтение маркера сопряжено с нестандартной конфигурацией тестера и прочих устройств: |
| | * Роль source исполняет тестер, поэтому настоящий источник отлучают от шины (линии CC) адаптером |
| | * Или вообще подают питание только на HID (но есть кабели, маркеры которых не могут стартовать без VBUS) |
| | * На шине отсутствует sink, мы общаемся с маркером, надеясь, что ему достаточно напряжения на VCONN |
| | * И иногда даже придётся покрутить разъем |
| | |
| | Читайте статью, процесс чтения маркера оказался хитрее, чем обнаружение протоколов. Вообще, роль источника требует следования множеству правил, поэтому на эту функцию есть много нареканий. |
| | |
| | === А что с измерением сопротивления? === |
| | Про измерение сопротивления посоветую свою же [[https://telegra.ph/Soprotivlenie-USB-kabelej-01-17|статью]], а здесь замечу, что, несмотря на разъемы Type C, адаптеры измерения сопротивления используют только линии USB 2.0 и рекомендуют подключать тестер через адаптер USB A, что сразу убирает всевозможные хитрости современных протоколов. Поэтому измерение сопротивления кабелей никак не затрагивает линии Type C и это хорошо! |
| | |
| | === Заключение === |
| | Мы рассмотрели несколько способов использования USB тестера, которые завязаны на особенности стандарта Type C. Эти функции требуют необычных способов подключения источников или кабелей к тестеру, которые становятся понятнее, если осознать роль тестера в конкретном измерении. |
| | |
| | Надеюсь, что было полезно! Удачи с опытами с кабелями и зарядками! |
| | |
| |
| |