Pull to refresh
-1
0
Alexander Belousov @belav

User

Send message

Безопасный доступ к полям регистров на С++ без ущерба эффективности (на примере CortexM)

Reading time24 min
Views16K
image
Рис. взят с сайта www.extremetech.com/wp-content/uploads/2016/07/MegaProcessor-Feature.jpg

Всем доброго здравия!

В прошлой статье я рассмотрел вопрос о проблеме доступа к регистрам микроконтроллера с ядром CortexM на языке С++ и показал простые варианты решения части проблем.

Сегодня я хочу показать идею как можно сделать безопасным доступ к регистру и его полям без ущерба эффективности, используя сгенерированные на основе SVD файлов С++ классы.

Всех кого заинтересовал, добро пожаловать под кат. Кода будет много.
Читать дальше →
Total votes 26: ↑24 and ↓2+22
Comments40

Как установить GOWIN EDA для запуска примеров Школы Синтеза

Level of difficultyMedium
Reading time4 min
Views4.4K

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

Чтобы справиться с данной проблемой, группа энтузиастов, под руководством Юрия Панчула, добавила поддержку множества плат и нескольких toolchain’ов от различных производителей FPGA.

В данном туториале, посвященном работе с FPGA от компании Gowin, я расскажу про то, как установить GOWIN EDA, о доступных платах и перефирии к ним и про работу со скриптами сборки примеров.

Читать далее
Total votes 23: ↑23 and ↓0+23
Comments9

Квантовый эксперимент показал, почему эффективность фотосинтеза близка к 100%

Reading time10 min
Views24K

"Святой Грааль" любой физической системы - это 100% КПД. В большинстве условий это практически невыполнимая задача, поскольку с момента передачи любой формы энергии в систему она неизбежно теряется под воздействием различных факторов – переноса тепла, столкновений, химических реакций и т. д., - прежде чем выполнить конечную задачу, для которой она была создана. Единственный способ, с помощью которого физикам удалось создать системы с практически идеальной эффективностью, - это довести природу до граничных условий:

охладить до температур, близких к абсолютному нулю,

обстрелять монохроматическими (лазерными) фотонами (кристаллические) системы с поглощающими решётками,

или довести до таких экстремальных условий, как сверхпроводимость и сверхтекучесть.

Читать далее
Total votes 31: ↑29 and ↓2+39
Comments15

Китайский паяльный робот: тыкаем палкой и заставляем работать

Level of difficultyEasy
Reading time9 min
Views20K

Раньше паяльные роботы стоили миллионы рублей, но в последнее время подешевели.

Почему бы не попробовать такого робота в деле? Сможет ли он заменить «кожаный мешок» с паяльником?

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

Интересно? Ныряйте под кат

Читать далее
Total votes 75: ↑75 and ↓0+75
Comments43

Cortex-M0+ под ногами или бесплатная «девборда»

Level of difficultyEasy
Reading time7 min
Views19K

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

Читать далее
Total votes 36: ↑35 and ↓1+45
Comments45

Разработка тензорного компилятора под RISC-V CPU с помощью OpenVINO и MLIR

Level of difficultyHard
Reading time11 min
Views4K

Привет, Хабр! Меня зовут Владислав Виноградов, я инженер группы исследований и разработки ПО глубокого обучения в YADRO. Моя команда создает и оптимизирует связанное с искусственным интеллектом программное обеспечение. Сегодня я расскажу, как можно разработать тензорный компилятор для процессора на базе открытой архитектуры RISC-V. 

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

Читать далее
Total votes 13: ↑12 and ↓1+16
Comments6

Структура драйвера Linux для одноплатного компьютера

Level of difficultyEasy
Reading time7 min
Views13K

Здраствуйте меня зовут Дмитрий. Недавно я написал статью как собрать прошивку для одноплатного компьютера Orange PI i96 с нуля. Если вы не читали то очень советую. И там я упоминал что для того чтобы собрать прошивку на новом ядре Linux, мне пришлось переписать драйверы с учетом архитектуры Device Tree, которую использует современное ядро. В этой статье я опишу как я это сделал.

Читать далее
Total votes 34: ↑33 and ↓1+35
Comments5

