Рубрика «микроконтроллеры» - 20

image

Приветствую всех. На просторах aliexpress наткнулся на очередное китайское творение, из раздела "Беспроводные модули для arduino". Ранее подобные модули с аналогичными возможностями за столь малые деньги мне не попадались. Вот я и решил сделать обзор данного модуля. Возможно, кого-то он заинтересует. Речь пойдет о маломощном трансивере JDY-40, работающем на частоте 2,4 Гигагерца. Работать с модулем очень просто, для настройки модуля используются ат команды, которые передаются по USART.

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

Защита микросхем от реверс-инжиниринга и несанкционированного проникновения - 1
“CVAX — когда вы забатите довольно воровать настоящий лучший”.
Надпись, оставленная американскими инженерами для советских коллег в топологии микропроцессора.

Реверс-инжиниринг микросхем — головная боль производителей с самых первых лет существования микроэлектроники. Вся советская электроника в какой-то момент была построена на нем, а сейчас с гораздо большим размахом тем же самым занимаются в Поднебесной, да и не только в ней. На самом деле, реверс-инжиниринг абсолютно легален в США, Евросоюзе и многих других местах, с целью (цитирую американский закон) “teaching, analyzing, or evaluating the concepts or techniques embodied in the mask work or circuitry”.
Самое частое легальное применение реверс-инжиниринга — патентные и лицензионные суды. Промышленный шпионаж тоже распространен, особенно с учетом того, что электрические схемы (особенно аналоговые) часто являются ключевой интеллектуальной собственностью и редко патентуются — как раз для того, чтобы избежать раскрытия IP и участия в патентных судах в качестве обвиняющей стороны. Разумеется, оказавшись в ситуации, когда нужно защитить свою интеллектуальную собственность, не патентуя ее, разработчики и производители стараются придумать способы предотвращения копирования своих разработок.

Другое не менее (а то и более) важное направление защиты микросхем от реверс-инжиниринга — обеспечение безопасности информации, хранимой в памяти. Такой информацией может быть как прошивка ПЛИС (то есть опять-таки интеллектуальная собственность разработчика), так и, например, пин-код от банковской карты или ключ шифрования защищенной флэшки. Чем больше ценной информации мы доверяем окружающему миру, тем важнее защищать эту информацию на всех уровнях работы обрабатывающих ее систем, и хардварный уровень — не исключение. Читать полностью »

«Найди всему причину и ты многое поймешь»

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

Итак, мы начинаем.
Читать полностью »

Что может быть хуже костылей? Только неполно документированные костыли.

image

Перед вами скриншот из последней официальной интегрированной среды разработки для 8-битных микроконтроллеров AVR, Atmel Studio 7, язык программирования Си. Как видно из столбца Value, переменная my_array содержит число 0x8089. Другими словами, массив my_array располагается в памяти, начиная с адреса 0x8089.

В то же время столбец Type даёт нам несколько иную информацию: my_array является массивом из 4 элементов типа int16_t, расположенным в ПЗУ (это обозначается словом prog, в отличие от data для ОЗУ), начиная с адреса 0x18089. Стоп, но ведь 0x8089 != 0x18089. Какой же на самом деле адрес у массива?

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

Xiaomi Aqara Switch переделываем с ZigBee на Z-Wave - 1

Решил попробовать интегрировать в свою домашнюю Z-Wave автоматизацию ZigBee выключатели. Для экспериментов приобрел недорогой ZigBee выключатель на батарейках Xiaomi Aqara Smart Switch. Выглядит красиво, пластик высочайшего качества, очень приятный, клавиша выключателя с пружинным механизмом, что дает полный тактильный фидбэк.

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

  • при одинарном нажатии включать/выключать ночник
  • при долгом удержании диммировать ночник
  • при двойном нажатии включать/выключать LED подсветку

Но тестирование показало, что Xiaomi Aqara Smart Switch реагирует только на одинарное нажатие. А когда я попробовал подиммировать и подержал клавишу 5 секунд, то он сбросился на заводские настройки. В таком виде Aqara Smart Switch для меня оказался бесполезным и я решил в его корпусе сделать Z-Wave выключатель со всеми нужными мне функциями.

Xiaomi Aqara Switch переделываем с ZigBee на Z-Wave - 2 Основу Z-Wave выключателя составляет Z-Uno Module — маленькая плата на которой, только Z-Wave чип и память, программируется из среды Arduino по USB. Модуль при размере 25х15х1.9 мм предоставляет доступ ко всем пинам Z-Wave чипа. На модуле есть U.FL разъем для подключения антенны, либо можно просто припаять провод 86 мм. Это та же Z-Uno только для производителей устройств.
Читать полностью »

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

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

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

UDB. Что же это такое? Часть 2. Datapath - 1

Продолжаем рассматривать UDB на основе документации Cypress. И в этот раз предметно изучим Datapath, операционный автомат.
Читать полностью »

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

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

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

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

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

Пролог

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

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

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

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

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

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

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


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