Pull to refresh
-6
0
Mikhail Ukhanov @ukhanov

User

Send message

Операционная система реального времени Xenomai 4

Level of difficultyMedium
Reading time11 min
Views1.9K

В данной статье подробно рассмотрим, как собрать ядро, поддерживающее EVL core, и библиотеку, реализующую пользовательский API для этого ядра. А также разберем некоторые аспекты реализации драйвера устройства и приложения под Xenomai 4.

Xenomai — Фреймворк для разработки приложений реального времени на базе ядра Linux. Проект Xenomai был запущен в 2001 году с целью эмуляции традиционной ОСРВ и облегчения ее переноса на GNU/Linux с сохранением гарантий работы в режиме реального времени. Изначально Xenomai был связан с RTAI (интерфейсом приложений реального времени), но на данный момент он независим.

Мы будем работать с Xenomai версии 4. Xenomai 4 имеет архитектуру с двумя ядрами. Первое ядро Linux: для задач, отличных от реального времени, и ядро Xenomai: для задач реального времени. Ядро Linux и ядро реального времени работают практически асинхронно, оба выполняют свой собственный набор задач, всегда отдавая последнему приоритет над первым. Для осуществления доступа к основным сервисам реального времени в проекте Xenomai предусмотрена библиотека С, известная как libevl.

Xenomai поддерживает множество архитектур, таких как PowerPC, Blackfin, ARM, x86, x86_64 др. В данной статье мы используем компьютер c архитектурой x86_64 (Процессор: 12th Gen Intel® Core™ i5-12400 × 12, память: 32,0 ГиБ), операционной системой Debian GNU/Linux 12 (bookworm).

Читать далее
Total votes 7: ↑7 and ↓0+8
Comments2

Получаем удовольствие от дешевых китайских микроконтроллеров (CH32V003)

Level of difficultyMedium
Reading time12 min
Views30K

Если вы оказались здесь, то скорее всего помните как в еще в 2022 году одним из самых важных событий в мире (DIY) была новость про микроконтроллер за 10 центов от уже известной всему миру благодаря своему USB-UART свистку CH340 компании Nanjing Qinheng Microelectronics Co., Ltd, далее WCH.

Отладку от самой WCH, плату от WeAct и даже сами камни я заказал на Али, потыкал в пару примеров и забыл. Для DIY-проектов мне гораздо больше понравились платы от WeAct с ch32x035 и ch32v203, по стоимости примерно такие же, а функционала сильно больше, но в этом году на просторах китайского маркетплейса мне стала попадаться плата с героем статьи, да еще и с USB-C на ней.

Она стоит заметно дешевле своих собратьев и на момент заказа мне обошлась за 90 рублей в сумме с доставкой, а значит, новому королю DIY - быть.

Так и родилась идея сделать свой sdk.

Читать далее
Total votes 71: ↑70 and ↓1+89
Comments52

Как я искал замену Canva и нашел 11 крутых онлайн-фоторедакторов

Level of difficultyEasy
Reading time10 min
Views5.6K

Многие расстроились, когда Канва ушла из России. Когда я начинал творческий путь, онлайн-редакторов было не более 2–3 достойных. Сейчас их десятки: работает импортозамещение, развиваются другие зарубежные сервисы. Ими пользуются не только новички.

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

Читайте, пробуйте. Возможно, влюбитесь в один из аналогов Canva и больше о ней не вспомните.

Читать далее
Total votes 10: ↑8 and ↓2+10
Comments2

Железо или архитектура? Два направления книг по схемотехнике для начинающих

Reading time5 min
Views12K

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

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

Читать далее
Total votes 22: ↑20 and ↓2+27
Comments20

Проверка содержимого PDF-файлов средствами Python и pdfminer. Часть 2

Level of difficultyMedium
Reading time9 min
Views3.7K

В предыдущей части статьи мы рассмотрели общие подходы к тестированию PDF и познакомились с тем, как библиотеки pdfminer и PDFQuery помогают нам получать детальную информацию об объектах. Достаточно ли нам этой информации? Далеко не всегда. В этой статье мы расскажем о решении некоторых интересных технических проблем.

Читать далее
Total votes 6: ↑5 and ↓1+8
Comments1

Создание агрегаторов научных статей

Reading time4 min
Views3.5K

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

Читать далее
Total votes 12: ↑12 and ↓0+16
Comments3

Полезные Youtube-каналы

Level of difficultyEasy
Reading time2 min
Views7.4K

Сегодня хотим поделиться с вами подборкой Youtube‑каналов по ИИ, машинному обучению и математике. Если у вас есть еще рекомендации, обязательно дополняйте пост в комментариях!

