Тайна первых iPhone: как Siemens и Samsung сделали железо для первого смартфона Apple [Длиннопост, про железо]
Последние 5 лет, Apple использует в своих устройствах чипы исключительно собственной разработки. iPhone, Mac, Apple Watch, AirPods — все эти устройства так или иначе базируются на процессорах, которые были разработаны инженерами яблочной компании. Однако в 2000-х всё было не так и Apple собирала свои устройства из целой солянки самого разного железа — чаще всего от Samsung и Infineon (Siemens).
В сегодняшней статье мне хотелось бы рассмотреть аппаратную платформу оригинального iPhone и iPhone 3G. Мы с вами развеем главный миф о процессоре от Samsung, разберем устройство, проанализируем схемотехнику, узнаем и узнаем, за что отвечает каждый чип на плате. Интересно? Тогда жду вас под катом!
❯ Предисловие
Пожалуй главный расцвет Apple как технологической компании произошел в 2000-х годах. Именно в это время, Apple зарекомендовала себя не только как производителя компьютеров, но и носимых гаджетов, многие из которых получили статус культовых. Например MP3-плеер iPod в своё время получил статус легенды за счёт того, что использовал для хранения треков миниатюрный жёсткий диск объёмом в 5ГБ. И несмотря на то, что эта технология была отнюдь не в новинку (Compaq PJB-100 появился на 2 года ранее), именно фирменный Apple'овский дизайн и интуитивный подход управлению сделал iPod одним из самых желаемых плееров нулевых.
При этом в те годы Apple свои процессоры ещё не разрабатывала и собирала свои устройства в основном на базе проверенных решений других производителей — зачастую с некоторой кастомизацией. На примере того же iPod можно сначала вспомнить двухъядерные чипы от PortalPlayer, которые использовались вплоть до 2005 года, после чего их заменили полу-кастомные решения от Samsung. Интересно было и то, что в те годы Apple не так сильно заморачивались с блокировкой загрузчиков, благодаря чему iPod'ы успешно поддавались хакингу и запуску кастомных прошивок (в том числе и Linux) — например Rockbox.
Когда Apple решила создать свой первый смартфон, компания стояла перед выбором: какой процессор ей использовать. Из рассматриваемых вариантов были, в том числе, процессоры Intel XScale от ARM — однако менеджмент Intel не увидел перспектив в смартфонном бизнесе и продал ARM-подразделение компании Marvell. Звучит странно, учитывая что в половине коммуникаторов и КПК нулевых использовались процессоры XScale, однако не стоит забывать что львиную часть этих устройств производила компания HTC, которая, видимо, в целях экономии была вынуждена мигрировать на чипы OMAP от Texas Instruments...
При этом OMAP'ы были главным конкурентом Intel на рынке смартфонных процессоров. Они использовались почти во всех Symbian-смартфонах Nokia до 2008'ого года, в большинстве кнопочных смартфонов на Windows Mobile и в немалом числе WM-коммуникаторов из среднебюджетного сегмента. Уже в 2005'ом году, Ti разработала OMAP 2420 — ARM11-процессор с видеоускорителем PowerVR MBX, который использовался в Nokia N95 и концептуально был самым близким родственником процессора оригинального iPhone...
Главной фишкой OMAP'ов была интеграция модема в один кристалл с основным процессором, что позволяло заметно снизить конечную стоимость устройства. Однако Apple лёгких путей не искала и решила заключить контракт с Samsung — у которых к 2007 году уже был готов процессор S3C6400, который ошибочно во многих источниках (даже в Википедии) считается процессором первого iPhone. На самом деле, в первом iPhone использовался S5L8900 — заказной собрат S3C6400, где всё было идентичным кроме видеоускорителя — вместо Samsung FIMG, Apple попросила поставить PowerVR MBX.
Поскольку S5L8900 был лишь AP-процессором, для работы телефонной части был необходим внешний модем. В iPhone 2G им стал Infineon S-Gold PMB8876, который по совместительству является процессором таких легендарных телефонов, как Siemens S75, S68, EL71, а почти идентичный PMB8875 использовался в C65/S65/M65. Иронично что первый iPhone был эксклюзивно привязан к оператору AT&T и его очень быстро хакнули как раз из-за использования S-Gold'а: в 2007 году моддинг-сцена телефонов Siemens переживала свои лучшие годы, а поскольку прошивка модема в iPhone базировалась на той-же кодовой базе, что и уже отреверсенная прошивка Siemens'а, хакерам удалось быстро обойти проверку оператора.
В iPhone 3G уже использовался X-Gold PMB8878 с поддержкой сетей третьего поколения. Интересно то, что X-Gold'ы стали сердцем некоторых популярных моделей Nokia конца нулевых — так что Siemens (пусть и руками дочки в лице Infineon) достал Nokia и Apple даже после кончины своего мобильного подразделения...
Мне мой iPhone 3G достался ещё в 2022 году, вместе с лотом других устройств из утиля за 1.500 рублей. Аппарат был полностью рабочим, но заметно уставшим, без винтов и с сломанным сим-лотком. И именно на его примере мы с вами изучим аппаратную платформу первых iPhone!
❯ Разбираем
Уже в 2008'ом году, разборка iPhone была нетривиальной задачей. Как и в последующих моделях, процесс начинался с откручивания двух винтов с торца устройства и снятия дисплея с помощью присоски. При этом обязательно повреждается резиновая рамка-проклейка вокруг дисплейного модуля, что оставляет на многих обслуженных iPhone 3G «боевые следы»:
Главным минусом iPhone в те годы считался корпус из поликарбоната. Он выглядел и ощущался слишком дешево, как для устройства за 600$, а с годами при этом ещё и сильно царапался и трескался. Китайские корпуса на 2G/3G/3Gs — обычное дело. В отличии от многих других устройств тех лет, в наше время корпуса большинства первых iPhone'ов дезинтегрировались — так произошло и с моим экземпляром :(
Второй болячкой были аккумуляторы сомнительного качества, которые ещё и расположены были максимально неудачно. Раньше аккумулятор находился под материнской платой и зачастую вспухал за год-два использования, ломая корпус или выдавливая плату с дисплеем, как в случае с iPod Touch.
После разборки открывается вид на материнскую плату устройства, которая в моём iPhone уже была изогнута вспухшим аккумулятором. Как вы понимаете, ремонт такой платы невозможен и теперь она послужит как донор для ремонта другого iPhone с отвалом памяти. У первых iPhone дезинтегрируется не только корпус, но и коннекторы шлейфов на материнской плате, так что при сборке/разборке нужно быть максимально осторожным. Плата поделена на две части — с верхней расположилась AP-часть — то есть центральный процессор, память и контроллер питания, а снизу — модем. Защитные экраны легко снимаются, что также большой плюс для сложного ремонта.
Обзор схемотехники мы с вами по классике начнем с AP-части. В качестве сердца устройства выступает тот самый процессор Samsung S5L8900, который, как я уже говорил ранее, является прямым родственником S3C6400. Последний можно было найти в нескольких моделях коммуникаторов от Glofiish (X900/DX900), а его продолжение, S3C6410 — в «клоне» iPhone под названием Meizu M8 и Samsung Omnia II. Ещё более прокачанную версию под названием S5P6422 можно было найти в Galaxy Spica и Galaxy 580. Такая вот наследственность. Внутри S5L8900 скрывается:
Одно процессорное ядро ARM1136JZF-S с 16КБ L1-кэша инструкция и 16КБ L1-кэша данных. Процессор способен работать на частоте до 667МГц, однако в iPhone его затормозили до 412МГц.
Видеоускоритель PowerVR MBX Lite. В этом и заключается главное отличие от 6410, где используется собственный GPU от Samsung — FIMG3DSE. Несмотря на поддержку FIMG3DSE шейдеров, PowerVR MBX работал заметно шустрее и его драйвера были стабильнее, что в своё время положило начало массовым 3D-играм на смартфонах.
MBX интересен тем, что имеет прямые корни от видеочипа в Dreamcast'е, а также видеокарты Midas 3, о которых я рассказывал в рамках прошлой статьи про 3dfx Voodoo. То есть да — это полноценный FFP GPU с отложным TBDR-рендерингом, Fixed-point арифметикой и аппаратным вершинным конвейером — T&L.DSP для декодирования видео. Именно благодаря нему, iPhone 2G вплоть до 2019 года мог свободно воспроизводить видео на YouTube без тормозов.
Контроллер i2S для 5.1 звука, а также встроенный ЦАП.
Контроллер SDRAM/DDR-памяти, а также NAND.
Контроллеры SD/CF, USB OTG, MIPI матриц с разрешением до 1024x1024, а также SPI/I2C и GPIO.
И всё это в небольшом чипе на техпроцессе 65нм!
Круто, да? Ещё круче было то, что iPhone 3G был одним из первых смартфонов, где оперативная память распаивалась поверх процессора бутербродом. В качестве оной используется 128МБ чип памяти типа DDR1, когда в 2008 уже во всех ПК был DDR2 (а в коммуникаторах всё ещё SDRAM). По меркам Samsung, бутербродная технология была не в новинку — S3C24xx родом из 2003'ого года уже интегрировал в себя 64МБ SDRAM ОЗУ за счёт того, что память была расположена над кристаллом процессора.
128МБ ОЗУ всё же было маловато на момент 2008 года. Первые Android смартфоны шли с 192МБ и даже 256МБ ОЗУ.
Чуть выше процессора расположился чип SPI NOR флэш-памяти SST25VF080B объёмом в 1МБ, который подключён к AP-процессору и используется, предположительно, для хранения iBoot или каких-то калибровок, а также сериализатор шины дисплея LM2512ASMX. Левее расположился контроллер тачскрина Broadcom BCM5974VCKUFBG (да, на первых смартфонах с емкостными тачскринами контроллер нередко был на плате устройства) и контроллер питания OM3805HE04N3E (под кастом маркировкой Apple) с встроенными LDO и DC-DC-преобразователями для формирования питания остальных модулей устройства, а также Fuel-gauge для мониторинга уровня заряда. Зарядкой аккумулятора занимается отдельный чип — LTC4088. Чуть выше КП расположился аудиокодек Wolfson WM1817, вновь под маркировкой Apple, который подключен к процессору через шину I2S.
Зачем был нужен сериализатор дисплейной шины?
S3C6400/S5L8900 не умел в MIPI DSI, да и он тогда не был так распространен, поэтому Apple использовала дисплей с последовательной дифференциальной шиной MPL. Это прямой предок DSI.
В целом, это практически всё что можно сказать об AP-части. Довольно стандартно по меркам тех лет, концептуально условный HTC TyTN II/Kaiser, или Nokia N70 не особо сильно отличались от iPhone. Различия начинаются на том моменте, когда мы начинаем изучать модемную часть — и тут мы сразу видим тот самый легендарный Infineon'овский модем — PMB8878 X-Gold. Это был отдельный процессор со своим ARM-ядром и DSP, он запускал свою собственную многозадачную операционную систему (Nucleus RTOS + APOXI в качестве GSM-стека) и в обычных кнопочных телефонах выполнял роль самостоятельного центрального процессора. Внутри него скрывается:
Одно ядро ARM926EJ-S, работающее на частоте ~312МГц. Да, почти как AP-процессор, но у AP ядро свежее и производительнее при той же частоте!
Ещё одно ядро ARM7TDMI, которое используется, скорее всего, для частичной разгрузки 926'ого от задач работы с 3G-сетью.
DSP-сопроцессор TeakLITE-2, который занимается базовой обработкой датаграмм из GSM-сети, а также кодирования и декодирования звука.
2D-ускоритель и контроллер дисплеев с функционалом, примерно идентичным 2D-видеокартам из 90-х (S3 Trio).
Продвинутый BootROM с поддержкой Secure-boot. Да, загрузчик здесь с завода заблокирован!
Трёхъядерный мобильный процессор в качестве модема — это уже звучит как минимум круто! И да, как я уже говорил ранее — это прямой потомок процессоров Siemens 65'ой и 75'ой серии, который помимо Siemens'ов можно было найти даже в телефонах Nokia (например, X2-02 и некоторых Asha).
Чуть ниже PMB8878 расположился комбочип флэш и оперативной памяти специально для модема, а правее можно найти 2G-усилитель SKY77340, дополнительный контроллер питания PMB6820 специально для модема (да, он тоже умеет заряжать аккумуляторы и у него есть свои LDO и DC-DC). Чуть ниже КП можно увидеть Wi-Fi/BT-модуль Murata LBEE1WRLFZ (и да, они ловят отвалы — их можно перекатывать) и 3G RF-фронтэнд под маркировкой PMB6952. Под фронтэндом находятся три усилителя для разных UMTS/WCDMA бэндов.
С обратной стороны платы расположилась TSOP NAND-флэшка объёмом в 8/16ГБ, причем такие же можно было найти в MP3-плеерах, планшетах и многих других устройствах из нулевых годов!
❯ Заключение
Вот таким было железо первых двух iPhone. В целом, нельзя сказать что Apple здесь совершили какую-то революцию — и железо, и компонентная база, и схемотехника были абсолютно стандартными по меркам тех лет. Если заглянуть в схему любого Glofiish'а или HTC тех лет — можно увидеть что концептуально всё тоже самое. Однако заслуга Apple не в железе как таковом, а в уникальном UX, который изменил мир смартфонов...
А что вы думаете об iPhone 2G/3G/3Gs? Лично я считаю что это хороший смартфон для своего времени, однако не лишенный некоторых конструктивных нюансов. И самый главный из них — корпус отвратительного качества. Кстати, у iPhone 2G внутри всё ещё интереснее (там бутерброд), но оного у меня сейчас нет в рабочем состоянии. Может есть у кого донор?
Ну а я надеюсь, что вам было интересно. Подписывайтесь на блог, чтобы не пропускать новые статьи каждую неделю! А если вам интересна тематика ремонта, моддинга и программирования для гаджетов прошлых лет — подписывайтесь на мой Telegram-канал «Клуб фанатов балдежа», куда я выкладываю бэкстейджи статей, ссылки на новые статьи и видео, а также иногда выкладываю полезные посты и щитпостю. А ролики (не всегда дублирующие статьи) можно найти на моём YouTube канале.
А если вы хотите что-нибудь подарить из железа и увидеть о нём статью — пишите мне в Telegram. Меня очень интересуют самые разные гаджеты: начиная от игровых консолей и любых связанных с геймингом устройств, телефонов, смартфонов, КПК, заканчивая ретро-компьютерами и ноутбуками. Кто знает, может героем следующей подобной статьи окажется ноутбук из 90-х? :)
Особенно сильно я люблю ковыряться в ноутбуках из начала 90-х. Источник
После обзоров устройства не продаются, а остаются в моей коллекции. Когда-нибудь я хочу сделать музей, где к каждому устройству можно будет приложить QR и почитать мою статью. Кто знает, вдруг на следующей неделе я также подробно расскажу про девайс из вашей юности? :)
Фото Nokia 9300 с сайта mobile-review.com
Кстати, у меня есть GameBoy Advance SP, под который я очень хочу написать игру. Однако мой экземпляр был залит водой и кофе. Может у кого-то есть донор с дохлой платой, откуда я смог бы взять контроллер питания? У меня AGS-101.
Doom на умном будильнике Nintendo Alarmo
Энтузиаст под ником GaryOberNicht запустил Doom на умном будильнике Nintendo Alarmo.
Двигаться в игре можно при помощи верхнего сенсора, а а стрелять и открывать двери — через кнопки на корпусе.
Что такое настоящая любовь...
Пати продолжается! Вышла та самая 8 серия 9 сезона «Рика и Морти»
До финала фантастического безумия осталось всего два эпизода! Свежая 8 серия 9 сезона мультсериала «Рик и Морти» уже доступна для просмотра
Этот пост полностью безопасен для тех, кто еще не успел запустить плеер - спойлеров к сюжету здесь нет
Авторы снова выкрутили безумие и постмодернизм на максимум, подбираясь к финишной прямой сезона. Научно-фантастический абсурд, семейные проблемы Смитов, фирменный цинизм Рика и паника Морти - все на своих местах. Градус напряжения растет, ведь до развязки осталось всего две недели
Залетайте в комментарии делиться своими общими впечатлениями
Как вам серия?
[Длиннопост, про железо] Samsung C100 — маленькое чудо корейской инженерной мысли. Полный разбор схемотехники кнопочного телефона
Вообще, я заметил что читатели любят статьи с полным анализом схемотехники ретро-устройств. В марте мы с вами полностью разобрали схему и компонентную базу однокристального телефона Nokia 225, а в апреле изучили настоящий раритет из 90-х — Motorola StarTAC, где в качестве центрального процессора выступал легендарный m68k. В статье про StarTAC я упомянул, что после 2000-го года, прогресс мобильных телефонов пошёл семимильными шагами и чуть ли не каждый крупный производитель чипов предлагал свою собственную платформу для бюджетных телефонов...
Сегодня мы поговорим про одну из таких платформ от Skyworks на примере легендарного Samsung C100. Интересно узнать, как работал изнутри и что было «под капотом» у легендарного кнопочника из нулевых? Если любите настоящие гиковские статьи — то жду вас под катом!
Предисловие
Samsung C100 можно без преувеличений назвать легендарным телефоном. Будучи выпущенным в 2003 году, аппарат был одним из первых действительно бюджетных устройств с цветным дисплеем. При этом в отличии от Moto C350 и Siemens A60, в C100 использовалась не тормозная и блеклая 8/12-битная CSTN-матрица, а вполне приличный 16-битный UFB-дисплей с отличной цветопередачей и хорошим для тех лет разрешением в 128x128. Эдакий IPS из нулевых.
Как и многие другие корейские аппараты тех лет, C100 также мог похвастаться красивым дизайном и удобным форм-фактором «длинного» моноблока. Весил аппарат всего 76г, а его толщина была около 17мм — в те годы это считалось круто. На фоне C100, A60 выглядел слишком утилитарно и «по европейски», в то время как C350 выглядел стильно... но совсем уж бюджетно.
Однако C100 выигрывал у американцев и европейцев не только дизайном и технологиями, но и софтом. Пока в C350 и A60 люди были вынуждены довольствоваться заводским функционалом и парой тормозных игрушек, Samsung добавили в C100 поддержку самых первых Java-приложений. И хотя игр под MIDP 1.0 не так уж и много, сам факт возможности поставить сторонний браузер или мессенджер типа JIMM, был весьма крутым, хотя Java-приложения можно было качать только из дорого WAP-интернета.
Помимо этого, корейцы куда сильнее заморочились касательно интерфейса, нежели Moto и Siemens. У моторов и сименсов интерфейс был тормозной, блеклый и местами нелогичный (это скорее про A60), а вот в C100 пользователя встречали анимированные обои, богатая и красивая анимация каждого пункта меню и удобная навигация. К слову, интерфейс и в дальнейшем стал визитной карточкой Samsung и вплоть до выхода первого iPhone, Samsung считался чуть ли не эталоном красоты интерфейса (наравне с Sony Ericsson).
И конечно у Samsung не было равных в качестве звука. В 2003 году, C100 звучал просто невероятно: громкий динамик, 40-тональная полифония, поддержка аудио-формата MMF — это было уже покруче, чем просто тональная пищалка и простенькие MIDI. Дело в том, что в качестве синтезатора и аудиокодека для музыки здесь использовался отдельный чип Yamaha MA-3, который помимо классического PCM/ADPCM звука умел также в FM-синтез (по тому же принципу, что и OPL в звуковых картах из 90-х), а также Wavetable'ы. Вишенкой на торте был собственный формат MMF, который совмещал в себе фишки обычных midi-мелодий и трекерной музыки, позволяя микшировать к основному инструменталу ещё и PCM-сэмплы.
Этот Samsung C100 стал одним из первых телефонов в моей коллекции ретро-гаджетов. Достался он мне в 2021 году, когда я у барахольщика выкупил целый пакет телефонов со свалки за 1.500 рублей. Несмотря на то, что многие аппараты там были в очень уставшем состоянии, этот C100 вполне сохранился и полностью работал, а с его братиком в лице X460 я даже успел походить в 2022 году как с дополнительным. Причём несмотря на солидный возраст в 23 года, даже родной аккумулятор всё ещё держит заряд пару дней. Вот уж корейское качество!
После прошлых бюджетников в лице Samsung R200/R210, это был прямо таки серьезный апгрейд. Однако немногие знают, что за красивым и плавным интерфейсом, и крутым функционалом скрывается весьма заурядное и слабое железо. Более того, оно даже слабее, чем в Motorola C350... Звучит как что-то диковинное? Давайте разбираться!
Разбираем
В первую очередь, C100 привлекает типично-корейским конструктивом тех лет. Если на условной Nokia, Motorola или Siemens можно было менять панельки и кастомизировать корпус вообще не выкручивая винты, то у корейцев всё было стабильно монолитно: несколько винтов с нижней части корпуса и две мощных защелки с верхней. Интересно и то, что корейцы до последнего следовали концепции «аккумулятор — часть корпуса», из-за чего нередко можно было встретить условный LG с красным корпусом и белой задней «крышкой».
Несмотря на подмоченную репутацию и обилие ржавчины, аппарат всё равно оставался рабочим, даже аккумулятор не вздулся!
Как технаря, меня сразу удивило... или нет, даже поразило наличие подписанных тест-поинтов с JTAG для процессора устройства. Иными словами, телефон можно было отлаживать чуть ли не с помощью Dirty-JTAG адаптера, что позволяло патчить память, ставить брейкпоинты и реверсить прошивку. В целом, отношение к моддерам в те годы у Samsung было совсем другое, нежели сейчас. Загрузчики никто не блокировал, телефоны шились через обычные UART-USB преобразователи (которые были в дата-кабелях), никакие внешние программаторы не были нужны, а при наличии бэкапа аппарат просто нереально было окирпичить.
Сегодняшняя ситуация выглядит куда более контрастной: Samsung запретила разблокировку загрузчиков, убрала режим Odin для прошивки в свежих флагманских смартфонах, а если у устройства выходит из строя флэшка — то процессор отправляется в мусор, необходимо брать пару процессор + флэш из другого устройства. Выглядит грустно...
Чего уж говорить, с прошивками для C100, Samsung клали map-файлы от линкера с полным описанием всех символов в прошивке. Все названия функций, переменных, секций в памяти — всё это было в открытом виде и простейшим скриптом импортировалось в дамп прошивки в дизассемблере. Например в моддинг-сцене Siemens'ов практически всё это реверсилось годами руками крутых моддеров, а реверсеры Motorol'ок пользовались слитыми elf-файлами из R&D центра Motorola в РФ (Telma) с той же самой информацией.
На C100 также существовала моддинг-сцена, но патчи там были попроще — в основном на расширение памяти и возможность установки Java-приложений с ПК.
После разборки корпуса, перед нами открывается вид на материнскую плату устройства. И здесь уже сразу видно причину «неубиваемости» C100 — щедро налитый под всеми BGA-чипами компаунд. В целом и аппаратная платформа сама по себе достаточно простая и примитивная, ломаться здесь особо и нечему.
Интересно то, что все мобильные платформы тех лет строились по одному и тому же принципу: Baseband (центральный процессор), микросхема MCP с NOR и DRAM/SRAM/PSRAM (иногда RAM была отдельно), контроллер питания, RF-фронтэнд и усилитель мощности. На этом список чипов обычно заканчивался. В целом, Samsung почти не исключение...
С нижней части платы скрывается процессор SkyWorks CX805 (Conexant CX805), который состоит из:
Одного ядра ARM7TDMI, работающего на частоте ~46МГц (информация из строки с cmdline команды сборки). Классика тех лет, ARM7 пришёл на замену m68k в телефонах рубежа 2000-х годов, а также использовался в игровых консолях типа GameBoy Advance. Помимо SkyWorks, это же ядро можно было найти в ранних Ti Calypso, Motorola Neptune LCA/LTE (тот самый C350, E398 и Razr V3), а также платформах от Analog. К слову в C350, ARM7 работал на частоте в 54МГц и был чуточку шустрее.
ARM отвечает за обработку пользовательского интерфейса, Java, воспроизведение звуков и прочие повседневные задачи. Также он занимается самыми верхними слоями GSM-стека — например, обработкой AT-команд.Дополнительного DSP на собственной архитектуре Skyworks. Здесь он отвечает за обработку GSM-датаграмм (сырые пакеты, прилетевшие от фронтэнда, а в фронтэнд из антенны), кодирование и декодирование голоса и некоторые другие низкоуровневые операции с GSM-стеком типа установки связи с GPRS точкой доступа. В некоторых других телефонах, например Motorola C380 и E398, DSP также отвечает за декодирование mp3.
Контроллера параллельной внешней шины типа 8080. Контроллера DRAM в ранних мобильных процессорах не было, поэтому использовалась либо SRAM, либо PSRAM (DRAM с встроенным контроллером для рефреша памяти), из-за чего флэш, ОЗУ, дисплей и некоторая периферия подключались к одной единственной шине. В C100 к одной шине подключен дисплей, аудиочип Yamaha MA-3, ОЗУ и NOR.
RTC для подсчёта времени, аппаратных таймеров, ШИМ-контроллера, GPIO, контроллера клавиатуры, контроллера ИК-порта и конечно же PLL для тактирования периферийных блоков.
И всё это на техпроцессе в 250нм!
Вообще, я описал далеко не все фишки CX805, на самом деле процессор здесь гораздо сложнее, чем кажется. Но до пересказа даташита я пока ещё не дошёл :)
Рядом с процессором расположилась MCP Sharp LRS1828, которая содержит в себе ~16МБ памяти типа NOR и ~4МБ оперативной памяти типа SRAM.
Чуть правее расположилась легенда — чип Yamaha Y762C, также известный как MA-3. Как я уже говорил выше, это сердце аудиоподсистемы устройства и он занимается как синтезом звука с помощью FM-модуляции и Wave-таблиц, так и выводом уже оцифрованного звука с PCM/ADPCM потока. Рядом с MA-3 расположился неизвестный усилитель 4684.
В целом, то, что в нулевых чаще использовались midi вместо обычного PCM звука, связано как раз с ограниченным объёмом флэш-памяти, а не отсутствием технической возможности. В конце-концов, DSP из AMR на выходе выдаёт точно такой же PCM, какой и в wav-файлах.
Ещё чуть правее MA-3 расположился усилитель CX77306 вместе с TR-переключателем EPC05, а выше них RF-фронтэнд CX74017-16. Как мы с вами уже знаем по прошлым статьям, RF-фронтэнд является эдаким «черным ящиком», в котором происходит вся магия по преобразованию аналоговых GMSK-волн в цифровые датаграммы, которые затем обрабатывает DSP, и наоборот — из DSP датаграммы приходят в фронтэнд и отправляются в эфир. Процессор общается с фронтэндом посредством последовательной шины типа SPI.
Рядом с фронтэндом расположился контроллер питания CX20524, который включает в себя АЦП для RX-части фронтэнда, ЦАП для TX-части, монитор статуса питания (включая обработку кнопки включения), аудиокодек (для разговорной части устройства, не «музыкальной»), SPI для общения с процессором, LDO для формирования питания остальных модулей и, судя по схеме, чарджер литиевых аккумуляторов.
Однако на принципиальной схеме похоже есть ошибка, поскольку на практике зарядкой занимается легендарный LTH7. В нулевых довольно часто практиковался такой ремонт: если в телефоне выходила из строя логика зарядки и мастер не мог найти причину или нужный чип на замену, то брался LTH7 из донорских Samsung'ов, в «воздухе» разводилась необходимая обвязка (резистор и два сглаживающих конденсатора) и всё — зарядка снова работала :)
❯ Анализируем
В целом, принципиальную схему телефона можно представить вот так. Как мы с вами видим, центральный процессор в лице CX805 по сути представляет из себя самый обычный микроконтроллер по типу STM32, только к стандартному функционалу добавился ещё и контроллер клавиатуры. Интересно и то, что в те годы у мобильных процессоров не было отдельного контроллера дисплея и соответственно аппаратного ускорения отрисовки 2D-графики, из-за чего интерфейсы были относительно тормозными.
Помимо вычислительных ядер, в CX805 также есть BootROM с первичным загрузчиком и небольшой объём встроенной RAM. Как и в современных мобильных процессорах, в BootROM содержится код для первичной инициализации периферии — в первую очередь PLL для тактирования остальных модулей микроконтроллера, и UART для возможности запуска кода, полученного через COM-порт/USB. После первичной инициализации, BootROM ждёт специальный пакет «Beacon» на UART0 и если находит его — то загружает через UART в IRAM код специального загрузчика, который используется для перепрошивки телефона. Если Beacon'а нет — то управление передается прошивке в Flash-памяти телефона.
Читатель может спросить: а зачем нужен отдельный USB-загрузчик, если нужно просто записать прошивку на флэшку? Почему этого не может сделать BootROM?
В таких загрузчиках содержится init-sequence для контроллера NOR: маппинг памяти, число ChipSelect'ов и прочие параметры хранятся именно там.
Как я и говорил чуть выше, вся внешняя периферия телефона подключается к классической 24-битной параллельной шине типа 8080, что позволяет адресовать до ~16МБ памяти. При этом для выбора между банками RAM и ROM используется аж 7 разных чипселектов. Дисплей также подключен через шину 8080, однако своих адресных линий он не имеет — вместо этого его CS скорее всего дергают отдельным GPIO и «замапплен» он куда-то за пределы Flash.
К процессору подходят два внешних клока — первый на 32кГц для тактирования часов реального времени, а второй на 19.5МГц от контроллера питания для тактирования PLL. Опорный кварц приходит сначала в контроллер питания в первую очередь из-за того, что 19.5МГц нужны для синхронизации внутренних процессов RF-тракта, в то время как за тактирование периферии и ARM/DSP-ядер в процессоре отвечает многоканальный PLL.
За звук в телефоне отвечают сразу два модуля: DSP, который кодирует и декодирует AMR во время разговора, и аудиокодек, который представляет из себя ЦАП для преобразования PCM в аналоговый звук и АЦП, который преобразовывает звук из микрофона в тот же самый PCM. За музыку (и возможно системные звуки), как мы помним, отвечает чип от Yamaha.
Также в КП расположился контроллер SIM-карты. Дело в том, что разные сим-карты при внешней идентичности могут работать при разных напряжениях. Раньше симки работали при напряжении 3В, а современные работают при 1.8В. Соответственно сигнальные линии симки имеют такие же логические уровни, как VIn — а значит для работы нужна схема согласования, которую КП как раз и реализует. Для управления LDO, статусом зарядки и чтения данных с SIM, процессор подключен к КП через шину SPI.
За питание процессора, RF-фронтэнда и других модулей в КП отвечают конфигурируемые LDO'шки (их настраивает драйвер контроллера питания). Кроме того, присутствует дополнительная постоянно работающая LDO-шка для питания RTC в процессоре. Логика работы тут простая: когда мы вставляем аккумулятор, на VIN КП приходит VBAT — питание с аккумулятора. Далее внутренняя логика КП переходит в так называемый режим сна и ждёт нажатия кнопки включения. После нажатия кнопки, процессор сразу же поднимает LDO-шки в стандартные значения и ждёт ответа от процессора — так называемый Heartbeat. Если процессор не отвечает в течении какого-то времени, Watchdog в КП просто отключает питание — то есть когда мы выключаем телефон, процессор просто перестаёт слать Heartbeat'ы.
Интересно и то, что кнопка включения обычно сразу заставляет КП включить все питальники, но не устанавливает на них защелку. Защелка устанавливается программно загрузчиком телефона, если пользователь держал кнопку включения достаточно долго. Также в КП есть классический CC/CV чарджер, но в Samsung'ах его почему-то не использовали, предпочитая внешний чарджер LTH7. Зато использовали Fuel-gauge для мониторинга заряда аккумулятора.
За RF-часть я не настолько силен, но удивлен что ADC/DAC для RF-части находится не в фронтэнде, а именно в КП. Зато в фронтэнде в свою очередь находится мультиплексор для приема сигнала с разных частот — 900, 1800 и 1900, а также синтезатор частот и логика для управления усилителем сигнала. Интересно и то, что усилитель — один из главных потребителей в телефоне (может легко в пике потреблять чуть ли не 2А) и его всегда подключают напрямую к VBAT, так что при его выходе из строя телефон не включится вообще.
И в целом это всё! Могли бы с вами ещё более подробно изучить схему телефона на примерах конкретных цепей, но сервис-мануалы у Samsung'а так себе — есть только основные трейсы.
❯ Заключение
Вот таким был легендарный моноблок от Samsung. Как мы с вами видим, всё гениальное — просто! Красивому, шустрому и функциональному устройству не всегда нужен самый мощный процессор, работающий на предельном клоке и куча оперативной памяти, иногда вопрос стоит исключительно в оптимизации и желании сделать реально крутой аппарат. Респект инженерам Samsung!
Ну а я надеюсь, что вам было интересно. Подписывайтесь на блог, чтобы не пропускать новые статьи каждую неделю! А если вам интересна тематика ремонта, моддинга и программирования для гаджетов прошлых лет — подписывайтесь на мой Telegram-канал «Клуб фанатов балдежа», куда я выкладываю бэкстейджи статей, ссылки на новые статьи и видео, а также иногда выкладываю полезные посты и щитпостю. А ролики (не всегда дублирующие статьи) можно найти на моём YouTube канале.
А если вы хотите что-нибудь подарить из железа и увидеть о нём статью — пишите мне в Telegram. Меня очень интересуют самые разные гаджеты: начиная от игровых консолей и любых связанных с геймингом устройств, телефонов, смартфонов, КПК, заканчивая ретро-компьютерами и ноутбуками. Кто знает, может героем следующей подобной статьи окажется ноутбук из 90-х? :)
После обзоров устройства не продаются, а остаются в моей коллекции. Когда-нибудь я хочу сделать музей, где к каждому устройству можно будет приложить QR и почитать мою статью. Кто знает, вдруг на следующей неделе я также подробно расскажу про девайс из вашей юности? :)
Фото Nokia 9300 с сайта mobile-review.com
Кстати, у меня есть GameBoy Advance SP, под который я очень хочу написать игру. Однако мой экземпляр был залит водой и кофе. Может у кого-то есть донор с дохлой платой, откуда я смог бы взять контроллер питания? У меня AGS-101.
Интересные места для гиков в вашем городе
Я задался целью собрать все интересные для геймеров и гиков места в городах России. Хочу все собрать в одном месте и сделать для себя и других гид по местам в которые стоит зайти в каждом крупном городе. Сам я ищу по Красноярску, но и тут тоже не все можно найти в интернете, поэтому делитесь. Пишите город, адрес, название и что интересного есть в заведении.
Ответ на пост «Загадочная микросхема ME и для чего Intel ставит её в материнские платы»1
Во времена XP, я на её присутствие забивал, ну есть и есть.
Во времена 7-ки меня начал бесить драйвер в пару сотен метров, нахер не нужный, поэтому я написал батник, ставящий null драйвер (что бы диспетчере вопросы не висели и сон работал):
@chcp 1251>nul&&more +1 "%~f0">null_drv.inf &pnputil.exe -i -a "%cd%\null_drv.inf" &del "%cd%\null_drv.inf"
[Version]
Signature="$WINDOWS NT$"
Class=System
Provider=Intel_Home
DriverVer=02/02/2222,2.2.2.2
[Manufacturer]
Intel_Home=Intel, NTx86, NTamd64
[Intel.NTx86]
"(NULL) Management Engine Interface" = Intel_Inst, PCI\VEN_8086&DEV_A2BA
"(NULL) Management Engine Interface" = Intel_Inst, PCI\VEN_8086&DEV_06E0
[Intel.NTamd64]
"(NULL) Management Engine Interface" = Intel_Inst, PCI\VEN_8086&DEV_A2BA
"(NULL) Management Engine Interface" = Intel_Inst, PCI\VEN_8086&DEV_06E0
[Intel_Inst.Services]
AddService = ,2 ; no value for the service name
Сейчас просто отрубаю устройство в диспетчере (да, я в курсе, что эта падла все равно работает)
НИРАЗУ никаких глюков, типа неработающих кулеров, неработающего сна или перезагрузок, не было.








































