Все потоки
Поиск
Написать публикацию
Обновить
160.94

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

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

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

Работа с микросхемой АЦП MCP3301

Время на прочтение4 мин
Количество просмотров5.9K

Микросхема MCP3301 представляет собой 13-битный низкопотребляющий (до 450 мкА в активном режиме при питании  от источника 5 В) аналого-цифровой преобразователь (АЦП) последовательного приближения с дифференциальным входом и возможностью передачи данных по SPI-интерфейсу. Максимальная частота семплирования — 100 ksps. Опорное напряжение может быть выбрано из диапазона от 400 мВ до 5 В; получающийся при этом шаг преобразования: 98 мкВ и 1,22 мВ соответственно. MCP3301 доступен в 8-выводных MSOP, PDIP и SOIC корпусах.

В статье кратко описана работа с микросхемой АЦП MCP3301.

Читать далее

Фэнтези-консоли, учебные микроконтроллеры и летние лагеря: 3 истории о том, зачем учить детей программированию

Время на прочтение15 мин
Количество просмотров5K

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

Читать далее

Модуль Black Pill как альтернатива бюджетным Led контроллерам T1000S, SP107 и т.п. для управления чипами WS2812B, APA102

Время на прочтение3 мин
Количество просмотров8K
Продолжаю серию статей на тему использования цифровой светодиодной ленты с индивидуальным управлением пикселей.

Более 5ти лет мы занимаемся поставкой LED контроллеров для световых шоу с радио управлением. Сотни коллективов в различных уголках мира успешно используют наше железо и софт.


Компактность, отличная радио синхронизация, стабильный фреймрейт и адекватность ПО позволили создавать костюмы высокой детализации, применять самые смелые дизайнерские решения.


Но все же, большая часть аудитории пользуется недорогим китайским железом, в пределах $8-$15, для решения своих простых задач.
Читать дальше →

Ректоры и президенты неожиданно согласились рассказать студентам, что их ждет в микроэлектронике

Время на прочтение6 мин
Количество просмотров20K

Мы на Школе Синтеза двадцать суббот учили школьников и студентов проектировать процессоры на FPGA. Для выпуска мы решили пригласить крутых топов, и на наше удивление, откликнулись сразу семеро:

1. Александр Редькин, гендир и основатель компании Syntacore, которая разрабатывает будущий флагман российcких процессоров для линуксных ноутбуков - суперскаляр с внеочередным исполнением инструкций, совместимый по системе команд с архитектурой RISC-V.

2. Сергей Сергеевич Шумилин - заместитель директора по науке компании Миландр, российского лидера по разработке микроконтроллеров, пионера лицензирования ядер ARM и надежды российcких пользователей ПЛИС.

3. Николай Суетин - главный микроэлектронщик фонда Сколково, бывший руководитель R&D Интела в России.

4. Сергей Михайлович Абрамов - член-корреспондент РАН, руководитель разработки суперкомпьютера СКИФ и других HPC проектов.

5. Игорь Рубенович Агамирзян - бывший менеджер Микрософта, Российской Венчурной Компании, вице-президент Высшей Школы Экономики и программист.

6. Александр Тормасов - ректор Иннополиса, Chief Scientist компании Parallels, гуру виртуализации, лектор по компьютерной архитектуре.

7. Тимур Палташев - известный специалист по архитектуре компьютерной графики, c 25-летним опытом в Silicon Valley и работой с питерским ИТМО.

UPD: Потом присоединились:

8. Окунев Константин Евгеньевич - Директор по технологическому развитию ГК «Элемент»

9. Максимов Евгений Викторович - Директор по развитию экосистемы и образовательных инициатив Группы компаний YADRO

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

Это состоится в субботу 23 апреля в Капсуле №2 Технопарка Сколково в 12:00.

Как записаться и что было на 3x последних

Что видит на своем экране проектировщик айфона в Купертино, Калифорния

Время на прочтение6 мин
Количество просмотров13K

Каждый год мы видим очереди фанатов, которым не терпится первыми прикоснуться к только что выпущенному новому айфону. А хотите узнать, как выглядит смартфон за два года до начала его продаж в магазине? Он в это время уже существует, как набор файлов в компьютерах проектировщиков его системы на кристалле.

Что же видит проектировщик Apple на своем экране? Завесу над этой тайной поможет над приоткрыть знаменитый в узких кругах блоггер Джон Кули (John Cooley), который начал свой вебсайт deepchip.com еще в 1990-е годы. Джон собирает всякие слухи, сливы и мнения тысяч инженеров больших электронных компаний, стартапов и контракторов, которые потом все это с большим интересом читают.

Когда-то в 2015 году, Джон опубликовал заметку "За закрытыми дверями", на основе анонимных емейлов от 36 инженеров. Аккурат в это время Apple переходил на собственные версии CPU и GPU (до этого Apple использовал готовые ядра от ARM и Imagination Technologies). Заметка выглядела так:

Читать далее

Проверка дальности LoRa link(a)

Время на прочтение4 мин
Количество просмотров18K

Интерес к LoRa технологии возникает у разработчиков телеметрии для различных устройств: счетчики воды, автомобильные сигнализации, сельскохозяйственные технологии, наручные часы, трансиверы для авиамоделей и даже трансиверы для обмена текстовыми сообщениями среди Geek(ов).

Могу поделиться результатами своей непредвзятой проверки дальности LoRa link(a). Разрабатываю firmware для микроконтроллерного устройства на оcнове чипа SX1262.

Читать далее

Высокоточная навигация GNSS RTK

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров26K

Демонстрации возможностей микросхем ZED F9P. Это примёмник GNSS с возможностью высокоточной навигации по технологии RTK.

Я решил самостоятельно оценить точность измерения координат.

Читать далее

Что делать, когда мигать лампочками уже скучно, а проектировать процессор еще сложно

Время на прочтение5 мин
Количество просмотров12K

ПЛИС и Verilog - естественная платформа для обучения будущего проектировщика процессоров, так же как Си и микроконтроллеры - естественная платформа для обучения будущего программиста встроенных систем.

И один, и другой путь начинается с мигания огоньками на недорогой плате, но дальше пути расходятся. Встроенный программист смотрит в сторону самоуправляющихся авто, с задачами на RTOS и распознаванием ситуации с помощью AI в GPU. Проектировщик микросхем на уровне регистровых передач смотрит в сторону групп, разрабатывающих CPU, GPU, NPU и сетевые чипы, но какие упражнения он может делать между миганием огоньками и трудоустройством в Интел?

И что делать?

Чуть подробнее о настройке среды разработки esp-idf для разработки приложений Esp32

Время на прочтение43 мин
Количество просмотров73K

Эта заметка посвящена установке Eclipse и Visual Studio Code под Linux и Windows. Особенность состоит в том, что для всех IDE и для работы в консоли используется одна и та же установка esp-idf.

Читать далее

Разработка контроллера резервного питания. Установка Azure RTOS

Время на прочтение9 мин
Количество просмотров8.4K

Операционная система реального времени - сердце программного обеспечения разрабатываемого контроллера. На этот раз пробуем Azure RTOS.

Подробнее

Превращаем FX3-устройство в анализатор шины USB 2.0

Время на прочтение16 мин
Количество просмотров3K
Обычно для своих статей я выбираю или учебную тему, или какую-то проблему, а дальше – если тему, то раскрываю её, а если проблему, то соответственно, решаю. Но в рамках цикла про работу с FX3, все темы, какие хотел, я раскрыл. Из тех, что лежат на поверхности, не раскрыта тема обслуживания пакетов нулевой длины, но мне с нею на FX3 не пришлось разбираться. Из скрытых – ну, на то они и скрытые. Я почти в каждой статье говорил, что не собираюсь становиться гуру FX3. Так что я не владею скрытыми темами. Я хочу просто взять чип, взять готовый пример, допилить его и пользоваться. Собственно, после нескольких приключений, это сделать вполне себе удалось. Можно завершать цикл.

Однако красной нитью через цикл проходит разработка анализатора шины USB 2.0 на основе модуля ULPI. Возможно, кто-то статьи читал не из-за FX3, а из-за интриги, выйдет или не выйдет. Вышло! Давайте сегодня я покажу, как скрестить ежа и ужа (ежом будет голова анализатора из этой статьи, а ужом – туловище из этой с доработками, размазанными по всему циклу статей). Дальше пробежимся намного по программе для работы с этим делом и по тому, как правильно разбирать логи.

Итак, начинаем внедрять в жизнь идеи Мичурина! Приступаем к скрещиванию!


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

Видеоконтроллер RA8875 и внешние шрифты на EEPROM W25Q32 для быстрого вывода текста на экран дисплея

Время на прочтение2 мин
Количество просмотров5.4K

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

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

Фрэнки

Время на прочтение12 мин
Количество просмотров5.3K

Доброго времени суток!

Меня зовут Александр, я работаю программистом микроконтроллеров, и это история о Фрэнки.

. . .Фрэнки родился чуднЫм. Родителями были пионэрский задор вашего автора и требования заказчика.

Когда младенца скомпилировали и по его венам потекли животворные байты, мой коллега процедил:

- Вы слепили монстра, герр Франкейштейн, но он не лишен некоторого очарования. . .

В то время я писал прошивку для станка с ЧПУ, причем заказчик наложил ограничения - строго Си, никаких сторонних библиотек, допускался только HAL с открытыми исходниками от производителя МК.

Был предоставлен забугорный образец станка, который мы должны были воспроизвести на собственных схемотехнике и ПО.

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

Ну хорошо, а какой тогда должна быть архитектура приложения, когда нет итогового ТЗ и при этом низзя(!) ни в какие сторонние РТОСы и диспетчеры? Как выстроить программу, чтобы не перелопачивать все исходники, если вдруг осознаешь в середине проекта, что логику нужно править?

Читать далее

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

Mark gauntlet v4.2: мануал по созданию

Время на прочтение2 мин
Количество просмотров3.1K

