Регулярно в процессе разработки электроники возникают вопросы: "А как правильно? А так можно? Будет ли это работать?". В связи с этим предлагаю посмотреть: а как же проектируют свои устройства передовые технологические компании? Где они ошибаются, а что делают превосходно.

Продолжаем разбор схемы Macbook Pro 15'' на Intel i7. С первой частью можно ознакомиться тут

Материнская плата Macbook на базе intel i7

Материнская плата Macbook на базе intel i7

На этот разберём в основном цифровые блоки, разъемы, отладочные цепи. Цифровая часть состоит из стандартных интерфейсов (PCIe, DDR, USB, SPI, I2C итд), соединить которые на схеме достаточно легко. Поэтому начнем с обсуждения архитектуры.

Напоминаю, что разбирать я планирую на более менее продвинутом уровне. Буду выделять в основном интересные моменты, неочевидные нюансы или хорошие решения.

Схему можно найти в интернете по запросу в Google:
Apple X1190 820–01041 051-02643) r4.0.0 ali.

Архитектура

Поскольку в открытом доступе нет информации о точной архитектуре Macbook Pro, нарисуем ее самостоятельно исходя из схемы.

В качестве процессора используется Intel 9750H. Поискав в интернете несложно найти документацию на него. В нашем случае используется процессор в корпусе BGA1440 совместно с чипсетом (PCH). Итого 2 чипа.

9-е поколение процессоров Intel Coffee Lake

9-е поколение процессоров Intel Coffee Lake

Intel в своей документации показывает следующее подключение:

Вариант подключения процессора из документации Intel

Вариант подключения процессора из документации Intel

Intel предлагает использовать встроенную в процессор графику для подключения дисплеев, внешних мониторов и прочего. PCH же используется для периферийных, более медленных устройств (USB порты, аудио, Wi-Fi, BT, камера итд). Apple абсолютно не согласны с такой архитектурой. Камнем преткновения является безопасность данных с накопителей, камер, микрофонов, шифрование и touch ID.

Архитектура Macbook сосредоточена вокруг их собственного SoCа. Процессор от Intel обеспечивает систему скоростными интерфейсами, такими как PCIe G.3, двумя каналами памяти DDR4 x64 и DMI интерфейсом для соединения с PCH (аналог PCIe G.3).

Графика формируется с помощью встроенного eDP в CPU и GPU AMD Radeon 555X. Поскольку в Макбуке есть только разъемы USB-C, они используются для подключения внешних устройств и мониторов. При подключении мониторов рендеринг графики будет происходить на GPU и передаваться по DP в контроллер, который преобразует его в TBT. При подключении другого устройства, например SSD накопителя, взаимодействие будет происходить с CPU через x4 PCIe. Таким образом, данные идут через PCIe, а графика через DP.

Все взаимодействие с пользователем проходит через SoC от Apple. PCH формирует всего несколько интерфейсов, такие как x1 PCIe, 3x USB2.0, все остальную работу выполняет чип T2, который подключен к PCH по x4 PCIe. К Т2 подключены все 8 SSD по 1x PCIe G.3, аудио кодек, усилители для динамиков, защитный элемент, TouchBar, TrackPad, камера дисплей, все датчики и прочее.

По итогу у меня получилось следующая картина:

Блок - диаграмма Macbookа Pro 15'

Блок - диаграмма материнской плат�� Macbookа Pro 15'

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

5_CPU DMI/PEG/FDI/RSVD

На этой странице подключение CPU к мостам PCIe <-> TBT (2x4), AMD GPU (x8). А также шина DMI для подключения PCH. Стоит заметить, что интерфейс DDI (Digital display interface) остался не подключен. Встроенный DP от CPU мультиплексируется с DP от GPU и подключен к дисплею ноутбука.

Страница CPU DMI/PEG/FDI/RSVD

Страница CPU DMI/PEG/FDI/RSVD

Еще одна вещь, которая меня заинтересовала - это название портов PEG (PCIe Graphics). Судя по документации Intel, именно этот порт поддерживает ультранизкое потребление (L2/L3 Power state).

Режимы энергопотребления PEG портов

Режимы энергопотребления PEG портов

6_CPU Clock/Misc/JTAG/CFG

На это странице расположены подтяжки, которые устанавливаются режим работы CPU, например, разбиение портов (x8, x4, x4). Сигналы тактирования процессора, сигналы для менеджмента (PECI, PROCHOT, PWRGOOD итд), тестовые сигналы (XDP) и JTAG.

