Обновить
224.84

Программирование микроконтроллеров *

Учимся программировать микроконтроллеры

Сначала показывать
Период
Уровень сложности

Метод синтеза синусоидальных колебаний, с применением цифрового колебательного контура

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

Добрый вечер, уважаемые коллеги. Статья будет короткой и возможно натолкнет кого-то на реализацию. У меня получилось.

Недавно разрабатывал код, который рассчитывает значения sin(x), cos(x) и квадратного корня из x, на arm. По сути это была апроксимация рядом Тейлора. Но код написан на Assembler и выполнялся относительно быстро. Изначально предполагалось использовать его для своего станка. Немого позже задался вопросом одновременной генерации sin(x) и cos(x) как сигналов для свертки с исходным. Некоторые предлагали cordic, но я пошел другим путем.

Изначально, моделировал систему дифференциальных уравнений, использующих два умножения и разности для получения sin(x) / cos(x) на каждый, временной отсчет. Фактически, это отклик диффкренциального уравнения на дельта-функцию (единичный импульс) который запускает колебательный процесс. "Синусойды" получились не ортогональными при небольшом количестве отсчетов на период из-за неточности вычисления сдвига фазы. Однако, при использовании длительных последовательностей данный метод может заменить классические методы генерации sin(x)/cos(x) поскольку конечные разности становятся небольшими.

Кроме того на вход дифференциального уравнения можно подать сигнал, который будет раскачивать его как реальный контур. Например, у Вас возникнет желание свернуть сигнал с длинноволновыми последовательностями. В этом случае, можно, просчитывать каждый отсчет sin(x)/cos(x), а можно просто подать входной сигнал с АЦП на вход такого дифференциального уравнения и получить "синхронный интегратор", настроенный на определенную частоту.

Читать далее

Функциональная безопасность и анализ риска, комментарии инженера (часть 5)

Уровень сложностиСредний
Время на прочтение42 мин
Охват и читатели828

После проведения HAZOP и формирования контуров безопасности ПСБ с определением целевого уровня полноты безопасности, нам, как инженерам реализующим систему безопасности прислали исходные данные: технологическая схема с КИП, перечень контуров безопасности, матрица причинно-следственных связей, значение целевого УПБ. Мы, как подготовленные инженеры, понимаем из чего могут быть построены контура безопасности, отвечающие заданному целевому УПБ. Осталось подобрать оборудование, собрать контура,  посчитать результирующее значение УПБ и сравнить его с целевым.

Если подходить к решению задачи правильно и грамотно, ПСБ еще на предыдущих этапах должна быть разделена на систему аварийного останова ESD и систему технологических защит PSD. ESD предназначена именно для предотвращения катастрофы, аварии и гибели людей. PSD предназначена для защиты оборудования и технологического процесса (например, не дает загубить катализатор в реакторе или выпустить некачественную продукцию). Позже, когда будем разбираться, в чем разница между ESD и ПАЗ разберем этот вопрос подробнее.

Когда мы говорим о снижении риска до целевого значения и расчете уровня полноты безопасности, мы говорим про ESD.

Весь перечень контуров безопасности сразу делим на две части: контура с целевым УПБ1 и ниже, и контура с целевым УПБ2,3. При объективно проведенном анализе рисков контуров УПБ3 будет очень ограниченное количество, обычно несколько единиц. Подобрать оборудование для обеспечения УПБ3 контура в целом достаточно сложно.

тут 30 станиц текста с формулами и графика

Забавы в ближнем инфракрасном. Часть 2. Сенсор + Arduino + Скетч = Счётчик пробегающих

Время на прочтение2 мин
Охват и читатели2K

В предыдущей статье (Часть 1) я описал "секреты" изготовления любительской сенсорной системы (типа "инфракрасный барьер") из трёх резисторов, двух диодов и одного транзистора. Пришла пора построить на её основе какую-нибудь практически полезную вещь. Ну, хоть для забавы. (Профессионалы дальше читать не должны.) Пусть это будет счётчик чего-нибудь. Студентов, выходящих из учебного корпуса, или железнодорожных вагонов, скатывающихся с сортировочной горки.

Когда сенсорная система готова, интерес смещается к проблеме обработки поступающей от неё информации. Электронщик, отдохни, сходи попить кофе. Айтишник, просыпайся: твой выход.

Читать далее

Собираем демо чемодан из подручных остатков к выставке WBCE2025

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

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

Читать далее

Четвёртый инженерный хакатон SoC Design Challenge: «Свидетели ошибок» из Аквариус — победители трека UVM верификации

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели602