Test Jig. Подготовка к массовому производству

Level of difficultyMedium
Reading time12 min
Views5.6K

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

Заказчик не будет высылать на завод толпу инженеров, которые будут следить за производством и тестировать все. Это очень дорого. Также и не будет обучать персонал на стороне сборки. Т.к. это не нужно ни одной из сторон.

Для решение этой проблемы как раз и было изобретено стандартизированное устройство для проведение всех необходимых тестов. При необходимости это устройство можно встроить в сборочный конвейер. Это Test Jig.

Читать далее
Total votes 42: ↑42 and ↓0+42
Comments23

Сравнение популярных брокеров MQTT с открытым исходным кодом

Level of difficultyMedium
Reading time11 min
Views17K

MQTT (Message Queue Telemetry Transport) — легковесный протокол обмена сообщениями для публикации/подписки сообщений, на настоящий момент этот протокол является основным стандартом в Интернете Вещей (IoT). Брокер MQTT — главный узел (серверное ПО) для подключения IoT устройств и обмену сообщений между ними. На текущий момент доступно более 20 брокеров MQTT с исходным кодом, что затрудняет выбор архитекторами и разработчиками программного обеспечения. В статье будут рассмотрены и сравнены некоторые из самых популярный MQTT-брокеров.

Читать далее
Total votes 19: ↑16 and ↓3+15
Comments11

Схемы питания (фильтрации) СВЧ усилителей

Reading time4 min
Views12K

В прошлом месяце я писала про тестовые платы, потом про проектирование СВЧ модуля и про лейауты EVB от производителей (что особенно актуально для усилителей).

В этой статье я расскажу про то, как подавать питание на СВЧ усилители. Какие особенности при разных режимах работы стоит учесть.

+ много примеров!

далее
Total votes 19: ↑18 and ↓1+29
Comments44

Рекомендации по подаче питания на СВЧ усилители (перевод)

Reading time7 min
Views6.2K

от автора перевода:

Я разрабатываю различные устройства СВЧ, в том числе усилители и усилительные модули. Файл с этим руководством я обнаружила, когда смотрела разные документы к одному из усилителей Qorvo, который собиралась использовать в своём следующем проекте.

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

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

Читать перевод
Total votes 17: ↑17 and ↓0+17
Comments8

ASIC и FPGA: сорок лет эволюции

Level of difficultyMedium
Reading time15 min
Views13K

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

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

Читать далее
Total votes 40: ↑38 and ↓2+52
Comments51

DongShan Pi Pico-W: крошечный одноплатник с современным чипсетом за 600 рублей

Level of difficultyMedium
Reading time8 min
Views24K
image

Китайские производители не перестают удивлять: многие видят явные перспективы рынка одноплатных компьютеров и стараются представить целую линейку девайсов на самых разных чипсетах, а разработчики стараются использовать уже привычное и поддерживаемое долгие годы железо. К ним относятся решения на чипсетах AllWinner, RockChip, Tegra. Другие же стараются взять малоизвестный, но дешевый чип для иного круга применений, развести на нем компактную плату и продавать по цене пачки сухарей, подобные решения появляются регулярно. Один из таких одноплатников я недавно купил на AliExpress — некий DongShan Pi Pico W, на базе экзотического чипсета SigmaStar SSD210, всего за 600 рублей. И тут действительно есть на что посмотреть: два ядра Cortex-A7, контроллер TTL матриц, 2D GPU, Wi-Fi, 64Мб ОЗУ и Embedded Linux на борту. Более того, девайс поставляется в виде System on Module с переходной Evaluation-платой, что позволяет использовать это устройство в составе других гаджетов! Что это за красавец и на что он способен? Читайте под катом!
Читать дальше →
Total votes 55: ↑53 and ↓2+64
Comments64

Создание своего терминала на C++ и Qt: Часть 1

Level of difficultyMedium
Reading time5 min
Views12K

Привет, хабр! Сегодня мы создадим свой собственный терминал на языке программирования C++. Я являюсь фанатом Linux, и пользуюсь минималистичными терминальными программами - от Vim как IDE до чатов. Есть множество терминалов, у каждого из них есть плюсы и минусы. Наш терминал не будет претендовать на место серьезного проекта, но если вы хотите улучшить код, который мы сегодня напишем - то вы молодцы, можете без проблем развить наш терминал.