В прошлой статье я показал то, как развивался мой проект и, в частности Mark gauntlet. Вкратце: это перчатка-наруч, на которой есть радиомодули и разные интерфейсы взаимодействия.
Версия 4.2 скорее всего последняя и я постарался сделать её презентабельной и лёгкой в повторении.

Читать далее

STM32 и бесконтактный датчик температуры MLX90614. Подключение по I2C

Время на прочтение22 мин
Количество просмотров17K

Датчик MLX90614 - это датчик с бесконтактным считыванием температуры объекта посредством приема и преобразования инфракрасного излучения. Он умеет работать в трех режимах: термостат, ШИМ выход и SMBus. В режиме термостат датчику не требуется контроллер, он просто держит температуру в заданных пределах, управляя драйвером нагрузки открытым стоком. В режиме ШИМ на выходе датчика появляется сигнал ШИМ, скважность которого зависит от температуры. В целях подключения к контроллеру наиболее интересен режим SMBus. Так как этот протокол электрически и сигнально совместим с I2C мы будем работать с датчиком, используя аппаратный I2C. О нем и пойдет речь в данной статье. Все режимы датчика настраиваются записью в определенные ячейки EEPROM. По умолчанию датчик находится в режиме SMBus.

Читать далее

Эволюция паспортного сканера: от фанерной поделки к реальному бизнесу

Время на прочтение5 мин
Количество просмотров4.8K
Привет, Хабр! Сейчас, когда каждый из нас послушно сидит на самоизоляции, мы искренне скучаем по офису, разработке и изобретательству. Помимо софта мы в Smart Engines изобретаем сканирующие программно-аппаратные комплексы (кстати, мы ранее про это писали тут и тут). Наши ранние статьи были скорее похожи на статью из журнала «Очумелые ручки», где рассказывалось как из подручных материалов сделать что-то полезное и высокотехнологичное. Сегодня речь пойдет о другом. Мы решили поделиться с вами историей о том, как фанерную коробочку со сканером мы довели до полноценного продукта, который успешно продается на рынке.


«Каких Марин?» или управляем контроллером через bluetooth с помощью мобильного приложения на Xamarin (Android)

Время на прочтение16 мин
Количество просмотров12K
В прошлой статье я пообещал рассказать, о том как подключать CANNY 3 tiny с помощью UART к bluetooth. И поскольку на этих майских особо не разгуляешься, было принято решение провести время с пользой и таки сдержать обещание. Но просто подключить контроллер к Bluetooth адаптеру HC-06, было бы слишком просто для Хабра.

Поэтому мы не просто всё подключим, но еще и напишем для нашей схемы примитивнейшее приложение для Android используя C# и Xamarin.

Если вы любите мониторить «концевики» и герконы, так как это люблю я, милости прошу под кат.


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

MitM-like поддержка RTOS в GDB

Время на прочтение10 мин
Количество просмотров1.6K

Долго думал, можно ли переопубликовывать статью на Хабре, проштудировал правила, вроде как сейчас это не возбраняется. Если ошибся — исправлюсь :)


Итак...


Какое-то время назад я писал код прошивки для грабберов Epiphan линейки AV.io:


  • AV.io HD — наш пилот, на котором многое было отлажено и сформирована архитектура
  • AV.io SDI — закрепляем позиции
  • AV.io 4K — уже новое железо и новые подходы, теперь запускаемся практически мгновенно
  • KVM2USB 3.0 — глубокое переосмысление AV.io HD. По сути, благодаря заложенному потенциалу для модернизации в базовую модель, практически без модификации железа, чисто софтом смогли сделать новый продукт.

Там был задействован Cypress FX3, а SDK был построен поверх ThreadX. В качестве JTAG отладчика можно использовать Olimex ARM-USB-OCD-H в связке с OpenOCD. К сожалению, OpenOCD ничего не знает про треды в RTOS и, хотя, базовая поддержка присутствует в коде, конкретно для нашего процессора использовалась схема стекинга регистров, которая отличалась от того, что было уже реализовано. Пришлось разбираться и дорабатывать. Профиты от использования JTAG для разработки трудно переоценить, как минимум в случае распределённой работы.


Итак, время идёт. Теперь очередь за FPGA от Xilinx и его софтовым процессором MicroBlaze, где можно запустить портированый FreeRTOS версии 10.x. Но проблема ровно такая же: поддержки тредов в отладчике нет!

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

Оживляем гексапода. Часть третья

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

Цикл предыдущих статей:


Как мы печатали гексапода и что из этого получилось
Оживляем гексапода. Часть первая
Оживляем гексапода. Часть вторая
Читать дальше →

Разработка hexapod с нуля (часть 7) — новый корпус, прикладное ПО и протоколы общения

Время на прочтение10 мин
Количество просмотров9.1K

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

Этапы разработки:

Часть 1 — проектирование
Часть 2 — сборка
Часть 3 — кинематика
Часть 4 — математика траекторий и последовательности
Часть 5 — электроника
Часть 6 — переход на 3D печать
Часть 7 — новый корпус, прикладное ПО и протоколы общения
Часть 8 — улучшенная математика передвижения
Часть 9 — завершение версии 1.00

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