Страница CPU Clock/Misc/JTAG/CFG

Страница CPU Clock/Misc/JTAG/CFG

7_CPU DDR4 Interfaces

На это странице часть CPU, которая отвечает за DDR. Комментировать особо нечего.

CPU DDR4 Interfaces

Страница CPU DDR4 Interfaces

21_DDR4 VREF Margining

Для того чтобы контроллер памяти внутри CPU корректно распознавал и выдавал логические уровни на шине DDR - ему необходимо установить пороги. В данном случае это половина питаний для DDR контроллеров. Параллельно расположена RC цепь, которая дает небольшую задержку и демпфирует переходные процессы.

Страница DDR4 VREF Margining
Страница DDR4 VREF Margining

12_PCH RTC/CLK/ESPI/PM

С этой страницы начинается PCH. Он формирует все тактирование для CPU, PCIe EP (SOC, Wi-Fi). Из интересного: разработчики используют резисторы R1251, R1250 для гарантированной работы кварца. Каждый кварц имеет максимальную мощность, которую можно в него "закачать", обычно Drive level (измеряется в uW). R1251 создаст в случае чего условия для осцилляции, а R1250 ограничит ток (Drive level).

Страница PCH RTC/CLK/ESPI/PM

Страница PCH RTC/CLK/ESPI/PM

PCH подключен к T2 по eSPI. Это развитие старого LPC. Интерфейс работает на частоте 66Мгц и используется для процесса загрузки, передачи сервисной информации и общения с другими устройствами. Данные с системных шин SPI, SMBus, GPIO уже встроены в eSPI.

Тунелирование SMBus, SPI, GPIO в eSPI

Туннелирование SMBus, SPI, GPIO в eSPI

13_PCH DMI/JTAG/SPI/HDA

Тут расположена ответная часть интерфейса DMI и формирование сигналов управления для CPU. Заметим, что подключение HDA кодека не используется и выведено лишь на тестовые точки. Опять видим подключение к отладочному/тестовому разъему XDP (JTAG, SPI). PMSYNC, PMDOWN - сигналы, которые используются для общения между CPU и PCH о текущем состоянии процессора (Power state).

Страница PCH DMI/JTAG/SPI/HDA

Страница PCH DMI/JTAG/SPI/HDA

14_PCH PCI-E/USB

PCH подключен к Т2 по x4 PCIe и по x1 PCIe к Wi-Fi/BT модулю. 3x USB2.0 идут в Type-C контроллеры, а 4й порт выведен на отладочный разъем и мультиплексируется с другим USB2.0. USB3.0 задействован исключительно для отладки SoC T2 или глобально системы. JTAG ведет к тестовому разъему XDP.

Страница PCH PCI-E/USB

Страница PCH PCI-E/USB

15_PCH GPIO/MISC/NCTF

На этой странице располагаются подтяжки для определения режимов работы системы, в том числе объема памяти DDR.

Страница PCH GPIO/MISC/NCTF
Страница PCH GPIO/MISC/NCTF

19_Chipset Support 1

Поскольку некоторые микросхемы имеют разные логические уровни (1.8, 3.3) для их соединения требуются трансляторы уровней. На данной странице представлены как раз такие микросхемы. Сигнал синхронизации WLAN_AUDIO_SYNC формируется SoC T2 и должен также приходить на PCH. Кроме того, тут располагаются сигналы CLKREQ_N. В устройствах, которые питаются от батареи, важно снижать потребление. Когда тактирование для PCIe EP не требуется, его отключают по данному сигналу, чтобы не разряжать батарею. Для GPU данный сигнал становится валидным после выставления PGOOD = 1.

Страница Chipset Support 1
Страница Chipset Support 1

20_Chipset Support 2

Еще одна страница с трансляторами уровней, также на ней располагается отладочный разъем для eSPI. Слева на страницу приходит сигнал глобального сброса всей платформы (PLT_RST), далее он расходится по крупным микросхемам.

Страница Chipset Support 2
Страница Chipset Support 2

22_DDR4 SDRAM Channel A 1

23_DDR4 SDRAM Channel A 2

24_DDR4 SDRAM Channel B 1

25_DDR4 SDRAM Channel B 2

8 чипов DDR4 шириной х8 подключены на каналы А и В. Итого получаем 16 чипов, как и говорит архитектура.

Страница DDR4 SDRAM Channel A 1

Страница DDR4 SDRAM Channel A 1

26_DDR4 Termination

