Как стать автором
Обновить
138
0
Алексей @UA3MQJ

Инженер программист

Отправить сообщение

PAL видеоадаптер на FPGA с буфером кадра

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

Наверное, каждый второй разработчик на ПЛИС в начале своего пути пытался визуализировать работу своих схем. Кто-то подключал TFT-дисплей, кто-то — VGA монитор. А у меня под рукой оказался только телевизор с композитным входом. Ну что ж, работаем с тем, что есть!

Читать далее

«Если работает, не трогай». Старое железо до сих пор приносит пользу

Время на прочтение2 мин
Количество просмотров102K
Удивительно, но некоторые частные фирмы и государственные организации до сих пор используют вычислительную технику многолетней давности. Они считают, что если устройство выполняет свою работу, то зачем его менять?


Программируемый электромеханический табулятор IBM 402 в компании Sparkler Filters

Например, у производителя фильтров Sparkler Filters (Техас) до сих пор бухгалтерию обсчитывает электромеханический табулятор 1948 года выпуска. Компания не видит смысла вкладывать деньги в переобучение сотрудников и апгрейд, если и так всё отлично работает.
Читать дальше →

Отладочная плата с жирной ПЛИС за 500р или что делать со старым антмайнером — как я делаю собственную платформу

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

С незапамятных времён, когда ещё существовали браузеры под ДОС, я взял себе ник Astra.

Поэтому и назвал проект превращения запчасти от майнера с мусорки в годную "отладку", с которым вожусь несколько месяцев, --Аstra_S9_SoC(+FPGA)-- или "платформа Astra9" Собственно, сама плата уже давно запроектирована и наштампована конторой Битмаин невероятно большим тиражом- порядка нескольких сотен тысяч (а то и миллиона) экземпляров. Сотни тысяч этих плат УЖЕ находятся у нас в стране, их не надо тащить с Али. Плата предназначена чисто для управления майнингом на хешплатах и не имеет никакой либо документации. Однако, "сердцем" платы является SoC+FPGA микросхема американской корпорации Xilinx -- ZYNQ 7010 xc7z010-clg400, что позволяет использовать её как FPGA девборд и как одноплатник

Я взял на себя труд разработать рабочую документацию на эту плату. https://dzen.ru/a/ZtTuMNBQ3gFhmskj

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

0. Никакой возни, раздобыл плату, микро-СД-флешку - и через полчаса всё заработало https://dzen.ru/a/ZtumRpI4dV3u1R7v

1. Привет, народ или Как помигать светодиодом

2. Запустить Убунту

Читать далее

Адаптация платы Colorlight 5A-75B для примеров «Школы синтеза цифровых схем»

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров3.3K

Привет!

Начался новый поток «Школы синтеза цифровых схем» и я хотел бы поделиться своим опытом по адаптации бюджетной платы с ПЛИС для запуска на ней лабораторных работ Школы. Отдельным преимуществом такого решения является возможность использования Open Source маршрута для синтеза и моделирования цифровых схем на базе Yosys и Icarus Verilog. Colorlight 5A-75B не является отладочной платой в привычном понимании этого понятия - будет интересно.

Читать далее

SDR радиоприёмник в FPGA плате Марсоход3GW2 (Gowin)

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

Когда-то давно, аж 2013-й год, на Хабре была статья "Простой SDR приёмник на ПЛИС" автора @iliasam. Я попытаюсь повторить этот проект на другой элементной базе: FPGA плата Марсоход3GW2, микросхема Gowin GW1NR-LV9QN88PC6/I5.

Законы Цифровой Обработки Сигналов кажется остаются всё те же, что и раньше. Посмотрим, что у меня получится.

Читать далее

SimulIDE: открытый симулятор цифровых схем и микроконтроллеров

Время на прочтение3 мин
Количество просмотров32K

В этой заметке я решил рассказать о SimulIDE. Это относительно новое программное средство с открытым исходном кодом, предназначенное для моделирования 8-битных микроконтроллеров семейств AVR и PIC, а также прочих электронных схем. По интерфейсу SimulIDE напоминает Proteus. SimulIDE кроссплатформенный и работает под Linux, Windows и Mac. Далее будут рассмотрены основные возможности этого симулятора и рассказано о моих личных впечатлениях от работы с данной программой.

Читать далее

Цифровая музыка на микрокомпьютерах (часть 1/2)

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

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

Отрабатываем протокол valid/ready и конвейеры на микроархитектурном тренажере

Уровень сложностиСредний
Время на прочтение2 мин
Количество просмотров2.1K

