Tristar iphone 5s что это такое

Содержание
  1. Замена контроллера USB — Tristar
  2. Симптомы неисправного Tristar
  3. Причины выхода из строя Tristar
  4. Процесс замены контроллера USB и зарядки
  5. Замена контроллера питания iPhone
  6. Причины и признаки неисправного контроллера питания
  7. Неисправность контроллера питания проявляет себя следующим образом:
  8. Причины неисправности контроллера питания:
  9. Наше видео про замену контроллера питания
  10. Тема: Что такое Tristar.(добавляйте описания других микрух может кому пригодится)
  11. Что такое Tristar.(добавляйте описания других микрух может кому пригодится)
  12. 14 участника(ов) поблагодарили x912ak за его сообщение:
  13. Спасибо сказали:
  14. Спасибо сказали:
  15. 2 участника(ов) поблагодарили DJ_TON за его сообщение:
  16. Как устроен Apple Lightning
  17. Что такое Lightning?
  18. Что такое Tristar и Hydra?
  19. Что такое HiFive?
  20. Что такое SDQ и IDBUS?
  21. Теперь можем начать
  22. Интерпретация запросов и ответов IDBUS
  23. HOSTID
  24. Рукопожатия питания
  25. Несколько слов об ESN и интерфейсе Tristar I2C
  26. Подготовка
  27. Tristar I2C
  28. Электрические характеристики Tristar

Замена контроллера USB — Tristar

Немаловажной в жизни каждого iPhone, iPad и iPod, использующих для зарядки кабели Lightning, является микросхема контроллер зарядки и USB — Tristar. В этой статье мы расскажем о симптомах, причинах выхода её из строя, а также о процессе замена неисправного контроллера на новый.

Симптомы неисправного Tristar

Чаще всего неисправный контроллер вызывает очень быстрый разряд аккумуляторной батареи, связано это с повышенным потреблением неисправной микросхемы. Во многих других случаях устройство попросту перестанет включаться, сообщая о разряженной батарее. При подключении зарядного устройства, Ваш гаджет увидит подключенный кабель, однако долгожданное включение так и не произойдет. Многие пользователи ошибочно считают, что замена аккумулятора, который стоит совсем недорого, решит их проблему, а неквалифицированные мастера даже не подозревают, что уже на следующий день, когда новенький аккумулятор разрядится, клиент вернется к ним с той же проблемой.В некоторых случаях неисправность контроллера Tristar проявляется в отсутствии связи с компьютером — устройство функционирует, но компьютером не определяется, что делает невозможным создание резервных копий и синхронизацию с iTunes.

Причины выхода из строя Tristar

Процесс замены контроллера USB и зарядки

  • 1. Разборка устройства, извлечение материнской платы
  • 2. Демонтаж защитного экрана, прикрывающего компоненты материнской платы
  • 3. Демонтаж неисправной микросхемы
  • 4. Зачистка и выравнивание контактных площадок
  • 5. Установка новой микросхемы путем термовоздушной пайки
  • 6. Установка защитного экрана и сборка устройства

В реальном времени процесс занимает около 15 минут. Для снижения термической нагрузки на материнскую плату используется «радиаторы» в виде монет и нижний подогрев ТермоПро НП10-6, позволяющий свести на нет негативные последствия, которые могут возникнуть при нежелательном перегреве других компонентов материнской платы, например, в случае с iPhone 5, выхода из строя центрального процессора или, в случае с iPhone 5s, радиомодуля.

Срочная замена контроллера USB и зарядки Tristar может быть осуществлена в нашем сервисном центре в течении 30-60 минут при низкой загруженности сервиса и без дополнительных наценок.

Источник

Замена контроллера питания iPhone

Производим сервисное обслуживание iPhone

Мы располагаем всем необходимым оборудованием для профессионального ремонта iPhone – от специальных отверток до паяльных станций.

Модель iPhone Стоимость
iPhone X, Xs, Xr, Xs Max
Микросхема Hydra U6300 CBTL1612A1
9 000 руб.
iPhone 8, 8 Plus
Микросхема Hydra U6300 CBTL1612A1
5 000 руб.
iPhone 7, 7 Plus
Микросхема Tristar CBTL1610A3B
4 000 руб.
iPhone 6s, 6s Plus
Микросхема Tristar CBTL1610A3
3 500 руб.
iPhone 6, 6 Plus
Микросхема Tristar CBTL1610A2
3 000 руб.
iPhone SE
Микросхема Tristar CBTL1610A2
2 500 руб.
iPhone 5s
Микросхема Tristar CBTL1610A1
2 500 руб.
iPhone 5, 5c
Микросхема Tristar CBTL1608A1
2 000 руб.
iPhone 4, 4s 1 500 руб.

Причины и признаки неисправного контроллера питания

Контроллер питания — это электронный чип, установленный на плате iPhone, который отвечает за «раздачу» питания всем электронным компонентам iPhone — процессору, оперативной памяти, камере, дисплею и т.д. Это как домовой трансформатор, раздающий питания на розетки, свет и подогрев пола.

