Что такое usb light

Обновлено: 02.07.2024

Я хорошо помню, когда айфоны и айпады оснащаюсь 30-пиновым коннектором. Это была такая большая плашка с заусенцами, которая вставлялась в нижнюю часть устройства и использовалась для зарядки или передачи данных. Она всегда смотрелась очень безобразно из-за своей громоздкости, что на её фоне даже microUSB – далеко не идеал – выглядел настоящим эталоном. Но в 2012 году Apple представила новый стандарт Lightning , который, кажется, совсем не собирается на покой, хоть у компании и требуют заменить его на новый USB-C. Но я этого искренне не хочу, потому что считаю, что Lightning лучше.

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

Отличия Lightning от USB-C

Lightning надёжнее, чем USB-C. Вы только сравните их внутренне устройство Lightning надёжнее, чем USB-C. Вы только сравните их внутренне устройство

Lightning проще и надёжнее. Если вы сравните устройство разъёмов Lightning и USB-C, то явно заметите, что коннектор Apple имеет цельную конструкцию. Да, на него нанесено 8 контактов, но сам он не имеет никаких выемок, как USB-C. Последнему она нужна для крепления в зарядном гнезде, и это создаёт опасность повреждения в случае резкого выдёргивания или непроизвольного падения устройства. Плюс в копилку Lightning.

Lightning имеет только 8 контактов против 32 у USB-C и лучше защищён от влаги. Отраслевые эксперты признают, что из-за этого повышается устойчивость коннектора и компонентов, которые его формируют, к воде. Там просто намного меньше элементов, которые вода могла бы окислить или воздействовать на них любым другим способом, в отличие от USB-C. Ещё один плюс в копилку Lightning.

Чем Lightning лучше USB-C

Lightning безопаснее и надёжнее, чем USB-C, а ещё для него есть куча аксессуаров Lightning безопаснее и надёжнее, чем USB-C, а ещё для него есть куча аксессуаров

Lightning закрыт, а потому безопасен. Наверное, вы знаете, что Apple распространяет стандарт Lightning по лицензии. Она контролирует их производство во избежание повреждения фирменных устройств. Нет, конечно, китайские умельцы то и дело выпускают подделки, но Apple старательно выводит их с рынка простейшим, но чрезвычайно эффективным способом – она просто блокирует их работу. В результате вероятность, что вы повредите свой iPhone, снижается до минимума. У USB-C такого контроля нет.

Lightning проще чистить. Посмотрите внутрь разъёма Lightning и USB-C, и вы увидите, что у первого нет никаких выступающих элементов, в отличие от второго. Именно в этот выступ как бы вставляется коннектор с USB-C. Но проблема в том, что из-за этого его банально не почистить. В отличие от USB-C, куда свободно пролезает и зубочистка и даже тонкая ватная палочка. Обмакиваете её в спирту и чистите. А если засоряется USB-C, придётся рисковать и обходиться иголкой.

Да, я в курсе, что сама Apple переходит на USB-C в некоторых своих устройствах, но это нужно для сугубо технических целей. Таким образом компания обеспечивает своим планшетам поддержку внешней периферии и повышает скорость передачи данных. Однако никакого практического смысла в том же самом для смартфонов нет. Ну, представьте себе, что вы подключаете дисплей к своему iPhone напрямую? Представили, окей. А зачем? Это абсолютно бессмысленная штука, а поскольку под Lightning уже есть все необходимые аксессуары, то необходимости в трансфере на USB-C попросту нет.


Это моя маленькая статья с описанием (почти) всего, что я знаю об интерфейсе Apple Lightning и связанных с ним технологиях: Tristar, Hydra, HiFive, SDQ, IDBUS и др. Но сначала маленькое предупреждение…

Читайте эту статью на свой страх и риск! Информация основана на большом количестве внутренних материалов AppleInternal (утечка данных, схем, исходных кодов), которые я прочёл по диагонали. И, конечно, на моих собственных исследованиях. Должен предупредить, что я никогда раньше не проводил подобных исследований. Таким образом, эта статья может использовать неправильные или просто странные термины и оказаться частично или полностью неправильной!

