Обновить
256K+

Электроника для начинающих

Arduino, DYI и как собрать Электроника

110,76
Рейтинг
Сначала показывать
Порог рейтинга
Уровень сложности

Внутри ALU-чипа 74181: фотографии кристалла и реверс-инжиниринг

Уровень сложностиСредний
Время на прочтение11 мин
Охват и читатели7.1K

По учебникам цифровой логики легко представить, что ALU — это аккуратная схема из понятных вентилей. Но внутри реального TTL-чипа всё интереснее: странные многоэмиттерные транзисторы, компактные XOR-каскады, упреждающий перенос и топология кристалла, где каждый резистор занимает драгоценное место.

В этой статье разбираем 74181 — культовый 4-битный ALU-чип 1970-х — по фотографиям кристалла и смотрим, как инженерные компромиссы превращаются в работающий процессорный блок.

Заглянуть внутрь

Новости

Проблемы печей оплавления припоя Pu*** и их превенция

Время на прочтение5 мин
Охват и читатели4.6K

ЛУТовый текстолит, паяльная паста Mechanic, настольная печь Puhui и, опционально, руки из плеч – базовый набор начинающего контрактного монтажника/производителя микросерий. Если быть точным, Puhui Electric Technology CO., LTD. Их модели, такие как T-960, T962, T-937 и разнообразные модификации – друзья радиолюбителей в России и по всему миру, где, благодаря интернет коммерции, с ними знакомы уже очень давно.

Читать далее

Стало жарко: изучаем элемент Пельтье и строим холодильник

Уровень сложностиПростой
Время на прочтение11 мин
Охват и читатели6.7K

Дело идёт к жаркому лету, и становятся актуальными различные способы охлаждения продуктов, приборов да и воздуха в комнате. Конечно, можно использовать обычные компрессионные холодильники и кондиционеры, работающие от сети. Но есть ли другие способы получить холод?

Оставим в стороне охлаждение бутылок в проточной воде, обёртывание их мокрым полотенцем с выставлением на ветер, а также заблуждение насчет охлаждения молока при помощи лягушек. Что если нужно охладить банку напитка прямо на рабочем столе? Или, наоборот, микрокомпьютер, мощный транзистор выходного каскада усилителя? Обычные компрессионные холодильники использовать можно, но из-за размеров на рабочий стол их не поставить.

Вооружившись элементом Пельтье с радиаторами и вентиляторами, я за полчаса сделал за настольный холодильник из теплоизоляционной плиты, купленной в строительном магазине. Примерно за час-два он смог охладить содержимое до 11 ⁰C.

Читать далее

Самодельный elgato-like макропад. Часть 2, софтовая

Уровень сложностиПростой
Время на прочтение7 мин
Охват и читатели7.3K

Так как в первой статье я сосредоточился на схемотехнике, в этой хотелось бы пройтись по разработке ПО и прошивки.

Напомню, я решил, что вместо прошивки мне подойдёт и нейрослоп - в конце концов это не серийное устройство, а поделка для себя. И тут, как обычно, в процессе работы пошли фейерверки.

ESP32-S3 имеет два USB выхода - обычный через микросхему CH340, которая конвертирует USB в UART, и второй USB OTG, который подключен к чипу напрямую. То есть чип может управлять тем, какое "устройство" он предоставит хостовой ОС! Более того, он может предоставлять несколько устройств одновременно. Это было как раз то, что надо: одним устройством будет USB HID клавиатура для "сырого" ввода в консоль, например, а вторым - USB RAW устройство, которое будет слушать софт бекенда - запускать приложения по ярлыкам, регулировать громкость, отправлять в устройство настройки. И всё это минуя тормознутый UART. Сказка. Но, как оказалось, для взрослых.

Казалось бы, полный интернет примеров того, как это настраивать. Даже в самом фреймворке esp-idf есть пример композитного устройства, значит, информация уж точно легкодоступная, бери да пользуйся. Я попросил ИИ добавить это в прошивку и... Оно не смогло. То есть вообще. Два дня и токенов примерно на 30 баксов - и я взял дело в свои руки, потому что ИИ выдумывал всё более и более изобретательные причины того, почему прошивка не компилируется, но вот выдумать компилирующуся прошивку не мог никак.

Читать далее

Программирование блока питания АКИП-1160/6 (или Drive-by-Wire)

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели8.9K

Часто бывает такая ситуация, что вы разрабатываете прошивку для электронной платы у которой есть ADC порты.

