Мы все с вами привыкли, что начиная с 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.

Фото платы Palm Pilot 1000. Фото взято с этого источника
Фото платы Palm Pilot 1000. Фото взято с этого источника

Однако уже в 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-модем воткнуть
При желании модем можно выпаять и при поломке заменить на другой, привязок здесь скорее всего нет. А если найти схему, то чисто теоретически сюда можно хоть современный 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
Фото Nokia 9300 с сайта mobile-review.com

Кстати, у меня есть GameBoy Advance SP, под который я очень хочу написать игру. Однако мой экземпляр был залит водой и кофе. Может у кого-то есть донор с дохлой платой, откуда я смог бы взять контроллер питания? У меня AGS-101.

Может быть интересно:
Перейти ↩

Новости, обзоры продуктов и конкурсы от команды Timeweb.Cloud — в нашем Telegram-канале 

Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.
Что думаете о i710?
35.29%Очень крутой аппарат😎 Балдеж!12
2.94%Аппарат вообще не крутой. Устарел уже в день выхода.1
44.12%А концепция классная, чем-то напоминает ранние Blackberry.15
8.82%MC68328 слабее ARM7TDMI и ARM9E-S, но в одноразки его не ставят!3
8.82%С таким количеством статей про устройства на m68k, блог пора переименовывать в «Клуб фанатов m68k»!3
Проголосовали 34 пользователя. Воздержались 5 пользователей.