На этом листе у нас терминация DDR. Однополярные адреса и прочие сигналы имеют параллельную терминацию на питание VTT. Средняя точка дифференциального сигнала тактирования терминированна на VTT через емкость.

Страница DDR4 Termination

Страница DDR4 Termination

Напомню, что в DDR4 шина CA проходит через все чипы и терминируется в конце на 1/2VTT.
Это связано с особенностями каскадов POD. Шина данных имеет ODT .

Схема терминации адресов
Схема терминации адресов

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

27_USB-C HIGH SPEED 1

Переходим к мосту PCIe/DP <-> TBT. Как уже было рассказано в разделе архитектуры, мосты подключены по x4 PCIe к CPU и по DP к GPU. На выходе у мостов x2 TBT, которые идут на межплатный разъем. Для работы подобных мощ��ых микросхем требуется свой кварц, SPI Flash с конфигураций, которую можно заметить слева на листе.

Страница USB-C HIGH SPEED 1

Страница USB-C HIGH SPEED 1

28_USB-C HIGH SPEED 2

И хоть лист совсем не про high speed, а про питание микросхемы, разберем его. В целом мы уже видели все подобные приемы ранее. Микросхема имеет встроенные силовые ключи для формирования питания самой себе.

Страница USB-C HIGH SPEED 2

Страница USB-C HIGH SPEED 2

30_USB-C PORT CONTROLLER A

На этой странице у нас комбинация цифровых интерфейсов (USB2.0) и силовых ключей. Я нашел контроллер подобный изображенному на листе - TPS65982.

Страница USB-C PORT CONTROLLER A

Страница USB-C PORT CONTROLLER A

Контроллер самостоятельно формирует себе питания, управляет CC логикой, выдает различные полезные сигналы (превышение напряжения, тока). SoC также имеет возможность давать контроллеру команды по I2C. Сборка ключей Q3100 используется для блокирования проникновения напряжения батареи на шину и наоборот. Можно также заметить закороченные сигналы SENSEP/N, это приведет к деактивации функции измерения тока, но позволит не ставить лишний шунт.

Внутренности TPS65982

Внутренности TPS65982

Хочу заметить, что на текущем листе выход USB2.0 не подключен ни к чему. Один из входов мультиплексора USB2.0 подключен к микросхеме еще одного мультиплексора U3000 (видимо также для отладочных целей).

29_USB-C X Support

Похоже не на support, а на кашу, но давайте попробуем разобраться. Слева на странице расположен те самые предохранители на 6А по 12В. Посередине листа расположены разъемы для управления USB/TBT контроллеров. Снизу, судя по всему, cross switch для USB и SWID сигналов, который также служит для отладки. Справа - соединения TBT контроллера (мастера) к USB контролерам.

Страница USB-C X Support
Страница USB-C X Support

30_USB-C PORT CONTROLLER B

Аналогичный контроллер, но теперь выход и входы мультиплексора USB2.0 подключены к PCH и разъему TBT. GPIO контроллера используется для формирования сигнала OC (Over current), который идет на PCH. Не очень понимаю, как можно формировать подобный сигнал при отсутствии шунта для измерения тока.

Страница USB-C PORT CONTROLLER B

Страница USB-C PORT CONTROLLER B

32_USB-C CONNECTOR A

Все USB/TBT контроллеры ведут к внешнему разъему USB-C. На питании у него стоят диод Шоттки и TVS. Вместе они помогают ограничить осцилляции и неприятные эффекты от индуктивной нагрузки (кабеля). На линиях данных стоят ESD диоды с очень маленькой емкостью (чтобы не ослаблять сигнал USB SS). Также SS линии притянуты к земле подтяжками в 220кОм и имеют последовательные резисторы 2Ом. Предполагаю, что это может быть сделано для снижения отражений по высокосортным линиям и ограничения тока в случае КЗ.

Страница USB-C CONNECTOR A
Страница USB-C CONNECTOR A

36_WIFI/BT: MODULE 1

Модуль WiFi/BT от Murrata (внезапно) подключен к PCH по x1 PCIe, UART. К SoCу он подключен по 2м UARTам. Хотя подключение UART_BT спорное, поскольку у аналогичного модуля выводы I2C не поддерживают режим UART. По традиции у модуля есть свои SPI Flash. Причем 2 разных (для WiFi и BT). У модуля также присутствуют встроенные ключи. С помощью индукторов на схеме он формирует себе напряжение питания. Руководит дискретными сигналами в основном SoC. К модулю подключаются антенны на разный диапазон, которые расположены на других листах.