Рано или поздно Вам придется как-то убедиться, что ADC в самом деле измеряют то напряжение, что приложено со стороны улицы.

И тут выясняется, что нужен прибор, который способен по команде выставлять на проводе разнообразные постоянные напряжения. Таким прибором, внезапно, является любой нормальный лабораторный блок питания.

Читать далее

Как мы осваивали производство гибко-жёстких печатных плат: от проб и ошибок к рабочей технологии

Время на прочтение5 мин
Охват и читатели6.4K

Производство типовых печатных плат — само по себе сложный высокотехнологичный процесс. Но когда заказчик приходит с нестандартной задачей, нам, как производителям, часто приходится этот процесс изобретать заново. Сложность усугубляется тем, что отрасль печатных плат в России — это узкий рынок производителей, к тому же несколько изолированных от зарубежной производственной базы. Если говорить откровенно: никто толком не знает, как это делать. А если и знает — держит технологию в секрете.

В этой статье мы расскажем, как на нашем заводе «ЭЛЕКТРОконнект» делали первые гибко-жёсткие платы, с какими трудностями столкнулись и как в итоге научились их выпускать на серийном уровне.

Читать далее

Самодельный elgato-like макропад. Часть 1, железная

Уровень сложностиСредний
Время на прочтение14 мин
Охват и читатели7.8K

Как я уже писал в своей прошлой статье, дурная голова рукам покоя не даёт. Так что не прошло и месяца после завершения работы над звонком, как руки уже начали чесаться. И занятие им нашлось достаточно быстро...

Я пользуюсь MAD CATZ S.T.R.I.K.E. 7, которая всем чудо как хороша, кроме того, что вышла больше 10 лет назад, её производитель обанкротился в 2014 и её софт на Win 11 уже надо ставить с бубном. Все мы смертны, клавиатуры - тем более, так что я стал задумываться над заменой. Но проблема в том, что я привык к россыпи макроклавиш, которые позволяют одним нажатием, не задействуя мозг, переключать ветки гита, исправлять криво введённые команды или вбивать пароли в окошки по 15 раз за день (о боги хаоса, как я "люблю" параноиков-безопасников). А современные клавы имеют в лучшем случае 4-5 макроклавиш (что вдвое меньше, чем нужно), а некоторые ещё и стоят как приватный остров. И тут в унынии я наткнулся на это...

Читать далее

VSCode как IDE для embedded разработки

Уровень сложностиПростой
Время на прочтение15 мин
Охват и читатели11K

В данной статье рассматривается процесс настройки vscode для разработки встроенного ПО на базе ядер cortex-M и процессе превращения редактора в полноценную IDE. При этом большинство представленных расширений являются универсальными и применимы в широком спектре задач программирования.

В отличии от проприетарных решений, таких как Keil, подход использования редактора vscode + компилятор gcc позволяет гибко настроить каждый пункт от начала разработки до релиза продукта. За время своей работы мною было опробованы разные решения: от классического keil до связки sublime и CodeSourcery. В последние годы я перешел на vscode + msys2: практически все ПО Open Source, не требует лицензий, не ограничено 32 Кб кода и может работать без сети интернет.

Читать далее

Разработка параметризируемого модуля CORDIC-алгоритма на System Verilog

Уровень сложностиСредний
Время на прочтение19 мин
Охват и читатели13K

В далеком 2011 году автором была опубликована статья «Реализация CORDIC‑алгоритма на ПЛИС» [1]. В той статье приводится сначала математическое описание алгоритма, его суть. Показан пример расчета поворота вектора на плоскости сначала «на бумажке» согласно алгоритму, а затем сравнение результатов с расчетом «по калькулятору». Затем, показано создание структурной схемы проекта с rtl‑описанием CORDIC‑алгоритма и приведены листинги каждого модуля. Помимо этого были приведены основы создания проекта в среде ModelSim.

Автор считает, что эта статья оказалась полезной для новичков в области программирования ПЛИС, так как на протяжении долгого периода времени, после публикации статьи приходили письма с вопросами и уточнениями на данную тему. Даже сейчас я часто встречаю на различных форумах на тему ПЛИС ссылки на данную работу. Но! Если математическая часть алгоритма однозначно является полезной, а также основы создания и структурированного ведения проекта для новичка, то использовать данное rtl‑описание в различных проектах, адаптируя модули проекта по свои нужды крайне неудобно и неуклюже. По крайней мере, автор, когда заглядывает в это свое создание в прошлом, морщится и чувствует себя неловко.