Чем хорош FPGA-хаб на Хабре это еще и тем что тема протокола valid/ready время от времени тут всплывает. И это действительно важно так как valid/ready является одним из основных протоколов организации управления потоком (flow-control). Понимание valid/ready для микроархитектора так же необходимо как необходимо понимание закона Ома электрику.

На прошлом занятии мы отработали концепцию очереди FIFO на микроархитектурном тренажере - hdlgadgets. В этот раз мы возьмем два FIFO буфера (которые образуют конвейер с valid/ready рукопожатиями) и будем менять flow-control логику конвейера.

Мы покажем что valid/ready это не только механизм передачи данных от одной очереди к другой, но еще и метод для организации разного рода логического функционала между очередями.

Если до этого момента вы не сталкивались с протоколом valid/ready, то будете приятно удивлены как легким движением руки (а если точнее, написанием пары строк на верилоге) мы можем реализовывать разного рода функционал взяв за основу конвейер из двух FIFO.

Читать статью целиком и смотреть видео

Пишем трассировщик лучей для ZX Spectrum

Уровень сложностиПростой
Время на прочтение16 мин
Количество просмотров22K

Я люблю трассировщики лучей и даже посвятил им половину своей книги. Менее известна моя любовь к ZX Spectrum — домашнему компьютеру 1982 года, с которым я вырос и с которого начался мой интерес к графике и программированию. По современным стандартам эта машина столь смехотворно слаба (и даже по стандартам 1980-х), поэтому возникает неизбежный вопрос: в какой степени удастся портировать трассировщик лучей из книги Computer Graphics from Scratch на ZX Spectrum?

В ZX Spectrum установлен процессор Z80 на 3,5 МГц (в тысячу раз медленнее, чем современные компьютеры), который не может умножать числа (!!!), и 48 КБ ОЗУ (в миллион раз меньше); он имеет графический режим 256x176 (примерно в двести раз меньше современного разрешения), способный отображать 15 цветов (в миллион раз меньше, к тому же с довольно необычными особенностями). Интересная машина для графического приложения, активно задействующего CPU!

Я планирую реализовать его на Sinclair BASIC — встроенном языке программирования Spectrum. Это не просто BASIC, а древний, очень ограниченный диалект BASIC. Например, единственные структуры управления в нём — это FOR и IF (а у IF нет ELSE и даже ENDIF); все переменные глобальны; не существует вызовов функций, только GO TO и GO SUB; и так далее. Кроме того, он интерпретируемый, то есть сверхмедленный. Но, по крайней мере, он реализует программное умножение! Если мне нужна будет производительность, то я всегда могу переписать трассировщик на ассемблере.

Я настроил минимально необходимую среду: код на BASIC я пишу в VS Code, компилирую его с помощью BAS2TAP и запускаю в эмуляторе FUSE. Благодаря этому скорость итераций оказалась достаточно высокой.

Читать далее

Сколько стоит умный дом? Рассказываю, как строил свой и что получилось за 1000 руб./м²

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

Подробный рассказ о том, как я свой дом и сад сделал умными. С фото, техническими деталями, стоимостями и выводами на будущее.

Читать

Введение в модулярную арифметику

Время на прочтение6 мин
Количество просмотров79K
В обычной жизни мы обычно пользуемся позиционной системой счисления. В позиционной системе счисления значение каждого числового знака (цифры) в записи числа зависит от его позиции (разряда) [1]. Однако существуют и так называемые «непозиционные системы счисления», к одной из которых относится «система остаточных классов» (СОК) (или в оригинале Residue Number System (RNS)), являющаяся основой модулярной арифметики. Модулярная арифметика базируется на «Китайской теореме об остатках» [2], которая для нашего случая звучит следующим образом:
Для любой системы взаимно простых чисел p1, … pn, любое число X из диапазона [0; M), где M = p1*p2*…*pn взаимооднозначно представимо в виде вектора (a1, a2, …, an), где ai = X%pi (здесь и далее «%» — операция взятия остатка от целочисленного деления X на pi).
p1, … pn – модули системы
a1, a2, …, an – остатки (вычеты) числа по заданной системе модулей

Читать дальше →

Быстрое индексное умножение по модулю

Время на прочтение4 мин
Количество просмотров38K

Введение


Обычно данный материал приводится с обилием формул и рассчитан больше на математиков. Я постараюсь расписать его наиболее доступно на простых численных примерах с точки зрения применения этого метода в микроэлектронике на аппаратном уровне. В численных примерах для наглядности будет использоваться значение p = 11.

Постановка задачи


Положим, что нам требуется выполнить умножение следующего вида: res = (a*b) mod p, где
0 <= a < p
0 <= b < p
p – простое число.
mod p – операция нахождения остатка по модулю.
И выполнить его надо на низком уровне, где нет как таковой операции умножения и операции взятия остатка от деления или же они реализуются достаточно сложно (например, в электронном устройстве).
Подробности

