20.04.2021      11181      2
 

OTG-поведение некоторых Андроид-смартфонов

Как Xiaomi Redmi Note 5А Prime реагирует на попытку перевести его в режим OTG с одновременным зарядом.


Статья из цикла питание и заряд. Автор — Kargal.

Данный материал относится к смартфонам/планшетам c 5-контактным разъёмом microUSB 2.0 для обмена информацией и зарядки аккумулятора.

Поведение некоторых смартфонов при манипуляциях с сигналом ID

Обследование проводилось с использованием хаба (концентратора) 4N00076, имеющего встроенный ручной переключатель режимов (SW), позволяющий изменять потенциал входа ID смартфона. У переключателя 3 положения:
1 — ID никуда не подключен,
2 — ID подключен к GND через резистор R12 (якобы задающий режим «OTG+зарядка»),
3 — ID закорочен на GND.

 

Внешнее питание хаба подключается к разъёму X5 (только питание, сигнальные контакты не используются)▲

#) Сиреневым овалом отмечена  доработка хаба:
Z1 – стабилитрон защиты от перенапряжения (1N5339B, 5.6V, 5W),
C1 – конденсатор фильтрации дребезга контактов переключателя SW.

Обследование поведения с доработанным хабом

Существенным элементом доработки оказалась установка конденсатора фильтрации дребезга C1 (опробованы номиналы 360µF и 33µF). Это позволило точно определить пороги переключения режимов. Но в нормальном состоянии (без C1) поведение смартфона может отличаться (для некоторых аппаратов важна динамика поведения UID).

SENSEIT R500

(MediaTek MT6737, Android 7.0; 2017 г.)
OTG отключается при UID=0.90V, при возврате включается при UID=0.88V; Зарядка включается и выключается при UID=0.91±0,1V (RID≈50 kΩ), практически безгистерезисно.

Jiayu G2F

(MT6582m, Android 4.2.2; 2014 г.)
UID_хх=1.8V, IID_кз=23μA.

OTG переключается при UID_порог=0.80V (нестабильность ±3%), IIDпорог=22μA (RIDэкв=36kΩ), практически безгистерезисно.

У обоих имеется две чётко разделённые зоны по напряжению UID с порогом безгистерезисного переключения. При UID выше порога режим данные/зарядка, ниже – режим OTG без зарядки. То есть ведёт себя в соответствии со спецификацией типа порта DCP (Dedicated Charging Ports) — при подключении  «магнитным» кабелем.

Xiaomi Redmi Note 5А Prime

(MSM8940 Snapdragon 435, Android 7.1.2 N2G47H; MIUI Global 9.5.0)

В принципе ввести аппарат в режим OTG+«зарядка»/до 0,5A возможно (но несколько «замудренно»).

Реально данный аппарат может находиться в одном из трёх состояний (режимов):

  • режим OTG-on (подключенная к хабу мышка по экрану «бегает»), без зарядки – смартфон не потребляет никакого тока от внешнего питания хаба или даже сам запитывает периферию, если напряжение внешнего питания меньше 4.95V.
  • режим Charge-поддержка (OTG активен, подключенная к хабу мышка по экрану «бегает»), смартфон потребляет ток до 0.5A от внешнего питания хаба, в основном для поддержки активного состояния смартфона, но аккумулятору тоже немного достаётся (степень заряженности медленно, но растёт).
  • режим ChargeFull – OTG пассивен (мышка по экрану не «бегает»), смартфон потребляет от внешнего питания хаба полный требуемый ему ток (1.2÷1.5A). Происходит только зарядка, обмен данными через хаб невозможен - линии данных не подключены.

Прямого управления режимами только сигналом ID нет, требуется некая последовательность действий.

Для принудительного включения любого режима необходимо сначала установить переключатель на хабе и только затем подключить хаб к разъёму смартфона. Непонятно как смартфон опознаёт факт подключения, но именно оно (или переподключение) побуждает смартфон пересмотреть свой текущий («никакой») режим в пользу задаваемого.

#) При подключении таким способом в режим ChargeFull с помощью 2-контактного «магнитного зарядного кабеля», зарядка происходит максимальным требуемым смартфоном (полным) током. В приобретенном кабеле в microUSB-вставке соединены контакты D+ и D-, что соответствует типу порта DCP Short Mode (он же Chinese), но смартфон об этом не знает — линии D+ и D- через хаб не проходят. При подключении питания к хабу обычным, не «магнитным» кабелем, смартфон потребляет по-минимуму, до 0.5A, честно воспринимая зарядный порт как SDP. Видимо в магнитном кабеле есть какая-то хитрость, позволяющая реализовать зарядку смартфона полным током без использования постоянного (аппаратного) кодировщика типа порта. (В описаниях торговцев кабелями присутствуют только жалкие намёки, типа «быстрая зарядка», а некоторые даже упоминают всуе слово «QC»). 

