Обновить
252.02

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

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

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

К вопросу о кривых Безье и быстродействии Ардуино, часть вторая

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

Мы пойдем мимо — и дальше




В своем предыдущем посте я показал, как можно улучшить быстродействие расчета точек на кривой Безье (КБ) путем:

  1. Преобразования расчетных формул — ускорение в ~3 раза.
  2. Перехода от чисел ПТ к ФТ — ускорения почти нет, но позволяет провести 3.
  3. Заменой операции деления умножением и сдвигом — ускорение еще на 40%.

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

Для тех, кто готов читать правильно

Вся правда об ОСРВ. Статья #6. Другие сервисы ОСРВ

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


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

От Торонто до Томска: подведение итогов и планирование будущих семинаров по микроэлектронике в России

Время на прочтение4 мин
Охват и читатели4.4K
Видите японского робота-собачку слева от девушки Ирины? Этот робот из компьютерного музея у офиса Гугла управлялся встроенным процессором MIPS R4000. Дальний потомок этого процессора, MIPS microAptiv UP, станет темой нескольких докладов на семинаре по обмену опытом преподования электроники, который пройдет в Томске на следущей неделе. Ядро MIPS microAptiv UP, в своем бесплатном варианте, MIPSfpga, стало удобной морской свинкой для студенческих экспериментов по микроархитектуре процессорных ядер и созданию систем на кристалле.

Важная часть экспериментов с MIPSfpga случилась в России, на Украине и в Казахстане в течении двух прошлых лет — про это рассказала на конференции в Торонто Сара Харрис, профессор Университета Лас-Вегаса. В семинарах на эту и смежные темы проектирования чипов (Nanometer ASIC) приняли участие МГУ, МФТИ, МИФИ, МИЭТ, ИТМО и другие ведущие университеты.

Сейчас эксперимент продолжается: в этом месяце, помимо конференции в Томске, в Россию приезжает Роберт Оуэн, известный консультант по университетским образовательным программам в области микроэлектроники. За последние 23 года Роберт Оуэн посетил сотни университетов в Европе, Азии, Америке и даже Африке, как представитель Texas Instruments, ARM, Xilinx и Imagination. Он помогал университетам поставить программы в области DSP, микроконтроллеров, встроенных процессоров и систем на кристалле.

Вся эта деятельность — не абстрактное образование ради образования. На технологиях разработки микросхем с использованием языков описания аппаратуры Verilog и VHDL и использовании синтезируемых ядер стоит бизнес таких российских компаний как ЭЛВИС-НеоТек и Байкал Электроникс, о которых расскажет в лекции на этой неделе никто иной как Чубайс.



Про эти и другие мероприятия из прошлого и будущего подробнее под катом.
Читать дальше →

Умное цветоводство, или Пусти ИТшника в огород… Часть 2

Время на прочтение6 мин
Охват и читатели11K
Друзья, наши технологические раскопки на ниве домашне-офисного озеленения вызвали явный интерес с вашей стороны (предыдущая статья Умное цветоводство, или Пусти ИТ-шника в огород… Часть 1). Посему, как и обещали, отвечаем на ваши вопросы.

Но сначала – фото компонентов. Сам микроконтроллер-МОЗГ:


Часы реального времени с автономным питанием:


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

Цифровая фильтрация на ПЛИС – Часть 2

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


Всем привет!

Это вторая публикация на тему «Цифровая фильтрация на ПЛИС». Вторая часть будет посвящена практической реализации КИХ фильтров на FPGA. В процессе подготовки материала я понял, что она раздуется до небывалых размеров, но делить ее на несколько частей не хочется. Поэтому все тонкости теории и синтеза FIR фильтров будут в одной статье, разбитой на взаимосвязанные разделы. Начну обзор с теоретической части, в частности — расскажу об особенностях и методах расчета коэффициентов фильтров. Подробно рассмотрю создание КИХ фильтров в различных средах — MATLAB, CoreGENERATOR, Vivado HLS. Всех заинтересовавшихся прошу под кат.
Читать дальше →

Немецко-китайский прибор и немного математики (часть 2)

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

Настал вечер и Шехрезада продолжила позволенные речи


