Распиновка кабеля iphone 30 pin

Распиновка Разъем кабеля Apple iPhone (1G, 3G, 3GS, 4, 4S)

iPhone receiving line, Serial RxD

Different resistances indicate accessory type:
1kOhm — docking station, beeps when connected
68kOhm — makes iPhone 3g send audio through line-out without any messages
500kOhm — related to serial communication / used to enable serial communications Used in Dension Ice Link Plus car interface
1MOhm — Belkin auto adaptor, iPod shuts down automatically when power disconnected Connecting pin 21 to ground with a 1MOhm resistor does stop the ipod when power (i.e. Firewire-12V) is cut. Looks to be that when this pin is grounded it closes a switch so that on loss of power the Ipod shuts off. Dock has the same Resistor.

USB Data (+)
Pins 25 and 27 may be used in different manner.

To charge an iPhone 3G / iPod Touch 2nd gen or Ipod Classic (6th Gen), usb data- (25) should be at 2.8v, usb data+(27) should be at 2.0v. This can be done with a few simple resistors: 33k to +5v (23) and 22k to gnd(16) to obtain 2v and 33k to +5v and 47k to gnd to obtain 2.8v. This is a notification to the iphone that it is connected to the external charger and may drain amps from the usb.

It’s also possible to charge the iPod’s or iPhone’s battery to make use the of internal +3.3v output (18) terminal to connect the USB Data + (27) thru a 47k ohms resistor and the USB Data- (25) thru a 47k resistor to the USB Power source +5v (23). This way the USB function is still useable for normal operations and makes it easier the fit in a plug. The resistors are not to critical 2x 150k’s still work.

Pin Signal Description
1 GND Ground (-), internally connected with Pin 2 on iPhone motherboard
2 GND Audio & Video ground (-), internally connected with Pin 1 on iPod motherboard
3 Right Line Out — R (+) (Audio output, right channel) . See also Apple iPhone headset connector pinout
4 Left Line Out — L(+) (Audio output, left channel)
5 Right In Line In — R (+)
6 Left In Line In — L (+)
8
9
10
11 GND If connected to GND the iPhone sends audio signals through pin 3-4, otherwise it uses onboard speaker.
12 Tx iPhone sending line, Serial TxD
13 Rx
14 RSVD Reserved
15 GND Ground (-), internally connected with pin 16 on iPhone motherboard
16 GND USB GND (-), internally connected with pin 15 on iPhone motherboard
17 RSVD Reserved
18 3.3V 3.3V Power (+) ?
19,20 +12V Firewire Power 12 VDC (+)
21 Accessory Indicator/Serial enable
22 TPA (-) FireWire Data TPA (-)
23 5 VDC (+) USB Power 5 VDC (+)
24 TPA (+) FireWire Data TPA (+)
25 Data (-) USB Data (-)
26 TPB (-) FireWire Data TPB (-)
27 Data (+)
28 TPB (+) FireWire Data TPB (+)
29,30 GND FireWire Ground (-)

Pins 1,2 connected on motherboard.
Pins 15,16 connected on motherboard.
Pins 19,20 connected on motherboard.
Pins 29,30 connected on motherboard.

If you disassemble the original Apple iPhone dock connector cable and look at the connector itself, on the back side, where it is soldered, you can see the number 1 and 30 (e.g. pin 1 and 30). In this description NUMBERING is INVERSED: pin 1 is pin 30 and pin 29 is pin 2, so, don’t look at numbers on connector.

This device may be connected to the firewire computer port by straight cable (TPB+/-, TPA +/- should be twisted pairs in cable). It seems there are no file transfer allowed, but it can charge via this interface.

На распиновку Разъем кабеля Apple iPhone (1G, 3G, 3GS, 4, 4S) есть 15 отзыв(а): 15 положительных и 0 отрицательных.

Источник

USB Data кабель iPhone iPod распайка, распиновка разъемов

Здравствуйте.
Нигде не нашел похожей темы, поэтому решил создать новую. Кому-нить может пригодитсо.
Мне попался в руки сломанный кабель от iPod, пришлось вызванивать контакты и паять. (Был оторван кабель от USB разъема типа А. И было неизвестно куда какая жила должна быть припаяна. И экрана в кабеле нет!! Инфа про экранированный кабель — полная туфта. ) Результаты пайки проверял лично на своем iPhone.. Все успешно. Синхронизация, перенос покупок, резервное копирование. ))) Шиться еще не пробовал.

На рисунке ниже я привел распиновку разъемов попавшегося мне Data кабеля.

Предупреждение.
Все действия паяльником и другим инструментом вы делаете на свой страх и риск.
В случае иного расположения жил и пинов просьба не винить в этом автора данного топика.

Пояснения к рисунку:

  1. Разъемы состоят из двух склеенных пластиковых половинок. Внутри располагается 4-х жильный кабель (жилы обычно Красного, Белого, Зеленого и Синего, либо Черного цвета) и сам разъем. В домашних условиях при наличии инструмента не составляет труда аккуратно вскрыть разъем и произвести пайку.. После обе половинки склеиваются суперклеем.
  2. Вилка кабеля, подключаемая к iPhone/iPod.
    С левой стороны разъема видим 3 контакта друг за другом, и один контакт посередине. Итак, слева направо:
    • Белый (White, D+)
    • Зеленый (Green, D-)
    • Красный (Red, V BUS, +5V)
    • Синий, либо Черный (Blue/Black, GND земля)
  • Вилка USB тип А, подключаемая к компьютеру. Слева направо:
    • Синий либо Черный (Blue/Black, GND земля)
    • Белый (White, D+)
    • Зеленый (Green, D-)
    • Красный (Red, V BUS, +5V)
    • Хочу обратить ваше внимание на то, что по спецификации USB (тип А) Белая и Зеленая жилы на вилке типа А обычно следуют наоборот. (Зеленый D+, Белый D-. )
      Может конечно китайцы на заводе сами перепутали жилы. Поэтому совет: перед пайкой прозвоните тестером и убедитесь, что цвет кабелей совпадает с описанным выше. После пайки контакты должны звониться соответственно рисунку ниже.
    • Еще совет: каждая жила внутри кабеля — многожильная. Чем больше проводков вы сохраните при зачистке кабеля, тем меньше будет глючить iTunes, синхронизация, перенос покупок, резервная копия и рестор.
      P.S. Я перезачищал трижды из-за глюков. Проводки и оплетка очень тонкие и ломаются в руках. Последний раз зачищал очень аккуратно, дабы не оборвать жилки внутри.
  • Приведенная мной картинка и информация достоверна, потому как сам прозванивал и сам паял.

    Кабель, отремонтированный мной, успешно работает, iTunes определяет, синхронизация проходит успешно, ничего не слетает, зарядка идет успешно. Возможно в других кабелях вместо Синей жилы может быть Черная.

    Если вы случайно перепутаете местами Белую и Зеленую жилу, то ничего страшного не произойдет. Windows скажет что USB устройство неопознано. Просто поменяйте их местами.

    Если вы перепутаете их с Красной жилой — попадание +5V на чип управления данными (при допустимых 2,8V) может привести к сгоранию чипа как на iДевайсе, так и на компьютере. Либо к сгоранию USB разъема в целом на компьютере или в iДевайсе. А может и вся материнская плата потухнуть. У меня уже случаи были.
    И ремонт может обойтись уже в хорошую копеечку.
    Беря в руки паяльник, помните об этом.

    Источник

    Ремонт Apple 30-контактный разъем для USB-кабеля

    Целостность вспомогательного кабеля очень важна. Экранирование полноскоростного USB-кабеля необходимо для минимизации электромагнитных помех. Для эффективной защиты экран должен быть заземлен. Когда кабели изнашиваются до такой степени, что экранирование отключает кабель, он подвергается риску и является источником помех для электрических устройств. Чем выше скорость передачи данных, тем важнее становится целостность кабеля. Поэтому необходимо поддерживать USB-кабели в хорошем состоянии.

    Шаг 1 Сделать разъем открывалки

    Возьмите булавку с пластиковой головкой. Поместите наконечник на плоскую, прочную поверхность (например, лезвие холодного зубила) и постучите молотком, чтобы сгладить. Это должно занять от 5 до 10 нажатий. Убедитесь, что лезвие плоское, а край ровный.

    Шаг 2 Конструкция 30-контактного разъема

    30-контактный разъем состоит из 3 частей: 1) пластиковая внешняя оболочка, 2) средняя пластиковая втулка, 3) внутренний металлический разъем.

    Средний рукав имеет губу на обоих закругленных концах.

    Наружный соединитель имеет соответствующий пластиковый выступ, который защелкивается под манжетой, удерживая их вместе.

    Шаг 3

    Сделайте отметку глубины на инструменте, сделанном в шаге 1.

    Метка должна начинаться на расстоянии 3 мм от кончика инструмента.

    Шаг 4 Вставка инструмента

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

    Возможно, вам придется немного поработать со стороны, если идти прямо слишком сложно.

    Пластиковая головка на инструменте будет очень полезна для обеспечения достаточного давления.

    Шаг 5 Отделение внешней оболочки

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

    Удалите инструмент и повторите с другой стороны корпуса. Будьте осторожны, чтобы не задвинуть первую сторону обратно в оболочку в процессе.

    Как только обе стороны освободятся, сдвиньте внешнюю оболочку вниз по кабелю.

    Оберните потертый кабель небольшим скотчем, если трудно проникнуть в отверстие в корпусе.

    Шаг 6 Части кабеля Apple

    Кабель Apple имеет гораздо более надежный 30-контактный разъем, чем более дешевые кабели не Apple. Разъем Apple имеет 2 пайки, припаянные к его задней части — одну сверху и другую снизу. Более дешевые разъемы не имеют этих экранирующих пластин.

    Кабель Apple состоит из: 1) 4 проводов, 2) нити для разгрузки от натяжения, 3) защитной сетки вокруг проволоки и нити для разгрузки от натяжения, 4) внешней оболочки.

    Шаг 7 Снятие защитной пластины

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

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

    Шаг 8 Доступ к окончанию провода.

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

    Здесь только экранирование нуждается в ремонте.

    Осторожно разрежьте внешний пусковой механизм.

    Призогните внутренний пусковой механизм.

    Вставьте кусок кабеля, например, жилу категории 5.

    Шаг 9 Подсоедините провод к клемме

    Припой провод к нужной клемме.

    Припой другой конец к изношенному экрану.

    Шаг 10 Тест на короткое замыкание

    Проверьте целостность экрана между 30-контактным разъемом и разъемом USB. Сопротивление должно быть намного меньше 1 Ом.

    Проверьте на короткое замыкание между 4 контактами на разъеме USB. Там не должно быть ни одного.

    Шаг 11

    Слегка обмотайте провода изолентой.

    Установите на место крышку.

    Установите средний рукав.

    Наденьте внешнюю оболочку на разъем.

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

    Оберните изолентой от задней части оболочки вниз провода, пока она не простирается приблизительно на 5 см, уменьшая перекрытие при движении. Это будет действовать как средство от внешнего напряжения бедного человека.

    Комментарии

    Спасибо. Очень понятно и хороший перевод. С уважением, Владимир. (1945 г. рожд. из БашАССР)

    Источник

    Как устроен 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.

    Источник

    Читайте также:  Кабель мкэш температура эксплуатации
    Adblock
    detector