Читать далее
Total votes 18: ↑11 and ↓7+9
Comments8

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

Level of difficultyMedium
Reading time3 min
Views15K

С незапамятных времён, когда ещё существовали браузеры под ДОС, я взял себе ник 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. Запустить Убунту

Читать далее
Total votes 47: ↑46 and ↓1+58
Comments86

Как я пришёл к пониманию основ создания Live-дистрибутивов Linux, решив починить свой старый SSD

Level of difficultyMedium
Reading time28 min
Views23K


Был у меня старенький SSD объёмом 240 Гбайт от Kingston, который внезапно перестал работать, вообще перестал распознаваться в системе. Попробовал я подключить SSD к другому компьютеру, попробовал использовать как внешний диск, ничего не дало результата. Поэтому я купил новый, а этот разобрал.


Внешних признаков, указывающих на то, что SSD сгорел, я не заметил, а интуиция говорила: «Проблема программная». Выбрасывать диск не хотелось, поэтому он остался пылиться до «лучших» времён. И вот недавно захотелось попробовать его починить. К своему удивлению, я достаточно быстро нашёл необходимую статью на Хабре, где рассказывалось, как можно оживить SSD на том же контроллере, что и мой, отдельную тему на форуме Ru-Board, а также статью с подробной инструкцией, по ней я и восстановил свой SSD. Но кроме восстановленного SSD я еще приобрёл и закрепил знания по Linux, которые изложил в этой статье. Всем, кому интересно, добро пожаловать под кат.

Читать дальше →
Total votes 46: ↑46 and ↓0+63
Comments10

OSINT: подборка инструментов для работы со спутниковыми изображениями

Reading time2 min
Views4.8K

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

— В этом посте собраны бесплатные ресурсы и проекты со спутниковыми данными и различные программы обработки этих данных. 

Читать далее
Total votes 6: ↑4 and ↓2+2
Comments2

Тысяча и одна библиотека С++

Reading time65 min
Views30K

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

Столкнувшись много раз подряд с тем, что найти что-то толковое довольно непросто, я решил попробовать распутать это узел и предложить для русскоязычных читателей свой справочник классных библиотек на С++. Я исходил из этого источника. Это очень многогранный и объемный список библиотек языка С++, но, скажем так, у меня были к нему вопросы. Потому я сделал перевод, затем значительно улучшил его в плане содержания (далее объясню, как, почему и зачем). На выходе получилось около 1000 библиотек. Как в сказке). Они, конечно, не покрывают все возможные задачи и предметные области, но поверьте, они затрагивают действительно многое.

Прикоснуться к сокровищнице языка С++
Total votes 82: ↑81 and ↓1+92
Comments23

Обратная связь, творящая чудеса

Level of difficultyEasy
Reading time8 min
Views8.6K

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

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

Читать далее
Total votes 24: ↑23 and ↓1+32
Comments37

Открытый онлайн-курс по цифровой схемотехнике: от истоков до первого устройства

Level of difficultyEasy
Reading time4 min
Views17K

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

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

Читать далее
Total votes 58: ↑57 and ↓1+72
Comments23

Калькулятор резьбовых соединений для FreeCad

Level of difficultyEasy
Reading time1 min
Views4.2K

В последнее время мне часто приходится печатать изделия с резьбой. Я создаю 3D-модель в программе FreeCad. Для создания отверстия с резьбой во FreeCad, необходимо создать отверстие с помощью окружности и нарисовать профиль резьбы в плоскости, перпендикулярной этой окружности. Например, если окружность создана в плоскости XY, профиль зуба должен быть нарисован в плоскости XZ.

