Как стать автором
Обновить
293
44
Николай @nckma

Программист

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

OSHW проекту marsohod.org 15 лет

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

Совсем недавно осознал, что нашему Open Source HW проекту marsohod.org уже пятнадцать лет. С ума сойти можно. Когда время-то пролетело? Как-то даже не верится. Наверное можно попробовать подвести какие-то итоги. Ну или сделать хоть самому себе отчет о проделанной работе..

Читать далее

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

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

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

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

Читать далее

Запускаем лабораторные работы «Школы синтеза цифровых схем» на FPGA плате Марсоход3GW2

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

Вероятно вы слышали о "Школе синтеза цифровых схем". Здесь учат цифровой логике и программированию ПЛИС. Каждый желающий может записаться на курсы школы и пройти обучение. Филиалы школы есть во многих городах.

Школа готовит программу лабораторных работ для изучения FPGA. Они опубликованы на Github: https://github.com/yuri-panchul/basics-graphics-music

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

Мы сделали форк этих лаб https://github.com/marsohod4you/basics-graphics-music и адаптировали лабораторные работы на нашу плату Марсоход3GW2.

Дальше я немного расскажу о некоторых учебных работах.

Читать далее

Опыт использования свободного ПО OSS-CAD-SUITE для программирования FPGA Gowin

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

Для программирования FPGA нужна среда проектирования. Например, при использовании микросхем ПЛИС Altera/Intel мы используем САПР Intel Quartus Prime Software. Возможно, основная ценность технологии ПЛИС даже не сами микросхемы, а программное обеспечение, которое позволяет разместить Verilog HDL / VHDL проект по логическим блокам и развести связи между ними используя заданные временные ограничения.

Возможно ли использование open source инструментов для FPGA проектирования?

Я расскажу о своем опыте использования Yosys oss-cad-suite для платы Марсоход3GW-2 на базе ПЛИС китайской компании Gowin GW1NR-LV9QN88PC6/I5. Фото платы показано выше в начале статьи.

Читать далее

Эксперименты с цифровым КИХ фильтром в плате FPGA MCY316

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

В своей предыдущей статье я написал, как произвести оцифровку звукового сигнала FPGA платой MCY316. В том проекте данные полученные из АЦП просто передавались в компьютер через последовательный порт. Уже на компьютере данные принимались из последовательного порта программой на питоне и отрисовывались в окне.

А сейчас я хочу модифицировать этот проект и добавить в FPGA еще цифровой фильтр, чтобы разобраться, как он работает.

Рисунок выше показывает схему моего эксперимента.

Читать далее

Оцифровка звука FPGA платой MCY316

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

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

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

Моя марбл машина, версия 3

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

Это моя новая электро-механическая марбл машина. Она спроектирована мной в САПР FreeCAD и напечатана на 3D принтере FLSUN-QQ. Когда-то я уже писал на хабре про свою самую первую марбл, потом и про вторую. Ну вот время идет, но опять и опять я возвращаюсь к этой теме. Марбл машины притягивают меня видимо потому, что на них можно смотреть бесконечно, как на горный ручей. Движение шариков никогда не повторяется и в этом вся прелесть. Ну и опять же, такие марбл машины символизируют жизнь с её подъемами и спусками, а иногда и падениями... очень актуально в нынешние непростые времена..

Возможно когда ни будь я смогу объединить все мои марбл проекты в единый большой организм. Ну а пока вот так.

Читать далее

Обзор FPGA платы MCY112

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


Что-то давно на Хабре не было статей про FPGA и я решил немножко восполнить этот пробел. Расскажу про нашу новую плату на ПЛИС Cyclone I. Да-да, вы правильно прочитали. На плате стоит первый циклон компании Альтера. Микросхеме больше десяти лет, но еще поработает. Причины использования этого чипа думаю всем понятны: санкции и плюс недавно случившийся мировой кризис полупроводников, который еще не вполне закончился.

Цель разработки этой платы — создать по возможности недорогую FPGA плату для студентов из минимального числа доступных и имеющихся в наличии компонентов. Далее давайте рассмотрим плату подробнее.
Читать дальше →

Кросс-компилятор для Raspberry Pi4

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

Хочу рассказать, как я собрал себе кросс-компилятор для Raspberry Pi4 с помощью crosstool-ng. Возможно кому-то тема покажется слишком примитивной и скучной. Я и сам поначалу думал, что быстро смогу собрать кросс-компилятор, но пришлось повозиться и изучать вопрос, некоторые нюансы были для меня неожиданны. Дальше расскажу что и как я делал.
Читать дальше →

Второй HDMI монитор к Raspberry Pi3 через DPI интерфейс и FPGA плату

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

На этом видео показаны: плата Raspberry Pi3, к ней, через разъем GPIO, подключена FPGA плата Марсоход2rpi (Cyclone IV), к которой подключен HDMI монитор. Второй монитор подключен через штатный разъем HDMI Raspberry Pi3. Все вместе работает, как система с двумя мониторами.