Продолжим рассуждения на тему, как бы мы делали прибор MG328. На очереди у нас измерение конденсаторов, которое должно быть сложнее, чем измерение резисторов, но неожиданно оказывается чуть ли не проще. Но прежде, чем перейти к рассмотрению собственно конденсаторов, немного слов об измерениях в МК системах как таковых.

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

Комплект разработчика на базе MSP430 от Texas Instruments

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

Texas Instruments продолжает приятно удивлять


У меня хорошая новость для тех, кто чувствует в себе инженерные наклонности но до сих пор не знал с чего начать. И пусть для кого-то это уже не в новинку, но для всех остальных умов я хотел бы донести. Компания Texas Instruments продолжает «подсаживать» на свои продукты, и на этот раз в фокусе нашего внимания будет MSP430 Value Line LaunchPad Development Tool. Не так уж и давно вышла версия 1.5 этого комплекта разработчика на базе микроконтроллеров серии MSP430. Приглашаю под кат за подробностями и сюрпризами
Читать дальше →

Элемент задержки на VHDL

Время на прочтение2 мин
Охват и читатели30K
При проектировании различных цифровых устройств, в частности, контроллеров, требуется организовать задержку подачи одного и того же сигнала на различные выводы ПЛИС или на другие элементы внутри ПЛИС.

Для начала рассмотрим подобную ситуацию с дискретной логикой. Обычно, если у разработчика имеется микросхема с шестью вентилями НЕ (например ,155ЛН1), в качестве элемента задержки (величиной 10…20 наносекунд) он использует последовательное соединение двух элементов. Иногда между ними он вставляет RC-цепь, с помощью которой можно сделать время задержки от 10 до 150 нс.

В микросхеме ПЛИС задержку таким способом организовать НЕЛЬЗЯ. Всё дело в
Читать дальше →

Портирование драйвера VL53L1X на CH32V003

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

Опыт портирования драйвера VL53L1X с STM32 на CH32V003. Рассказываю, как адаптировать низкоуровневые функции I2C, настроить системный таймер для таймаутов и HAL_Delay, а также организовать пример работы через UART. Статья будет полезна тем, кто хочет использовать готовые драйверы STM32 на простых микроконтроллерах

Читать далее

Настройка SSH для коммитов в репозиторий

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

Итак вам надо клонировать репозиторий с компанейского репозитория и git просит какие-то непонятные пароли.
Знакома ситуация?

В этой заметке я написал как настроить ssh ключи.

Читать далее

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

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

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

Можно выделить следующие слои безопасности:

- совершенствование технологического процесса с целью исключения опасных факторов – уменьшить давление в системе, снизить объем опасных веществ, изменить технологическую схему, уменьшить количество оборудования…;

- ОСУП (организация системы управления процессом) – контроль состояния оборудования, контроль за технологическим процессом, уменьшить количество персонала в потенциально опасной зоне, построить эффективную систему обучения и инструктажей …;

- система сигнализации о приближении к опасным границам и квалификация операторов – наладить полноценную систему сигнализации, выделить сигнализации приоритета 1, которые требуют незамедлительных действий от операторов, постоянно и квалифицированно вести анализ срабатывания сигнализации, максимально исключить ложные срабатывания, наладить систему постоянных тренингов для поддержания необходимой квалификации операторов (в правильно построенной системе, сигнализации уровня 1 срабатывают крайне редко при реальной угрозе аварии, количество параметров для крупного объекта не превышает 10-50, каждое ложное срабатывание детально исследуется, программа подготовки и квалификация операторов должны обеспечивать корректные действия персонала при срабатывании сигнализации). В правильно построенной системе, сигнализации должны быть разделены на аварийные и информационные, с разной схемой визуализации и разными журналами, но на практике все сигнализации собирают в один перечень, называют «Перечень сигнализаций и ПАЗ», и в системе управления нет разницы между сигнализацией о перегреве реактора и сигнализацией о низкой температуре теплофикационной воды в операторной. В результате в общий журнал сигнализаций каждый день пишется по 1000 записей, 999 из которых не имеют какого-то смысла.

Читать далее

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

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

В данной статье на примерах попробуем разобрать порядок построения системы безопасности технологического процесса на основе анализ рисков. Поскольку цель статьи постараться объяснить «нормальным инженерных языком» назначение и порядок создания системы безопасности технологических объектов на основе анализа рисков, придерживаться «процедур в соответствии с ГОСТ-МЭК..» и описывать процедуры я не буду.

