Рубрика «программирование микроконтроллеров» - 88

image

Не так давно, была опубликована статья «Пастильда — открытый аппаратный менеджер паролей». Так как данный проект является открытым, то мы решили, что будет интересно, если мы будем писать небольшие заметки о процессе проектирования, о задачах, которые перед нами стоят и о трудностях, с которыми мы сталкиваемся.

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

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

Данный функционал является скелетом нашего проекта, поэтому первая заметка будет посвящена именно ему.
Читать полностью »

Уже несколько лет на рынке светотехники можно встретить такие названия, как: «smart led strip», «smart led pixel» и подобные. Как правило, «умный пиксель» — это сборка из миниатюрного 3-х канального светодиодного драйвера (с интегрированным стабилизатором тока, PWM модулятором и сдвиговым регистром), подключенная к RGB светодиоду. На базе таких пикселей многие производители выпускают «умные» гибкие светодиодные ленты, LED «гвозди» и LED кластера. Также можно встретить такие модели чипов, как WS2812, WS2813, с интегрированным LED драйвером непосредственно в корпус 5050 RGB светодиода. Малые габариты, большое количество последовательно включенных пикселей (более 1000 шт.), простота управления по 1(2) проводу и сравнительно низкая стоимость решения — более чем оправдывают их применение.
Читать полностью »

Третья часть (первая и вторая) про то как я делаю осциллограф из отладочной платы ценой менее $3. Демонстрационное видео работы:

А описание некоторых ключевых особенностей под катом.

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

Технологии связи играют всё более важную роль в растущем рынке AMI. Статья представляет собой полный анализ и сравнение четырех протоколов прикладного уровня, применяемых для интеллектуального учета потребления. Рассматриваются следующие протоколы: DLMS/COSEM, SML (Smart Message Language), а также MMS и SOAP отображение IEC 61850. В работе сделан акцент на использование этих протоколов совместно с TCP/IP стеком. Протоколы сначала сравниваются относительно качественных критериев, например, возможность синхронизации времени и др. После этого сравнивается размер сообщений и анализируется эффективность кодирования.

AMI (Advanced metering infrastructure) — это интегрированная система интеллектуальных приборов учета, коммуникационных сетей и систем управления данными, которая включает двухстороннюю связь между поставщиком услуг и потребителем.
Читать полностью »

Многие из тех, кто мастерит разные штуковины на ESP8266, в какой-то момент задумывались, что было бы здорово взять ту штуковину, положить в карман — и пойти с ней погулять. ESP8266 ведь такой маленький, так и просится. И тут на нашем пути встречается небольшое препятствие — одним программированием здесь не обойтись, придётся брать в руки паяльник, но всё не так страшно, и, надеюсь, эта статья вам поможет.
Читать полностью »

image

Моя работа связана с программированием микроконтроллеров, в частности STM32. Долгое время для работы с периферией я использовала STM32 Standard Peripheral Library, так как она предоставляется производителем и, соответственно, является наиболее полной. Однако работать с ней крайне неудобно: инициализирующие структуры зачастую избыточны, в функциях черт ногу сломит, в общем, очень скоро появляется непреодолимое желание слезть с этой библиотеки и перейти на что-нибудь более аккуратное, грамотно спроектированное и написанное «чистым кодом».

После долгих поисков была обнаружена open source библиотека libopencm3, которая отвечала всем требованиям. Отзывы о ней были положительные и работать с ней оказалось максимально приятно.

Одной из последних задач на работе было поднять USB MSD. Для решения задачи использовалась отладочная плата STM32F4-discovery и вот этот пример. Пример не завелся. Проблем было две:
1. Было невозможно зайти на диск и прочитать находящийся там файл.
2. Распознавание устройства как дискового занимало более 2-х минут.

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

В данной статье будет рассмотрен нестандартный подход к созданию программы для микроконтроллера. Для примера построим проект «кодового замка»; программа для микроконтроллера будет написана в визуальной среде Horizont Configurator.
Читать полностью »

Господа! Мы с Тимуром Палташевым из AMD в Саннивейл, Калифорния, а также с несколькими соратниками из России, Украины и Казахстана решили спланировать несколько семинаров разных форматов, которые покрывают темы на стыке хардвера и софтвера: цифровая логика, Verilog, правила RTL (Register Transfer Level), введение в микроахитектуру (строение конвейера) процессоров, низкоуровневое программирование на ассемблере, использование микроконтроллеров, особенности чипов для интернета вещей, введение в RTOS-ы, лабы на ПЛИС-ах / FPGA, а также (для части аудитории, которая интересуется производством чипов) физические аспекты проектирования и производства на фабрике (для последнего мы решили привлечь материалы от преподавателя курса в Университете Калифорнии Санта Круз, отделение в Silicon Valley).

Цель этого поста — обсудить кому что нравится на основе детального плана первого из таких семинаров, который будет в Казахстане. Идея данного семинара в том, чтобы пригласить некоторое преподавателей казахстанских вузов и сделать для них обзор, чтобы помочь им сориентироваться, в каких местах можно повысить качество их программ в программировании встроенных систем, электронике, а также затронуть связанные области типа интернета вещей и роботики.

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

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

ZigBee и Intel Edison: практика автоматизации переговорных комнат - 1


Мы создали интеллектуальную систему бронирования переговорных комнат (Smart Conference Room System, SCR) для того, чтобы помочь всем желающим с этими проблемами справиться.
Читать полностью »

Здравствуйте.

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

Для начала напомню правила игры: игра в «15», «Пятнашки», «Такен» — популярная головоломка, придуманная в 1878 году Ноем Чепмэном. Представляет собой набор одинаковых квадратных костяшек с нанесёнными числами, заключённых в квадратную коробку. Длина стороны коробки в четыре раза больше длины стороны костяшек для набора из 15 элементов, соответственно в коробке остаётся незаполненным одно квадратное поле. Цель игры — перемещая костяшки по коробке, добиться упорядочивания их по номерам, желательно сделав как можно меньше перемещений.

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

Вот что получилось в итоге:
Пишем задачки на FBD. Пятнашки и Симпсон - 1

Описание программы, комментарии и картинки под катом.
Читать полностью »


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