Поэтому появилось желание представить тот модуль CORDICа (для генерации гармонического сигнала в сфере радиолокации и связи), который автор использует в данный момент в различных проектах. Весь алгоритм реализован в одном sv‑модуле, а, значит, его намного легче переносить из проекта в проект. Также он более прост в восприятии.

Читать далее

Проектируем с нуля калькулятор на FPGA. Части 4 и 5: Фреймворк и оборудование

Время на прочтение11 мин
Охват и читатели8.5K

← Третья часть

Сколько себя помню, я любил играть в LEGO. Больше всего меня восхищало то, что из одного и того же набора типов блоков можно построить что угодно: главными были не блоки, а воображение или план, показывающий, в каком порядке их соединять. Мой проект работает аналогичным образом: один набор исходников, хороший план и множество различных способов собирать и тестировать его.

В этой части я расскажу об окружениях и их взаимосвязи.

Главный принцип этого фреймворка заключается в том, что единственный набор файлов исходников на Verilog можно без изменений использовать в различных средах сборки:

ModelSim для потактово точной симуляции HDL с волновым выводом

Verilator для быстрой симуляции на C++, с тестовой обвязкой (calctest) и другими инструментами

Десктопное приложение на Qt для интерактивной работы с интегрированным отладчиком на уровне исходников

Qt WebAssembly для запуска калькулятора в браузере с попиксельной точностью

Quartus для синтеза и записи на физическую плату FPGA

Каждое из окружений позволило выявлять свой класс багов. ModelSim отлавливает проблемы таймингов на уровне сигналов. Verilator обладает достаточной скоростью для проверки тысяч тестовых векторов. Симулятор на Qt позволяет удобно пользоваться интерактивной отладкой. WebAssembly доказывает работоспособность кода в совершенно иной среде исполнения, в которой видением приложения можно поделиться со всем миром. Целевая платформа FPGA, реальная плата — это то, что можно потрогать, окончательная реализация идеи.

Читать далее

Дальнейшая судьба SFP-Master

Время на прочтение2 мин
Охват и читатели11K

По следам моей публикации "Программируем SFP-модули на программаторе CH341A". Программа SFP-master была портирована c Qt5 на Qt6. Модуль "общения" с интерфейсом I2C был полностью переписан, стал значительно проще, короче и надежней. Сейчас доступна версия v1.1.1. Русскоязычное описание программы я выложил здесь. Поэтому повторять его здесь смысла нет.

Читать далее

Проектируем с нуля калькулятор на FPGA. Часть 3: Практические численные методы

Время на прочтение11 мин
Охват и читатели11K

В предыдущем посте мы ответили на вопрос о реализуемости проекта: да, tanlnexp и sqrt можно при помощи различных трюков вычислить из сложения, вычитания и умножения. В этом посте мы поговорим о том, как делать это корректно с точностью до 16 десятичных разрядов при помощи проверенной эталонной реализации, относительно которой мы будем в дальнейшем тестировать оборудование.

Когда я начинал этот проект в 2021 году, мне нужен был код на C++, который бы реализовывал алгоритмы на основе примитивов BCD и проверял результаты. Этот код превратился в подпроект Methods. Он заработал, но в нём возникли небольшие баги с шириной мантиссы, из-за которых тестовые результаты оказались ненадёжными в пределах одного-двух последних разрядов. Вместо того, чтобы патчить его, я в 2025 году переписал всё с нуля в рамках подпроекта Proto: более чистой архитектуры, правильного эталона и генератора тестовых векторов оборудования, относительно которого можно валидировать микрокод FPGA.

Читать далее

Карманный брелок Doom на Arduino nano

Уровень сложностиСредний
Время на прочтение4 мин
Охват и читатели18K

Привет! Это карманный брелок-приставка с игрой Doom на Arduino nano! Из данного гайда вы узнаете как собрать карманную приставку с легендарной игрой Doom, с возможностью перепрошивки на что-нибудь другое! Также вы сможете получить опыт в 3D-печати, сборке и пайке электроники Arduino, и, разумеется, новые впечатления от создания таких компактных устройств.

Читать далее

Ближайшие события

Проектируем с нуля калькулятор на FPGA, части 1 и 2

Уровень сложностиСредний
Время на прочтение13 мин
Охват и читатели15K