Страница WIFI/BT: MODULE 1

Страница WIFI/BT: MODULE 1

Вот так выглядит начинка подобного модуля от Murrata.

Архитектура Wi-Fi/BT модуля от Murrata
Архитектура Wi-Fi/BT модуля от Murrata

Однако в macbook, судя по всему, более продвинутая версия с расширенным функционалом.

35_WIFI/BT: Support

Мультиплексированием UARTа между SoC и PCH управляет SoC с помощью сигнала BTUARTMUX_SEL_PCH. Также предусмотрена защита: пока SoC не выдаст SMC_PCH_PWROK мультиплексор не будет активен.

Страница WIFI/BT: Support
Страница WIFI/BT: Support

37_AP & BT Conn

Для экономии места используются 3 разъема для антенн, которые разбиваются на 2 разных поддиапазона с помощью диплексеров. На этой же странице сидит акселерометр и отладочный разъем для Wi-Fi/Bluetooth модуля.

Страница AP & BT Conn
Страница AP & BT Conn

38_SoC GPIO/SEP/USB/DDR/Test

Переходим к SoCу T2. Аналогичный прием с резисторами R3941, R3940 для осциллятора. С помощью резисторов задается ток драйвера DDR, USB.

Страница SoC GPIO/SEP/USB/DDR/Test

Страница SoC GPIO/SEP/USB/DDR/Test

39_SoC AOP/AON/SMC

На этой странице расположены аналоговые входы SoCa для измерения токов и напряжений. Присутствуют сигналы от DMIC, I2C, UARTы, различные GPIO. eSPI используется для первичной загрузки PCH при страте системы и передачи служебной информации.

Страница SoC AOP/AON/SMC

Страница SoC AOP/AON/SMC

40_SoC ISP/I2C/UART/SPI/I2S

Продолжение периферии SoC. По MIPI подключена камера и дисплей. Для подключения аудио усилителей и кодека используется I2S. UARTы для подключения микросхемы защиты (SE), BT, Wi-Fi. Причем практически везде используется UART к модемными CTS, RTS для контроля потока данных.

Страница SoC ISP/I2C/UART/SPI/I2S

Страница SoC ISP/I2C/UART/SPI/I2S

41_SoC PCIe

По PCIe SoC соединен напрямую к PCH по 4 лейнам. Также из SoCа выходят 8x1 PCIe к 8-ми SSD ��ипам. Еще один x1 линк используется для системы Lifeboat. Интернет говорит, что с помощью подключения к разъему Lifeboat возможно спасти данные, если SSD были повреждены. Также хочу отметить, что PCIe Refclk идет на две микросхемы SSD одновременно.

Страница SoC PCIe

Страница SoC PCIe

46_SoC Shared Support

На этой странице расположены критические сигналы для функционирования системы. Слева - подтяжки, которые определяют конфигурацию системы (ревизия платы, ID, режим отладки SoC). Микросхемка посередине - опорный источник для АЦП SoC. Схема в нижнем левом углу формирует сигнал CPU_VCCST_PWRGD только если система не находится в сбросе. Справа снизу загадочная микросхема U4740. Мое предположение: она представляет собой некий цифровой автомат, выдает сигналы справа в зависимости от сигналов слева. Кстати, обратите внимание на делители на входных сигналах, уровни которых составляют 3.3В. Допустимое решение для медленных однонаправленных сигналов.

Поднимаемся выше. Тут у нас схема буферизации сигнала SMC_PROCHOT_L. Скорее всего, SoC имеет возможность управлять им, но выходной ток у него ограничен. Таким образом буфер с триггером Шмидта по входу - хорошее решение. Еще выше видим транслятор уровней системных сигналов U4760. Справа вверху расположена SPI Flash для начальной конфигурации SoC.

Страница SoC Shared Support
Страница SoC Shared Support

Самое интересное на этой странице - схема сдвига уровня для двунаправленной шины PECI. Данная шина используется для передачи важной информации (температура, команды для управления).

Подключение устройств на шину PECI
Подключение устройств на шину PECI

Шина - проприетарный 1-wire от Intel, а SoC от Apple хочет подслушивать данные на шине и передавать свою информацию. В связи с этим и появилась схема, превращающая RX и TX от SoC в единый RX/TX PECI. Когда SMC_PECI_TX = 1 (SoC передает данные по TX), буфер U4750 также передает 1 на шину со своего входа (A = B). Когда SMC_PECI_TX = 0, буфер переходит в высокоимпедансное состояние, позволяя SoC слушать шину по RX.