Неисправность контроллера питания проявляет себя следующим образом:

  • iPhone не реагирует на подключения кабеля зарядки (не путать с неисправным или забитым разъемом питания);
  • iPhone сильно нагревается при зарядке (iPhone должен немного нагреваться при зарядке, а при неисправном контроллере питания это будет немного больше обычного;
  • iPhone быстро разряжается;
  • iPhone вообще не включается и не реагирует на кнопку включения (контроллер не подает питание на ОЗУ).

Причины неисправности контроллера питания:

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

Не правильный ток зарядки — пользуйтесь оригинальными или качественными зарядками

Удар, в следствии чего «хрустальный» чип может получить трещину или повреждения

Попадание жидкости и окисление

Как меняем?

Контроллеров зарядки меняем очень много, это в прямом смысле слова распространенная проблема. Это не является очень сложным BGA ремонтом, но всё же это BGA ремонт и на кухне его уже не сделать.

Для замены этого контроллера используем трафареты для накатки шаров, есть наборы на все модели, паяльник Weller для чистки (это хорошая вещь, обязательно загуглите), термовоздушная паяльная станция Quick 861DW , нижний подогрев «Термопро», низкотемпературные припои. Всё делается с полным соблюдением технологии, мы гарантируем что работа будет проведена настолько качественно, на сколько это возможно.

Подходим к делу с

Наше видео про замену контроллера питания


Источник

Тема: Что такое Tristar.(добавляйте описания других микрух может кому пригодится)

Опции темы
Отображение

Что такое Tristar.(добавляйте описания других микрух может кому пригодится)

U2 как обычно его называют, микросхема Tristar.
На других моделях это
iPhone 6 U1700,
iPhone 6S U4500,
iPhone 7 U4001.
Ее Apple внедрил когда начал использовать кабель Lightning (перев. с англ — Молния). Раньше когда были старые разъемы 30 пиновые (iPhone 2, 3g, 3gs, 4, 4s) не было необходимости в тристаре, так как для каждого переферийного устройства была своя шина (заряд, аудио, наушники видео и тп). Но с появлением Lightning где всего 8 пин, и из них 4 это дата rx tx в для того чтобы работал в перевернутом виде, 1 питание и 2 определение аксессуара. Например при подключениее кабеля для зарядки, на шину распознания аксессуара подается порядка 0.6вольт, и тристар понимает что подключен кабель для зарядки. А если подключить например наушники, то уже определяется другой аксессуар. Так вот тристар нужен чтобы определить какое устройство подключено. Тристар не выполняет роли контроллера зарядки, нельзя путать. Заряд контролирует КП на моделях до iPhone 6, а на моделях iPhone 6 и выше эту роль выполняет Тигрис. Почему горит тристар? На китайских кабелях сопротивление между USB 5в и пином определения аксессуара ниже чем на оригинальных кабелях, и вместо 0.6в подается 0.9-1.2вольт, это в 2 раза больше чем нужно для тристара. Из-за этого и перегорает тристар.
И еще важный момент, чем лучше Lightning от Micro USB (Samsung, LG), на Lightning не подается напряжение, пока аксессуар не будет подключен, а на контактах Micro USB постоянно присутствует напряжение.

14 участника(ов) поблагодарили x912ak за его сообщение:

ТС, неплохо бы обозначить, откуда содрана информация. авторство ещё никто не отменял.

Спасибо сказали:

Что такое TriStar?

U2 как обычно его называют, микросхема Tristar.
На других моделях это
iPhone 6 U1700,
iPhone 6S U4500,
iPhone 7 U4001.
Ее Apple внедрил когда начал использовать кабель Lightning (перев. с англ — Молния). Раньше когда были старые разъемы 30 пиновые (iPhone 2, 3g, 3gs, 4, 4s) не было необходимости в тристаре, так как для каждого переферийного устройства была своя шина (заряд, аудио, наушники видео и тп). Но с появлением Lightning где всего 8 пин, и из них 4 это дата rx tx в для того чтобы работал в перевернутом виде, 1 питание и 2 определение аксессуара. Например при подключениее кабеля для зарядки, на шину распознания аксессуара подается порядка 0.6вольт, и тристар понимает что подключен кабель для зарядки. А если подключить например наушники, то уже определяется другой аксессуар. Так вот тристар нужен чтобы определить какое устройство подключено. Тристар не выполняет роли контроллера зарядки, нельзя путать. Заряд контролирует КП на моделях до iPhone 6, а на моделях iPhone 6 и выше эту роль выполняет Тигрис. Почему горит тристар? На китайских кабелях сопротивление между USB 5в и пином определения аксессуара ниже чем на оригинальных кабелях, и вместо 0.6в подается 0.9-1.2вольт, это в 2 раза больше чем нужно для тристара. Из-за этого и перегорает тристар.
И еще важный момент, чем лучше Lightning от Micro USB (Samsung, LG), на Lightning не подается напряжение, пока аксессуар не будет подключен, а на контактах Micro USB постоянно присутствует напряжение.

если б ты даташит выложил, цены б тебе не было. А так в схеме и так все ясно что и для чего

«»На китайских кабелях сопротивление между USB 5в и пином определения аксессуара ниже чем на оригинальных кабелях, и вместо 0.6в подается 0.9-1.2вольт, это в 2 раза больше чем нужно для тристара»

Честное слово — был уверен что горят они из-за дешёвых зарядок. Плохая фильтрация, стабилизация. После автозарядок.

Спасибо сказали:

Даташит тристара? Вы с целью работы с ним исследовательской или чисто ремонтной? Схема показывает вам какой пин определяет, по каким данные гуляют. Остальная инфа как бы кэпская, но за старание плюс.

Любой датшит на любой мультиплексор открой вот тебе и схема со всеми подробностями

Вообще-то, я всё это читал слово в слово в различных пабликах за 2 дня до публикации тут.

2 участника(ов) поблагодарили DJ_TON за его сообщение:

так и есть..да вдобавок-большая половина напиСаного-чушь

На китайских кабелях сопротивление между USB 5в и пином определения аксессуара ниже чем на оригинальных кабелях, и вместо 0.6в подается 0.9-1.2вольт, это в 2 раза больше чем нужно для тристара. Из-за этого и перегорает тристар.

ЭТ точно чушь.если просто мерить сопротивление пинов это ни очём аааще это даже о качестве провода ничего не скажет потому как провод чипованный а входное\выходное сопротивление(импеданс) узлов схематических вовсе ни так меряется там сложнее немного.а горит тристар но это сугубо моё мнение от плохой схемы зарядки(адаптеры питания(автозарядки и т.д))то-есть скачки напряжение от адаптера,плохая фильтрация,постоянная нагрузка на сам чип-провода и на тристар из за плохих расчётов шим преобразователя поэтому многие и говорят что китайскими дешевыми адаптерами бог с ним с проводом но вот адаптером лучше не пользоваться но всем по.
ну а по поводу провода могу сказать что мною было не однократно замечено просто напросто стирается металлизация на самих пинах провода ну и нет детекта как однажды сказал -один умный вещь наш модератор(прастите за мой русхий)
плохая металлизация да и само качество проводов слово качество вообще не уместно это я про китайские дешевые поделки но они молодцы китайцы умеют экономить на всём. я тут не давно видос смотрел как китайцы алкоголь делают
чуть не вырвало из выгребной ямы даа прям из гавна алкгль гонят и ведь получается хороший алкоголь запах араматизаторами отбивают хош водочка на апельсиновых корках хош с любым вкусом ягуарчик любимый напиток всех проституток.тэкила,хэнеси ХО да не вопрос ляосинь неси лапату открывай туалет щас хэнеси делать будем

Источник

Как устроен Apple Lightning

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

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

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

Что такое Lightning?

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

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

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

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

Что такое Tristar и Hydra?

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 — номер поколения)