Разным режимам (OTG, OTG+зарядка/данные, зарядка/данные) можно сопоставить разные значения напряжения UID на входе ID. Это напряжение формируется входным током IID (индивидуальным для разных смартфонов), на внешнем резисторе RID (R12 на схеме хаба), подключенном к GND (pin5 microUSB). Режиму OTG-on соответствует диапазон 0÷0.57V, режиму Charge-поддержка – диапазон 0.62±0.1V, режиму ChargeFull – диапазон ≥0.65V (естественное UID_max≈1.8V).

▲ Плавное изменение UID внешними цепями приводит к изменению режима (перескоку), но странным однобоким способом – повышение UID переключает смартфон в «старший» режим, а понижение UID (вплоть до 0V) на режим не влияет – остаётся включённым режим, соответствующий точке начала снижения UID. Для возврата в «младший» режим (OTG-on) требуется кроме обеспечения UID=0V ещё и переподключить разъём смартфона.

  • При подключении к разъёму смартфона хаба с поданным внешним питанием и закороткой IDGND (положение «, UID=0; IID_кз≈140μA) включается режим OTG-on (подключенная к хабу мышка по экрану «бегает»), потребления смартфоном тока по цепи внешнего питания хаба нет.

При плавном подходе к режиму Charge-поддержка (UID до ≈0.50÷0.515V) начинает появляться заметный ток (≈0.05A) потребления по цепи внешнего питания хаба, смартфон не отмечает этот режим как «зарядка» значком «молния».

  • При выходе на режим Charge-поддержка (UID=0.62±0.1V) смартфон начинает потреблять ток (≈0.5A), по-прежнему мышка по экрану «бегает», значок зарядки «молния» не предъявляется. (При возврате отсюда на режим OTG-on (UID=0V) состояние не изменяется).
  • При переключении в режим ChargeFull UID поднимается до ≈0.68V, мышка «бегать» по экрану перестаёт, ток потребления (с задержкой до 5 сек) подрастает до 1.2÷1.5A и появляется значок зарядки «молния». (При возврате UID назад к нулю состояние не изменяется.)

 

Для реализации режима Charge-поддержка в аппарате Xiaomi Redmi Note 5А Prime потребовалось в хабе заменить величину RID (R12 на схеме хаба) на ≈7,75kΩ (что никак не соответствует спецификации порта типа ACA с упоминанием RID=124 кΩ).

Все приведённые выше числовые параметры справедливы именно для этой модели смартфона. Для других, даже обладающих описанными свойствами, значения параметров могут быть другими.

Особенности
  • После некоторых процедур смартфон запоминает состояние (зарядка) и сбрасывается в исходное состояние (но с током потребления ≈40 mA переподключением при подключении с UID=0V)
  • Иногда смартфон «крепко запоминает обиду» (возможно из-за дребезга контактов SW), капризничает и для его отрезвления переподключения недостаточно. Приходится смартфон перезагрузить.
  • В зоне UID «Charge-поддержка» (UID≈0.6V) ток внешнего потребления небольшой – (20÷45 mA) и, похоже, обеспечивает только работу процессора (без собственно зарядки, значок зарядки не активен).
  • Зона UID режима Charge-поддержка неустойчива – иногда после прогрева смартфона сам переключается в режим «зарядка» – (UID подскакивает до ≈0.67V, ток внешнего потребления – до 1.2A). Более устойчив диапазон UID=0.62±0.05V.

Обследование поведения со штатным хабом

(Без установки конденсатора фильтрации, Штатное RID-хаба=68kΩ. На хаб подается внешнее питание.)

Обследовалось на активированном приложении WPS_mOffice_v10.9.3 в смартфоне.

Смартфоны, видимо, имеют свой протокол подключения периферии и при подключении штатного хаба ведут себя иначе, чем описано выше.

Смартфоны попроще

Jiayu G2F (MediaTek MT6582m, Android 4.2.2; 2014 г; RID-порог≈36 kΩ).

SENSEIT R500 (MediaTek MT6737, Android 7.0; 2017 г; RID-порог≈50 kΩ).