Прежде чем углубиться, давайте кратко разберёмся в терминах:


Lightning — это цифровой интерфейс, используемый в большинстве устройств Apple iOS с конца 2012 года. Он заменил старый 30-контактный разъём.

На картинке выше гнездо разъёма, а на картинке ниже его распиновка:


Пожалуйста, обратите внимание, что в разъёме контакты с обеих сторон коннектора не соединены в одном и том же порядке. Таким образом, хост-устройство должно определить ориентацию кабеля, прежде чем что-то делать.

Хотя это не всегда так. У многих аксессуаров Lightning, которые мне попадались, в разъёмах зеркальная распиновка.

Tristar — это интегральная схема, встроенная в каждое устройство с гнездом разъёма Lightning. По сути, это мультиплексор:


Кроме всего прочего, его основная цель состоит в том, чтобы соединяться со штекерным разъёмом Lightning, как только он подключён — определять ориентацию, Accessory ID и надлежащим образом маршрутизировать внутренние интерфейсы, такие как USB, UART и SWD.

Hydra — это новый вариант Tristar, используемый начиная с iPhone 8/X. Видимо, наиболее существенным изменением является поддержка беспроводной зарядки, но это ещё предстоит проверить:


Мне известны пять основных вариантов Tristar/Hydra:

  • TI THS7383 — Tristar первого поколения в iPad mini 1 и iPad 4
  • NXP CBTL1608A1 — Tristar первого поколения в iPhone 5 и iPod touch 5
  • NXP CBTL1609A1 — таинственный Tristar первого поколения в iPod nano 7 — источник
  • NXP CBTL1610Ax — TriStar второго поколения, используется начиная с iPhone 5C/5S и, по-видимому, во всём остальном, что не поддерживает беспроводную зарядку. Существует несколько поколений (x — номер поколения)
  • NXP CBTL1612Ax — Hydra используется с iPhone 8/X и, видимо, во всём остальном, что поддерживает беспроводную зарядку. Существует несколько поколений (x — номер поколения)


HiFive — это дочерний интерфейс Lightning, то есть штекерный разъём. Он также содержит логический элемент — этот чип известен как SN2025/BQ2025.


Эти два термина часто считают своего рода синонимами. Для удобства я буду использовать только термин IDBUS, так как он кажется мне более правильным (и именно так технология называется в спецификации THS7383).

Итак, IDBUS — это цифровой протокол, используемый для коммуникации между Tristar и HiFive. Очень похож на протокол Onewire.

Давайте прослушаем коммуникации Tristar и HiFive. Возьмите логический анализатор, переходную плату Lightning с соединением для гнезда и штекерного разъёма, какой-нибудь аксессуар (обычный кабель Lightning-to-USB отлично подойдёт) и, конечно, какое-нибудь устройство с портом Lightning.

Сначала подключите каналы логического анализатора к обеим линиям ID переходной платы (контакты 4 и 8) и подключите плату к устройству, но пока не подключайте аксессуар:


Сразу после этого начните выборку (подойдёт любая частота от 2 МГц и выше). Вы увидите что-то вроде этого:


Как видете, Tristar опрашивает каждую линию ID по очереди — одну за другой. Но поскольку мы не подключили никакого аксессуара, опрос явно провалился. В какой-то момент устройство устанет от этого бесконечного потока отказов и остановит его. А пока давайте разберёмся, что именно происходит во время опроса:


Сначала мы видим длинный интервал (около 1,1 миллисекунды), когда просто уровень высокий, но больше ничего не происходит:


Видимо, это время используется для зарядки внутреннего конденсатора HiFive — энергия от него будет затем использоваться для питания внутренних логических чипов.

Гораздо интереснее то, что происходит потом:


Очевидно, это поток каких-то данных. Но как его интерпретировать? Как расшифровать? Давайте виртуально разделим его на минимальные значимые части — то, что я называю словами:


По сути слово — это сочетание падения-подъёма-падения:


  • Содержательный этап — интервал, который определяет значение слова
  • Этап восстановления — интервал, который, видимо, требуется для обработки содержательной стадии на стороне получателя и/или для подготовки следующего слова на стадии отправки