Дальше расскажу, как это реализовано.

Процессор Forth J1 в FPGA плате M02mini

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


Впервые я познакомился с языком программирования Forth еще в студенческие годы. Было это правда ну очень давно. Уже тогда язык поразил меня тем, что он «не такой как все». При этом, код получался хоть и малопонятный, но компактный и быстрый.

Недавно я занимался запуском процессора Forth j1 в FPGA плате и пришлось вспоминать фортовские азы программирования. Да уж… чертовски трудно, но получил громадное эстетическое удовольствие. Как будто впервые взял кубик Рубика, и сам собрал его, и пазл сложился и программа работает…

Как работает адресная светодиодная лента?

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

Наверное этот вопрос «как работает» очень многим покажется глупым. Ответ почти очевиден: адресная светодиодная лента состоит из множества последовательно соединенных «умных светодиодов». Это можно увидеть просто рассматривая устройство ленты. Видны отдельные микросхемы, припаянные к гибкому шлейфу, видны соединения: микросхемы соединены последовательно всего тремя проводами, при этом два из них это питание и земля. Только один провод передает данные о цвете пикселей. Как же это? Что такое «умный светодиод»?

Дальше я расскажу о протоколе передачи данных, используемом в светодиодной ленте на базе WS2812B, и, более того, я почти создам свою «микросхему светодиодной ленты» в микросхеме ПЛИС.

Программирование видео слоя в Raspberry Pi с использованием DispmanX API

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

В этой статье я хочу продемонстрировать использование DispmanX API одноплатных компьютеров Raspberry. DispmanX API предоставляет возможность создавать на десктопе Raspberry новые отображаемые слои. Слои висят над слоями. Их можно динамически создавать, удалять, перемещать, их можно масштабировать. При этом, сам видеоконтроллер будет их объединять и отображать на экране монитора. Интересно, что слои могут иметь альфа канал, и тогда, изображения всех слоев будут сами собой смешиваться. Так же, кроме 32-ти двухбитных ARGB слоев можно создавать, например, YUV420 слои, или слои других типов. В Raspberry по умолчанию уже есть два слоя. Самый нижний содержит изображение десктопа. Весь вывод через иксы идет в этот слой. И есть второй, самый верхний слой, в котором живет изображение курсора мыши.

Я покажу, как создавать новый слой, писать в него изображение и как его перемещать по экрану. Собственно говоря, на демо видео выше и показана работа такой программы. Здесь созданы четыре новых 32-х битных слоя ARGB. В каждый из слоев я записываю пикселы из заранее подготовленных битмапов. Мои битмапы это изображения облаков, солнца и воздушных шаров. Слои перемещаются по экрану с разной скоростью, нависая над самым нижним иксовым слоем.

Можно ли писать скрипты на C++?

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

Недавно пришлось мне опять/снова погрузиться в чудесный мир программирования Linux скриптов. В принципе, дело не очень хитрое, но поскольку мне попадаются такие задачи не часто, то каждый раз изучаю заново. Знаю точно, что завтра многое забуду и через месяц опять буду гуглить, как сделать то или это. Проблема еще оказывается в том, что зачастую не пишешь скрипт заново, а модифицируешь существующий, уже написанный кем-то. А он может быть не bash, а sh или еще что-то… Различия в синтаксисе есть, что работает в sh по идее должно работать и в bash, но не всегда наоборот. А если там dash или ash? Я не знаю… Различия в этих скриптовых языках все же есть, и они сбивают с толка. Ну и конечно, лично для меня, вишенка на торте, когда скрипт вызывает какой нибудь sed или awk и там такие параметры в командной строке, что смотришь на них и диву даешься. Понятно, что это все зависит от квалификации программиста, но вот у меня не все в голове помещается. И вот сейчас мое терпение лопнуло и я подумал, что отныне хочу попробовать писать скрипты на c++…

Я понимаю, что для true системного администратора моя мысль может показаться крамольной. Но почему бы и нет?
Читать дальше →

Изготовление трубы телескопа в домашних условиях

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


В своей предыдущей статье я рассказывал, как я проектирую и изготавливаю телескоп.

Но в той статье я совсем не написал про изготовление трубы. Попробую кратко рассказать, как я ее делал. Относительно несложная технология с хорошим результатом. Понадобится гофрокартон от любых коробок бытовой техники, эпоксидная смола, тонкий картон для трубы (я выпросил остатки картона в знакомой типографии) или, возможно, листы ватмана А0, баллончик-распылитель черной краски. Из инструментов — ножницы, линейка, карандаш, канцелярский нож, ёмкость для разведения клея и кисть для его нанесения.