Оба смартфона ведут себя примерно одинаково, режим однозначно определяется текущим состоянием линии ID. Но переход может происходить с задержкой до 20 сек. Допускается подключение хаба с переключателем в любой позиции. Но начнём «от печки» — с положения 3 (OTG), в котором смартфон видит физическую клавиатуру и мышку и может к ним подключиться.

  • При подключении хаба с переключателем в положении 3 (OTG) смартфоны потребляет от внешнего питания хаба скромный ток (≈100mA вместо требуемых 650mA), аккумулятор разряжается. Периферия опознаётся: OTG активен, подключенная к хабу мышка по экрану «бегает», внешняя клавиатура работает – очень похоже на режим Charge-поддержка, но вялая: значок зарядки не появляется.
  • Данные смартфоны рассчитаны на RID порога переключения 36kΩ и 50 kΩ, что заметно ниже 68kΩ RID-хаба. При переключении штатного хаба в положении 2 смартфон воспринимают это как команду перехода в режим зарядки — ток потребления возрастает до ≈450mA (аккумулятор подзаряжается), на смартфоне включается значок зарядки и растёт значение индикатора %заряда. Доступ к периферии (режим OTG) отключается, мышка и внешняя клавиатура не работают. При переключении в положении 1 (RID= ) состояние не изменяется (воспринимается как тождественное положениию 2).
  • Возврат в положение 3 восстанавливает режим OTG (мышка и внешняя клавиатура работают), но:

⚹ Jiayu – потребляемый смартфоном ток приближается к требуемому (≈500mA), значок зарядки на смартфоне активен, аккумулятор заметно заряжается – очень похоже на режим OTG+Charge. Но такое состояние продлилось недолго (≈2мин), после чего значок зарядки на смартфоне отключился, указатель %заряда перестал изменяться остановился на 86%), а ток потребления стал плавно снижаться – за ≈50мин до ≈250mA (из которых ≈200mA обеспечивают активный режим смартфона), дозаряжая аккумулятор (судя по росту напряжения Uакк на нем). При Uакк=4.226V его рост прекратился. (Позже, после отключения хаба и перевключения смартфона, он честно показал заряд 100%). Повторные манипуляции с переключателем режима потребляемый смартфоном ток не снижают (при недозаряженном аккумуляторе).
⚹ SENSEIT – потребляемый смартфоном ток снижается (до ≈100mA) и непонятно куда он течет – значок зарядки на смартфоне пассивен, аккумулятор заметно разряжается (режимом OTG+Charge даже не пахнет).

#) в Поз.3 SENSEIT поработал в приложении WPS office минут 20, смартфон стал потреблять от внешнего питания (по 2-х контактному магнитному кабелю) ток ≈450mA (из которых ≈400mA шло на обеспечение активности смартфона), значка зарядки нет.

#) После переключения (возврата) в положние 3 смартфоны проявляют режим OTG после активации какого-либо подключенного периферийного устройства (перемещение мыши, нажатие на клвишу клавиатуры).

Xiaomi Redmi 5А

Redmi 5А, 2/16Гб; Модель MCE3B, Процессор: Qualcomm Snapdragon 425

Android 7.1.2 N2G47H; MIUI Global 10.1 | Стабильная 10.1.1.0(NCKMIFI); Память 2/16GB;

Версия ядра 3.18.31-perf-g40bf317;

  • Без внешнего питания хаба:
    • При подключении хаба с переключателем в положении 3 (UID=0V) смартфон включает режим OTG (подключенная к хабу мышка по экрану «бегает») и при увеличении UID до порога UID-порог= 0,56V (RID-поро≈6,4 kΩ) OTG остаётся включённым.
      §) Возможно, что из-за каких-то ранее произведенных неаккуратных воздействий OTG не включается – помогает перезагрузка смартфона (в том числе без отключения от хаба).
    • При дальнейшем увеличении UID наблюдается некая «толерантная зона» (до UID=0,61V), в которой OTG отключается, но при возврате ниже порога (UID=0,56V) OTG восстанавливается.
    • При увеличении UID выше «толерантной зоны» (UID≥0,61V) OTG отключается капитально, возврат к UID=0V не помогает, перепоключение хаба тоже, требуется перезагрузка смартфона.
  • Хаб с внешним питанием ≈5,4V:
    • При подключении хаба с переключателем в положении 3 (UID=0V) смартфон включает режим OTG (подключенная к хабу мышка по экрану «бегает») и OTG остаётся включённым при увеличении UID до порога UID-порог= 0,66V (RID-порог≈7,8 kΩ). При этом комплект потребляет 100÷150 mA (при уровне заряда аккумулятора 60÷100%), из которых 50÷100 mA достаются смартфону (вроде как лёгкая поддержка).
    • При снижении UID вплоть до 0V OTG остается включённым. «Толерантная зона» — не наблюдается, для восстановления режима OTG требуется, как минимум, переподключение смартфона к хабу при UID=0V.