Идея этого проекта пришла ко мне в феврале 2021 года, когда в Остине (штат Техас) произошёл сбой энергосистемы. К сожалению, нам надолго запомнилось то, как правительство справлялось с ситуацией. Когда единственным источником тепла и света остался только газовый камин, а единственным окном в мир — слабое телефонное Интернет-соединение, у меня было много времени поразмыслить о том, что бы новое и интересное мне хотелось разработать. Я взял калькулятор HP-41CV и начал нажимать на кнопки. Как обычно, ощущения от этого были самыми приятными. И мне захотелось самому создать нечто подобное!

В начальной школе мне представилась возможность поиграть с HP-41CV. Я наблюдал, как калькулятор загружает программу с магнитной ленты и запускает её. Жужжание считывателя карт и тонкая магнитная лента, втягиваемая в устройство с одной стороны и выходящая с другой, внезапно изменяли поведение калькулятора, что произвело на меня очень сильное впечатление. Я и не подозревал, что оно повлияет на всю мою жизнь. Спустя несколько лет у меня появился Sinclair ZX81, потом ZX Spectrum, на котором я при помощи дизассемблера HiSoft Devpac MONS взламывал разные игры. Эти два устройства (калькулятор HP и микрокомпьютеры Sinclair) подтолкнули меня к разработке, программному обеспечению и исследованию внутренностей разных машин. Во многом я стал разработчиком именно благодаря этому.

Когда-то я изучал сам чип Z80, воссоздав его в виде A-Z80 и написав визуальный инструмент Z80 Explorer, отображающий его список связей. В каком-то смысле это ощущалось как закрытие темы одержимости Sinclair. Проект калькулятора ощущался как закрытие темы HP. Это не клон, не эмуляция, а реализация с нуля на основе тех же принципов. Мне хотелось изнутри разобраться в том, почему эти машины работали именно так.

Как работает научный калькулятор? Не в общих чертах, а в подробностях. Как он хранит числа? Какой алгоритм вычисляет sin(x)? Как функционирует его очень простой CPU?

В серии моих статей мы получим ответы на эти вопросы: в конечном итоге мы получим полностью работающий научный калькулятор, спроектированный и изготовленный с нуля, на собственном CPU, созданном на FPGA, с написанным вручную микрокодом, эталонными реализациями на C++ и физическим «железом», которое лежит у меня на столе и может вычислять точные ответы. И всё это в опенсорсе: вы можете увидеть это и попробовать самостоятельно.

Насколько я понимаю, этот проект уникален: мне неизвестен ни один другой научный калькулятор (с тем же уровнем функциональности), реализованный на FPGA с собственным CPU и оригинальным рукописным ПО для его работы.

Читать далее

Создаем I²C Master Controller на Verilog. Burst‑транзакции и дисплей SSD1306

Время на прочтение117 мин
Охват и читатели11K

Продолжим совершенствование нашего I²C‑контроллера и расширение спектра применимости. В этот раз сделаем возможность burst‑транзакций и выведем картинку SSD1306. Для этого необходимо детально разобрать механизм функционирования OLED‑дисплея SSD1306 и сделать аппаратный контроллер с burst‑передачей по I²C, и в качестве примера сделать генерацию визуализацию 3D‑куба и текста. Получился ОЧЕНЬ объемный материал с объяснением всех механик примененных для решения данной задачи. И вся логика — сугубо в железе, без процессора, без микрокода и чисто в ПЛИС.

Всем кто интересуется кодингом под Verilog — добро пожаловать под кат!

Читать далее

Детектор WiFi излучения (WiFi дозиметр)

Уровень сложностиПростой
Время на прочтение8 мин
Охват и читатели25K

Мне приходится периодически кататься на велике. В какой‑то момент я решил, что просто кататься — это слишком скучно. Захотелось не просто ездить, но и как‑то исследовать окружающий мир.

Я попробовал исследовать окрестности своего квартала на наличие источников WiFi излучения.

Читать далее

Axera AX650N: архитектура Edge ML SoC под CNN, LLM и VLM

Уровень сложностиСредний
Время на прочтение24 мин
Охват и читатели14K

Большинство задач современной робототехники так или иначе завязаны на нейронных сетях: детекция объектов, оценка глубины, локализация, планирование. Всё это ресурсоёмко, и вопрос выбора компактного вычислителя (достаточно часто алгоритмы должны работать локально) встает довольно остро. На практике выбор сводится к трём классам устройств: NVIDIA Jetson, внешний ускоритель (один из самых популярных — Hailo) и китайский (не всегда, конечно, но в современных реалиях обычно китайский) SoC с интегрированным NPU. В этой статье я рассмотрю представителя третьего класса — Axera AX650N, а NVIDIA Jetson будет использоваться для сравнения, так как это единственное массовое edge-решение с универсальными вычислительными ядрами (CUDA).