Я буду делать трубу телескопа длиной 900 миллиметров и внутренним диаметром 225 миллиметров специально для зеркала 200 миллиметров, купленного на Али…
Читать дальше →

Проектирование и изготовление телескопа

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

Говорят, что если человек приобрел телескоп и использует его для наблюдений, то через некоторое время он обязательно захочет другой, получше. Так случилось и со мной. У меня есть телескоп PowerSeeker 127мм, но захотелось лучшего. По этой причине я даже было дело собрался точить свое зеркало, но позже обнаружил, что на AliExpress можно за недорого приобрести 200мм зеркало. Главное зеркало вместе с диагональным выходили где-то 6000 рублей с доставкой. Это очень дешево. На снимке выше, как раз такое зеркало, только что прибывшее по почте из Китая.

Купить-то купил, но это же не готовый телескоп. Нужна труба, держатель главного зеркала, диагонального, юстировки, фокусер. Как их изготовить самостоятельно? Решил, что по возможности буду печатать необходимые детали на 3D принтере. Но для этого их нужно еще спроектировать. Или найти дизайн в интернете.

Если поискать в интернете, то, конечно, «телескопы уже печатали». Вот примеры проектов:

  1. Gaze Across the Solar System with a 3D-Printed, Raspberry Pi Telescope
  2. Open Source DIY Telescope Prime Features Raspberry Pi and 3D Printed Parts

По разным причинам мне эти проекты не очень понравились. Я решил, что буду проектировать части телескопа сам. Чтобы жизнь медом не казалась я отчего-то решил, что буду делать проект во FreeCAD. До этого момента я уже делал кое-что в Компас 3D (я делал Marble-Machine). И теперь я подумал, что FreeCAD должен быть не сложнее…
Читать дальше →

Перезагрузка текстур OpenGLESv2 через DMABUF

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

В этой статье я хочу рассказать, как просто можно обновлять текстуры OpenGLES через DMABUF. Поискал по Хабру и к своему удивлению не обнаружил ни одной статьи на эту тему. В Хабр Q&A тоже ничего такого не нашел. И это для меня немного странно. Технология появилась довольно давно, хотя информации о ней действительно в сети не много, вся она расплывчатая и противоречивая.

Я всю эту информацию собирал по крупицам из разных источников, прежде чем смог написать вот такой видео плеер, как на демке выше. Здесь, на демке, мой самописный видео плеер, основанный на библиотеке gstreamer, загружает видео кадры в текстуру OpenGLESv2 каждый раз перед рендерингом. Работает на Raspberry Pi4. Кадры просто копируются в специальным образом выделенную память — а уж DMA переносит их в память GPU, в текстуру. Далее расскажу, как я это делал.

Посох для Деда Мороза

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


Каждый год 31-го декабря я в костюме Деда Мороза и жена в роли Снегурочки разъезжаем по городу по своим друзьям с поздравлениями. Поскольку уже скоро наступит Новый Год, я решил проверить, все ли у меня к нему готово и достал из подвала свой давно видавший виды посох. К моему удивлению, пролежав в подвале целый год он исправно работал даже сейчас! Его аккумулятор все еще как-то заряжен! Посох не очень ярко, но светится. Конечно придется подзарядить, да и смотрю один светодиод перестал работать, но это дело поправимое — починим.

Этот посох я изготовил еще в 2012-м году и с тех пор он служил мне верой и правдой. Штука достаточно простая, но очень эффектная, особенно ему радуются дети. Он почти как меч джедая — только посох, а для настоящего Деда Мороза — это вещь просто необходимая. Решил написать про него здесь на Хабре — вдруг кто-то проникнется идеей и сделает такой и себе к Новому Году, время еще есть.

Проектирование Электро-Механической Marble Machine v2.0

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

Я хочу рассказать о второй версии моей электро-механической Marble Machine и о процессе ее проектирования. Про первую спиральную машину я уже писал здесь на хабре. Времени с тех пор прошло не мало, и вот, в принципе, задуманное осуществлено: два подъемника и два спуска работают совместно, как одна система, передают друг другу шары перемешивая их в случайном порядке. Честно говоря мне не все здесь нравится, кое-что требует переделки или более тонкой настройки, но я рад, что в целом у меня получилось. Результат на видео!

Моя Marble Machine, напечатанная на 3D принтере

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

Я пытаюсь освоить 3D печать — у меня появился принтер FLSUN-QQ, я установил себе 3D редакторы: Fusion 360, Blender, пробую Компас 3D. Что-то получается, что-то не получается. Эта Marble Machine на видео — один из моих первых успешных проектов. Проект, хоть визуально и не большой, но его реализация потребовала от меня значительных усилий. Пришлось и 3D редакторы осваивать и механику придумывать и вести настройку-отладку этого устройства.

Далее расскажу из каких частей состоит эта машина.

Информация

В рейтинге
186-й
Дата рождения
Зарегистрирован
Активность