Honor 9 Lite

Honor 9 Lite, Модель LLD-L21 (на крышке: LLD-AL00, перепрошита продавцом);

Процессор: Hisilicon Kirin 659; Память 3/32GB;

Android 9 (исходно 8.0.0); EMIUI: 9.1.0; OTG 1.3; NFC у этой модели — нет;

Версия ядра: 4.9.148 android@localhost #1 Thu Apr 16 21:34:59 CST 2020

Номер сборки LLD-L21 9.1.0.169(C185E7R1P5)

  • Без внешнего питания хаба:
    • При подключении хаба с переключателем в положении 3 (UID=0V) смартфон включает режим OTG (подключенная к хабу мышка по экрану «бегает») и при увеличении UID до порога UID-порог= 0,77V (RID-порог≈714 Ω) OTG остаётся включённым.
    • При увеличении UID выше порога OTG отключается капитально, возврат к UID=0V не помогает, включить OTG можно только переподключение смартфона при UID=0V.
  • Хаб с внешним питанием ≈5,4V:
    • При подключении хаба с переключателем в положении 3 (UID=0V) смартфон режим OTG не включает, даже перезагрузка смартфона не помогает. Но если сначала хаб без внешнего питания в этом положении подключить к смартфону (режим OTG запускается), а затем подключить питание хаба, то OTG остаётся включённым.
    • OTG остается включенным при увеличении UID до ≈ 1,5V (больше не пробовал).При этом комплект потребляет 200÷400 mA (при уровне заряда аккумулятора ≈75%), и практически весь этот ток достаётся смартфону (вроде как заметная поддержка).

«Настоящий джентльмен» Xiaomi Redme 9A

(MediaTek Helio G25, Android: 10 QP1A.190711.020).

Имеет полноценный режим совмещения OTG с зарядкой (проверено с хабом 4N00076). Положение 2 переключателя режимов хаба — не используется.

  • На ни к чему не подключенном разъёме смартфона напряжение на pin4 UID=1.79V (UID_хх). При закоротке pin4 на GND (pin5) выдается ток IID_кз=27μA.
  • При подключении к разъему смартфона хаба без внешнего питания с закороткой IDGND (Положение 3 переключателя, UID=0, IID_кз≈26μA) включается режим OTG-on (подключенная к хабу мышка по экрану «бегает»). В положении 2 переключателя штатного хаба (RID=68 kΩ) UID=1.17V, что соответствует току IID=17.2 μA, режим OTG отключен. При плавной регулировке OTG включен в диапазоне UID=0÷0.87V (RID=0÷39 kΩ). Переход OTG/без OTG практически безгистерезисный.
  • При подключении к разъему смартфона хаба с поданным внешним питанием OTG включается в том же диапазоне RID и при этом появляется заметное потребление смартфоном тока (≅400mA) от внешнего питания (но значок зарядки на смартфоне не появляется).
  • Самое интересное: при подключении к разъёму смартфона штатного хаба (в состоянии поставки) с поданным внешним питанием в последовательности:

1) подключение к хабу при положении 1 переключателя штатного хаба («зарядка») — включается полноразмерная зарядка (тока ≅1A, на смартфоне появляется значка зарядки);
2) переключатель хаба переводится в положении 3 («OTG») — включился режим «OTG+зарядка»: смартфон «увидел» мышку, но ток зарядки не уменьшился, значок зарядки на смартфоне остался.

Дальнейшие переключения между положениями 3 и 1 с «OTG+зарядка» на просто «зарядка» и обратно. Ток заряда во всех трёх положениях переключателя одинаков, но OTG включается только в положении 3.

Файл в формате PDF представлен здесь.

Если материал оказался полезным для вас…

…вы можете нас отблагодарить! Авторам сайта будет очень приятно!


Обсуждение: 2 комментария
  1. Александр Шумаков:

    Здравствуйте. Меня зовут Александр Шумаков. Я занимаюсь подбором сайтов для нескольких инвесторов, которые заинтересованы в покупке качественных сайтов. По предварительной оценке мне понравился Ваш проект http://rones.su/. Готов обсудить его стоимость. Возможно у Вас несколько проектов, так же готов рассмотреть их для покупки. Если Вас заинтересовало данное предложение, можете связаться со мной:
    Email: Alexs157347@yandex.ru

    С уважением, Александр Шумаков.

    Ответить
    1. Rones:

      Здравствуйте, Александр! Я вам написал на почту.

      Ответить

Ваш комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Если нужно, добавьте картинку (только JPG)