Это будет небольшой, минималистичный терминал для Linux. Он будет на основе фреймворка Qt 5 и библиотеки qtermwidget5.

И эта будет не одна статья, а целая серия статей!

Вперед!
Total votes 10: ↑7 and ↓3+6
Comments22

СВЧ фазовращатель

Reading time2 min
Views8.4K

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

В общем смысл таков: используя переключательные PIN-диоды "направлять" СВЧ сигнал по тому или одному из двух направлений различной электрической длины и таким образом "накапливать" фазовый сдвиг.

Читать далее
Total votes 44: ↑44 and ↓0+44
Comments19

Обзор технологии Ultra-Wideband на основе трансивера DW1000 (переходник с SPI на UWB)

Level of difficultyEasy
Reading time12 min
Views7.5K

В этом тексте я написал с какой стороны подходить к UWB трансиверам.

Обзор технологии Ultra-Wideband (или переходник с SPI на UWB) на примере модуля DWM1000 с DW1000 внутри.

Тут будет перевод ключевых мест из datasheet(а) и набольшие комментарии по чипу в частности.

Читать далее
Total votes 19: ↑19 and ↓0+19
Comments10

Полосковые СВЧ делители/направленные ответвители

Reading time5 min
Views26K

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

В статье вас ждут фотографии, схемы и немного формул.

далее
Total votes 30: ↑29 and ↓1+34
Comments35

Ретромалина. Устанавливаем старые игры и Windows 95 на Raspberry Pi с помощью Dosbian

Level of difficultyEasy
Reading time8 min
Views16K

Я очень люблю старую компьютерную технику — есть в ней какой-то непередаваемый шарм. Но одно дело — коллекционирование винтажных ноутбуков, и совсем другое — установка древних операционных систем или софта на современном «железе». Во многих случаях старые операционки и игры на актуальном оборудовании попросту не запускаются из-за проблем с совместимостью. Положение отчасти спасают виртуальные машины, но гонять ОС, а особенно игрушки на «виртуалке» далеко не всегда удобно. И вот пару месяцев назад я случайно услышал о Dosbian: специальной версии Raspberry Pi OS, позволяющей запускать на «малинке» MS-DOS и даже Windows 3.1/9x, не говоря уже о DOS-совместимых играх. Признаться, мне всегда нравился компьютер Raspberry Pi 400, правда, я никак не мог придумать, к чему его приспособить. Теперь вопрос решился сам собой: я заказал себе эту машину специально, чтобы установить и протестировать на ней Dosbian. Результатами своих экспериментов я сегодня делюсь с вами.
Читать дальше →
Total votes 69: ↑66 and ↓3+89
Comments44

Одноплатный компьютер из камеры видеонаблюдения. Создаём WiFi-мобиль. Часть I

Level of difficultyMedium
Reading time12 min
Views18K


Я уже рассказывал про то, как из телевизионной приставки можно сделать одноплатный компьютер (SBC — single board computer). Если же у вас завалялась ненужная или разбитая камера видеонаблюдения, не спешите её выбрасывать. Я покажу, как её можно использовать, даже если на ней не работают какие-либо функции вроде звука, изображения и т. п. Сегодня нас камера интересует только как SBC. Расскажу, как найти куда подпаять нагрузку, какую нагрузку можно подключить к камере и какими способами можно ею управлять.
Читать дальше →
Total votes 76: ↑76 and ↓0+76
Comments38

Автоматическое определение таблицы коммутации BLDC мотора

Reading time6 min
Views7.5K

Здесь разрабатываем эталонную таблицу коммутации BLDC мотора на основе цифрового двойника и создаем алгоритм для автоматической генерации таблицы в сервоконтроллере MC50. Таблица коммутации используется для 6-шагового управления вращением ротора BLDC мотора с датчиками Холла. Хотя найти правильный способ коммутации несложно путём перебора (6! => 720 вариантов), но такой путь опасен неправильным выбором последовательности коммутаций, которые могут создать вращение, но крайне неэффективное и нестабильное.

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

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity