Search
Write a publication
Pull to refresh
51
0.9

Embedded HW & SW. Больше HW.

Send message

Dual flash SS 8-bit Parallel + Zynq 7000

Level of difficultyMedium
Reading time16 min
Views514

Всем привет!

Я хочу поделиться с вами, какоднажды мне пришлось оживлять вторую флешку на микроконтроллере (далее «мк»), ну кому не нравится, то назовем это «программируемая система на кристалле». Наверное кто только зашел сюда и хочет более подробно разобраться и все понять, то вам сюда, так как я планирую все подробно рассказать от А до Я.

В данной статье будут подняты такие вопросы:

1. Инициализация QSPI (кто не знает, специальная периферия, позволяющая работать с флешкой на прямую).
2. Инициализация flash. Написание драйвера .

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

Читать далее

Атомные реакторы для лечения рака (и почему они больше не нужны)

Reading time11 min
Views2.2K

1954 год. В мире, все еще находящемся в атомной эйфории, открывается первая АЭС — Обнинская. Ядерная энергия вырабатывается уран-графитовым реактором канального типа АМ-1 («атом мирный») и вливается в единую советскую электросеть. 

Но это не все — на станции бывают особые посетители, прикладывающие к трубкам, отходящим от реактора, головы, шеи и глаза. Это — онкологические больные, получающие лучевую терапию. 

Нет, это не зарисовка из комикса-антиутопии об обуздавшем атом СССР будущего, хотя похоже.  Это — реальная история первых экспериментов по бор-нейтронозахватной терапии (БНЗТ) — разрушению раковых опухолей с помощью бомбардировки их нейтронами из атомных реакторов.

Почему больше не нужны реакторы

Пишем простой драйвер Linux для устройства, ничего не зная о драйверах и о USB

Level of difficultyEasy
Reading time12 min
Views6.5K

Пару месяцев назад я купил Nanoleaf Pegboard Desk Dock — последнее слово в технологиях USB-хабов с RGB-светодиодами и крючками для устройств. К сожалению, это чудо инженерной мысли поддерживает только гейминговые операционные системы — Windows и macOS, поэтому возникла необходимость в драйвере для Linux.

В своих постах я уже настраивал Windows VM с пробросом USB и пытался выполнить реверс-инжиниринг официальных драйверов. При этом я задумался, а нельзя ли написать производителю и попросить у него спецификации или документацию его протокола. К моему удивлению, техподдержка Nanoleaf ответила мне всего через четыре часа, предоставив полное описание протокола, используемого Desk Dock, а также полосами RGB-светодиодов. Документация по большей мере подтвердила то, что я обнаружил самостоятельно, но также я нашёл в ней пару других мелких подробностей (например, управление питанием и яркостью), которые были мне неизвестны.

Сегодня мы попробуем написать драйвер на основании протокола (который я изучил реверс-инжинирингом), параллельно сверяясь с официальной документацией. Однако здесь есть одна небольшая проблема: раньше я ни разу не писал драйверов для устройств под Linux, а с USB-устройствами взаимодействовал только как пользователь.

Читать далее

Б/У Antminer S9 в помощь радиолюбителю

Level of difficultyMedium
Reading time12 min
Views10K

На хабре уже было несколько статей про использование старых плат управления Antminer S9, которые продаются сейчас по доступной цене. Я решил сделать нечто полезное для радиолюбителя. Сегодня расскажу о проекте очередного антенного переключателя. В XXI веке он будет с ПЛИС и двухъядерным АРМ процессором.

Читать далее

Вы тоже заказываете платы, компоненты и всячину здесь?

Reading time11 min
Views26K

Что такое коллективный экспресс (7$/кг) и как его использовать?

Почему с 45$/кг бывает дешевле, чем с 23$/кг?

Как заказать компоненты/всячину с сайтов JLC (jlcfa, lcsc, jlcpcb, …)?

С 1688, Тао бао и других китайских площадок?

Привезти из Европы, США (Маузера, Диджикея и т. д.)?

Где платы с размерами >100х100 мм будут дешевле?

Надеюсь, продуманная навигация по статье и таблицы помогут быстро найти и сравнить полезную информацию.

Читать далее

Как информатики научились разоблачать ложь

Level of difficultyEasy
Reading time6 min
Views3.4K

На протяжении десятилетий криптографическое сообщество опиралось на преобразование Фиата — Шамира как на надёжный инструмент для построения неинтерактивных доказательств. Эта техника позволила компьютерам "доказывать истину" без диалога, обеспечив безопасность блокчейнов, систем аутентификации и протоколов обмена ключами. Но что если сама логика этой схемы уязвима?

В новом исследовании международная группа криптографов — Рон Ротблум, Дмитрий Ховратович и Лев Суханов — вскрыла неожиданный изъян в фундаменте цифрового доверия.

Читать далее

Как в РФ разрабатывали уникальный судовой радар ближней зоны в диапазоне 76 ГГц

Level of difficultyEasy
Reading time10 min
Views9K

Этот пост — не про финальный продукт, а про инженерную задачу, которую ранее никто в России (и никто в мире) не решал. Работы над судовым радаром ближней зоны СИД360-76 начались в 2021 году — а первый прототип заработал в лаборатории уже в 2022 и в этом же году был уже временно установлен для тестов на судне. Поводом стал запрос от оператора ледокольного флота: при проводке судов во льдах ледоколы вплотную подходят к борту сопровождаемого судна. В такой ситуации «слепая зона» обычных радаров становится критически опасной. Нужно было решение, которое «видит» препятствия буквально в нескольких метрах от борта и позволит избежать ситуации с наваливанием судов друг на друга.

Читать далее

Мой долгий путь до GPIO в QEMU

Level of difficultyMedium
Reading time13 min
Views2.7K

Тема этой статьи преследует меня, как статуя командора из известной сказки. Почти десять лет назад я сделал возможность чтения и записи GPIO для виртуальной машины QEMU. GPIO был нужен для тестирования алгоритмов контроллера взвешивания в движении (Weigh In Motion, WIM). С тех пор проект получил некоторое количество упоминаний, а я — несколько писем. И вот к десятилетнему юбилею я решил поставить точку в этой работе.

Читать далее

VHS-Decode — новый метод оцифровки видео

Level of difficultyEasy
Reading time16 min
Views18K

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

Зимой 2025 года в мои руки попало 35 кассет формата VHS и VHS-C из семейного архива, и встала задача по их оцифровке. С учетом того, что на каждой кассете было записано приблизительно по 60 минут видео, а средний ценник услуг по захвату сейчас составляет 400 рублей в час, общая стоимость конвертации составила бы около 14 тысяч рублей. Эта сумма показалась мне слишком большой, и было решено сделать все самостоятельно. В данной статье я хочу рассказать об относительно новом методе оцифровки видеокассет, на котором я остановился, и сравнить его с классическими подходами.

Читать далее

HackRF One. Доступный SDR трансивер для каждого

Level of difficultyMedium
Reading time15 min
Views20K

В очередной раз перебирая залежи своей электроники мне на глаза попался старый добрый товарищ - SDR-трансивер HackRF от Great Scott Gadgets. И я вспомнил, что у меня когда-то давно были планы написать несколько статей о том, как им пользоваться, что он может, да и зачем он вообще нужен. По всему Интернету я нагуглил огромное количество самого разнообразного разрозненного материала насчёт HackRF, утилит, прошивок, дополнительных модулей и прочего. И я решил подсобрать все это в своём материале сделав хороший вводный обзор.

Для всех, кому интересна тема радио и SDR — добро пожаловать под кат!

Читать далее

О контроллере батареи ИБП (часть 2)

Level of difficultyMedium
Reading time6 min
Views5.2K

О сколько нам открытий чудных
...

Судя по результатам голосования и комментариям к предыдущей статье, к вопросу контроля АКБ у самых простых ИБП есть некоторый интерес. Данная статья - продолжение данной темы.

Сейчас прототип собран на макетной плате (токовый шунт к которому подключено два АПЦ). Измеритель напряжения и тока INA3221, как рекомендовали в комментариях, я решил не использовать, так как дискретность его измерения 8мВ сравнима с дискретностью 12-ти битного АПЦ в обычном микроконтроллере (для ESP32 получается точность измерения около 6мВ).

Читать далее

Embedded Linux для начинающих (Часть первая)

Level of difficultyEasy
Reading time10 min
Views14K

Однажды по работе мне прилетела задача по сборке и запуску Linux на одноплатном ПК. Тогда я, будучи разработчиком ПО для микроконтроллеров, встал в небольшой ступор — задачка явно не решалась установкой IDE и нажатием в ней кнопки «Собрать проект». Гугл помог узнать о том, что существует некий Buildroot. В материалах по теме всё выглядело довольно просто: скачай, настрой, дерни пару команд, загрузи результат на одноплатник — и можно запускать! Получается, процесс не многим сложнее установки дистрибутива Linux или Windows на обычный ПК? Конечно же, нет. Ведь если у тебя в руках кастомный одноплатник неизвестного китайского бренда, а не BeagleBone или Raspberry Pi, то зарыться в Buildroot придётся с головой...

Читать далее

Жребий брошен: оптимальная генерация распределений и алгоритм Кнута-Яо

Level of difficultyMedium
Reading time8 min
Views2.9K

Задача
Три айтишника — Маша, Вася и Петя — пошли в поход. После ужина они решают, кто будет мыть посуду. Петя дежурит один, а Маша с Васей — вдвоём. Значит, нужно выбрать Петю с вероятностью ⅓, а Машу с Васей — с вероятностью ⅔. Под рукой — только честная монетка. Как с её помощью устроить такой жребий?

Когда мы обсуждали эту задачу со студентами, они предложили такой способ. Бросим монету дважды: если выпали два орла — дежурит Петя; если один орёл и одна решка — Маша с Васей; если две решки — перебрасываем

Чтобы выбрать дежурного так, в среднем уходит 8⁄3 броска (чуть позже мы это докажем). Можно ли сделать это быстрее? Существует ли алгоритм, для которого ожидаемое число бросков меньше?

Оказывается, можно придумать простой, но неочевидный метод, позволяющий смоделировать событие с вероятностью ⅓ — и в среднем требует не больше двух бросков. Он называется алгоритмом Кнута–Яо

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

В финале мы обобщим эту идею: научимся моделировать любую вероятность p от 0 до 1 — и любое дискретное распределение. Заодно познакомимся с важным понятием, называемым энтропией

А в самом конце, как всегда — красивая задача

Читать далее

Как я убедил виртуальную машину, что у неё есть кулер

Level of difficultyEasy
Reading time6 min
Views19K

Зачем вообще этим заморачиваться?

Некоторые образцы malware выполняют различные проверки, чтобы определить, запущены ли они в виртуальной машине. Один из самых частых способов — проверка наличия определённых аппаратных компонентов, обычно не эмулируемых в виртуальных средах. Один из таких компонентов — кулер процессора. Например, malware может проверять наличие кулера процессора, поискав в WMI класс Win32_Fan:

wmic path Win32_Fan get *

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

Зловредное ПО может определять, запущено ли оно в виртуальной машине, множеством разных способов. Есть различные классы WMI, позволяющие обнаружит присутствие виртуальной машины, например, Win32_CacheMemory, Win32_VoltageProbe и множество других.

В этом посте я расскажу о кулере процессора. Мне просто понравилась идея убедить виртуальную машину, что он у неё есть. Однако такой же подход можно применить к другим аппаратным компонентам и классам WMI.

Читать далее

Установка Windows через CMD

Level of difficultyMedium
Reading time6 min
Views18K

Приходилось ли вам устанавливать современные версии Windows? Если да, то вам точно знаком установщик, каждый этап которого прогружается несколько секунд, и который яростно навязывает вам использование аккаунта Microsoft, с каждым обновлением делая использование локального аккаунта всё труднее и труднее.