Вы тоже любите приятные сюрпризы?

Время на прочтение6 мин
Количество просмотров17K


Недавно я подбирал отладочную плату для своих задач. Цены не очень радовали, я даже немного расстроился. Но потом неожиданно нашёл одну очень интересную плату по весьма приятной цене. С неё всё и началось. Потом были ещё платы, наклейки, сюрпризы… Любопытно что под капотом наклейкой? Тогда в путь!
Читать дальше →

Звуковая карта USB на STM32. Часть 2: Используем встроенный АЦП

Время на прочтение7 мин
Количество просмотров10K

Во второй части публикации речь пойдёт о реализации линейного входа описанной ранее звуковой карты USB на встроенном в MCU STM32F411CEU6 АЦП.

В статье будут разобраны несколько неочевидных нюансов подобной реализации, а в финале мы сравним характеристики линейного входа на встроенном АЦП с характеристиками линейного входа на кодеке TLV320AIC3104IRHB.
Читать дальше →

Справочник по антеннам для радаров

Время на прочтение15 мин
Количество просмотров123K
Статья на перевод предложена alessandro893. Материал взят с обширного справочного сайта, описывающего, в частности, принципы работы и устройство радаров.

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

image
Слева – изотропная антенна, справа – направленная

Дипольная антенна





over9000 картинок

RadSensor v1.0: собираем портативный персональный дозиметр из готовых компонентов

Время на прочтение7 мин
Количество просмотров17K

Собираем свой первый мобильный датчик радиации из готовых электронных компонентов. Второй мануал из цикла про diy-дозиметры.

К этому материалу мы шли долгие 3 года. И продолжаем путь. В статье почти нет шуток, воды и экскурсов в историю. Только электронное мясо: BOM со ссылками на Али, код, модели корпуса, фото-инструкция и задел на будущее.

Читайте, повторяйте, опровергайте и спорьте. Только не будьте равнодушны к российскому DIY.

Приступить к сборке

Универсальный DSL. Возможно ли это?

Время на прочтение25 мин
Количество просмотров8.3K

Язык предметной области. Не перегружен конструкциями языка общего назначения. При этом позволяет всего несколькими строчками реализовать весьма сложную логику. Все это — DSL.

Однако создание DSL требует от разработчика соответствующей квалификации. Регулярное использование этого подхода превращается в рутину разработки очередного языка. Решением может стать создание универсального инструмента — движка, который будет применим к совершенно разным задачам и прост в модификации. В этой статье мы на C# разработаем простейший с точки зрения реализации, но при этом достаточно мощный языковой движок, при помощи которого можно решить достаточно широкий круг задач.
Читать дальше →

Народная дозиметрия. Бюджетный детектор радиации своими руками

Время на прочтение7 мин
Количество просмотров25K

Сегодня мы изготовим простой и бюджетный DIY-дозиметр на базе wifi-контроллера ESP32 и платы RadSens. В качестве сенсора будет использована популярная трубка СБМ20. 

Целью статьи является создание максимально подробной инструкции по сборке. Если повторить описанные шаги сможет самый юный инженер-дозиметрист - мы достигли успеха.

Читать далее

Миллион WebSocket и Go

Время на прочтение11 мин
Количество просмотров101K

image


Привет всем! Меня зовут Сергей Камардин, я программист команды Почты Mail.Ru.


Это статья о том, как мы разработали высоконагруженный WebSocket-сервер на Go.


Если тема WebSocket вам близка, но Go — не совсем, надеюсь, статья все равно покажется вам интересной с точки зрения идей и приемов оптимизации.

Читать дальше →

Zettelkasten: как один немецкий учёный стал невероятно продуктивным

Время на прочтение18 мин
Количество просмотров444K
Изображение предоставлено автором. Основано на фотографии Патрика Томаса с Ансплэша

Это перевод статьи Дэвида Клира о методе ведения заметок Zettelkasten, благодаря которому немецкий социолог Никлас Луман написал более 70 книг и 400 научных статей. Стоит читать, если вы хотите создать собственную базу знаний, систематизировать идеи и перестать забывать важные мысли.

Статья бережно перенесена из блога бегущего редактора. Кстати, следить за анонсами новых статей можно в моём телеграм-канале. Подписывайтесь, чтобы ничего не пропустить!
Читать дальше →
1
23 ...

Информация

В рейтинге
Не участвует
Откуда
Рыбинск, Ярославская обл., Россия
Дата рождения
Зарегистрирован
Активность