47_SoC Project Support

На этой странице в основном соединение цепей через резисторы/конденсаторы. Справа расположены два разъема, к которым подключаются датчики вскрытия. Датчики утягивают сигналы SMC_LID_RIGHT, SMC_LID_LEFT в 0, пока корпус не вскрыли. Когда они сработали, сигнал идет на другие компоненты, в том числе на плату Touch ID, TPAD. Возможно, они записывают данное событие себе в регистр и могут выполнять определённые действия.

Страница SoC Project Support
Страница SoC Project Support

49_Secure Element

Микросхема защиты подключена к SoC по UART с контролем потока (RTC, CTS). Предсказуемо найти компонент по названию мне не удалось. К выводу VBAT подключены PP3V3_G3S_T. Напряжение, которое присутствует в G3S состоянии.

Страница Secure Element
Страница Secure Element

50_DFR & T208 Support

Насколько я понял из интернета, DFR - это Touchbar. Он состоит из дисплея и сенсора. Сенсор (верхний разъем) подключен по SPI. На этот же разъем приходит сигнал с датчика вскрытия. Снизу дисплей, который подключен по MIPI к SoC. Использован отдельный источник 1.8В, который питается от PP3V3_G3H_DFR. Которое, в свою очередь, формируется из PP3V3_G3H_RTC_X. Таким образом, дисплей работает в состоянии G3H.

Страница DFR & T208 Support
Страница DFR & T208 Support

Чуть подробнее состояния питания системы можно увидеть на картинке из этой статьи:

Power state для платформы c T2 SoC
Power state для платформы c T2 SoC

51_I2C Connections 1

Наконец то более - менее оформленная страница, или я уже привык. Глобально тут ничего интересного, подтяжки I2C и трансляторы уровней. В центре можно подсмотреть какие устройства в каком состоянии питания работают. Например, в G3H/G3S работают trackpad, контроллеры USB-C, зарядник, батарея и SSD.

 Страница I2C Connections 1
Страница I2C Connections 1

52_I2C Connections 2

Продолжение подключений I2C. Справа расположены адресы большинства устройств на шине SoC.

Страница I2C Connections 2
Страница I2C Connections 2

59_Fans/SMC/AMUX Support

На странице расположены два разъема, которые, видимо, используются для питания вентиляторов. Однако управление идет с другого разъема.

Страница Fans/SMC/AMUX Support
Страница Fans/SMC/AMUX Support

65_Keyboard & Trackpad 1

На эту страницу и приходят PWM с прошлой страницы. PWM и сигнал тахометра расположены на разъемы клавиатуры. Единственное, мне не ясно, зачем подводить питание и через этот разъем. Возможно, оно нужно для логических уровней. На разъем Trackpad приходят аж 12В (отсюда и предохранитель). Управление по SPI от SoC.

Страница Keyboard & Trackpad 1
Страница Keyboard & Trackpad 1

66_Keyboard & Trackpad 2

Завершают схему trackpadа трансляторы уровней. Тут все логично: быстрый SPI на специализированных микросхемах, а медленные сигналы - на дискретных, более дешевых транзисторах.

Страница Keyboard & Trackpad 2
Страница Keyboard & Trackpad 2

82_eDP Display Connector

Помните разъем дисплея из архитектуры, который подключен по MIPI к SoC и к eDP/DP? Вот он, снизу справа страницы. Кроме того, посредине расположен переключатель MIPI от SoC

Забавляют подписи:

Resistor needed?

I2C pulls needed on both sides???

Я бы сказал, что последовательные резисторы тут не помешают, чтобы не подключить MIPI напрямую в землю и не выжечь драйвер (хотя возможно, сопротивления ключа хватит).

Кроме этого, опять видим микросхему - конечный автомат в лице U8510. А сверху интересная схема. Она задерживает включение PP3V3_S0SW_LCD относительно PP5V_S0SW_LCD и выключение PP3V3_S0SW_LCD относительно PP5V_S0SW_LCD. Скорее всего, у дисплея есть определенная последовательность включения/отключения питания.

На линиях MIPI синфазные фильтры. Очень логично, учитывая, что интерфейс пойдет по кабелю.

Страница eDP Display Connector
Страница eDP Display Connector

83_SSD0 S4E 0

84_SSD0 S4E 1

85_SSD0 S4E 2

86_SSD0 S4E 3

88_SSD1 S4E 0

89_SSD1 S4E 1

90_SSD1 S4E 2

