В цифровой электронике часто приходится соединять между собой микросхемы, работающие от разных напряжений питания и имеющих различные Логические Уровни.
Казалось бы, что тут сложного — «логический ноль» это ноль, а «логическая единица» это единица. Но на практике всё не так просто.
Несогласованность уровней может привести не только к сбоям в работе, но и к выходу из строя дорогостоящих модулей.
Самый простой вариант для сигналов в одну сторону (5 В → 3.3 В). Формула простая: Vout=Vin⋅R2R1+R2V_{\text{out}} = V_{\text{in}} \cdot \frac{R2}{R1+R2}Vout=Vin⋅R1+R2R2
Например, при R1 = 2 кОм и R2 = 3.3 кОм из 5 В получаем примерно 3.3 В. Минус
— не всегда это работает
– плохо подходит для высоких частот (SPI, I²C).
2. Специальные микросхемы-переводчики уровней
Существуют готовые чипы (например, TXB0108, 74LVC245), которые умеют переводить уровни в обе стороны и на высоких скоростях. Это надёжный вариант для «серьёзных» проектов.
3. Транзисторные согласователи
Можно собрать схему на MOSFET или даже на биполярных транзисторах (например, на советских КТ315 или современных BC547). Такой преобразователь работает быстро и позволяет согласовывать линии в обе стороны, включая шину I²C.
Ниже представлен пример схемы на биполярном транзисторе обратной проводимости. Транзисторы можно использовать различные.
Схема — это дублируется в зависимости от того сколько вам ножек одной микросхемы нужно согласовать с другой
Для этих целей также кроме биполярных микросхем очень хорошо а можно сказать даже идеально подходят и mosfet.
Вот очередной пример такой схемы
Пример из практики
В одном из моих проектов я подключал дисплей на контроллере ST7789, работающий от 3.3 В, к Arduino Nano на 5 В. Сначала я сделал соединение напрямую – результат: один из дисплеев вышел из строя.
После этого я собрал плату согласования уровней на старых советских транзисторах КТ315. Несмотря на возраст этих деталей, схема заработала отлично, и теперь дисплей работает стабильно.
Это хороший пример того, что согласование уровней – не формальность, а необходимость.
Выводы
Никогда не соединяйте напрямую микросхемы, работающие на разных напряжениях.
Для односторонних медленных сигналов можно использовать резистивный делитель.
Для двусторонних и быстрых шин лучше ставить транзисторные согласователи или специализированные микросхемы.
Даже простая самодельная схема на старых транзисторах может спасти ваш модуль от поломки.
...и нет, статья не унылый кликбейт, сегодня у нас действительно пойдет речь о довольно уникальном телефоне, который разработали в России специально для госслужб.
Иногда мне в руки попадают весьма интересные и диковинные гаджеты, порой выпускающиеся в тысячных, а то и штучных экземплярах. Когда мне предложили простенькую раскладушку, с виду точь в точь повторяющую Samsung C3520, я сначала подумал что это бюджетный китайский новодельный телефон. Однако, когда я увидел, что же у него находится под аккумулятором, я понял что с ним всё не так просто и решил его разобрать. Моему удивлению не было предела, так что если и вам интересно — добро пожаловать под кат!
❯ Предисловие
Пожалуй, сразу стоит расставить точки над i, дабы не привлечь на свою голову проблем, поскольку телефон действительно предназначается для использования в спец. службах. Заранее скажу, что статья несет исключительно познавательный характер. Телефон в статье списан в утиль, на нем нет никаких чувствительных данных и его можно назвать нерабочим — ну это так, на всякий случай :)
Как две капли воды...
Недавно мне написал подписчик, который пожелал остаться анонимным и предложил подарить весьма интересные девайсы, среди которых была легендарная нокла TV E72 с телевизором, китайская нокла-сонерик, красивый корпус для PSP и некий телефон Маском Н2. Сначала я подумал что это просто очень дешевый китайский телефон на стандартной медиатековской или спредтрумовской платформе, коих сегодня на рынке десятки тысяч, однако когда мне скинули фотографию что у него находится под задней крышкой, то я сразу понял, что аппарат не так прост, как кажется.
Я сразу же заметил внешний GSM-радиомодуль Telit GE866-Quad в корпусе LGA, который был припаян "бутербродным" способом на основную плату. Модуль является родственным SIM800, который в узких кругах embedded-разработчиков известен как очень популярное решение для добавления поддержки GSM в своё устройство. Однако сам по себе такой радиомодуль обычно не может выполнять полноценные функции телефона: обрабатывать ввод с кнопок, выводить картинку на дисплей или, например, заряжать аккумулятор. Поэтому в паре с ним должен быть микроконтроллер или в контексте конкретного этого телефона — центральный процессор.
Дабы разобраться, почему этот телефон представляет гиковский интерес, давайте посмотрим на схему типичного бюджетного кнопочника. В нулевых годах, мобильный телефон был достаточно сложным устройством с большим количеством различных чипов, каждый из которых выполнял свою функцию. Даже в такой с виду простой звонилке, как Nokia 1100, под капотом скрывается сложный контроллер питания UEM, полноценная ARM-система на кристалле UPP со своей оперативной и флэш-памятью, а также радиотракт от компании Infineon. Почти каждый производитель телефонов писал свою собственную прошивку с нуля с разным набором фич — в одних были просто функции "звонилки", в других можно было запускать Java-приложения, а в третьих телефоны могли рисовать 3D-графику в реальном времени без какого-либо GPU!
UEM в Nokia 1100
В наше время высоких технологий стало возможным реализовать целый телефон на одной-единственной системе на кристалле, где в одном чипе есть всё — и зарядка, и формирование напряжений, и радиомодуль, и центральный процессор, что удешевило серийные телефоны до цены буквально в 1.000 рублей. Но вот незадача, с удешевлением урезался и функционал устройств. Большинство таких телефонов работает на одной и той же прошивке с минорными изменениями, они ничем друг от друга не отличаются и на них даже нельзя установить сторонние программы! Большинство современных кнопочных телефонов построены на базе одной и той же платформы — MediaTek MT626x или Unisoc SC65xx для 2G/SC9xxx для LTE.
И тут, как гром среди ясного неба, некая компания Маском выпускает Телефон-Н2, сертифицированный для использования в госслужбах и ФСБ. На закрытых заседаниях обычные телефоны использовать нельзя из-за всяких допусков, секретностей и тому подобного, поэтому дабы исключить возможные закладки от производителей в виде скрытой отправки СМС, производитель решил разработать свою собственную прошивку для телефона и более того, построить сам телефон на базе очень нестандартной для серийного устройства аппаратной платформе.
❯ Что в коробке?
Телефон поставляется в картонной коробке на манер изделий времен СССР: простейший дизайн, сертификационный номер, а также серийный, который исчисляется в тысячах. На всякий случай, "серийник" своего устройства я замазал.
Внутри лежит сам телефон, подсказка о том, как пользоваться сим-лотком, сертификация ОКБ а также довольно объёмная инструкция-талмуд которую даже интересно полистать — она сильно отличается от других серийных телефонов. Забавно что несмотря на подсказку, сим-лоток всё же умудрились сломать — это и стало причиной списания телефона в утиль и выбрасывания на свалку (а затем и попадания ко мне).
В талмуде описана некая интересная фича от прослушки — если телефон открыт и светодиод не горит, то микрофон подключен к радиотракту, если закрыт, то физически отключается. Фишка, без шуток, довольно классная и была бы актуальна на Android-смартфонах с умными чехлами!
Хотя в инструкции и запрещена разборка устройства, мы говорим о списанном девайсе который уже ушел "на металл".
Сам телефон, как я уже говорил в начале статьи, внешне — точная копия Samsung C3520. Оригинальный телефон вышел в 2011 году и работал на аппаратной платформе от компании Broadcom с проприетарной оболочкой Samsung.
Однако его корпус по каким-то причинам стал очень популярным у китайцев и в нём выпускались бюджетные кнопочники, не имеющие ничего общего с оригиналом и дальше. Но конкретно Маском Н2 хоть и косит под "нонейм-китайца", на деле им не является! Давайте разберем телефон и узнаем почему!
❯ Разбираем
Разбирается телефон точно также, как и оригинал — откручиваем несколько винтиков по периметру устройства и снимаем заднюю часть корпуса. После разборки, нашему взору открывается материнская плата устройства. И сразу в глаза бросается довольно небольшая плотность монтажа элементов:
В верхней части платы у нас расположился чип зарядки литий-ионных аккумуляторов в лице классического TP4056, драйвер LCD-подсветки, предположительно линейный регулятор на 3.3В для запитывания микроконтроллера (в радиотракте есть свой собственный DC-DC, поэтому его питание можно повесить через ключ напрямую от аккумулятора), а также несколько неизвестных элементов.
А с нижней, под защитным экраном, скрывается микроконтроллер в лице STM32F427 с ARM-ядром Cortex-M3, способном работать на частоте до 180МГц, 2Мб флэш-памяти и 256Кб оперативной памяти. До этого момента я ни разу не видел, чтобы кто-то использовал микроконтроллер общего назначения в мобильном телефоне — это в целом очень диковинное решение. Обычно используют ASIC'и или полноценные системы на кристалле, но чтобы серийный телефон на STM32...
Рядом с процессором есть несколько тестпоинтов, скорее всего один из них переводит телефон в режим прошивки. Однако по софтовой части телефон я колупать не стал — думаю, сами понимаете почему.
С обратной стороны у нас расположились кнопки устройства и копирайт — плата произведена в 2019 году. Судя по информации в сети, телефон производится как минимум с 2017 года и до сих пор используется в госслужбах.
Пожалуй, насчёт конструктива и инженерных решений можно смело сказать что телефон простой как табуретка, или, например, АК-47. В телефоне фактически нет чипов в BGA-корпусе - только QFN, QFP и LGA, которые при желании можно перепаять чуть ли не советским паяльником (с хорошим флюсом, конечно-же). Все запчасти доступны в свободной продаже, обратно трассировать плату в виде схемы можно буквально за пару дней. Единственный вопрос - это прошивка, я не трогал JTAG в микроконтроллере, но думаю производитель заблокировал возможность её свободной вычитки.
Единственное потенциально больное место телефона - это TP4056, который очень любит сильно греться и сгорать при зарядке с силой тока выше 0.6-0.7А. Я не смотрел, какой резистор стоит на пине регулировки выходного тока, но судя по нагреву телефона там что-то около ~0.4А. Ну что ж, давайте соберем телефон, включим его и посмотрим что у нас здесь по программной части!
❯ Включаем
При включении телефона нас встречает логотип компании-производителя. Поскольку внешнего контроллера питания здесь нет, процессор запитан даже когда телефон полностью выключен, просто находится в режиме Deep Sleep. Так что при долговременном хранении, АКБ лучше вытащить.
Рабочий стол телефона максимально простой и визуально повторяет классический интерфейс телефонов Nokia. К сожалению, поменять обои или назначить кастомные действия на кнопки нельзя.
Главное меню телефона состоит всего из 4х-пунктов: звонки, контакты, настройки и СМС. С одной стороны всё что нужно для звонилки, с другой хочется хотя-бы "змейку" и FM-радио. А ведь если бы телефон был доступен на массовом рынке и под него можно было писать свои программы - только представьте сколько полезных приложений уже могли бы реализовать! Не уверен насчет модемов Telit, но SIMCOM точно умеет выходить в сеть и отправлять http/https-запросы. Уже это дало бы возможность реализовать клиенты мессенджеров и всякие QoL-штучки по типу прогноза погоды или RSS-ленты!
Контакты здесь самые простые: телефон и имя. Есть возможность импорта контактов с сим-карты и синхронизации с ПК, однако софта для этого в свободном доступе нет.
СМС, судя по всему, хранятся в радиомодуле и телефон каждый раз запрашивает их, показывая окно "подождите". Ну, сим-слот у нас сломан, поэтому потестить возможность отправки СМСок не выйдет!
В настройках есть самые необходимые пункты - время и дата, будильник, настройки энергосбережения, а также настройки мелодий. Полифония довольно неплохая, но мелодии очень простенькие, хоть и явно имеют знакомый мотив. Может кто-то из читателей сможет их угадать?
Видео на ютубе:
И в ВК для тех, кто не хочет включать впн:
В целом, по софтовой части телефон очень простой. Однако опять же, будь он хоть сколь-либо массовым - у него были бы довольно большие перспективы к моддинигу и разработке кастомного софта сообществом, поскольку железо здесь по меркам кнопочного телефона... вполне ничего! Разве что ОЗУ маловато...
❯ Заключение
Я понимаю, что данную статью будут читать не только мобильные гики и embedded-разработчики, которые сразу поймут в чём фишка устройства, но и просто заинтересованные в теме российских разработок читатели. Поэтому давайте подытожим нашу сегодняшнюю статью:
Программная часть телефона разработана в России (за исключением прошивки модема). Ничего удивительного в этом нет — когда-то в РФ были R&D-центры Motorola Mobility, мобильного подразделения LG и Elcoteq (крупный ODM и OEM производитель, один из подрядчиков Nokia и Siemens).
Плата телефона спроектирована и разведена в России. Насчёт производства и монтажа компонентов не уверен, но на сайте компании написано что у неё есть мощности для производства плат.
Корпус скорее всего отлит в Китае. Радиотракт, чарджер, ключи и микроконтроллер — иностранные.
То есть, можно сказать что телефон разработан примерно по такому же принципу, по какому раньше делали телефоны Sagem — закупается готовый модем (TI Calypso), пишется прошивка и на базе программно-аппаратной платформы разрабатываются конкретные модели устройств. Конечно такое крайне маловероятно, но сама концепция открытого кнопочного серийного мобильного телефона, поддающегося моддингу, была бы очень интересна сообществу гиков и любителей "простых" телефонов. Может, Маском захочет сделать гражданскую версию с возможностью разработки кастомных приложений?
Мечтай...
Если вам интересна тематика ремонта, моддинга и программирования для гаджетов прошлых лет, подписывайтесь на мой Telegram-канал "Клуб фанатов балдежа", куда я выкладываю бэкстейджи статей и видео, полезные заметки и иногда немножко щитпоста. Если вам интересны мои видео той же тематики — предлагаю подписаться на мой YouTube-канал.
Ваша искренняя реакция?
Что думаете об устройстве из статьи?
Очень важно! Разыскиваются девайсы для будущих статей!
Друзья! Для подготовки статей с разработкой самопальных игрушек под необычные устройства, объявляется розыск телефонов и консолей! В 2000-х годах, китайцы часто делали дешевые телефоны с игровым уклоном — обычно у них было подобие геймпада (джойстика) или хотя бы две кнопки с верхней части устройства, выполняющие функцию A/B, а также предустановлены эмуляторы NES/Sega. Фишка в том, что на таких телефонах можно выполнять нативный код и портировать на них новые эмуляторы, чем я и хочу заняться и написать об этом подробную статью и записать видео! Если у вас есть телефон подобного формата и вы готовы его задонатить или продать, пожалуйста напишите мне в Telegram (@monobogdan) или в комментарии. Также интересуют смартфоны-консоли на Android (на рынке РФ точно была Func Much-01), там будет контент чуточку другого формата :)
А также я ищу старые (2010-2014) подделки на брендовые смартфоны Samsung, Apple и т. п. Они зачастую работают на весьма интересных чипсетах и поддаются хорошему моддингу, парочку статей уже вышло, но у меня ещё есть идеи по их моддингу! Также может у кого-то остались самые первые смартфоны Xiaomi (серии Mi), Meizu (ещё на Exynos) или телефоны Motorola на Linux (например, EM30, RAZR V8, ROKR Z6, ROKR E2, ROKR E5, ZINE ZN5 и т.п, о них я хотел бы подготовить специальную статью и видео т. к. на самом деле они работали на очень мощных для своих лет процессорах, поддавались серьезному моддингу и были способны запустить даже Quake!). Всем большое спасибо за донаты!
А ещё я держу все свои мобилы в одной корзине при себе (в смысле, все проекты у одного облачного провайдера) — Timeweb. Потому нагло рекомендую то, чем пользуюсь сам — вэлкам:
В этом видео мы с нуля разработаем и изготовим несложное электронное устройство. Исходники платы, кода и 3д моделей на гитхабе: https://github.com/Dudarion/BLE_wheel.git
Друзья, рад сообщить, что мне удалось выкроить немного времени для работы над моим проектом, и я готов представить демо-версию 4.0 моего уникального устройства — "сгибателя кабелей". В этой версии я внедрил несколько значительных улучшений, которые делают устройство ещё более функциональным и удобным в использовании.
Главное нововведение — это возможность сохранения последнего количества сгибов. Теперь, даже если что-то пойдет не так, последние результаты будут надежно сохранены в EEPROM. Это значит, что даже в самых неблагоприятных условиях вы сможете восстановить данные и продолжить тестирование с того места, где остановились. Если же результаты вам больше не нужны, предусмотрена кнопка сброса, которой можно воспользоваться в любой момент.
Я осознаю, что простое сгибание кабеля может не дать полной картины его состояния, так как внешние повреждения не всегда свидетельствуют о внутренних разрушениях проводов. Поэтому я начал разрабатывать методику определения работоспособности кабеля, чтобы устройство могло не только фиксировать физические изменения, но и оценивать электрические характеристики.
Кроме того, я решил, что это будет последний раз, когда я использую эмулятор для тестирования. Все последующие версии будут создаваться исключительно в "железе", что позволит добиться максимальной точности и надежности.
Я продолжаю работать над этим проектом и с нетерпением жду возможности поделиться с вами новыми достижениями. Надеюсь, что мои усилия помогут вам в оценке качества и долговечности ваших кабелей.
Приветствую всех! Я продолжаю развивать свой самодельный стенд для испытания USB-кабелей, и хочу поделиться последними достижениями. В новой версии моего устройства, которое я называю "сгибателем кабелей", появилась возможность подсчета количества сгибаний. Каждое сгибание и разгибание теперь учитываются как отдельные действия, что позволяет более точно отслеживать износ кабеля.
Ранее, чтобы остановить работу устройства, приходилось отключать питание, что было не слишком удобно. Поэтому я добавил кнопку, которая позволяет запускать и останавливать работу сервомашинки простым коротким нажатием. Это значительно улучшило удобство использования.
Я также изменил логику работы сервы, и теперь она изгибается в диапазоне от 0° до +90°. Однако, несмотря на все эти улучшения, я чувствую, что моё устройство ещё не достигло совершенства. Одной из важных функций, которую я планирую добавить в четвёртой версии, является возможность сохранения результатов. Это позволит избежать потери данных о количестве циклов при отключении питания, что критически важно для точной оценки долговечности кабелей.
Я продолжаю работать над этим проектом и надеюсь, что вскоре смогу представить ещё более совершенную версию моего устройства.
В мире современных технологий мы все сталкиваемся с необходимостью приобретения зарядных кабелей для наших телефонов, ноутбуков и планшетов. На первый взгляд кажется очевидным, что чем дороже кабель, тем выше его качество. Однако, в моей практике однажды произошло обратное, что и вдохновило меня на создание уникального устройства — "сгибателя кабелей".
Недавно я начал изучать программирование и решил применить свои новые знания на практике. Первым шагом стало подключение сервомотора к микроконтроллеру ATmega 128, работающему на частоте 8 МГц. Я использовал цифровую серву с усилием 20 (40) кг, и смог настроить её так, чтобы она вращалась на заданный угол от +90 до -90 градусов.
Однако вскоре я понял, что это устройство, хоть и интересное, не дает полной картины о качестве кабеля. Поэтому в следующей версии я планирую добавить дисплей, кнопку для управления, функцию определения работоспособности кабеля и счетчик количества сгибаний. Это позволит более точно оценивать качество и долговечность кабелей, которые мы используем каждый день.
Исходный код моего проекта будет представлен ниже, и я надеюсь, что он вдохновит других на создание собственных инновационных решений.
В мире современных технологий мы все сталкиваемся с необходимостью приобретения зарядных кабелей для наших телефонов, ноутбуков и планшетов. На первый взгляд кажется очевидным, что чем дороже кабель, тем выше его качество. Однако, в моей практике однажды произошло обратное, что и вдохновило меня на создание уникального устройства — "сгибателя кабелей".
Недавно я начал изучать программирование и решил применить свои новые знания на практике. Первым шагом стало подключение сервомотора к микроконтроллеру ATmega 128, работающему на частоте 8 МГц. Я использовал цифровую серву с усилием 20 (40) кг, и смог настроить её так, чтобы она вращалась на заданный угол от +90 до -90 градусов.
Однако вскоре я понял, что это устройство, хоть и интересное, не дает полной картины о качестве кабеля. Поэтому в следующей версии я планирую добавить дисплей, кнопку для управления, функцию определения работоспособности кабеля и счетчик количества сгибаний. Это позволит более точно оценивать качество и долговечность кабелей, которые мы используем каждый день.
Исходный код моего проекта будет представлен ниже, и я надеюсь, что он вдохновит других на создание собственных инновационных решений.