Содержание Восстановление
Слово Min Typ Max Min Typ
BREAK 12 14 16 2.5 4.5
WAKE 22 24 27 1100?
ZERO 6 7 8 3
ONE 1 1.7 2.5 8.5
ZERO и STOP* 6 7 8 16
ONE и STOP* 1 1.7 2.5 21

* STOP используется, когда это последний бит в байте

Используя приведённую выше таблицу теперь мы можем построить простой декодер протокола:


Теперь давайте рассмотрим этап данных на примере выше — 0x74 0x00 0x02 0x1f :

  • 0x74 — тип запроса/ответа. Всегда чётный для запроса и нечётный для ответа (тип запроса +1)
  • 0x00 0x02 — фактические данные. Может быть пустым
  • 0x1f — это CRC8 как байта типа запроса, так и всех данных (полином — 0x31, начальное значение — 0xff)


И вот что появляется на IDBUS после запроса 0x74:

HiFive ответил! И если вы прокрутите дальше, то увидите много других пар запрос/ответ:

Некоторые запросы не нуждаются в ответе:

Самый важный запрос IDBUS — это 0x74, он используется для двух целей: чтобы приказать HiFive включить полное напряжение и силу тока (в случае, если оно поддерживается аксессуаром), спросить его о конфигурации контактов, которые поддерживаются кабелем, и некоторых других метаданных.

О том, как кодируются данные ответа 0x75, известно не так уж много. Но некоторые биты доступны в старой спецификации Tristar:

Первый байт данных ответа 0x75

ACCx[1:0] ACC1 ACC2 HOST_RESET
00 Hi-Z (IDBUS) Hi-Z Hi-Z
01 UART1_RX UART1_TX Hi-Z
10 JTAG_DIO JTAG_CLK Hi-Z
11 Hi-Z Hi-Z HIGH
ACCx[1:0] ACC1 ACC2 HOST_RESET
00 Hi-Z Hi-Z (IDBUS) Hi-Z
01 UART1_RX UART1_TX Hi-Z
10 JTAG_DIO JTAG_CLK Hi-Z
11 Hi-Z Hi-Z HIGH
Dx[1:0] DP1 DN1 DP2 DN2
00 Hi-Z Hi-Z Hi-Z Hi-Z
01 USB0_DP USB0_DN Hi-Z Hi-Z
10 USB0_DP USB0_DN UART1_TX UART1_RX
11 Hi-Z Hi-Z Hi-Z Hi-Z
Dx[1:0] DP1 DN1 DP2 DN2
00 Hi-Z Hi-Z Hi-Z Hi-Z
01 Hi-Z Hi-Z USB0_DP USB0_DN
10 USB0_DP USB0_DN UART1_TX UART1_RX
11 Hi-Z Hi-Z Hi-Z Hi-Z

Используя эти таблицы, давайте расшифруем ID нашего кабеля ( 10 0C 00 00 00 00 ) с учётом того, что линия ID найдена на контакте ID0:

Первый байт ответа 0x75 кабеля

7 6 5 4 3 2 1 0
ACCx Dx DATA[43:40]
0 0 0 1 0 0 0 0

Таким образом, ACCx — это 00, Это означает, что пин ID0 просто привязан к IDBUS, а Dx = 01 означает, что пины DP1/DN1 настроены как USB0_DP/USB0_DN. Именно то, что мы ожидали от стандартного USB-кабеля.

А теперь давайте перехватим что-нибудь поинтереснее:

Аксессуар ID (HOSTID = 1)
DCSD 20 00 00 00 00 00
KongSWD (без работающего Astris) 20 02 00 00 00 00
KongSWD (с работающим Astris) A0 00 00 00 00 00
KanziSWD (без работающего Astris) 20 0E 00 00 00 00
KanziSWD (с работающим Astris) A0 0C 00 00 00 00
Haywire (HDMI) 0B F0 00 00 00 00
Зарядка UART 20 00 10 00 00 00
Lightning на 3,5 мм/EarPods с Lightning 04 F1 00 00 00 00

Вот полный (?) список запросов IDBUS от @spbdimka:


Совет №1: вы можете легко получить свойства аксессуара, включая его идентификатор, используя accctl:



Это внутренняя утилита Apple, поставляемая со сборками NonUI/InternalUI. Но вы можете легко запустить её на любом устройстве после джейлбрейка.

Совет №2: вы можете легко получить конфигурацию контактов кабеля с помощью diags:




Обратите внимание, что эта команда доступна только на iOS 7+.

Совет №3: вы можете легко отслеживать запросы/ответы 0x74/0x75, генерируемые SWD-пробами, установив debug env var, равное 3:


Затем на виртуальном COM от кабеля вы увидите что-то вроде этого:



В одной из таблиц выше можно увидеть упоминание некоего HOSTID. Это 16-битное значение, передаваемое в запросе 0x74. Похоже, что оно также влияет на ответ HiFive. По крайней мере, если установить для него недопустимое значение (да, это возможно с diags), HiFive перестаёт с ним работать:



Впрочем, в прошивке KongSWD/KanziSWD есть переменная окружения disableIdCheck, которую вы можете настроить так, чтобы игнорировать недопустимый HOSTID.

Важное примечание: У Kong и Kanzi нет HiFive в качестве выделенного непрограммируемого чипа. Эти аксессуары эмулируют его с помощью микроконтроллера и/или блока FPGA, что позволяет его легко обновлять/перепрограммировать.

В таблице Accessory ID выше можно заметить, что Kong и Kanzi посылают разные ответы в зависимости от того, запускается или нет Astris, это программное обеспечение AppleInternal, предназначенное для отладки с помощью SWD-проб (или зондов). Если вы расшифруете эти ответы с помощью приведённых выше таблиц, то обнаружите, что когда Astris не запускается, зонд будет действовать точно так же, как DCSD — USB на линиях D1 и debug UART на линиях D2. Но когда отладочное программное обеспечение работает, линии ACCID переключаются на SWD.

Но что, если мы хотим запустить Astris после того, как зонд уже подключён к устройству? Что будет делать кабель? Как он будет переключаться между линиями ACC на SWD? Вот тут-то WAKE и вступает в игру! HiFive (или устройство, которое его эмулирует) может инициировать WAKE — и процесс перечисления IDBUS начнётся снова: Tristar отправит запрос 0x74, Kong/Kanzi ответит новым идентификатором, Tristar подтвердит его и направит линии ACC на внутренние линии SWD (SoC должен это поддерживать на физическом уровне, конечно).



Последнее, что я собираюсь рассмотреть — рукопожатия питания (power handshakes). Это алгоритм, основанный на запросах/ответах IDBUS, которые драйверы ядра Tristar используют перед тем, как разрешить зарядку от аксессуара.

Когда кабель Lightning просто где-то лежит, подключённый к зарядному устройству/компьютеру, но не подключённый к устройству, HiFive ограничивает ток на PWR действительно небольшим значением (около 10-15 мА по моим измерениям). Чтобы включить полный ток, запрос 0x74 должен быть выдан Tristar и обработан HiFive. Для SecureROM/iBoot этого достаточно, но при загрузке ядра необходимо сделать дополнительные шаги:

  1. TriStar выдаёт два запроса 0x70
  2. Как только второй запрос обработан HiFive и отправлен ответ, он вообще отключает ток примерно на 20 миллисекунд
  3. По истечении этого времени Tristar выдаёт ещё один запрос 0x70, но с содержанием 0x80 в данных. HiFive обрабатывает его и отвечает
  4. На этом этапе драйвер ядра, ответственный за Tristar, должен разрешить зарядку

Ещё одна особенность Tristar, о которой я хотел бы рассказать, — ESN. Это маленький блоб, который Tristar хранит в своём EEPROM (на CBTL1610A2 и более поздних версиях). Его можно получить по IDBUS с помощью кабеля Serial Number Reader (или Kanzi, они в основном одинаковые, за исключением разных USB-PID и немного отличающихся корпусов)


Что происходит на IDBUS при получении ESN, задокументировал @spbdimka:

Процедура «прошивки» ESN на Tristar называется подготовка (provisioning). Она происходит с диагностикой на стороне устройства, через EzLink на принимающей стороне в три этапа.

