Нет, эти фото сделаны не 15 лет назад
Сегодня пошел гулять на море и взял с собой Nokia N70 (тот самый, из вчерашней статьи), чтобы пофоткать город. И пожилой смартфон приятно удивил качеством фото😎











Сегодня пошел гулять на море и взял с собой Nokia N70 (тот самый, из вчерашней статьи), чтобы пофоткать город. И пожилой смартфон приятно удивил качеством фото😎











Пожалуй одним из самых массовых и известных смартфонов от Nokia был легендарный N70 и его удешевленный собрат в лице N72. Будучи выпущенным в далёком 2005 году, этот миниатюрный кнопочник скрывал в себе функционал полноценного компьютера с достаточно мощным железом, многозадачной операционной системой, поддержкой нормального Web'а и функционалом мультимедийного комбайна. Но немногие знают о том, что у этого смартфона было сразу два процессора...
В сегодняшней статье мы с вами проведем полный анализ схемотехники N70/N72, подробно узнаем о том, за что отвечает каждый чип на плате устройства и как они все вместе работают, какие неисправности преследовали смартфоны Nokia тех лет, а также изучим особенности ОС Symbian. Любите настоящие гиковские статьи, а не ИИ-жвачку, успешный успех, политоту и прочий оффтопик? Тогда жду вас под катом!
❯ Предисловие
Уверен, многим Пикабушникам Symbian-смартфоны из нулевых запали в сердечко. Модели от Nokia, Sony Ericsson, BenQ и Motorola предлагали функционал полноценных компьютеров, умещенный в компактный корпус, а оболочка UIQ предлагала весьма необычный опыт взаимодействия: предполагалось что все действия будут выполняться со стилусом, вместо типичных кнопок, а интерфейс операционной системы был выполнен вокруг «компьютерного» UI с многовкладочными меню — прямо как на органайзерах от Psion...
Дело в том, что Symbian берёт свои корни от ОС EPOC, разработанной специально для органайзеров (мини-ноутбуков) Psion серий MX и Revo в середине 90-х. Система отличалась крайне высоким уровнем оптимизации, умением полноценно работать из XIP-памяти, новой (на тот момент) микроядерной архитектурой с продвинутым IPC, а также относительной легкостью портирования на новые платформы. С пользовательской точки зрения, EPOC представляла из себя что-то типа мобильной урезанной Windows — использовались точно такие же подходы в UI, но всё было сделано намеренно миниатюрным:
Органайзеры Psion пользовались большой популярностью примерно до 2000 года. У моделей начала 90-х (построенных на прошлой версии ОС — EPOC16) почти не было аналогов по функционалу, а у более поздних моделей было серьезное конкурентное преимущество перед HPC на базе Windows CE типа Jornada 620 — Psion'ы стоили разумных денег (~500$ в 1997 против 1.000$ за Jornada 620) и предлагали вполне адекватный объём памяти для хранения пользовательских данных, а также нормальный софт для синхронизации с ПК. В 1998 году, Psion решила сделать ставку на использование EPOC в коммуникаторах и выделила портативное подразделение в отдельную фирму под названием Symbian Ltd. Первым смартфоном на базе Symbian стал Ericsson R380, который отличался не только использованием полноценной многозадачной ОС в 2000 году, но и управлением с тачскрина, а также дисплеем с просто огромным по меркам тех лет разрешением — 360x120, при этом соотношение сторон было 3:1. Правда возможности установки сторонних программ здесь ещё не было...
Вторым устройством на базе Symbian стал легендарный коммуникатор Nokia 9210, который в одном устройство сочетал и классический кнопочный телефон, и почти полноценный ноутбук. И вот здесь то корни Psion (и 9000 Communicator) сразу видны невооруженным глазом — практически весь интерфейс устройства был неизменно взят именно у органайзеров Psion, а оболочка была названа S80. Более того, 9210 — один из первых смартфонов, построенных на чипсете Ti OMAP, который объединял в одном кристалле как AP-процессор (скорее всего что-то родственное OMAP1510, знакомый нам КПК Palm), так и модем (Ti Calypso) — и по сути был двухядерным... в 2001-то году! Аппаратная платформа 9210 называлась Linda и была предком всех WD2-смартфонов. Linda была смесью из чипсета OMAP, контроллера питания CCONT (привет Nokia 3310!), а также ЦАП'а COBBA и RF-фронтэнда Hagar прямиком из DCT-3!
На самом деле даже трёхядерным, т.к был ещё DSP. Но не стоит путать SMP-многоядерность с тем, что в чипе есть несколько сопроцессоров.
Но эти два устройства на привычные нам Symbian-смартфоны были похожи лишь отдаленно. Да, всё те же sis-приложения, да, в интерфейсе есть общие черты, однако это были операционные системы разработанные специально для коммуникаторов. Первый действительно знакомый нам смартфон от Nokia вышел в 2002 году и назывался он 7650. Будучи смартфоном в формате слайдера, 7650 был построен на новой оболочке S60, разработанной специально для кнопочных смартфонов, а под капотом скрывалась новая аппаратная платформа — та самая WD2!
WD2 стала основой для многих легендарных смартфонов Nokia: N-Gage/N-Gage QD, 6600, 3230, 7610, 6670, 6260.
Внутри неё скрывался всё тот же кастомный чипсет Ti OMAP с ядром ARM920T, в котором подняли частоту с 66МГц до 104МГц, однако апгрейд получил контроллер питания UEMK, который наконец-то объединил в себе функционал КП, аудиоусилителя и интерфейса к RF-части, а также получил OTP-зону, куда прописывается IMEI, из-за чего замена КП отдельно от процессора и флэшки невозможна. Помимо UEM, новая платформа получила в свое распоряжение новый RF-фронтэнд Mjoelner от Infineon, от 4-х до 16-и мегабайт оперативной памяти типа SDRAM, а также аж до 4-х NOR-флэшек — одна/две для пользовательских данных, а остальные для системы. Интересно и использование отдельного DC-DC преобразователя LM2608ATLX для формирования питания процессора и токового датчика LM3819BLX, который, как я понял, нужен для схемы зарядки аккумулятора, а за питание MMC отвечает отдельный преобразователей уровней в паре с LDO — LP3928TLX-1828.
Несмотря на продуманность и репутацию телефонов Nokia как неубиваемых, WD2 была довольно капризной платформой. Как я и говорил ранее, Nokia уже в 2002 практиковали привязку чипов к процессору/флэшке, из-за чего замена неисправного КП превращалась либо в поиск нового UEMK и прошивку в него IMEI устройства, либо заменой пары флэшки и КП с другого смартфона на базе WD2 с последующей прошивкой. Помимо этого, Nokia страдали от EMIF-фильтров, которые очень не любили ни воду, ни даже просто падений — из-за них вполне рабочие смартфоны начинали падать в белый экран, у них покрывались артефактами дисплеи, а также переставали работать кнопки. Решение у наших мастеров всегда было простым - выпаиваем лишние чипы и переделываем на перемычки :)
Но время шло, и вот, в конце 2004 года, Nokia представила первый 3G-смартфон на Symbian — 6630. Устройство отличалось не только новой аппаратной платформой BB5 с разогнанным аж в два раза процессором, но и свежей операционной системой Symbian 8.0, а также более солидным объёмом оперативной памяти в 32МБ. А в 2005 году вышел венец творения новой платформы — Nokia N70, которая стала переработанной версией 6630...
Строгий дизайн, сделанный под хромированный металл, приличные размеры, шторка-слайдер для модуля камеры, большой дисплей и даже фронтальная камера. N70 выглядел настолько футуристично и круто, насколько это возможно. Казалось бы, лучше кнопочного смартфона уже не придумают... Ну, так думали до N73 :)
Но самое интересное у N70 скрывается под капотом. Давайте же разберем наш смартфон и узнаем, в чём же заключаются тайна этого прекрасного устройства!
❯ Разбираем
Как и многие современники, разборка и базовое обслуживание N70 не составляла особого труда. Смартфон разбирается путем отщелкивания верхней панельки и откручивания нескольких винтов по периметру шасси, после чего можно вытащить корпус вместе с дисплеем и материнской платой.
Базовый ремонт мог провести даже школьник. Замена дисплея, динамика, разъёма зарядки и вибромотора были проще пареной репы, запчасти стоили копейки. Мелочуху можно было купить буквально за 10-20 рублей, в то время как дисплей стоил около 500. А если корпус вашего устройства совсем устал, то всегда можно было пойти на радиорынок и переодеть смартфон в китайский «кузов», который стоил около 200-400 рублей. Хотя качество китайских корпусов очень сильно плавало...
В качестве дисплея здесь используется классическая TFT-TN матрица с довольно крупным разрешением в 176x208 точек, 18-битным форматом пикселей (262к цветов) и диагональю в 2.1". По меркам 2005-го, это был вполне пристойный дисплей, однако корнями он уходит в экран ещё из Nokia 7650 2002'ого года выпуска. Дело в том, что ранние BB5 и WD2 смартфоны технически использовали идентичные дисплеи: где-то отличалась подсветка, где-то форма шлейфа или его направление, однако распиновка и физические параметры была идентичными и экран от N70 без проблем работал в N-Gage QD, 6600 и наоборот. И дисплей этот был ну очень блеклым даже по сравнению с K500i, не говоря уже о сочных матрицах в телефонах Samsung.
Экран был подключен к процессору посредством классической параллельной шины типа 8080, также известной как MIPI DBI. В отличии от более ранних дисплеев, он не требовал внешней обвязки для формирования BIAS-напряжения (питания самих «жидких кристаллов") и мог работать от одного единственного источника питания на 2.5В (плюс VIO 1.8В), что позволяло использовать его в самоделках на AVR/PIC32. Из проблем у этого дисплея была некачественная пайка коннектора на шлейфе, из-за чего он мог уходить в артефакты, пропадала подсветка или изображение вовсе становилось полностью белым, а также выходили из строя упомянутые выше EMIF-фильтры.
Embedded-программисты и DIY'щики всплакнут — этот дисплей на физическом уровне идентичен матрицам на контроллерах ILI/ST!
Всем читателям, которые на данный момент владеют N70, рекомендую сразу выпаять RTC-батарейку. На многих экземплярах она уже начала деградировать и может без зазрения совести «пожрать» соседние дорожки и даже целые пятаки. Феном орудовать не рекомендую — батарейка без проблем выпаивается паяльником, главное не повредите жалом стекляхи и не заляпайте припоем юбку процессора — это тоже сигнальные линии :)
Если ваша Nokia включается и загружается, но у неё белый экран — обратите внимание на две верхние стекляхи над батарейкой. 80% что причина в них, при желании они заменяются перемычками.
В первую очередь, в глаза бросается сердце Nokia N70 — чип Ti OMAP 1710, на этот раз выполняющий функцию исключительно AP-процессора (то есть запускает Symbian). В миниатюрным чипе скрывается довольно много разной периферии, однако даташита на 1710 нет, поэтому ориентироваться будем на родственный 1610:
В качестве основного вычислительного ядра выступает ARM926EJ-S, работающий на частоте до 204МГц и имеющее 16КБ L1-кэша для инструкций и 8КБ L1-кэша для данных. Помимо этого, ARM926 имеет аппаратное ускорение Java-приложений — иными словами, ARM реализовали JIT прямо на уровне процессора.
926'ой в своё время был стандартом в кнопочных телефонах и КПК. Найти его можно было в коммуникаторах на Windows Mobile, кнопочных телефонах Siemens (да, даже в C65 трудился процессор, по производительности сравнимый с N70!), Samsung, Motorola. А его родственные ядра — 920T и 946E можно было найти в игровых консолях GP2X, Gizmondo и Nintendo DS!
Сопроцессором выступает DSP TMS320C55x, выполняющий задачи кодирования/декодирования аудио и видео, и необходимый для работы камеры и мультимедийных приложений. DSP способен работать на той же частоте, что и основное ядро.
За вывод графики отвечает встроенный 2D-ускоритель. К сожалению в брифе нет информации о его возможностях, но предполагаю что они базовые — аппаратный блиттинг (копирование изображений), отрисовка линий, примитивов и возможно какие-то аффинные трансформации. Почти уровень S3 Trio :)
За работу с дисплеем отвечает отдельный контроллер, способный работать не только с 8080-матрицами, но и параллельными RGB-дисплеями, используемыми в коммуникаторах.
Для работы с памятью предусмотрен контроллер SDRAM, способный адресовать до 128 мегабайт памяти, а за постоянную память отвечает контроллер NOR/NAND, способный адресовать до 256 мегабайт. Для тех лет это с запасом!
Из периферийных контроллеров есть USB, OTG, два MMC-контроллера, два UART'а, I2C, SPI, IrDA, и GPIO. В старшей версии чипа есть также интерфейс к Wi-Fi контроллеру.
И всё это выполнено по техпроцессу в 90нм (у OMAP 1610 — 130нм), а Ti заявляла о поддержке Windows Mobile, Linux и S60!
Круто, да?
Но были и слабые стороны. Во первых, процессор сидел под компаундом и его перекатка была тем ещё квестом. Дело в том, что чипы Ti в те годы использовали двойную подложку. Вот эти золотые пины вокруг под «пузом» чипа — это «юбка», которая выполняет роль второго слоя, и приклеена она на специальный токопроводящий клей. Пока почистишь компаунд под процессором, можно успеть угреть его и тогда процессор вместе с флэшкой отправляются на помойку, а установить их можно только с донора идентичной модели. А еще эти пины по бокам являлись проводниками к соответствующим шарам на самом процессоре и их можно было очень легко залить припоем...
А во вторых, за питание процессора отвечал отдельный DC-DC преобразователь LM2708H, формирующий напряжение VCore в 1.4В. Если он выходил из строя — то смартфон включался с белым дисплеем и через 10-15 секунд отключался по сигналу от WatchDog'а, поскольку процессор не выходил на связь. Особо ушлые ремонтники нашли интересное решение этой проблемы: вместо переразводки кастомного DC-DC, они брали 1.8В с шины питания DDR-памяти и ставили перемычку на питание процессора. И всё работало, я лично так ремонтировал свой N70!
Нужная нам часть схемы называется SMPS. APE Regulator в свою очередь формирует питание DDR. То есть вместо чистого DC-DC мы цепляем питание проца на потенциально шумящий LDO :)
Во всем остальном, разводка AP-части максимально стандартная и простая, и общие черты можно проследить как в других смартфонах (не только Nokia), так и в современных одноплатных компьютерах.
В качестве памяти здесь используется комбо-чип Samsung, который включает в себя 32МБ SDRAM и 32МБ NAND. К слову, это первая платформа, где Symbian не использует XIP (поскольку с NAND нет возможности её реализации). Из 32МБ, 24 мегабайта отводится пользователю под свои данные. Кроме того, у старых версий Symbian была «особенность»: если заполнить пользовательский раздел до 0 байт, то смартфон переставал включаться и виснул на логотипе Nokia, после чего его необходимо было прошивать в сервисе, либо сбрасывать специальным сочетанием клавиш.
Чуть левее расположился контроллер питания RETU, который выполняет почти ту же роль, что и COBBA в 3310. В RETU расположился ЦАП/АЦП для звука, усилитель и логика для коммутации аудиосигнала (между динамиками), LDO для формирования основных шин питания (1.8В, 1.35В, 2.5В, 2.8В), контроллер SIM, WatchDog и логика для обработки кнопки включения (транзисторная защелка).
За зарядку отвечает другой чип — Tahvo. Помимо зарядки, в его задачи входит обработка USB (защита DM/DP?), мониторинг тока потребления от АКБ, вероятно функционал Fuel gauge (определение уровня заряда аккумулятора) и несколько GPIO для управления драйвером подсветки.
Названия RETU/Tahvo, а также Betty/Avilma в более поздних телефонах Nokia многие мастера запомнят на всю жизнь. Причем RETU был неприхотливым и погибал разве что от попадания воды, в то время как Tahvo частенько пробивало из-за использования дешевых пульсирующих китайских зарядников. Благо сам чип был не особо дорогой и поменять его можно было даже без особых навыков перекатки BGA.
От питальников мы переходим к самому интересному — тому самому второму процессору, о котором я говорил в начале статьи! Правее OMAP расположился RAP3G — процессор из 3G-телефонов Nokia на платформе S40. Да, в N70 буквально без изменений засунули всю аппаратную платформу из 6233, 6280, а судя по схожести схем на RAP3GS и RAP3G, этот же процессор (или его ближайший родственник) использовался в 8800 Arte, 5100 и 6500s.
Nokia просто буквально взяли и развели в Symbian-смартфоне обычный S40 телефон, подключили его к AP-процессору с помощью полнодуплексной последовательной шины (что-то кастомное, MESSI_CMT) и прокинули модем с помощью AT-команд!
У RAP3G есть собственная память. Чуть ниже можно найти чип SDRAM-памяти Samsung K4M64163PH-VG1L объёмом в 8МБ, а выше микросхему NOR объёмом в 8МБ производства Spansion, где хранится прошивка модема. RAP3G работает на своей собственной операционной операционной системе реального времени (S40) с полноценным GSM-стеком, но без UI. Точных ТТХ на RAP3G нет, однако учитывая что он также разработан Texas Instruments, можно предположить следующие характеристики:
В качестве ядра выступает либо ARM926EJ-S, работающий на частоте 104-208МГц и поддерживающий ускорение Java-приложений, либо родственное ядро ARM946-E. ARM920T в 2004-2005 уже успел устареть и особо не использовался в новых процессорах.
За низкоуровневую работу с GSM-датаграммами отвечал дополнительный DSP, скорее всего всё тот же TMS320.
В RAP3G была практически та же самая периферия, что и в OMAP'е, за исключением упрощенного SDRAM-контроллера. То есть SPI, I2C, UART, USB, MMC — всё это точно также было реализовано и в модеме.
Помимо стандартных шин, здесь также есть интерфейс к RF-фронтэнду, о котором мы поговорим немного позднее.
Таким образом, в обычных кнопочных телефонах к RAP3G подключают дисплей и кнопки — в этом случае он выполняет роль центрального процессора. Но в Symbian-смартфонах, роль AP-процессора выполняет OMAP, а RAP3G в свою очередь занимается задачами обработки GSM-стека и слушает команды от центрального процессора. Схема стандартная и повсеместно использовалась в коммуникаторах на Windows Mobile и Palm, однако в случае с N70 удивляет то, что Nokia решила не заморачиваться с готовыми дискретными модемами, а просто взяла свою же платформу без изменений и развела на плате «как есть».
Ну а рядом с коннектором шлейфа дисплея можно найти ещё два чипа — LDO, формирующий питание камеры, и преобразователь уровней, который согласует IO-напряжения процессора и модуля камеры. Драйвер подсветки дисплея находится чуть выше RAP3G — его легко можно опознать по соответствующей обвязке.
На этом мы завершили обзор основной аппаратной платформы и можем перейти к радиотракту, благо здесь тоже есть на что посмотреть! Начинаем с усилителей GSM и WCDMA-сигнала. Здесь они расположены отдельно, переключением между полосами частот занимается RF-фронтэнд без внешних свичей.
В роли фронтэнда выступают чипы с забавным названием Hinku и Vinku. Hinku по своей натуре является тем самым «черным ящиком», где происходит вся магия превращения цифровых GSM-датаграмм в аналоговые волны, которые затем уходят на усилитель и в эфир. Справедливо и обратное: когда RF-фронтэнд ловит данные из эфира, он преобразовывает их в цифровой сигнал и отправляет на обработку DSP модема. TDMA/FDM демодуляцией также занимается Hinku, из-за чего именно его часто принимают за модем как единое устройство. В отличии от многих других платформ, Hinku является именно приемником, а не трансивером (могу ошибаться).
Vinku выполняет роль передатчика. В нём находится DAC, VCO для формирования частоты и логика для общения с RAP3G. Почему решили разделить приемник и передатчик — мне непонятно...
Чуть ниже Hinku, Vinku и Tahvo можно найти Bluetooth-радиомодуль, который также выполняет роль FM-приемника. Тут всё по классике — общение через UART чем-то типа AT-команд, плюс выход аудиоприемника.
И... это всё! Да, сейчас мы с вами полностью разобрали всю аппаратную платформу Nokia N70. По началу аппаратная платформа смартфона кажется сложной, особенно по сравнению с современными однокристальными телефонами, однако если вооружиться опытом работы с SBC и ремонтом других устройств, то понимаешь — что здесь всё, в общем-то, стандартно, просто и понятно :)
❯ Включаем
После включения нас встречает лого Nokia и рабочий стол. Как я уже говорил ранее, N70 работает на Symbian 8.1a — последняя версия системы, построенная на базе оригинального ядра EPOC. Начиная с 9.x, Symbian перешла на ядро EKA2, где был введен жесткий механизм разграничения прав и подписей, при этом обратную совместимость софта убрали, из-за чего поломалось куча старого софта. Однако были у EKA2 и плюсы — например, ядро системы научилось работать в режиме реального времени, благодаря чему GSM-стек можно было гонять прямо на AP-процессоре. Но вот использовалась ли где-то эта фишка?
Несмотря на использование полноценной многозадачной системы, смартфон работает весьма шустро. При этом с головой хватает как центрального процессора, который работает на приличной частоте, так и оперативной памяти — можно было без проблем открыть 5-6 не особо ёмких программ или игр и свободно переключаться между ними в диспетчере задач. Лаги конечно были, но чаще всего при навигации по системным менюшкам — из-за прогрузки изображений.
Стандартный функционал N70 был довольно богатым. Тут сразу же был полноценный Web-браузер, функционал мультимедийного комбайна с «всеядным» музыкальным и видео плеером и интернет-радио. При этом фронтальная камера здесь тоже присутствует не просто так — в 2005 году, N70 умел делать видеозвонки! Вот уж реально круто!
Для расширения функционала предлагается устанавливать Java-приложения. Как было принято в нулевых, Java-машины S60-смартфонов были эталоном с точки зрения производительности и поддержки JSR'ок, поэтому многие разработчики стремились к совместимости именно с ними. Поддержка API была на уровне: тут и 3D-графика (M3G), и Bluetooth, и доступ к файловой системе, и СМС с звонками, и проприетарное API NokiaUI для заметного ускорения работы приложений. Ну сказка же!
Однако шарящие пользователи сразу же ставили нативные приложения в формате .sis! И чего только не было среди нативных программ: и root-проводники (X-Plore), и плееры (LCG Jukebox), и браузеры (Opera Mobile), и различный офисный софт, и даже вирусы. В кармане был буквально полноценный компьютер! Ну и куда же без игр — в Symbian 8.0 появилась нативная поддержка OpenGL ES 1.1 с встроенным софтрендером (а кое-где даже с аппаратным ускорением — например в N82 и N95), благодаря чему разработчики смогли писать нативные 3D-игры без особого труда. Посмотрите как выглядит Lock'n'Load 2 — полноценный трехмерный FPS в кармане!
А ещё N70 довольно неплохо фотографировала. На момент 2005 года, качество фотографий было более чем приемлемым, а сейчас эти фотки вызывают ностальгический вайб... Может тоже сейчас опубликовать статью и пойти фотографировать родной Ейский лиман? :)
❯ Заключение
Вот такой была легендарная Nokia N70. Как мы с вами видим, смартфон был крут не только снаружи, но и внутри. Воткнуть не самый хилый OMAP, распаять приличный объём оперативной памяти и развести целый S40-модем — это достойно похвалы! По правде сказать я не знаю, смог ли написать действительно хабратортную статью или ей место в «песочнице», но надеюсь что хоть кому-то такой формат будет интересен...
Ну а я надеюсь, что вам было интересно. Подписывайтесь на блог, чтобы не пропускать новые статьи каждую неделю! А если вам интересна тематика ремонта, моддинга и программирования для гаджетов прошлых лет — подписывайтесь на мой Telegram-канал «Клуб фанатов балдежа», куда я выкладываю бэкстейджи статей, ссылки на новые статьи и видео, а также иногда выкладываю полезные посты и щитпостю. А ролики (не всегда дублирующие статьи) можно найти на моём YouTube канале.
А если вы хотите что-нибудь подарить из железа и увидеть о нём статью — пишите мне в Telegram. Меня очень интересуют самые разные гаджеты: начиная от игровых консолей и любых связанных с геймингом устройств, телефонов, смартфонов, КПК, заканчивая ретро-компьютерами и ноутбуками. Кто знает, может героем следующей подобной статьи окажется ноутбук из 90-х? :)
После обзоров устройства не продаются, а остаются в моей коллекции. Когда-нибудь я хочу сделать музей, где к каждому устройству можно будет приложить QR и почитать мою статью. Кто знает, вдруг на следующей неделе я также подробно расскажу про девайс из вашей юности? :)
Кстати, у меня есть GameBoy Advance SP, под который я очень хочу написать игру. Однако мой экземпляр был залит водой и кофе. Может у кого-то есть донор с дохлой платой, откуда я смог бы взять контроллер питания? У меня AGS-101.
| Обзор не спонсорский, никто ничего мне не платил и никакого влияния на контент не оказывал!
Попалась в руки Insta360 Luna Ultra - камера-гибал с оптическим зумом, встроенным пультом и кучей нестандартных фишек. Показал как она снимает, как работает трекинг, зум 3x - 12x, плавность и стабилизация. Тут вам и 1" сенсор в основном модуле, и отдельный телевик, и съёмка с 10-bit логом. При этом всё это упаковано в маленький форм-фактор "обычной гимбал камеры".
Видео обзор на русском: https://www.youtube.com/watch?v=LglEHk_J-gE
Съёмный пульт - очень крутой. Ставишь камеру, отходишь на несколько метров, видишь картинку, пишешь звук и снимаешь себя как будто с оператором. + там своя батарея, которой хватит на час (со слов сотрудников магазина) съемки 4k видео на отдалении от камеры.
Зум - классный. 3x - честный оптический, 6x - смешанный, но вполне удобоваримый. Да даже 12х я время от времени бы использовал, качество гораздо лучше того, что еще недавно было на мобильных телефонах.
Гиро-модулем на ухо - вещь в себе :) Камера повторяет движения головы, и ты получаешь такой живой POV без рук, почти как управление дроном головой. Для влогов, прогулок, travel - должно быть удобно (в магазине не было, протеверить не получилось).
Казалось бы, что еще можно улучшить в DJI Osmo Pocket 3/4 ? А вот поди ж ты, есть что улучшать :) Очень интересный девайс получился, для соло креаторов - как бы ни мастхэв. Теперь реально интересно, чем ответит следующий DJI Osmo Pocket 4 (pocket 4 ultra pro?), как оказывается, важны не только цифры, но и удобство повседневного использования. Характеристики (кратко): сенсор - 1" основной + 1/1.3" телевик цвет - 10-bit, лог-профили зум - 3x оптический - до 6x lossless - до 12x гибрид стабилизация - 3-осевой гимбал + AI процессор - Triple AI chip экран - съёмный пульт с дисплеем звук - несколько микрофонов + микрофон в пульте батарея - встроенная + пульт память - встроенная доп - AI трекинг, POV гиро-модуль цена - $770 (4000 юаней в Китае)
Характеристики:
сенсор - 1" основной + 1/1.3" телевик
цвет - 10-bit, лог-профили
зум - 3x оптический - до 6x lossless - до 12x гибрид стабилизация - 3-осевой гимбал + AI
процессор - Triple AI chip
экран - съёмный пульт с дисплеем
звук - несколько микрофонов + микрофон в пульте
батарея - встроенная + пульт
память - встроенная
доп - AI трекинг, POV гиро-модуль
цена - $770 (4000 юаней в Китае)
_____
TG про VR и гаджеты: https://t.me/ganjjgames
TG про Китай: https://t.me/china_life
Сегодня Пикабушник под ником @apokhmel подарил мне мою мечту - оригинальную консоль GBA SP. Для тех, кто не в курсе - это легендарная портативка, вышедшая в далёком 2003 году и являющаяся раскладной версией оригинального GBA, куда добавили подсветку дисплея. Сначала ламповую, а затем и светодиодную!
Консоль построена на кастомной системе на кристалле разработки самой Nintendo. SoC AGB BE объединял в себе достаточно современный, на момент выхода, процессор ARM7TDMI, работающий на частоте 16МГц, кастомный сопроцессор Sharp SM83 прямиком из оригинального Gameboy (интересен тем, что представляет из себя микс архитектуры 8080 и Z80), продвинутый PPU (2D предок современных GPU, оперирующий спрайтами и тайлами) схожий с SNES и поддерживающий аж 7 видеорежимов, и даже аффинные трансформации, а также простенький SPU, включающий в себя как звукогенераторы оригинального GB, так и обычный ЦАП для вывода PCM-звука. Помимо основных модулей, в SoC также были таймеры, DMA и другие полезные ништяки.
Не менее интересной была и организация памяти. У процессора "торчали" наружу сразу две параллельные шины типа 8080 - одна на внешнюю SRAM объемом в 256КБ (стоит рядом с процессором), а вторая на картридж. При этом обе шины были 16-битными, из за чего выборка одного машинного слова (для ARM) требовала сразу два такта чтения. Распиновка картриджа была идентичной оригинальному GBA (для совместимости) и отличалась использованием общих сигнальных линий для адреса и данных - в чипе ROM был встроенный сдвиговый регистр, который сначала сохранял адрес нужного банка, ждал пока процессор переведет линии в высокоимпендансное состояние и затем выставлял прочитанные данные на те же линии. Хитро и умно :)
Но главной фишкой было то, что внешняя SRAM была относительно медленной и для этого Nintendo предусмотрела 32КБ сверхбыстрой оперативной памяти в самом процессоре. Эта SRAM была подключена в обход контроллера параллельной шины, скорее всего сразу через AHB.
Интересно и то, что ARM7TDMI можно было найти и в других устройствах тех лет. Например кнопочных телефонах - наши любимые Motorola E398, Samsung C100 и Nokia 3310 используют точно такое же процессорное ядро, только работает оно на разной частоте.
Несмотря на высокий уровень интеграции по меркам 2001 года, в GBA и GBA SP питальники разведены отдельно. В GBA и первой ревизии SP за питание консоли отвечало сразу два чипа - S6403, объединявший в себе 2 DC-DC понижающих преобразователя, формирующие основные шины питания - 1.8В (вероятно ядро) и 3.3В (системное) и 1 повышающий, формирующий 5В (для совместимости с картриджами оригинального геймбоя), а также простенький детектор разряженного АКБ (на делителе?). Вторым чипом была микросхема зарядки MM1581, которая частенько выходила из строя и калилась, из за чего консоль продолжала работать нормально, но жрала аккумулятор куда быстрее и переставала заряжаться.
В чуть более свежей ревизии, преобразователи и зарядку объединили в один чип, который в моем случае частично вышел из строя...
АКБ оказался сдохшим. Я проверил консоль с помощью ЛБП - она включалась, но висела на заставке без лого Nintendo (это значит что картридж не обнаружен), потребление было в норме - 40мА с обычным уровнем подсветки и 80мА с максимальной яркостью (респект инженерам Nintendo, это очень маленькое потребление по меркам такого девайса. Например RP2040 сам по себе кушает не менее 20мА в режиме сна!). Затем крокодилы чутка коротнули друг об друга и при следующем включении я уже увидел потребление в 300мА...
Само собой в Nintendo работают не идиоты и защиту на VBAT от КЗ и переполюсовки предусмотрели, так что дело явно не в этом. Однако КП начал калиться и при детальном рассмотрении оказалось что следы этого самого кофе перемкнули несколько ног на КП... но было уже слишком поздно - изначально ведь я не знал, что консоль была водолазом :)
После небольшой диагностики я выяснил что сдох только КП, что это типовуха у последней ревизии и на многих консолях остаётся лишь перерезать VIN на КП и собрать чарджер на чем то типа LTC4054. Все остальные модули, включая усилитель звука, DC-DC'шки и "Fuel gauge" остались живыми... Но сколько проработает КП, которой так калится?
И даже тут инженеры Nintendo нас не кинули. Несмотря на отсутствие официальной схемы в интернете, Nintendo оставили и подписали кучу тестпоинтов на большинство шин питания и сигнальных линий. В моем случае консоль оказалась полностью исправной за исключением чарджера.
Я поищу донора с ещё более ушатаной платой, и если повезёт найти по нормальной цене, то обязательно свапну контроллер питания и отремонтирую консоль 😎
Также мне хотелось разобрать матрицу и почистить рассеиватель от следов кофе, но в случае с дисплеем GBA это просто нереально. Дисплей толком неразборной, матрас вместе со шлейфом приклеен к подсветке и малейшее неосторожное движение либо отклеит шлейф от дешифратора, либо повредит боковые дорожки драйвера дисплея.
Что-ж, пока поиграю и так :) А ведь GBA отлично показывала себя в тех 2D играх, где используются спрайтовые режимы PPU. Несмотря на скромную частоту процессора, многие игры шли в стабильные 60 FPS как раз благодаря тому, что чипу не приходилось заниматься программным блиттингом, аффинными трансформациями и прочими тяжёлыми по меркам памяти и процессорного времени штуками - он просто заполнял атрибуты спрайтов на экране в OAM. Да, как и на NES за 20 лет до выхода GameBoy Advance :)
Если любите читать такое - подписывайтесь на мой Telegram "Клуб фанатов балдежа", куда я выкладываю различные посты связанные с ремонтом, моддингом и программированием для ретро-железа, ну и конечно немного щитпоста :)
Всем привет! Недавно, вдохновившись моим опытом, мой товарищ решил приобщиться к моноколёсному комьюнити и купил моноколесо Inmotion V12 Pro. В целом колесо достаточно хорошее, но первая совместная поездка выявила одну проблему, а именно: практически невидимые задние сигналы. Этот недостаток не добавляет безопасности поездкам, поэтому, как всегда, я спешу исправить ситуацию. А что из этого вышло — читайте далее.
Да, совместная поездка на моноколёсах без сигналов добавляет немного экстрима, но всё же лучше исправить ситуацию и наслаждаться безопасными поездками с чётко читаемыми сигналами. Так как временные рамки не позволяли купить готовый вариант умного стоп-сигнала, я решил собрать свой DIY-вариант, потратив на разработку и сборку менее двух часов. По традиции проект будет состоять из компонентов, которые уже есть у меня в наличии.
Итак, так как было решено собирать умный сигнал, нам понадобятся следующие компоненты:
Красные яркие светодиоды 5 мм.
Как правило, они всегда лежат в запасе, купленные ещё в «нормальные времена». А если нет, то можно купить по цене семечек на Алиэкспрессе:
Микроконтроллер;
Здесь нужно компактное решение. У меня пару месяцев валялась без дела одна из вариаций платы ESP32-C3-Zero — будем использовать её:
Датчик положения в пространстве;
В данном проекте я буду использовать трёхосевой гироскоп MPU6050. У меня их «горка и маленькая кучка» — остались ещё с прошлых экспериментов:
Дополнительные компоненты.
N-канальный мосфет P0603BDG для управления матрицей светодиодов и несколько резисторов на 100 Ом.
Ниже представлена принципиальная схема моего стоп-сигнала:
Принцип работы очень прост: для работы сигнала нам нужно отслеживать данные с акселерометра MPU6050 и при наличии отрицательного ускорения по оси Y зажигать матрицу светодиодов.
Для дальнейших экспериментов собираем минимальный сет из датчика и отладочной платы. Затем, «абы как» припаиваем датчик и начинаем эксперименты:
И загрузив первую попавшуюся библиотеку MPU6050 начинаем эксперименты:
После установки библиотеки загружаем из примеров скетч MPU6050_Raw и закомментируем в нём следующие строки:
/*Print the obtained data on the defined format*/
#ifdef OUTPUT_READABLE_ACCELGYRO
//Serial.print("a/g:\t");
//Serial.print(ax); Serial.print("\t");
//Serial.print(ay); Serial.print("\t");
//Serial.print(az); Serial.print("\t");
//Serial.print(gx); Serial.print("\t");
//Serial.print(gy); Serial.print("\t");
//Serial.println(gz);
Serial.print(gy); // Выводим в консоль значения ускорения по оси Y
#endif
Далее загружаем код в отладочную плату и запускаем в среде вывод значений в виде графика. Затем мы сможем наблюдать следующий результат, если подвигаем датчик по направлению оси Y вперед-назад:
Здесь мы наблюдаем положительное и отрицательное ускорение по оси Y. Данные при этом достаточно шумные, поэтому далее нам нужно их сгладить. Обычно это делается с помощью фильтра Калмана. После обработки сигнала датчика данным фильтром мы сможем наблюдать следующее:
Теперь мы можем использовать далее данные в нашей логике управления зажигания матрицы:
int target = 600; // Значение, за которым включается стоп-сигнал (отрицательное ускорение)
int fgy = (int)filter(gy);
Serial.println(fgy); // Выводим в порт данные ускорения по оси Y
if (fgy > target){
analogWrite(LED_pin, 255); // Зажикаем на максимум
} else{
analogWrite(LED_pin, 30); // Режим габарита
}
По моей задумке, стоп-сигнал должен работать в двух режимах: габаритного огня (яркость 20%) и сигнала торможения (яркость 100%). Для этой цели и используется ШИМ-регулирование в представленном коде, а сам порог зажигания стоп-сигнала определяется переменной target, значение которой зависит от необходимой границы отрицательного ускорения.
Код прошивки можно посмотреть тут.
Для разработки корпуса я, как всегда, использую FreeCAD. Сам корпус имеет довольно простую конструкцию: сборка выполняется без единого болта, по принципу матрёшки. Ниже представлен скриншот проекта:
Печать корпуса выполнялась на моём 3D принтере Flashforge Adventurer 5M и заняла не более двадцати минут.
Самый интересный момент — когда твоя задумка воплощается в жизнь. Вставляем светодиоды в распечатанный корпус и припаиваем элементы согласно представленной выше схеме:
В состав корпуса входит разделяющая панель, на которую устанавливается датчик и отладочная плата:
Я очень торопился с реализацией и не предусмотрел в панели отверстия для болтов, поэтому фиксирующие датчик болты были просто вплавлены в пластик. Примерно так же было реализовано крепление платы, но в этот раз уже вплавлялись небольшие отрезки выводов, оставшиеся от ножек светодиодов, к которым позднее припаивалась отладочная плата:
Аналогичным способом крепится и мосфет. А так выглядит вся электроника в сборе:
Подключаем питающие провода и в обратной крышке герметизируем соединение:
Всё, стоп-сигнал собран:
Осталось разобраться с подключением: здесь всё просто. Моноколесо имеет USB-порт с функцией зарядки мобильных устройств, обеспечивающий достаточную мощность для работы стоп-сигнала. Его и будем использовать для питания. Для подключения используется разъем USB-A («папа»), который нужно максимально укоротить, чтобы он влез в отсек с портами при закрытой заглушке. Сам фонарь крепится на резиновую заглушку отсека моноколеса с помощью наноскотча, перед этим нужно обязательно обезжирить поверхность заглушки.
В итоге, после нескольких тестовых поездок, крепление стоп-сигнала на наноскотч оказалось очень надёжным решением.
Итоговым результатом я остался очень доволен! У меня были сомнения насчёт видимости фонаря в дневное время при прямом солнечном свете, но они не подтвердились. Стоп-сигнал очень хорошо видно даже на ярком солнце. Теперь поездки на моноколесе стали значительно комфортнее и безопаснее.
Само собой, этот стоп-сигнал можно применить не только на моноколесе, но и, например, на велосипеде. В этом случае стоит позаботиться о внешнем источнике питания. Да и данное решение будет экономически более целесообразным, чем покупка готовых решений, а удовольствие от сборки — бесценно!
На этой позитивной ноте можно и закончить статью! Спасибо за уделенное время! Интересных проектов и всех благ! А если остались вопросы или есть что добавить — добро пожаловать в комментарии.
Ссылки к статье:
Автор: CyberexTech
Написано при поддержке Timeweb Cloud ↩
Больше интересных статей и новостей в нашем блоге на Хабре и телеграм-канале.
Реклама. ООО «ТАЙМВЭБ.КЛАУД», ИНН: 7810945525
На алике сейчас продают гиковские часы производства небезызвестной LCTech (компания разрабатывает SBC и всякие DIY ништяки). Их основная фишка в том, что с ними в комплекте нет прошивки (кроме референсной) - предполагается что гик напишет ее сам под свои нужды.
Схемотехника часов предельно простая, но в целом грамотная. На доске расположился сам микроконтроллер RP2040, состоящий из двух ядер Cortex-M0+, способных работать на частоте до ~300МГц, SPI-флэшка объемом аж в 4МБ (это хороший объем), чарджер литиевых аккумуляторов TP4056, LDO, опорный кварц и гироскоп QMI8658. Fuel gauge нет - вместо него VBat подключен к ADC микроконтроллера через 10k делитель.
Референсная прошивка написана на C, есть также сэмпл на MicroPython. Но как мы с вами знаем, я не пишу прошивки на китайских фреймворках и для DIY пилю все с нуля - в том числе и драйверы для периферии. Сейчас буду потихоньку разбираться, писать для них прошивку и затем выпущу здоровенный материал. Такой же, как в свое время про GamePi :)
Цена таких часиков - 1900 рублей, в комплекте есть ремешок, но нет корпуса. Очевидно что это устройство исключительно для гиков и не подойдёт обычному юзеру.
Начинаем неделю с новых экспонатов в музее sovtech.su. Скопилось разных фотоприбамбасов. Светофильтры корректирующие:
Керосиновые лампы:
Логично спросить - а какое отношение к фотографии имеют эти лампы? На самом деле это подводка к красному стеклу для керосиновой лампы производства Hutig A.G. Такие стекла использовались в доэлектрическую эпоху для работы с фотоматериалами, чувствительными к свету.
Позже красные фонари стали делать электрическими.
Фотопластины:
