Search
Write a publication
Pull to refresh
51
0.8

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

Send message

Дискретные тригонометрические функции, машинный эпсилон и автоматическое дифференцирование

Level of difficultyHard
Reading time7 min
Views5.6K

Попалась мне недавно статья Синус, косинус, квадратный корень FixedPoint. Автор размышляет как можно не затратно рассчитывать координаты и углы в микроконтроллере. Попробовал я подсказать автору пару аппроксимаций, но он оказался разговорчив только на тему "упадка автоматизации в РФ", а по делу как то не сложился диалог. Посмотрел, такие статьи не редкость. Например, очень хорошая статья Как посчитать синус быстрее всех на Xабре. В общем разгрузил себе голову на майских праздниках от главного хобби - геометрической алгебры.

В процессе изучения всего этого, возник у меня вопрос - а зачем вообще нужно аппроксимировать sin,cos, arctan и еще и в привязке к числу в двоичной системе, если есть декартовы координаты?

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

Автоматическим дифференцированием можно назвать любую конечную разность, например dy=(y(x+ε)-y(x-ε))/(2*ε). Разность взята центральная, так как она дает меньшую погрешность.

 ε это машинный ноль. За счет округления до младшего бита его главное свойство: ε^2=0.

Эта статья по сути не более, чем описание основных моментов идеи. И если у кого то появится желание поставить эту идею на строгие математические рельсы, с удовольствием готов поучаствовать. Кто в этом случае опубликует финальную версию мне искренне не важно.

Читать далее

Низкоуровневое программирование под 8086 для любопытных, часть 2

Level of difficultyMedium
Reading time15 min
Views10K

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

Читать далее

Пишем один «exe», который работает на 3-х разных ОС без перекомпиляции

Level of difficultyMedium
Reading time17 min
Views19K

Нет, это не шутка и не кликбейт. Такое действительно возможно — правда через небольшой хак.

Недавно я задался вопросом: а возможно ли написать для ARM нативную программу, которая будет бесшовно работать сразу на 4-х операционных системах без необходимости перекомпиляции для разных платформ и ABI. Мне очень хотелось реализовать возможность писать кроссплатформенные эльфы для мобильных телефонов из нулевых и попытаться портировать на них эмуляторы ретро-консолей. Погрузившись в документацию на исполняемые форматы, я пришёл к выводу, что да — это возможно и смог реализовать такую программу на практике без читерства по типу VM! Всех гиков приглашаю под кат!

Читать далее

Еще пара слов об устройстве NVRAM в UEFI-совместимых прошивках (про Dell DVAR)

Level of difficultyMedium
Reading time7 min
Views3.3K

Здравствуй, читатель. С моих прошлых статей про NVRAM прошло некоторое количество времени (за эти почти 10 лет мало что изменилось, и все эти форматы до сих пор с нами практически без модификаций), а моя работа на одну фруктовую компанию не позволяла мне писать статьи, тесты и посты без одобрения кучей непонятных людей, но теперь эта работа осталась в прошлом, а желание писать так и не пропало. 

Эта статья - практическая реализация этого желания, а поговорим мы в ней о формате Dell DVAR, и немного о декларативном языке для написания парсеров Kaitai Struct, на котором я недавно переписал парсеры всех известных UEFITool NE форматов NVRAM. 

DVAR я дрожащая, или право имею?

«Родовое существо» vs. «Homo economicus»: Кто настоящий человек?

Reading time7 min
Views2.9K

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

Читать далее

HamPi: универсальный дистрибутив радиолюбителя

Reading time8 min
Views13K

В мире радиолюбителей постоянно появляются новые инструменты, упрощающие жизнь как новичкам, так и опытным энтузиастам. Один из них — дистрибутив HamPi для Raspberry Pi. Эта специализированная система объединяет в себе все необходимые программы для цифровых видов связи, работы с SDR-приемниками, APRS и многого другого.

Чтобы начать экспериментировать с радио, достаточно просто установить HamPi на компактный одноплатный компьютер — все готово к работе с первых минут. Есть, конечно, нюансы, и их немало. Ниже расскажу о дистрибутиве, его установке, настройке и использовании. Поехали!

Читать далее

В Музее космонавтики прошёл финал конкурса «Научный подход»

Reading time5 min
Views269

11 апреля в Мемориальном музее космонавтики состоялся финал конкурса на лучшую научную работу студентов РосНОУ «Научный подход».

Научно-исследовательские и научно-популярные работы защитили 18 студентов РосНОУ.

Ежегодный конкурс студенческих работ «Научный подход» в 2024/2025 году проводился с учётом тем, предложенных на научно-просветительском мероприятии «Капишник 2.0»

Награждение победителей и призёров конкурса «Научный подход» состоится в мае на финале Кубка ректора 2024/25 учебного года.

Читать далее

Настройка ToolChain-а Cборки Прошивок для MIK32 (K1948BK018 + C + GCC + GNU Make + OpenOCD)

Level of difficultyEasy
Reading time17 min
Views3K

В этом тексте я написал про то, как настроить рабочее окружение для разработки на российском микроконтроллере MIK32 (K1948BK018).

Читать далее

Графика в Linux — как это вообще устроено

Reading time5 min
Views16K

По мотивам недавних постов, затрагивавших тему графики в Linux — как оно вообще там сделано, и как работает, не углубляясь особо в детали.

Здесь не будет технических подробностей и нюансов настройки — так, чисто обзорно сверху по кочкам.

Зачем? Затем, что, как я вижу, сейчас не все пользователи Linux представляют, что именно скрывается за словами «графическая среда», и чем Gnome отличается от Wayland.

Читать далее

Синус, косинус, квадратный корень FixedPoint

Reading time3 min
Views2.9K

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

Имеется фрезерный станок ЧПУ. Было принято решение, переделать его систему управления, используя ядро Cortex M3. В общем и целом, существуют программные пакеты, позволяющие сделать это. Например GRBL. Однако, у меня своя специфика. Для реализации ПО, потребовались математические операции sin(x), cos(x), sqrt(x). И я задумался над их реализацией в формате фиксированной точки.

Читать далее

Устройство высоковольтного источника питания Lambda ALE 802

Level of difficultyEasy
Reading time4 min
Views2.5K

На титульном листе руководства по эксплуатации источника питания Lambda ALE 802 указано название компании производителя данного прибора и есть ссылка на официальный сайт производителя https://www.us.lambda.tdk.com

Перейдя по этой ссылке отображаются устройства, производимые компанией

Читать далее

Пишем код… работа? Услуга? Авторский труд?

Reading time5 min
Views625

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

Кому это вообще надо?!
Если быстро и коротко – всем! Довольно обыденной является ситуация, когда для всех заказчиков используется один и тот же договор в независимости от задач, которые предполагается выполнять по нему. У кого-то это договор на выполнение работ, у кого-то договор на оказание услуг, реже договор о создании программы для ЭВМ, авторского заказа и т.п.

Читать больше...

Трое учёных создали геометрическую теорию электричества и магнетизма

Level of difficultyHard
Reading time4 min
Views21K

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

С первых дней существования общей теории относительности ведущие физики, такие как Альберт Эйнштейн и Эрвин Шрёдингер, пытались объединить теорию гравитации и электромагнетизма. Много попыток было предпринято в XX веке, в том числе Германом Вейлем.

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

Читать далее

Оповещение о РО через колонки Яндекса (Ну или в целом получение сигналов в УДЯ)

Level of difficultyEasy
Reading time2 min
Views7.8K

Система и алгоритм оповещения о ракетной опасности с использованием Яндекс Станций. Пользователь вручную создает сценарии для устройств «Умного дома Яндекса» с использованием «Лампочки», которая включается при сигнале о РО и выключается при сигнале ОТБОЙ.

Стэк: Python, telethon, aiogram 3.x, mqtt, postgresql.

Читать далее

Искусственный Интеллект: проверяем предсказания 2012 года и думаем о его (и нашем) будущем

Level of difficultyEasy
Reading time5 min
Views2.8K

В моей трилогии «Астровитянка» (первое издание от 2008, 2009, 2010) одним из главных героев является Инка – искусственный интеллект, с которым можно поболтать, посоветоваться, и который полезен в поиске информации и решении всяких интеллектуальных задач типа моделирования. Как потом выяснилось, «Астровитянка» вдохновила немало российских программистов на работу в области ИИ. В сентябре 2012 у меня взяли хабр-интервью на тему ИИ: ссылкапродолжением).

Интересно сравнить мои соображения 12.5-летней давности с нынешним состоянием ИИ. Самоцитирую из тогда и комментирую из сейчас:

2012: «Полезных результатов в области ИИ сделано поразительно мало. Пока решаются задачи типа оптимального выбора маршрута кибером, или автоматической стыковки кораблей. Но лет 15 назад роботы были экзотикой для чудаков, а сейчас это целая индустрия, созданная по запросам военных, врачей и спасателей. Так что прорывы возможны».

2025: Считаю, что для 2012 года оценка была вполне адекватной

2012: «Я описал в своей книге вариант колонизации тел Солнечной системы, когда вперёд посылаются роботы с ИИ, которые способны построить базу из местных материалов и без непосредственного участия человека. И человек прилетает уже не в пустыню, а в благоустроенный город. Так что для колонизации космоса ИИ, пожалуй, будет поважнее мощных ракетных двигателей.»

2025: Маск собирается запустить на Марс ракету с роботом Оптимус и ИИ. Так что уже близко к реализации.

Читать далее

Дизеринг в графике и вычислениях: математическая элегантность сеток с низким расхождением

Level of difficultyMedium
Reading time10 min
Views3.5K

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

Читать далее

Восстановление блока SRS Mitsubishi

Level of difficultyMedium
Reading time10 min
Views2.4K

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

Читать далее

Затолкаем, братцы!!! UART Lite через PCIe прямиком в Linux: драйвер за вечер (почти)

Level of difficultyMedium
Reading time20 min
Views10K

Что если можно было бы подключить своё AXI-устройство на FPGA к Linux через PCIe за вечер? В этой статье рассказываю, как написать драйвер для UARTLite через XDMA, собрать свою TTY и начать работать с GPS прямо из терминала!

Залетай, что смотришь....

Машинка на радиоуправлении с одним каналом связи для видеопотока и управления

Level of difficultyEasy
Reading time8 min
Views11K

Ставим себе задачу «Just For Fun»: построить машинку на радиоуправлении с камерой, используя компоненты с AliExpress. Управление и видеопоток с камеры совместить в один канал связи. Управление реализовать без отдельных пультов, с помощью своего интерфейса на пк. Так же реализовать возможность изменять скорость.

Читать далее

Наше расследование: ищем отечественные микросхемы в «отечественных» счетчиках электроэнергии

Level of difficultyMedium
Reading time8 min
Views67K

После последней нашей публикации про «отечественную» микросхему Flash памяти GSN2516Y якобы разработанную в GS Group мы получили достаточно большой фидбэк от наших читателей. И один из них сказал, что может переслать нам счетчик электроэнергии в котором стоит эта микросхема. Ох если бы мы знали в какую клоаку мы попадем разбирая этот счетчик. Афера на миллиард, перемаркирование китайских микросхем встает на широкую ногу и многое другое в нашем очередном расследовании. Поехали...

Читать далее

Information

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

Specialization

Embedded Software Engineer, Hardware Engineer