Это первая часть цикла. Здесь я разберу аппаратную архитектуру самого AX650N — CPU, NPU, DSP, ISP, память — и поделюсь результатами первых тестов: YOLO, Depth Anything, SuperPoint и мультимодальный Qwen3. Подробные бенчмарки и сравнения — во второй части.

Я тестировал AX650N в рамках готового устройства от Sipeed — Maix4 Hat. Он состоит из двух частей: SoM, на котором расположены SoC и 8 GB RAM (2x4 GB, так как у AX650N два отдельных DDR-контроллера), и baseboard от Sipeed с минимальным количеством интерфейсов. Скромность интерфейсов объясняется просто: baseboard — это HAT для Raspberry Pi 5, подключающийся по PCIe 2.0. В такой конфигурации AX650N работает как внешний ML-ускоритель, аналогично Hailo. В рамках этой и последующих статей я буду использовать Maix4 Hat как самостоятельный микрокомпьютер.

Читать далее

«Вечный» пульт ДУ: можно ли забыть о батарейках?

Уровень сложностиПростой
Время на прочтение8 мин
Охват и читатели21K

Картинка: blog.son-video.com

С чем мы сталкиваемся чаще всего, и что чаще всего вызывает желание это как-то улучшить? 

Я думаю, многие согласятся, что одним из самых надоедливых моментов является неожиданный выход из строя пультов инфракрасного дистанционного управления от разнообразной бытовой техники — причём происходит это, как правило, всегда неожиданно и по одной и той же причине: сели батарейки. 

Посмотрим, какие интересные варианты решения этого вопроса имеются! 

Читать далее

Создаем I2C Master Controller на Verilog. Создаем контроллер ядра I2C

Уровень сложностиСредний
Время на прочтение33 мин
Охват и читатели12K

Я продолжаю описывать создание I2C-контроллера на Verilog. В предыдущих статьях мы протестировали ядро контроллера который выполняет атомарные функции работы с шиной в т.ч. в пограничных ситуациях типа clock stretching и пр. Теперь необходимо разработать управляющий контроллер для этого ядра, чтобы выполнять необходимые нам функции, но уже на следующем уровне абстракции и стать на шаг ближе к нашей цели - к рабочему коду I2C Controller который мы будем использовать с EEPROM и OLED SSD1306, а далее все это переиспользуем в Zynq и подключим к Linux. 

Всем заинтересовавшимся - добро пожаловать под кат!

Читать далее

Наливатор произносит тост «за Родину», поддерживает дружественный разговор в компании с подружкой, что дальше

Уровень сложностиПростой
Время на прочтение26 мин
Охват и читатели9.2K

Почему домашний бар перестал быть просто набором бутылок и как сегодня можно пересмотреть актуальность DIY-наливаторов

Людей уже так давно подсадили на кофе, что даже пришельцами-червями из Людей в Черном никого не удивишь. Наш организм пропитан этим экстрактом кофейных семян настолько, что в голове уже кипят совершенно нереальные ежедневные мысли и инсайты. 

Мы измеряем утро эспрессо, рабочий день американо, а вечер крафтовым рафом, хотя есть еще люди, посасывающие бутылочки в барах или за телевизором по вечерам, в которых не совсем кофе. Кофемашины стали идеальными: точные, быстрые, бесшумные. 

Но в этой эффективности потерялось главное, ради чего мы вообще собираемся за столом. Ритуал. Общение. Тот самый момент, когда кто-то поднимает бокал, говорит пару слов, и комната на секунду становится теплее.

Мы решили вернуть это в быт. И создали устройство, которое не про кофе. Оно навряд ли заменит Вам вашу подружку-кофемашину, но даст в жизни действительно что-то новое кроме очередных кофейных эмоций. Устройство не просто молча и нужно наливает, а разговаривает, предлагает тосты и превращает домашнее распитие или встречу друзей в событие с особой, оригинальной, атмосферой. У него есть несколько названий, одно из них – «Наливатор». В статье немного пересмотрен подход и принципы, которые использованы в решении 2020 года.

Читать далее
1
23 ...