Вы можете проверить состояние с помощью diags:




… а также получить ESN:




Кстати, у diags вообще богатый набор команд Tristar (доступен, начиная с iOS 7):



Tristar доступен на шине I2C (адрес 0x34 для записи, 0x35 для чтения). Именно так diag и драйверы ядра с ним взаимодействуют.

О реестрах публично известно не так уж много. Много информации о самой карте регистра можно получить из утёкшего исходного кода iBoot (только для THS7383 — кажется, обратно совместимого с CBTL1608 — и CBTL1610), но не так много о том, что нужно туда записать, чтобы добиться каких-то интересных результатов.

Ещё одним источником знаний является модуль Tristar из diags (легко извлекаемый через SWD во время его работы). Например, мне удалось отреверсить алгоритмы чтения состояния подготовки и ESN. Затем я реализовал это как дополнение к моей нагрузке для iBoot под названием Lina:


Я также попытался изменить алгоритм записи ESN, но потерпел неудачу — механизм слишком сложный для меня. Однако фрагменты кода от Lina доступны здесь.

Сам Tristar питается от источника 1,8 В. Линии для IDBUS устойчивы к 3,0 В, согласно моему осциллографу:


Таким образом, без схемы сдвига уровня лучше не пытаться взаимодействовать с IDBUS с помощью устройств, устойчивых к 5 В, как некоторые модели Arduino.

Компания Apple никогда не стремилась следовать общепринятым стандартам и не раз делала выбор в пользу собственных закрытых разработок. Одним из таких примеров является разъем Lightning, который стал заменой для общепринятого MicroUSB и используется уже больше 6 лет.

Что такое Lightning

Lightning – это разъем, разработанный компанией Apple и использующийся для подключения смартфонов, планшетов и портативных проигрывателей. Данный разъем используется для подключения устройства к компьютеру, зарядки батареи, подключения наушников и других аксессуаров.

Lightning кабель

Lightning был представлен 2012 году и заменил собой ранее использовавшийся 30 контактный разъем. В отличие от своего предшественника, Lightning отличается компактностью и простотой в использовании. В нем используется всего 8 контактов вместо 30 и его можно устанавливать любой стороной. Это позволяет подключить смартфон к кабелю в одно движение и практически не глядя на него.

Несмотря на свою компактность и простоту, у разъема Lightning есть ряд недостатков, которые часто создают проблемы для пользователей. Главным минусом Lightning является то, что это закрытый стандарт компании Apple. Только Apple владеет всеми правами на эту торговую парку и характеристики разъема. Из-за этого стоимость аксессуаров с данным разъемом всегда намного выше, чем стоимость аналогичных устройств с Micro USB.

На данный момент Lightning является основным разъемом компании Apple для подключения мобильных устройств. Сейчас данным разъемом комплектуются такие устройства как iPhone (начиная с iPhone 5), iPad (начиная с iPad 4-го поколения), iPad Mini (начиная с 2 версии), iPad Air, iPad Pro, iPod Nano (7-го поколения) и iPod Touch (начиная с 5-го поколения). Но, похоже, что в ближайшем будущем Apple планирует отказаться от Lightning и перейти на использование USB Type-C. На это указывает тот факт, что в последнем поколении iPad Pro вместо Lightning используется именно USB Type-C, также USB Type-C уже появлялся в ноутбуках Apple MacBook.

Lightning MFi – что это

При обсуждении Lightning кабелей и других аксессуаров Apple часто встречается такой термин как MFi. Данная аббревиатура расшифровывается как Made For iPhone/iPod/iPad и обозначает программу сертификации, которая была запущена компанией Apple еще в 2005 году. Чтобы получить сертификат MFi производитель аксессуаров должен выполнить ряд требований к надежности и качеству изделия. После получения данного сертификата производить может использовать логотип MFi на своей продукции.

аксессуар не поддерживается

Поэтому, при выборе нового кабеля или аксессуара для мобильной техники Apple очень желательно выбирать модель с обозначением MFi. Конечно, это не дает 100 процентной гарантии, что покупка не разочарует, но по крайней мере вероятность этого будет минимальна.