91_SSD1 S4E 3

На этих страницах располагаются те самые 8 SSD, подключенных к SoC. Все SSD подключены в последовательную цепочку по JTAG для удобства отладки. Опять встречаем трехвыводные конденсаторы с низкой индуктивностью. Выводы ZQ_C, ZQ_N используются для калибровки микросхемы

Страница SSD0 S4E 0

Страница SSD0 S4E 0

95_GPU Baffin PCIe

Подключение AMD GPU начинается с PCIe. Как и указано в архитектуре x8 PCIe G.3 идет от CPU. Сигнал EG_VR0_PGOOD формируется из Power good источников GPU и системных 3.3В. А для отладки даже добавили первый светодиод, который я вижу на схеме.

Страница GPU Baffin PCIe

Страница GPU Baffin PCIe

97_GPU Baffin FB

Особо ничего интересного, обычное подключение GDDR5 к GPU. Ток драйвера устанавливается резисторами

Страница GPU Baffin FB

Страница GPU Baffin FB

99_GDDR5 VRAM FB 1 [104]

100_GDDR5 VRAM FB 2

Подключение самих чипов GDDR. Шина X32 идет на каждый чип, практически аналогично DDR4. Терминация клоков, настройка силы драйверов.

Страница GDDR5 VRAM FB 1 [104]

Страница GDDR5 VRAM FB 1 [104]

102_GPU Baffin GPIO/CLK/Straps

Различные настройки для GPU, SPI-Flash для загрузки настроек в чип. Также можно заметить тактовый генератор с точностью 20ppm. Хотя опция с кварцем была также доступна.

Страница GPU Baffin GPIO/CLK/Straps

Страница GPU Baffin GPIO/CLK/Straps

103_GPU Baffin DP/GPIO

На этом листе расположены управляющие сигналы GPU, DP для мостов PCIe/DP <-> TBT, отладочный JTAG, I2C и немного питания с фильтрами. Справа на листе стоят загадочные конденсаторы CA8800, CA8801 с последовательными резисторами. Возможно, они предназначены для установки полосы PLL либо для фильтрации питания.

Страница GPU Baffin DP/GPIO

Страница GPU Baffin DP/GPIO

93_EDP Mux

На этой странице встречаются eDP с CPU и DP c GPU. Мультиплексор управляет тем, какой интерфейс попадет на дисплей. Также на странице располагается обычный I2C расширитель портов. А еще тут формируется сигнал для сброса дисплея, если PMIC умер. Аналогично с GPU. Если умерли (или просто отключились) источники или пришел сброс для всей платформы, формируется сигнал GPU_RESET_L.

 Страница EDP Mux
Страница EDP Mux

105_USB-C HIGH SPEED 1

106_USB-C HIGH SPEED 2

107_USB-C T Support

108_USB-C PORT CONTROLLER A

109_USB-C PORT CONTROLLER B

110_USB-C CONNECTOR A

На этих страницах идет полное повторение ранее разобранных страниц.

18_CPU/PCH Merged XDP

Отладочный разъем XDP. На него приходит большинство отладочных сигналов, сигналы критичные для работы платформы.

Страница CPU/PCH Merged XDP
Страница CPU/PCH Merged XDP

В XDP разъем втыкается шлейф от голубой коробочки. Далее вы выбираете тест для системы, его параметры и идете отдыхайте. Тем временем Bluebox общается с CPU, PCH по JTAG, проверяет необходимые сигналы.

XDP Bluebox
XDP Bluebox

119_DFU TEST POINTS

120_FCT TESTPOINTS 2

121_ICT, MAC-1 ,EE Testpoints

На этих страницах представлены тестовые точки для ICT и ручного тестирования. Такие вещи облегчают жизнь, особенно они нужны на первых этапах разработки.

Заключение

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

Основное и самое важное: SoC подключен к PCH по x4 PCIe G.3, при том к SoC подключено кучу периферии, в том числе и 8x1 PCIe G.3 SSD. Догадываюсь, что расчет на то, что обращение к SSD не будет забирать всю полосу. Скорее всего, так и есть. И еще одно. PCH подключен к CPU по DMI, что по факту эквивалентно x4 PCIe G.3. Таким образом, имеем два узких места: соединение PCH <-> CPU и PCH <-> SoC. Теперь становится очевидно, почему Apple перешли на свой процессор. Они закрыли проблему узкого места в интерконнекте и смогли использовать периферию SoC на полную без необходимости пропускать ее через сторонний PCH от Intel.

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