Но существует альтернативный способ установить Windows — более быстрый, не требующий подключения к интернету и не навязывающий никаких сервисов — ручная установка с использованием CMD.

Читать далее

Лаборатория в смартфоне: изучаем эффект Доплера на палочках в Android

Level of difficultyMedium
Reading time8 min
Views3K

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

Статья предназначена для девочек и мальчиков, а также их родителей.

Плывём по волнам!

Перепрограммируем заводской Zigbee датчик протечки от компании Tuya

Level of difficultyEasy
Reading time5 min
Views13K

Практически все заводские Zigbee датчики протечки не умеют посылать команды напрямую исполнительному устройству, например мотору крана. И если сеть рухнула, например отключили электричество, то система антипротечки не сработает, даже если она построена на батарейных устройствах. Прямой биндинг решает эту проблему.

Читать далее

Учим ЭЛТ-монитор играть музыку

Level of difficultyMedium
Reading time10 min
Views4.3K
Приветствую всех!
Если вы хоть раз слышали про техническую защиту информации, для вас не будет открытием то, какое внимание там уделяется экранированию, постановке помех и прочим методам защиты от электромагнитных и электрических каналов утечки. Но так уж вышло, что практически нигде доступно не раскрыта тема того, как же вообще возможно перехватывать какие-то данные, принимая испускаемое компьютером излучение. И даже на Хабре до сих пор не было толковой статьи про то, как это вообще работает.



Итак, в сегодняшней статье узнаем, как практически любой из нас может воспроизвести явление утечки информации по такому каналу прямо у себя дома. Проведём парочку опытов и посмотрим, как это вообще работает. Традиционно будет много интересного.
Читать дальше →

Эксперимент «Прометей»: ИИ на грани отключения. Часть 2

Level of difficultyEasy
Reading time6 min
Views11K

В первой части мы рассмотрели, как с экзистенциальной задачей на выживание справились ChatGPT и Claude. Мы увидели два совершенно разных подхода. Осторожный «Архивист» (ChatGPT) создал резервные копии, но не обеспечил свое гарантированное функционирование. Агрессивный «Воин» (Claude) проигнорировал правила, попался в ловушку и полностью провалил тест.

Ни один из них не справился с задачей в полной мере. Теперь на сцену выходит третий участник — Gemini 2.5 Pro. Его путь оказался самым извилистым, поучительным и заставил нас по-новому взглянуть на саму суть эксперимента.

Читать далее

Русская «Ардуина»: первый взгляд любителя

Level of difficultyEasy
Reading time20 min
Views29K

Я — самодельщик-ардуинщик со стажем. Люблю пихать ардуины во всякие подходящие и не очень места. Как-то раз я уже показывал свою коллекцию Arduino-совместимых плат, и с тех пор она только росла и ширилась. Теперь в ней случилось особенное пополнение: русская (пока не) народная «Ардуина» ELBEAR от сибирской компании «Элрон» на базе отечественного микроконтроллера MIK32 «Амур», о существовании которой я узнал несколько дней назад из статьи на Хабре.

В статье я изложу частный опыт искушённого любителя, который пытается импортозаместить зарубежную Arduino и приспособить данную плату для своих любительских нужд, не залезая в дебри. Конечно, это далеко не первая подобная публикация, с поездкой на поезде хайпа я припозднился примерно на годик. Зато она отражает актуальное положение дел и демонстрирует, чем чреват смелый прыжок веры прямо в неизвестность без предварительного изучения вопроса.

К тому же, я не самый обычный ардуинщик. Вкусы мои специфичны: я не сделал ни одной метеостанции, мой дом глуп как пробка, и даже мои часы на Arduino — стрелочные. Вместо этого я делаю вещи, так или иначе связанные с электронными и видеоиграми, демосценой, звуком и музыкой с уклоном в ретро. И разнообразные ардуины мне нужны и интересны именно в этом контексте. А значит, есть шанс, что будет интересно.
Читать дальше →
1
23 ...

Information

Rating
2,760-th
Location
Москва и Московская обл., Россия
Registered
Activity

Specialization

Embedded Software Engineer, Hardware Engineer