Lightning и наушники

переходник с Lightning на 3.5 мм

С выходом iPhone 7 компания Apple решила отказаться от использования отдельного 3.5 мм. аудио-разъема и переложила функцию подключения наушников на разъем Lightning. Данное решение подверглось серьезной критике со стороны пользователей. Основной причиной негодования пользователей был тот факт, что для работы их старых нушников с iPhone теперь нужен специальный переходник. Но несмотря на очевидные неудобства, которые вызывает такое решение, у подключения наушников через Lightning-разъем есть ряд преимуществ.

  • Более качественный звук. Наушники с разъемом Lightning потенциально могут обеспечить более качественное звучание, по сравнению с обычными наушниками, которые подключаются через стандартный 3.5 мм. аудио-разъем. Дело в том, что для работы наушников нужен аналоговый сигнал. В смартфонах с 3.5 мм разъемом этот аналоговый сигнал создается цифро-аналоговым преобразователем (ЦАП), который расположен в смартфоне. В то время как Lightning могут получать от смартфона цифровой сигнал и самостоятельно превращать его в аналоговый, с помощью собственного, встроенного в наушники ЦАП. Это позволяет производителю наушников настроить звучание наиболее оптимальным способом.
  • Подавление шума и другие функции. Для реализации шумоподавления наушникам необходим источник питания. Ранее наушники с шумоподавлением обязательно комплектовались собственной батарей, что увеличивало их вес и стоимость. Но, при подключении через Lightning наушники могут получать питание от аккумулятора смартфона. Кроме шумоподавления, наличие питания от батареи смартфона позволяет производителям внедрять в наушники различные дополнительные функции. Например, производитель может установить несколько дополнительных датчиков и превратить наушники в фитнес-трекер.
  • Меньше подделок под EarPods. Любое устройство с разъемом Lightning (даже кабель) включает в себя специальный чип, который используется для проверки данного устройства на совместить. Наличие этого чипа значительно уменьшит вероятность наткнуться на подделку при покупке наушников EarPods.

Что касается мнения Apple, то их главный аргумент – это экономия места внутри корпуса. По словам представителей компании 3.5 мм. аудио-разъем отнимает слишком много пространства внутри корпуса, что не позволяет сделать устройство тоньше.


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

Приходится присматриваться и напрягать зрение. Некоторые пользователи умудряются поворачивать экран таким способом, чтобы клавиатура освещалась за счет него, но я думаю, что это не выход из ситуации и получить таким способом достаточного комфорта при работе за компьютером не получится. Напрашивается очевидное решение этого неудобства — приобрести специальный светильник для подсветки клавиатуры, благо в торговых сетях предоставлен достаточно большой выбор таких USB светильников по приемлемым ценам.
Оговорюсь сразу, что светильник заказывался не для себя да и ноутбука у меня нет, но захотелось написать обзор.
Посылка пришла спустя 27 дней.
Желтый почтовый конверт с пупыркой внутри.


Содержимое пакета:
1 — гибкая ножка
2 — светильник
USB- лампа состоит из двух частей это гибкая ножка с разъёмами и сам светильник.



Ножка сделана из металла и хорошо гнется. Может принять практически любую форму и удерживать ее. Полная длина ножки (вместе с разъёмами) составляет 35 см.


Сам светильник выполнен из алюминиевого сплава в форме профиля.
Длина 9.5 см, Ширина 1.8 см, Толщина 8 мм.
На светильнике размещены 8 ярких светодиодов.






Я думаю, что обозреваемый светильник подойдет не только для подсветки клавиатуры на ноутбуке, а так же для освещения клавиатуры и стола стационарного ПК.


Плюсы:
Отличное устройство с яркими светодиодами для работы за компьютером в неосвещенном помещении, не мешая окружающим.
Гибкое основание поможет изогнуть лампу так, как вам удобно.
Достаточно легкая, компактная, чтобы брать ее с собой куда-угодно, которая поместится в любой сумке.
Минусы: не нашел.
Устройство понравилось.
Спасибо за внимание.
Удачных покупок.

Читайте также: