
164.7
Общий рейтинг
Программирование микроконтроллеров *
Учимся программировать микроконтроллеры
Сначала показывать
Порог рейтинга
Уровень сложности
Текстовый VGA модуль на VHDL
11 мин
18KВ этой статье я представлю текстовый VGA модуль, написанный на VHDL. Этот модуль может быть полезен при отладке платы, и занимает относительно немного места.
Модуль работает на тактовой частоте 50 МГц.
Выдает картинку с разрешением 640х480 с частотой 60Гц.
Размер символа 8х16 точек. На экране 80х25 символов.
Палитра на 32 цвета.
Занимаемые ресурсы в ПЛИС:

Общие характеристики
Модуль работает на тактовой частоте 50 МГц.
Выдает картинку с разрешением 640х480 с частотой 60Гц.
Размер символа 8х16 точек. На экране 80х25 символов.
Палитра на 32 цвета.
Занимаемые ресурсы в ПЛИС:

+25
консоль в микроконтроллере с micro readline
9 мин
35K
Зачем нам консоль в МК?
Текстовый консольный интерфейс обладает рядом преимуществ для встраиваемых систем, при всей своей мощи и простоте (ведь текст, в отличие от светодиода, говорит сам за себя!):
- Требует относительно мало ресурсов МК, и минимум аппаратных затрат — последовательный интерфейс типа UART или любой другой имеющийся в МК, это может быть встроенный USB или внешний USB-Com адаптер или даже TCP если ваше микроконтроллер достаточно серьезный.
- Удобно подключаться — достаточно терминала поддерживающего Com-port (putty для Windows или minicom для linux).
- Удобно использовать — цветной вывод в терминал, поддержка авто-дополнений, горячих клавиш и истории ввода.
+89
FreeRTOS: мьютексы и критические секции
3 мин
74K
Здравствуйте. Это заключительная статья о многопоточном окружении FreeRTOS в которой я расскажу про мьютексы и критические секции.
Ссылки на предыдущие части:
+19
FreeRTOS: межпроцессное взаимодействие
8 мин
84K
Здравствуйте. В данной статье я постараюсь описать метод межпроцессного обмена данными и синхронизацию с эвентами.
Ссылки на остальные части:
FreeRTOS: введение.
FreeRTOS: мьютексы и критические секции.
+25
FreeRTOS: введение
5 мин
209K
Здравствуйте. В короткой серии постов я постараюсь описать возможности, и подходы работы с одной из наиболее популярной и развивающейся РТОС для микроконтроллеров – FreeRTOS. Я предпологаю базовое знакомство читателя с теорией многозадачности, о которой можно почитать в одном из соседних постов на Хабре или ещё где-то.
Ссылки на остальные части:
FreeRTOS: межпроцессное взаимодействие.
FreeRTOS: мьютексы и критические секции.
+53
Миниатюрный USB программатор для AVR микроконтроллеров
4 мин
600KКак театр начинается с вешалки, так программирование микроконтроллеров начинается с выбора хорошего программатора. Так как начинаю осваивать микроконтроллеры фирмы ATMEL, то досконально пришлось ознакомится с тем что предлагают производители. Предлагают они много всего интересного и вкусного, только совсем по заоблачным ценам. К примеру, платка с одним двадцатиногим микроконтроллером с парой резисторов и диодов в качестве обвязки, стоит как «самолет». Поэтому остро встал вопрос о самостоятельной сборке программатора. После долгого изучения наработок радиолюбителей со стажем, было решено собрать хорошо зарекомендовавший себя программатор USBASP, мозгом которого служит микроконтроллер Atmega8 (так же есть варианты прошивки под atmega88 и atmega48). Минимальная обвязка микроконтроллера позволяет собрать достаточно миниатюрный программатор, который всегда можно взять с собой, как флэшку.
+27
ARM-микроконтроллеры STM32F. Быстрый старт c STM32-Discovery
5 мин
397KПри изучении
любого незнакомого дела, особенно когда речь идет о микроконтроллерах, возникает вопрос — «С чего начать». Ведутся поиски статей по ключевым словам «Getting Started», неизбежно появляется дилема выбора среды разработки и программатора-отладчика. Чтобы помочь вам определиться с ответами на возникшие вопросы, я поделюсь своим опытом в освоении 32-битных контроллеров семейства STM32F от ST Microelectronics.
Вариантов по сути дела было два — STM32F или NXP (LPC1xxx). На микроконтроллеры STM32F мой выбор пал по нескольким причинам.

Выбор контроллера
Вариантов по сути дела было два — STM32F или NXP (LPC1xxx). На микроконтроллеры STM32F мой выбор пал по нескольким причинам.
+48
Реанимация старых лабораторных стендов при помощи микроконтроллеров
3 мин
7.2K
+76
Работа с трехфазным синхронным двигателем
5 мин
66KДовелось мне, по роду своей деятельности, писать программу для разгона раскрутки и управления трехфазным синхронным двигателем. Далее я постараюсь подробно описать как я это реализовал.
+18
Программируем SSRAM на ПЛИС
3 мин
19KНаконец решил и я вбросить свои 5 копеек в развитие столь интересной, но узко представленной здесь темы – программирование ПЛИС и периферии. В частности в этой статье я кратко опишу работу, довольно простого, но столь важного типа памяти как SSRAM и продемонстрирую свой простерший пример её контроля выполненного с среде Quartus II с использованием языка Verilog HDL.
+8
Элемент задержки на VHDL. Другой взгляд
3 мин
12KДоброго дня.
Ответ на топик "Элемент задержки на VHDL" подготовлен для того чтобы дать представление о возможных реализациях задержек сигналов в ПЛИС.
Схемы с асинхронным сбросом нисколько не хуже синхронных схем. Но только в том случае, когда у Вас есть твердые знания в временных задержках между сигналами, приходящими на вход и рассчитанные временные задержи для вашей реализации в вашей ПЛИС. Но тут же теряется главное преимущество ПЛИС — возможность добавить новую функциональность в схему или поменять используемые контакты для ввода-вывода сигналов, так как для каждой новой реализации придется учитывать ее новые временные задержки и не факт что они Вам подойдут.
Ответ на топик "Элемент задержки на VHDL" подготовлен для того чтобы дать представление о возможных реализациях задержек сигналов в ПЛИС.
Схемы с асинхронным сбросом нисколько не хуже синхронных схем. Но только в том случае, когда у Вас есть твердые знания в временных задержках между сигналами, приходящими на вход и рассчитанные временные задержи для вашей реализации в вашей ПЛИС. Но тут же теряется главное преимущество ПЛИС — возможность добавить новую функциональность в схему или поменять используемые контакты для ввода-вывода сигналов, так как для каждой новой реализации придется учитывать ее новые временные задержки и не факт что они Вам подойдут.
+10
Элемент задержки на VHDL
2 мин
29KПри проектировании различных цифровых устройств, в частности, контроллеров, требуется организовать задержку подачи одного и того же сигнала на различные выводы ПЛИС или на другие элементы внутри ПЛИС.
Для начала рассмотрим подобную ситуацию с дискретной логикой. Обычно, если у разработчика имеется микросхема с шестью вентилями НЕ (например ,155ЛН1), в качестве элемента задержки (величиной 10…20 наносекунд) он использует последовательное соединение двух элементов. Иногда между ними он вставляет RC-цепь, с помощью которой можно сделать время задержки от 10 до 150 нс.
В микросхеме ПЛИС задержку таким способом организовать НЕЛЬЗЯ. Всё дело в
Для начала рассмотрим подобную ситуацию с дискретной логикой. Обычно, если у разработчика имеется микросхема с шестью вентилями НЕ (например ,155ЛН1), в качестве элемента задержки (величиной 10…20 наносекунд) он использует последовательное соединение двух элементов. Иногда между ними он вставляет RC-цепь, с помощью которой можно сделать время задержки от 10 до 150 нс.
В микросхеме ПЛИС задержку таким способом организовать НЕЛЬЗЯ. Всё дело в
+2
Ближайшие события
ARM — это сложно…?
3 мин
105K
Я решил попробовать доказать, что это далеко от истины, и сделал платку, проще которой трудно: 1 сторонняя, 1 обязательный конденсатор (до стабилизатора не обязательно), 1 резистор, один стабилизатор 3.3V, и наконец младший STM32: STM32F100C4T6B — 16кб флеш, 4кб SRAM, 48 ног, Cortex-M3(!!!) с DMA, дебагом на лету, 32*32+32->32 за 1 такт и всеми прочими радостями за 28 рублей.
+97
+27
USB для AVR. Введение
4 мин
89KРечь пойдет об популярном интерфейсе USB, а именно как заюзать этот самый USB на простых микроконтроллерах AVR. Планирую написать несколько топиков с примерами кода и разъяснениями как со стороны микроконтроллера, так и со стороны компьютера. Конечно на просторах интернета полно всяческих примеров на данную тематику, но в лучшем случае это исходник в котором сам черт ногу сломит, да краткое, на страничку, его описание.
Начну с того, что ранее широко распространенные интерфейсы как COM, LPT, MIDI в настоящее время морально устарели, но ещё нередко присутствует на современных компьютерах и используется в промышленном и узкоспециализированном оборудовании. Так что для связи какой нибудь собственной железки с компьютером давно уже пора осваивать что-то другое. Как вариант ещё можно использовать всякие конверторы/переходники/эмуляторы, но они не всегда работают как оригинальный интерфейс, порождая массу проблем.
Всё хватит пустой болтовни, приступим к делу. Как использовать USB в собственных устройствах?
+23
STM32F1xx — лечимся от ардуинозависимости вместе
14 мин
269KДобрый день, уважаемые хабровчане!
После длительного перерыва, связанного с защитой дипломного проекта в Бауманке, я снова вернулся к написанию статей. Так как с недавнего времени я занялся 32-битными микроконтроллерами серии STM32F на ядре ARM Cortex-M3, об этом и пойдет мой рассказ. Мне статья поможет систематизировать знания об этих замечательных микроконтроллерах, а вам, я надеюсь, послужит одной из ступеней на пути к их использованию и развеет страхи и сомнения, которые всегда возникают после уютных 8-битных AVRок при упоминании страшных 32-битных монстров.
Итак, почему Cortex, чем же плохи АVR?
После длительного перерыва, связанного с защитой дипломного проекта в Бауманке, я снова вернулся к написанию статей. Так как с недавнего времени я занялся 32-битными микроконтроллерами серии STM32F на ядре ARM Cortex-M3, об этом и пойдет мой рассказ. Мне статья поможет систематизировать знания об этих замечательных микроконтроллерах, а вам, я надеюсь, послужит одной из ступеней на пути к их использованию и развеет страхи и сомнения, которые всегда возникают после уютных 8-битных AVRок при упоминании страшных 32-битных монстров.
Итак, почему Cortex, чем же плохи АVR?
+155
Мини-обзор Arduino-совместимых плат различных архитектур
5 мин
98KВ тематическом блоге «Программинг микроконтроллеров» уже было несколько статей по поводу выбора первого микроконтроллера и начала работы с ним. Не менее интересны были и комментарии к таким статьям. Одна из мыслей, которая несколько раз поднималась там — это что не все, кто имеют интерес к МК, приходят к ним от транзисторов. Некоторые (дай бог, чтобы побольше), приходят к ним со стороны (прикладного) программирования. Рекомендовать таким людям брать в руки паяльник — не разумно, у них и так есть вещи, которые они могут «попаять». Так мы приходим к слову «Arduino», которое уже многие слышали. Среди бывалых с паяльниками существует стереотип — Arduino это платка на AVR для ленивых. Так ли это? Эта статья — попытка наглядно показать, что Arduino — это не про AVR и не про лень, Arduino — это архитектурно-независимая электронно-механическая платформа совместимых компонентов, по (относительной) значимости не менее важная, чем (в свое время) IBM S/360, IBM PC или USB.