Еще раз напомню, что любой технологический процесс или техническое устройство несет потенциальный риск – угрозу жизни и здоровью работающих или находящихся по близости людей. Риск есть всегда и для всех, все живое рискует погибнуть. Риск, которому мы все подвержены в повседневной жизни называют фоновым. Для каждого производства или технологического процесса существует значение риска, принятого как допустимое. При построении нового процесса или технологического объекта необходимо принять такие меры обеспечения безопасности, чтобы обеспечить расчетный риск не выше допустимого.

В целом порядок создания системы безопасности будет следующим:

- исследуем риски, выявляем факторы риска, оцениваем значение;

- если значение риска превышает допустимое, разрабатываем дополнительные мероприятия (технологические, организационные и т.д.) для снижения риска до приемлемого;

- если технологическими и организационными решениями снизить риск до приемлемого не удается, переходим к созданию приборной системы безопасности (ПСБ), определяем контура безопасности, оцениваем требуемый уровень полноты безопасности (SIL) контуров, строим систему аварийного останова (ESD);

Читать далее

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

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

Различие в подходах: нормы или анализ рисков.

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

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

В бывшем СССР сложилась система норм и правил, которые жестко регламентировали требования, как организационные, так и технические. Эта система была унаследована и РФ. Достаточно посмотреть «Общие правила взрывобезопасности для взрывопожароопасных химических, нефтехимических и нефтеперерабатывающих производств» утверждены приказом Федеральной службы по экологическому, технологическому и атомному надзору от 15 декабря 2020 года № 533. Документ содержит 70 страниц ценных указаний. И таких «нормативных документов» у нас бесконечное количество, при желании можно найти «нормативку» на все случаи жизни. Соответственно проектировщику не надо понимать процесс, детально знать все особенности технологии, иметь опыт эксплуатации, достаточно просто найти нужную «нормативку» и выполнить все требования. Эксперт при проведении экспертизы проектной документации также проверяет технические решения на соответствие «нормативке», и инспектор Ростехнадзора тоже будет проверять объект на соответствие этой же «нормативке». При этом никого не волнует, на сколько обеспечена реальная безопасность технологического процесса (технологической установки), эффективность и достаточность принятых решений, возможность устойчивой работы оборудования и т.д. Соответствие нормам снимает ответственность за конечный результат со всех – проектировщиков, экспертов, инспекторов, и перекладывает всю ответственность на эксплуатацию, людей, которые непосредственно работают на технологической установке и реально рискуют своей жизнью.

действительно интересно?

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

Часы на базе микроконтроллера ch32v003 (часть 2)

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

Эта статья, продолжение статьи часть 1. Как правильно в ней заметил @mozg37 в комментариях, RC генератор не обеспечивает достаточной точности хода часов. Благо на aliexpress можно заказать готовую плату nanoCH32V003 с кварцем на борту. В итоге получилось немного модернизировать плату и собрать проект в корпусе, распечатав его.

Читать далее

Интеграция Стилистического Анализа в общий Make Скрипт Сборки Проекта

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

В некоторых компаниях есть внутренние требования к стилю оформления исходных кодов на Си.

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

Читать далее

Дымовая Завеса в Eclipse IDE

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

Прошивки часто пишут в Eclipse.

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

Именно этот аргумент огромная fun база Eclipse плагинов и приводит в качестве главного за Eclipse плагины.

В этом же тексте я написал как активировать эту пресловутую опцию даже при сборке сторонними скриптами. Причем любыми.

Читать далее

KatWalk C2: ч.4: поиграемся с прошивкой

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

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

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

Давайте что-нибудь в нём пропатчим!

Сортировка Конфигов для Make Сборок

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

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

Все передают конфиги по-разному.

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

Читать далее

Artery AT32F403A. Завершение знакомства

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

Заключительная часть знакомства с программированием микроконтроллера Artery AT32F403A в среде Keil

Читать далее

Настройка Пошаговой Отладки JLink+Eclipse

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

Записали прошивку через интерфейс SWD/JTAG и... ничего не происходит. HeartBeat LED не мигает. Логи в UART(е) не появляются. CLI не отвечает. Очевидно, что прошивка где-то зависла.

Что же делать? Как понять, где ошибка?

Тут выручит пошаговая GDB отладка с подсветкой в eclipse.

Читать далее

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