Затем нужно создать спираль (если нужно добавить выступающую резьбу, то это будет инструмент Additive helix - "Аддитивная спираль", если нужно нарезать резьбу в отверстии, то это будет инструмент Subtractive Helix - "Субтрактивная спираль". Здесь нужно указать шаг и длину резьбы и нажать кнопку "Выполнить".

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

Поэтому я создал страничку на GitHub с [калькулятором профиля зуба резьбы](https://bigbigmdm.github.io/Freecad_thread_calculator/).

Читать далее
Total votes 22: ↑22 and ↓0+32
Comments21

Создание 3D модели местности по видео с дрона

Reading time3 min
Views8.3K

В данной статье речь пойдет про видеограмметрию-создание 3d моделей объектов на основе видео. Видеограмметрия появилась давно, но до сих пор используется редко из-за необходимости в более мощном "железе", чем при построении 3d моделей местности/объектов с помощью лидаров. В 2024 году производительность ПК настолько выросла, что теперь можно в течении разумного времени строить модели на домашних компьютерах и даже ноутбуках. Сначала покажу, какие модели получились у меня, затем поделюсь лайфхаками, которые помогут сразу строить модели обходя технические сложности, а в конце расскажу чем видеограмметрия может быть полезна.

Читать далее
Total votes 14: ↑13 and ↓1+17
Comments29

Научились делать лабораторные высоковольтные источники питания

Level of difficultyEasy
Reading time2 min
Views8.4K

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

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

Активизация тематики производства высоковольтных блоков питания вновь произошла после того, как мы окрепли кадрами и пересмотрели концепцию. Теперь мы не стремимся всех догнать и перегнать, а просто реализуем проект из доступных на сегодня компонентов.

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

интересно узнать подробности
Total votes 43: ↑41 and ↓2+51
Comments27

Разработка цифровой аппаратуры нетрадиционным методом: Yosys, SpinalHDL, VexRiscv (ч. 2)

Level of difficultyHard
Reading time118 min
Views3.7K

Это вторая и заключительная часть большой статьи. Ознакомиться с первой частью можно по ссылке.

Основная прелесть использования ПЛИС, на мой взгляд, состоит в том, что разработка аппаратуры превращается в программирование со всеми его свойствами: написание и отладка кода как текста на специализированных языках описания аппаратуры (HDL); код распространяется в виде параметризованных модулей (IP-блоков), что позволяет его легко переиспользовать в других проектах; распределенная разработка обширным коллективом разработчиков с системой контроля версий, такой же, как у программистов (Git); и, как и в программировании, ничтожно низкая стоимость ошибки.

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

В этой статье я хочу поделиться своим небольшим опытом «программирования» микросхем ПЛИС и тем, как я постепенно погружался в тему ПЛИСоводства. Изначально я собирался написать небольшую заметку про открытый тулчейн для синтеза Yosys. Потом — про язык SpinalHDL и синтезируемое микропроцессорное ядро VexRiscv, на нём написанное. Потом — про замену микроконтроллеров микросхемами ПЛИС на примере моей отладочной платы «Карно». Но в процессе я погрузился в историю появления Hardware Description Languages (HDL), и когда я начал писать, Остапа, как это часто бывает, понесло... В общем, получилось то, что получилось.

Продолжить погружение
Total votes 24: ↑24 and ↓0+24
Comments15

Разработка цифровой аппаратуры нетрадиционным методом: Yosys, SpinalHDL, VexRiscv (ч.1)

Level of difficultyHard
Reading time127 min
Views13K

Основная прелесть использования ПЛИС, на мой взгляд, состоит в том, что разработка аппаратуры превращается в программирование со всеми его свойствами: написание и отладка кода как текста на специализированных языках описания аппаратуры (HDL); код распространяется в виде параметризованных модулей (IP-блоков), что позволяет его легко переиспользовать в других проектах; распределенная разработка обширным коллективом разработчиков с системой контроля версий, такой же, как у программистов (Git); и, как и в программировании, ничтожно низкая стоимость ошибки.

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

В этой статье я хочу поделиться своим небольшим опытом «программирования» микросхем ПЛИС и тем, как я постепенно погружался в тему ПЛИСоводства. Изначально я собирался написать небольшую заметку про открытый тулчейн для синтеза Yosys. Потом — про язык SpinalHDL и синтезируемое микропроцессорное ядро VexRiscv, на нём написанное. Потом — про замену микроконтроллеров микросхемами ПЛИС на примере моей отладочной платы «Карно». Но в процессе я погрузился в историю появления Hardware Description Languages (HDL), и когда я начал писать, Остапа, как это часто бывает, понесло... В общем, получилось то, что получилось.

А еще эту статью можно рассматривать как глубокое погружение в то, что происходит вот на этом новогоднем видео.

Погрузиться сполна
Total votes 42: ↑41 and ↓1+58
Comments65

Заметка про сохранение структур во flash памяти на STM32

Level of difficultyEasy
Reading time5 min
Views11K

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

Читать далее
Total votes 16: ↑14 and ↓2+19
Comments18

Что нового в IMSProg?

Level of difficultyEasy
Reading time2 min
Views3K

Пару месяцев назад я писал историю создания программатора микросхем CH341a для Linux систем. Благодаря вашим отзывам и комментариям программа изменилась, надеюсь в лучшую сторону.

Читать далее
Total votes 33: ↑33 and ↓0+33
Comments0
1
23 ...

Information

Rating
Does not participate
Location
Протвино (Московская обл.), Москва и Московская обл., Россия
Date of birth
Registered
Activity