+40
Выбираем микроконтроллер вместе
3 мин
117KПрочитав эту статью я заметил большой интерес к выбору микроконтроллера у читателей и решил взглянуть на эту проблему с другой стороны.
Могу предположить, что всех интересует выбор их первого, либо первого 32-х битного МК.

Тем, кто знает, что на фотографии нет ни одного микроконтроллера — прошу в комментарии, дополнить мой рассказ и тем самым поделиться своим опытом с начинающими. Остальным, непременно под кат!
Могу предположить, что всех интересует выбор их первого, либо первого 32-х битного МК.

Тем, кто знает, что на фотографии нет ни одного микроконтроллера — прошу в комментарии, дополнить мой рассказ и тем самым поделиться своим опытом с начинающими. Остальным, непременно под кат!
+44
Генерация случайных чисел на микроконтроллерах
9 мин
49K
Про генераторы случайных чисел написано очень много, но почти всегда, когда дело доходит до реализации, подразумевается (или явно говорится), что речь идет об x86/x64 и других «взрослых» архитектурах. В то же время, форумы, посвященные разработке устройств на микроконтроллерах, пестрят вопросами «как мне сгенерировать случайное число на %controllername%?». Причем диапазон ответов простирается от «смотри гугл/википедию» до «используй стандартную функцию». Далеко не всегда эта «стандартная функция» есть и устраивает разработчика по всем параметрам, чаще наоборот: то числа получаются далеки от случайных, то скорость работы слишком мала, а то полученный код вообще не помещается в свободную память.
Попробуем разобраться, какие бывают алгоритмы генерации случайных чисел, как выбрать подходящий, а главное, в чем особенности реализации этих алгоритмов на контроллерах.
+79
Вклад авторов
YuriPanchul 2425.2MaFrance351 2040.0aabzel 1614.2smart_alex 1538.4EasyLy 1342.6Indemsys 1296.0iliasam 1090.6vladkorotnev 750.0dlinyj 741.0VBDUnit 696.0