С 18 по 20 апреля 2025 г. на площадке НИУ МИЭТ в Зеленограде прошёл четвертый инженерный хакатон SoC Design Challenge, организованный компанией YADRO совместно с Передовой инженерной школой «Средства проектирования и производства электронной компонентной базы» МИЭТ. Более 250 студентов очной формы обучения со всей России собрались, чтобы на практике решить задачи по проектированию и верификации систем на кристалле (SoC) на базе RISC‑V.

В рамках треков «RTL проектирование», «UVM верификация», «Системная верификация СнК» и «Топологическое проектирование» участникам предстояло не только продемонстрировать знания цифровой и аналоговой схемотехники, но также и получить призы — FPGA платы и другие инженерные гаджеты. Все задачи формировались действующими специалистами отрасли и преподавателями МИЭТ, что делало соревнование максимально приближённым к реальным производственным кейсам.

Команда студентов-сотрудников компании Аквариус, трое студентов 4‑го курса НИЯУ МИФИ (каф. 27) команда «Свидетели ошибок»:

1. Силкин Никита Романович

2. Скворцов Ярослав Максимович

3. Никонов Александр Андреевич

За три дня напряжённой работы «Свидетели ошибок» набрали 76 баллов из максимальных 100 и уверенно опередили ближайших соперников на 28 баллов, заняв 1 место среди остальных команд в треке UVM верификации.

Как команда готовилась и добилась победы

Скворцов Я. М.

Хакатон длился три дня с 9:00 до 20:00. Сначала мы подробно разработали верификационный план по спецификации устройства, определили ключевые функции и ошибки для проверки. После этого разделили обязанности: каждый взял часть тестового окружения и приступил к реализации. Регулярные обсуждения архитектурных решений позволили быстро интегрировать результаты и довести тестбенч до рабочего состояния. Локализация багов оказалась самой трудоёмкой частью: требовалось крайне внимательно и с пониманием просматривать результаты тестов. Благодаря эффективной коммуникации и сплочённой атмосфере команда справилась с этой задачей, и мы одержали победу.

Читать далее

NVRAM из EEPROM

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

Дана функция чтения и записи EEPROM dword.

Запись и стирание возможно только по выровненному адресу и пословно.

Надо поверх EEPROM API сделать функцию чтения, записи и стирания для произвольных массивов байт, по произвольному адресу (NVRAM).

Простыми словами надо состыковать Dword API с Byte API.

В этом тексте я представил простой наивный алгоритм решения данной задачи.

Читать далее

Открытая шина данных АСУ ТП

Время на прочтение4 мин
Охват и читатели4.5K

Над созданием открытой шины данных АСУ ТП работают как российские, так и зарубежные разработчики. Причина понятна – уйти от проприетарных протоколов и решений и создать единую прозрачную среду передачи данных систем автоматики. Раскроем суть задач, стоящих перед разработчиками.

Читать далее

Собираем прошивку NapiLinux и Raspberry Pi OS для микрокомпьютера с помощью Yocto

Время на прочтение22 мин
Охват и читатели2.2K

Если вы занимаетесь созданием дистрибутивов Linux для встраиваемых систем, то, возможно, вас заинтересует проект Yocto. С его помощью можно создавать образы ОС в минимальных и оптимизированных конфигурациях для аппаратных платформ и приложений.

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

Компании, поставляющие устройства на базе микрокомпьютеров, могут комплектовать их ОС в необходимой конфигурации, а дистрибутив такой ОС они формируют с помощью Yocto.

В этой статье я расскажу о создании образов ОС с открытым кодом Napi Linux для модуля сбора данных от датчиков Front Control Compact, микрокомпьютеров  roc-pc-rk3328 и rockpro64-rk3399, а также ОС для встраиваемых систем на базе Raspberry Pi.

Пока Napi Linux работает на ARM, но готовится сборка и для платформы x86.

Читать далее

Преимущества Edge AI (из Отчёта  о  технологиях EDGE AI)

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели940

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

Компания Wevolver в сотрудничестве с отраслевыми экспертами, исследователями и поставщиками технологий подготовила подробный отчет о текущем состоянии Edge AI. В этом отчёте рассматриваются его технические аспекты, области применения, проблемы и будущие тенденции. В нем объединены практические и технические идеи профессионалов отрасли, что поможет читателям понять и сориентироваться в развивающемся ландшафте Edge AI. 

Читать далее

Аппаратный таймер в качестве датчика звука

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

В разработке электроники в состав которой входит источник звука бывает нужно делать тест на наличие звука.

В этом тексте я показал простой способ провернуть такой тест.

Читать далее

Rickroll с помощью ESP32. Имитация Bluetooth-клавиатуры

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

Однажды я узнал про существование микроконтроллеров ESP32, обладающих встроенными Bluetooth и Wi-Fi модулями. Тогда я начал всем рассказывать, какая крутая железка, пока мне ее наконец-то не подарили.

На момент создания материала, такой микроконтроллер можно купить в РФ с доставкой менее, чем за 1000 рублей. Ну не чудо ли?

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

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

На GitHub существует прекрасная библиотека, позволяющая реализовать мою идею.

Читать далее

Расшифровка startup файла Arm Cortex-M

Уровень сложностиСложный
Время на прочтение7 мин
Охват и читатели4.3K

В статье предпринята попытка разобраться в содержимое startup файла микроконтроллера STM32F4, построенного на базе ядра Arm Cortex M4. Для запуска ядра используется ассемблерный код, который и предстоит изучить. Для лучшего понимания материала необходимо иметь представление об архитектуре ядра Cortex M4. Сразу отмечу, что замечания и уточнения приветствуются, т. к. они позволят дополнить представленную информацию.

Читать далее

Нейросетевой чип с интерфейсом, привычным Embedded программисту

Уровень сложностиСредний
Время на прочтение11 мин
Охват и читатели7.9K
Обычно я пишу циклы статей по двум причинам. Либо я участвую в какой-то разработке и, с одной стороны, хочу рассказать о ней, но с другой – описать что-то интересное про применённые там технологии, так как овладел ими в достаточной мере. Самый большой цикл был про комплекс Redd, который перерос в разработку USB-анализатора на его базе. Другая причина засесть за клавиатуру – я нашёл какую-то интересную поделку

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

Речь пойдёт про чип, который по задумке разработчиков должен помочь Embedded-программистам начать работу с Искусственным Интеллектом, не погружаясь в его недра, а оперируя только привычными им сущностями. Давайте разбираться более детально.


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

Ближайшие события

Почти забытый трекбол все еще жив. Чем он лучше мыши или тачпада? Опыт разработчика электронной аппаратуры

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели19K

Сначала была мышь. А потом появились трекбол и тачпад. Что удобнее для разработчика электронной аппаратуры?

Читать далее

Загрузка прошивки в дисплеи Nextion без использования IDE. Протокол v 1.1. Добавлена ссылка на 1.2 и внесены исправления

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели4.7K

Загрузка прошивки в дисплей  Nextion без использования IDE. Это перевод официальной инструкции. Протокол версии 1.1 Актуален на конец 2023. Внесены исправления.

Читать далее

Обзор Aппаратного Aудио кодека MAX9860 (2x ADC+DAC)

Уровень сложностиПростой
Время на прочтение12 мин
Охват и читатели5.9K

Обзор аудиокодека MAX9860.

MAX9860 это 24 пиновый ASIC американской компании Maxim Integrated у которого внутри один 16ти битный sigma delta ЦАП, и два AЦП с управлением по I2C. Данные загружаются и выгребаются по I2S.

В тексте я написал свои впечатления от работы с этим чипом. Перечислил достоинства и недостатки микросхемы MAX9860.

Читать далее

Акселерометр = полунавигатор

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

Нам очень повезло, что Земля вращается вокруг своей оси!

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

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

Читать далее

Отладочная плата NRF5340-DK в качестве программатора J-Link

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели4K

Отладочная плата NRF5340-DK поддерживает программирование и пошаговую отладку внешних плат с микроконтроллерами серий nRF51, nRF52, nRF53. В том числе модули BT40.
В этом случае отладочная плата NRF5340-DK выступает как программатор SEGGER J-Link. Для этого на PCB NRF5340-DK заложен отдельный интерфейсный микроконтроллер (U2) с тремя SWD шинами (к слову тот же чип, что и сам target NRF5340 (U1)).

В этом тексте представлена методичка про то, как прошивать внешние дикие платы отладочной платой NRF5340-DK.

Читать далее

Размышления на тему развития робототехники в России

Время на прочтение14 мин
Охват и читатели11K

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

Читать предложения по развитию робототехни

Как Перепрошить Пастильду

Время на прочтение8 мин
Охват и читатели4K

Пере прошивка Пастильды обернулась настоящим квестом. Как пере прошить Pastild(у) или бег с препятствиями.

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

Читать далее

Вклад авторов