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

UDB. Что же это такое? - 1

В комментариях к моей статье про управление RGB светодиодами средствами блока UDB микроконтроллеров PSoC фирмы Cypress было высказано мнение, что неплохо бы в начале статьи кратко рассказать, что такое вообще UDB. Как я уже отметил в статье, про UDB кратко не написать, но можно просто перевести фирменную документацию на него, чтобы познакомить отечественного читателя со столь мощным средством для реализации микропрограммных функций.
Читать полностью »

Я занимаюсь разработкой, внедрением и эксплуатацией систем автоматического управления технологическими процессами (АСУ ТП). Поначалу работал со SCADA-системами. Потом довольно быстро переключился на работу с протоколами обмена промышленных устройств. Как самостоятельное написание драйверов, так и настройка систем сбора данных. В настоящий момент моя работа проходит атмосфере Modbus-ов, МЭКов-101/104-х, ОРС и прочих протоколов.

image
Рис. 1. Многообразие протоколов обмена, используемых в АСУ ТП
Читать полностью »

В статье описан очередной велосипед процессор.
Вместо обычных RISC/СISC процессор не обладает набором инструкций как таковым, только единственная инструкция копирования.
Подобные процессоры есть у Maxim серия MAXQ.

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

Пролог

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

  • Всё должно быть выполнено единой конструкцией открытого (программно-аппаратного) типа. Т.е. я должен иметь возможность вносить самостоятельные изменения.
  • Аппарат должен уметь работать индивидуально и в составе комплекса с другим оборудованием.
  • Раз в комплексе, значит иметь широкие сетевые возможности, в том числе с возможностью трансляции интерфейсов.
  • Иметь диагональ экрана 19-24 дюйма.
  • Для хранения информации должен быть оборудован жёстким диском, с возможностью подключения внешнего накопителя.
  • Возможность отключения любой подсистемы с кнопочной панели или пульта ДУ.
  • Не помешает система резервного электропитания.
  • Работа в качестве монитора к персональному компьютеру.

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

У меня есть матрицы 15-19 дюймов от мониторов и ноутбуков, но нет корпуса. А городить на подносе (не в обиду автору, мне его проект и подход к работе понравились) я не захотел. Не фэншуй. Поэтому приступил к поиску достойного донора. И он был найден — не подающий признаков жизни моноблок Sony VAIO VGC-LN1MR. К сожалению, он ко мне приехал в полуразобранном состоянии. Поэтому приведу фотографию внешнего вида, взятую в интернете, для понимания с чем мы имеем дело. Обещаю – дальше все фотографии и чертежи будут мои.

Вот так он выглядит.

Создание домашнего медиацентра. Пролог - 1

Сказать можно только одно – дизайн на высоте.
Читать полностью »

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

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

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

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

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

Всем хороша погодная станция Buro H146G с внешним беспроводным термометром H999. Но вот только чтобы увидеть показания на её блеклом ЖК-дисплее требуется хорошее освещение. А мне было бы лучше, если бы вывод температуры и влажности за окном отображался на достаточно ярких индикаторах (например, совместив отображение температуры и влажности с часами на газоразрядных индикаторах ИН-12). Сделать такую поделку несложно, но нужно знать протокол обмена с беспроводным термометром. Здесь уже были статьи про использование беспроводного термометра метеостанций для получения температуры и влажности по радиоканалу. Но для станций Buro протокол обмена ещё не был описан. Значит, надо это исправить: возможно, кому-то он может пригодиться.
Читать полностью »

PVS-Studio, MISRA C, MISRA C++

Начиная с версии 6.27 статический анализатор кода PVS-Studio может классифицировать свои предупреждения согласно стандартам MISRA C и MISRA C++. Благодаря поддержке этих стандартов анализатор стало возможным эффективно использовать для улучшения безопасности, переносимости и надежности программ для встраиваемых систем.
Читать полностью »

Вся правда об ОСРВ. Статья #23. Очереди: введение и базовые службы - 1

Очереди были упомянуты в одной из предыдущих статей (#5). Они предоставляют более гибкий способ передачи простых сообщений между задачами по сравнению с почтовыми ящиками.
Читать полностью »

Умный дом, достаточно заезженная тема в наше время и в этой публикации я не буду рассказывать вам о новых технологиях, производителях и современных тенденциях данной темы, все написано до меня раз на сто. Я же постараюсь кратко описать процесс создания Умного дома(далее УД) без глубоких технических повествований. Если эта тема будет интересна читателям, я выложу полностью все листинги программ, прошивки МК, схемы и все необходимое, чтобы это чудо стало сердцем вашего дома.
Читать полностью »

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

Когда мне была поставлена задача разработать приложение для DSP-процессора, визуализирующее работу БПФ, я понял, что моделирование волн отлично подойдет для этой цели.
Моделирование водной поверхности с применением БПФ и DSP-процессора NeuroMatrix - 1
Читать полностью »