С этого момента я буду использовать только термин TriStar, но имейте в виду, что он также означает Hydra, поскольку они очень похожи в большинстве аспектов, которые будут рассмотрены в этом тексте.

Что такое HiFive?

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

Что такое SDQ и IDBUS?

Эти два термина часто считают своего рода синонимами. Для удобства я буду использовать только термин 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 используется, когда это последний бит в байте

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

Как видите, сначала хост посылает BREAK — когда Tristar хочет отправить новый запрос, хост всегда начинает с этого слова. Затем наступает этап передачи данных. Пожалуйста, обратите внимание, что у последнего (8-го) бита в байте более длительный этап восстановления. Когда этап передачи данных заканчивается, хост отправляет ещё один BREAK. Затем дочернее устройство должно отправить ответ (после задержки не менее 2,5 микросекунд — см. таблицу). Tristar будет ждать ответа около 2,2 мс. Если ответ не выдан в этот промежуток времени, Tristar попытается опросить другую линию ID.

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

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

Давайте подключим к нашей установке какой-нибудь аксессуар и посмотрим, что произойдёт. Я буду использовать оригинальный кабель Lightning-to-USB от Apple:

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

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

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

Интерпретация запросов и ответов IDBUS

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

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

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

7 6 5 4 3 2 1 0
ACCx Dx DATA[43:40]
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

В одной из таблиц выше можно увидеть упоминание некоего 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, должен разрешить зарядку

Важное замечание: это та часть, которую я знаю меньше всего. И это одна из тех частей, которые я в основном сам отреверсил. Таким образом, будьте осторожны с этой информацией

Несколько слов об ESN и интерфейсе Tristar I2C

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

Проще говоря, отправив этот блоб на ttrs.apple.com, вы можете получить серийный номер устройства. Этот механизм используется сотрудниками Apple Store/Apple Premium Reseller для извлечения SN с мёртвых устройств (если Tristar ещё жив):

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

Подготовка

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

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


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


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

Tristar I2C

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

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

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

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

Электрические характеристики Tristar

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

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

Источник

Читайте также:  Как включить телевизор с айфона пульт
Оцените статью