Уникальный смартфон из 2002'ого с процессором на архитектуре m68k и GPU: инженерное чудо Palm i710 [Длиннопост, про железо]
Мы все с вами привыкли, что начиная с 2000 года, на рынке мобильных процессоров доминирует ARM. Сегодня устройства на базе данной архитектуры окружают нас везде: смартфоны, колонки, вейпы, часы и многие другие устройства. Однако раньше всё было не так и когда-то основным конкурентом ARM была легендарная компания Motorola...
В 90-х годах, Motorola m68k был знаковым процессором. Он использовался во десятках легендарных устройств: компьютерах Mac, телефонах StarTAC и КПК от компании Palm. В 2002 году, Palm представила свой первый коммуникатор — i710, который сочетал в себе классический процессор из 90-х и современный радиомодуль. Сегодня мы с вами разберем это чудо инженерной мысли, изучим его схемотехнику и компонентную базу, и узнаем, на что был способен этот красавец на практике. Если любите настоящие технарские статьи — жду вас под катом :)
❯ Предисловие
Об устройствах компании Palm можно говорить долго — кто-то их хвалит, кто-то ругает, но факт остаётся фактом: эти КПК серьёзно повлияли на развитие современных планшетов и смартфонов как класса устройств. По своей сути, это были доступные и достаточно производительные карманные компьютеры, которые могли не только выполнять функции органайзера, но и выходить в интернет, и даже запускать различный пользовательский софт. А софта там было очень много...
Основную популярность КПК от Palm получили во второй половине 90-х годов. На базе одной аппаратной платформы вышло сразу несколько моделей, которые отличались между собой объёмом оперативной памяти (которая также выполняла роль «постоянной»), дисплеями и версией операционной системы PalmOS. При этом вплоть до 2002 года, во всех Palm'ах использовался процессор Motorola MC68328 «Dragonball EZ» — специальная, встраиваемая версия легендарного процессора m68k, разработанная для мобильных устройств.
В свою очередь, m68k берёт свои корни аж из 70-х годов. Будучи представленным в 1979 году, новый производительный процессор от Motorola с CISC-архитектурой и шириной машинного слова в 32 бита был прямым конкурентом Intel'овских 8080/8086 и косвенным конкурентом Z80/MOS6502 (они были 8-битными, но также активно использовались в компьютерах тех лет). За всю свою практически 50-летнюю историю, m68k использовался в миллионах устройств: компьютерах Apple Mac и Amiga, кнопочных телефонах StarTAC, консолях Sega Mega Drive и NeoGeo, и продолжает жить даже сегодня — в виде микроконтроллеров NXP ColdFire.
Однако уже в 2001 году, m68k начал заметно уступать позиции процессорам ARM. Дело в том, что основным конкурентом Dragonball EZ в своё время было ядро ARM7TDMI, которое в те годы могло работать на частоте до ~32МГц, поддерживало набор инструкций Thumb (позволял экономить память и избегать Cache-miss'ы при чтении инструкции из ROM) и +- было схоже по производительности с MC68328. Но в 1998 году, ARM представила новое ядро ARM9TDMI, которое в свою очередь могло работать на частоте аж до 150МГц. Именно поэтому, в своей новой линейке Tungsten, Palm решила использовать процессоры TI OMAP на базе ядра ARM925T, а для обратной совместимости реализовала встроенный в систему эмулятор m68k. Ирония была в том, что абсолютно все приложения (в том числе и системные) даже во времена Palm'ов на ARM собирались для m68k и выполнялись в эмуляторе, но даже несмотря на это, на 150 мегагерцовом ARM925T, PalmOS летала куда шустрее, чем на оригинальном 33 мегагерцовом m68k!
Но был в линейке Tungsten один попаданец и назывался он Tungsten W. От ARM-собратьев его отличало наличие радиомодуля и возможность звонить, а также использование старого доброго Dragonball'а и устаревшей версии PalmOS 4.1. Несмотря на экзотическую внешность и «устаревшую» аппаратную платформу, девайс получился очень интересным и необычным. Мне давно хотелось пощупать его на практике, а благодаря подписчику Ярославу, мне удалось привезти его в Россию из Китая. К слову если вы тоже захотите привезти себе ретро-гаджет из Китая, обращайтесь к нему :)
Давайте же по традиции блога разберем наш девайс и узнаем, что у него под капотом!
❯ Разбираем
Разборка Tungsten W начинается с выкручивания нескольких винтов по периметру корпуса и осторожного расщелкивания клипс. Сами клипсы довольно жесткие, а из-за старости пластик имеет тенденцию крошиться — так что не поддевайте зазор в районе карты памяти!
Сам коммуникатор выполнен выполнен в стиле «бутерброда» — отдельно верхняя часть корпуса с дисплеем и клавиатурой, отдельно плата на своём «шасси», и отдельно задняя крышка с сим-лотком.
В первую очередь, наше внимание привлекает чип MediaQ MQ-1100, который выполняет роль GPU в данном устройстве. Да, да — ресурсов 33 мегагерцового m68k уже не хватало для быстрого блиттинга графики на цветной экран с разрешением 320x320, поэтому инженеры Palm решили установить сюда полноценный видео-ускоритель, который включал в себя:
Контроллер цветных дисплеев с параллельным интерфейсом и глубиной цвета до 18 бит. Классика, даже в самом Dragonball VZ уже был встроен контроллер таких матриц.
Графический движок, ускоряющий рисование изображений (блиттинг), линий, а также прямоугольников. Функционал и производительность примерно схожи с DirectDraw-видеокартами из середины 90-х типа S3 Trio. Поддерживаются все ROP'ы из DDraw, а также клиппинг и прозрачность на ColorKey'ях.
Контроллер прерываний. Позволяет перехватывать VSYNC, прерывания от графического движка, GPIO, SPI, USB и I2S.
USB контроллер, USB-хост (в MQ-1132), I2S-контроллер и GPIO-контроллер.
Помимо этого, MQ1100 поддерживает интерфейс PCI, что позволяет его использовать в качестве видеокарты для вывода изображения на HMI-панель в обход скалеров.
Самое интересное то, что в 2003 году Nvidia купила MediaQ и переименовала её продукты в линейку GoForce. Сначала в ней выходили исключительно 2D GPU, которые к изначальному функционалу MQ-1100 добавляли контроллер камер и декодер H263, затем вышел первый GPU с поддержкой 3D — GoForce 4500 с поддержкой 3D-ускорения, а в 2005 представили GoForce 5500 с современной шейдерной архитектурой. Вполне возможно что именно GoForce лёг в основу GeForce ULP в процессорах Tegra :)
Чуть левее расположилось сердце устройства — тот самый процессор Dragonball VZ. Это продвинутая версия Dragonball EZ, которая включала в себя:
Процессорное ядро на базе m68k, способное работать на частоте до 66МГц. К сожалению вообще без L1/L2-кэша, хотя контроллер параллельной шины скорее всего умеет кэшировать хотя-бы 16 машинных слов «на перед».
Контроллер цветных дисплеев (о нём говорили выше). Сам по себе он предоставлял только фреймбуфер, ускорять отрисовку он не умел. Также присутствовал контроллер резистивных тачскринов.
За ОЗУ отвечал контроллер SDRAM, поддерживающий до 64МБ памяти, а за ПЗУ контроллер EPROM/NOR-памяти. Также EZ поддерживал карты памяти типа MMC и MemoryStick, что тоже было большим плюсом.
Из внешних шин были также два UART'а (в Tungsten W один из них подключен к модему, а второй выведен на периферийный разъём), SPI, I2C, GPIO и USB.
А из периферии продвинутый DMA, таймеры, Watchdog, аппаратный ШИМ и RTC.
Вполне неплохо для начала 2000-х годов, хотя процессоры от TI были куда круче (и дороже!). В целом, по характеристикам Dragonball EZ ближе всего к процессору Neptune LTE из телефонов Motorola C350/E398/Razr V3i, а по родословной — к Sega Mega Drive и Apple Mac'ам.
Рядом расположилась микросхема Flash-памяти типа NOR Am29LV640D производства AMD, объёмом в 8 мегабайт. На ней хранится прошивка устройства.
С верхней части платы в виде припаянной SoM расположился модем устройства. По классике тех лет, выполнен он на базе модема Texas Instruments Calypso (HERCROM) в паре с контроллером питания Iota и RF-фронтэндом Rita. Также на SoM расположилась отдельная микросхема eMCP с ОЗУ и флэш-памятью для хранения прошивки модема, и усилитель сигнала.
В начале 2000-х, Calypso использовался как самостоятельный процессор для кнопочных телефонов (Sony CMD-серии, все Sagem'ы, некоторые Motorola и даже Fly'и), и как модем для коммуникаторов. Помимо Tungsten W, его можно в неизменном виде найти в HTC Magician (O2 Xda Mini II/QTek S100), HTC Wallaby (O2 Xda/Qtek 1010) и других коммуникаторах тех лет, включая гиковский Linux-смартфон Neo 1973.
При желании модем можно выпаять и при поломке заменить на другой, привязок здесь скорее всего нет. А если найти схему, то чисто теоретически сюда можно хоть современный LTE-модем воткнуть
Единого контроллера питания здесь нет (кроме Iota в модеме), все питальники разведены на LDO'шках и DC-DC преобразователях, что большой плюс при ремонте устройства. За зарядку отвечает чип Linear LTC1732.
С обратной стороны платы расположился PHY-уровень RS232 SP3203ECY и контроллер тачскринов ADS7846E. Последний можно найти чуть ли не в половине коммуникаторов нулевых годов, при этом это ближайший родственник легендарного в кругах DIY-щиков XPT2046.
Также с обратной стороны расположилась одна банка оперативной памяти Infineon HYB39L128160AT-7.5 объёмом в 16МБ и ПЛИС от Xilinx. Вот что-что, а ПЛИСину тут я точно не ожидал увидеть и о её предназначении могу только догадываться :)
Оперативную память теоретически можно проапгрейдить, установив микросхему в 32МБ, при условии что загрузчик умеет сам определять объём памяти, а не полагается на страпы или «прожженную» конфигурацию контроллера памяти.
По маркировке мы можем узнать, что это тот самый трушный палм от инженеров Palm Inc. Ведь как мы с вами знаем из статьи про Treo 680, уже в 2004 году, линейку коммуникаторов отдали на аутсорс HTC...
❯ Включаем
После включения нас встречает классический рабочий стол PalmOS. Как я уже говорил, в Tungsten W используется версия 4.1, которая на момент выхода Tungsten'ов считалась несколько устаревшей. Тем не менее, совместимость m68k софта выше чем через PACE, так что на Tungsten W можно и играть в игры, и использовать повседневный софт.
Как я уже говорил ранее, Tungsten W — это коммуникатор, а значит GSM используется не только для выхода в интернет, но и звонков. Правда для разговоров нужна была гарнитура — в самом коммуникаторе не предусмотрено ни микрофона, ни разговорный динамика.
Конечно-же i710 предполагался для использвания в качестве бизнес-помощника. Поэтому здесь из коробки предусмотрен софт для рисования заметок и написания их текстом. Клавиатуры Graffiti здесь не предусмотрено, поэтому весь ввод исключительно на физической клавиатуре и да, она здесь очень удобная. Тактильно клавиатура напоминает здесь первые смартфоны от Blackberry.
Ну и куда же без одной из самых главных фишек PalmOS — синхронизации! У Palm'ов была очень удобная программа под названием HotSync, которая позволяла в один клик ставить софт, синхронизировать заметки, контакты и даже базы данных программ. И в отличии от ActiveSync, HotSync работает даже на современных ПК!
❯ Заключение
Вот таким был Palm Tungsten W, также известный как i710. Конечно компонентная база устройства вызывает гиковское восхищение и в наше время — все питальники на отдельных чипах, модем в SoM на базе распространенной платформы от Texas Instruments, процессор на архитектуре m68k и аж 16 мегабайт оперативной памяти, хотя в те годы появление устройства на Dragonball выглядело странным... А что вы думаете о Tungsten W?
Ну а я надеюсь, что вам было интересно. Подписывайтесь на блог, чтобы не пропускать новые статьи каждую неделю! А если вам интересна тематика ремонта, моддинга и программирования для гаджетов прошлых лет — подписывайтесь на мой Telegram-канал «Клуб фанатов балдежа», куда я выкладываю бэкстейджи статей, ссылки на новые статьи и видео, а также иногда выкладываю полезные посты и щитпостю. А ролики (не всегда дублирующие статьи) можно найти на моём YouTube канале.
А если вы хотите что-нибудь подарить из железа и увидеть о нём статью — пишите мне в Telegram. Меня очень интересуют самые разные гаджеты: начиная от игровых консолей и любых связанных с геймингом устройств, телефонов, смартфонов, КПК, заканчивая ретро-компьютерами и ноутбуками. Кто знает, может героем следующей подобной статьи окажется ноутбук из 90-х? :)
После обзоров устройства не продаются, а остаются в моей коллекции. Когда-нибудь я хочу сделать музей, где к каждому устройству можно будет приложить QR и почитать мою статью. Кто знает, вдруг на следующей неделе я также подробно расскажу про девайс из вашей юности? :)
Фото Nokia 9300 с сайта mobile-review.com
Кстати, у меня есть GameBoy Advance SP, под который я очень хочу написать игру. Однако мой экземпляр был залит водой и кофе. Может у кого-то есть донор с дохлой платой, откуда я смог бы взять контроллер питания? У меня AGS-101.
































































