Рубрика «stm32» - 21

Если кто не знает мне интересно программирование на ассемблере для микроконтроллеров STM32… И все бы хорошо, да только программировать особо негде…

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

Некоторое время назад (всего 2 года прошло) я сетовал о том что нужен программист для ее написания, но дело с тех пор не сдвинулось…

Поэтому вспомнив знаменитую поговорку: «Если гора не идет к Магомеду, Магомед идет к горе» — решил в итоге начать писать самостоятельно…

Дальше под катом (будут картинки!!)
Читать полностью »

Как перестать писать прошивки для микроконтроллеров. Пример - 1

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

Читать полностью »

Как перестать писать прошивки для микроконтроллеров и начать жить. Часть I - 1

Здравствуйте, меня зовут Евгений, и мне надоело писать прошивки для микроконтроллеров. Как это это случилось и что с этим делать, давайте разберемся.

Читать полностью »

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

Сложная разработка простых устройств - 1

Читать полностью »

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

Большинство вопросов, касающихся проекта и силовой электроники, связаны с конкретными топологиями: кому-то интересно узнать алгоритм управления PFC, кому-то хочется научиться строить LLC полумост, но наиболее популярная топология — это несомненно buck. Ведь buck-преобразователь (он же buck converter) является основной для большинства интересных проектов: это и драйвер для LED светильников, и основа MPPT контроллера для солнечных панелей, и зарядные устройства и вообще много чего еще.

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

Разработка buck-преобразователя на STM32F334: принцип работы, расчеты, макетирование - 1
Читать полностью »

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

В процессе работы ставились следующие задачи:

  • Обеспечить обновление прошивки пользователем устройства с SD-карты.
  • Обеспечить контроль целостности прошивки и исключить запись некорректной прошивки в память контроллера.
  • Обеспечить шифрование прошивки для исключения клонирования устройства.

Код писался в Keil uVision с использованием библиотек stdperiph, fatFS и tinyAES. Подопытным микроконтроллером был STM32F103VET6, но код может быть легко адаптирован под другой контроллер STM. Контроль целостности обеспечивается алгоритмом CRC32, контрольная сумма расположена в последних 4 байтах файла с прошивкой.

В статье не описано создание проекта, подключение библиотек, инициализация периферии и прочие тривиальные этапы.
Читать полностью »

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

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

Предлагаемый материал содержит процедуру использования пакета CubeMX, «загружалки» DfuSeDemo и утилиты подготовки прошивки Dfu file manager, т. е. Мы абстрагируем наши «хотелки» от железки, да простят меня гуру макроассемблера и даташита.
Читать полностью »

Всем привет.

Некоторое время назад мы писали о том как нам удалось запустить SIP телефон на STM32F4-Discovery c 1 Мб ROM и 192 Кб RAM) на базе Embox. Тут надо сказать, что та версия была минимальной и соединяла два телефона напрямую без сервера. Поэтому мы решили запустить более полноценный телефон со звонком через сервер, передачей голоса в обе стороны, но при этом уложиться в как можно меньший размер памяти.

Читать полностью »

Не для кого не секрет, что сложные современные преобразователи, например, online UPS, работают под управлением DSP/МК или ASIC. Основными поставщиками DSP для силовой электроники являются две компании — Texas Instruments и Infineon, но сегодня речь пойдет о продукции компании STMicroelectronics — серии STM32F334. Данная линейка МК предназначена для управления электроприводом и построения силовых преобразователей: PFC, инверторов, импульсных блоков питания, UPS и прочих.

Конечно, серия F334 не может противостоять «мощи» таких популярных решений как TMS320F28335 и прочим, но у нее есть одно важное преимущество — стоимость. Старший камень STM32F334R8T6 стоит 5$, имеет на борту необходимый набор периферии (HRPWM, ADC, компараторы) и производительность для построения достаточно мощных преобразователей (десятки кВт) с хорошей надежностью и устойчивостью к отказу.

Для разработчика электроники важна экосистема вокруг того DSP/МК с которым он работает: документация, отладочные средства, примеры кода и железа. У TI все это имеется, да — дорого, да — сложно купить, но есть и именно поэтому в большинстве современных решений в области электропривода и энергетики стоят TMS320. Компания ST же почему-то обошла вниманием серию F334, хотя документация хорошего качество как и на любой STM32 имеется, а вот примеры железа с полноценным кодом и отладочные платы отсутствуют (игрушка F3348-Disco не считается). Что же — будем исправлять этот недостаток.

В своей прошлой статье я рассказал о своем проекте «комплекта разработчика» и даже продемонстрировал один из компонентов — силовой модуль. Сегодня я расскажу о 2-м (всего их будет 3) модуле, который позволяет реализовать любую топологию преобразователя и при этом стоит в разы дешевле конкурентов. Проект разумеется открыт и все исходники можно посмотреть в конце данной статьи.

Модуль управления силовым преобразователем: разработка и сборка - 1
Читать полностью »

Привет, Хабр

В сети довольно много статей про работу микроконтроллеров STM32 в энергоэффективных устройствах — как правило, это устройства на батарейном питании — однако среди них прискорбно мало разбирающих эту тему за пределами перечисления энергосберегающих режимов и команд SPL/HAL, их включающих (впрочем, та же претензия относится к подавляющему большинству статей про работу с STM32).

Тем временем, в связи с бурным развитием умных домов и всевозможного IoT тема становится всё более актуальной — в таких системах многие компоненты имеют батарейное питание, и при этом от них ожидаются годы непрерывной работы.

Восполнять данный пробел мы будем на примере STM32L1 — контроллера весьма популярного, достаточно экономичного и при этом имеющего некоторые специфические именно для этой серии проблемы. Практически всё сказанное будет также относиться к STM32L0 и STM32L4, ну и в части общих проблем и подходов — к другим контроллерам на ядрах Cortex-M.

Оптимизация энергопотребления STM32: практическое руководство - 1

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

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js