This is an old revision of the document!
Table of Contents
Введение
Alientek OA1 - это модуль для измерения сопротивления USB-кабеля методом Кельвина. Модуль может использоваться совместно с USB-тестерами Alientek C2 и C0, а также может работать напрямую с любым устройством с USB-хостом, например с компьютером.
Про измерение сопротивления кабелей можно почитать мою старую статью.
Поскольку документация есть только китайская, а некоторые детали онлайн-переводчиками переводятся отвратительно, добавлю в текст выдержки оттуда.
Что сделал Alientek
До Алиентека модули для измерения сопротивления выпускали Witrn и Ryken, их модули были совместимы между собой. Это был аналоговый прибор, который через 4 линии USB2 (VBUS/GND и D+/D-) позволял после подачи напряжения на VBUS/GND измерить ток на VBUS/GND и разницу напряжений на D+ и D-. Поделив напряжение на ток мы получали сопротивление кабеля, который подключался к модулю. Выдавалось суммарное сопротивление всех линий VBUS и GND в кабеле.
Это была простая схема, которая не требовала ни сложной схемотехники в модуле, ни сложной логики в тестере. Я писал, что все при подключении модуля к KM003C мы можем посчитать сопротивление вручную, с помощью буквально двух операций.
Алиентек внезапно решил изменить подход к модулю сопротивлений и сделал совершенно другую конструкцию. Вместо аналоговой логики он сделал цифровой модуль, который выглядит как USB устройство, которое периодически посылает измеренное сопротивление стандартным для USB способом. На самом деле Алиентек сделал больше: он предусмотрел два интерфейса общения с OA1:
- Host computer mode, режим компьютера, обычное USB устройство для общения с компьютерами и другими устройствами, которые могут выступать хостами для USB устройств
- Online mode, режим тестера, упрощенный протокол для тестеров C2 и C0.
Причина появления online mode понятна: не хотелось реализовывать полноценный USB-host в тестере. Скорее всего это очень простой для реализации в железе протокол без интерфейсов, эндпоинтов и прочего usbшного.
Управление режимами
Управление режимами автоматическое. При подключении модуля оно на секунды представляется устройством и, если к нему никто не подключился и не подал команду активации, то модуль прячет USB-устройство и переходит в режим тестера.
Это просто и логично, но нужно помнить следующие правила работы с OA1:
- Подключать модуль к тестеру или компьютеру нужно без кабеля
- ПО на компьютере должно быть запущено перед подключением
Если следовать этим правилам, то всё будет просто.
Текущий режим определяется по светодиоду. Он голубой в режиме тестера и филетовый в режиме компьютера.
Внешний вид
С внешним видом всё просто и понятно.
Взаимодействие с тестером или компьютером происходит через разъем Type-C маму снизу. Обратите внимание, если это мама, то с компьютером модуль соединяется кабелем, а с тестером через его папу.
Для подключения тестируемых кабелей есть два Type-C разъема и один USB A. Обратите внимание, что если вы тестируете кабель USB A - Type-C, то подключать нужно только в правый Type-C разъем.
Светодиод между разъемами Type-C полезен для понимания того, в каком состоянии сейчас устройство. Скопируем все варианты расцветок диода:
| цвет | состояние | комментарии |
|---|---|---|
| горит красный | инициализация | старт устройства, нужно ждать |
| мигает фиолетовый | режим компьютера | тестируемый кабель не подключен |
| горит фиолетовый | режим компьютера | тестируемый кабель подключен |
| мигает голубой | режим тестера | тестируемый кабель не подключен |
| горит голубой | режим тестера | тестируемый кабель подключен или тестер не подключен (гениально!) |
| горит зеленый | режим обновления | ждем обновления |
| мигает зеленый | режим обновления | получаем обновление |
