Как стать автором
Обновить
8
0
Александр Чернигин @covsh

Embedded. Verilog, VHDL, C++

Отправить сообщение

STM32. CMSIS. Определение частоты внешнего тактирующего осциллятора

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

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

Читать далее
Всего голосов 30: ↑30 и ↓0+30
Комментарии25

25+1 лучших OSINT расширений для Google Chrome

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

Здравствуй Хабр! А мы тут продолжаем цикл статей об OSINT и, самое главное, о полезных для этого нелегкого дела инструментах.

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

DISCLAIMER: Данная статья написана в ознакомительных целях и не является руководством к неправомерным действиям или обучающим материалом для сокрытия правонарушений.

Читать далее
Всего голосов 21: ↑19 и ↓2+17
Комментарии0

Шаблоны C++: как итерировать по std::tuple — std::apply и еще пара приемов

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

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

Сегодня мы пойдем немного дальше и рассмотрим другие техники. Первая — с применением std::apply из C++17, вспомогательной функции для кортежей. В этой статье также будут рассмотрены некоторые стратегии, позволяющие сделать итерацию более универсальной и обрабатывать кастомные callable-объекты, а не только выводить их в консоль.

Читать далее
Всего голосов 9: ↑9 и ↓0+9
Комментарии0

Когда нужна телеметрия: интегрируем в проект библиотеку логирования uP7

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

Зачастую разработчику, или даже пользователю, требуется посмотреть, что происходит внутри устройства. Обычно в таких ситуациях используют либо текстовой вывод в терминал (через голый UART или самописный протокол гарантированной доставки), либо пишут свои собственные системы логирования. Однако, всегда ли оправдан такой подход? Есть ли решение проще и производительнее? В данной статье мы рассмотрим одно из таких - библиотеку логирования uP7.

Читать далее
Всего голосов 19: ↑19 и ↓0+19
Комментарии8

В поисках защитного титра антител

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

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

Мифы о вакцинации
Всего голосов 172: ↑161 и ↓11+150
Комментарии766

Растаможка своими силами

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

В статье описывается процесс оформления и подачи таможенной декларации через онлайн сервис edata.customs.ru своими силами с минимальными финансовыми затратами (но не времени). Если давно хотите сэкономить на услугах брокеров, но не знаете с чего начать - статья для вас.

Читать далее
Всего голосов 33: ↑32 и ↓1+31
Комментарии36

Трассировка лучей в Notepad.exe со скоростью 30 кадров в секунду

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

Привет всем хабраюзерам! Поредлагаю вашему внимнаию перевод занимательной статьи Кайла Халладея о весьма необычном использовании стандартного Блокнота в Windows. Возможно, кому-то покажется, что это история из разряда "создаём троллейбус из буханки хлеба". Но мне очень понравилась сама идея использования возможностей Блокнота для трассировки лучей.

Read more
Всего голосов 15: ↑14 и ↓1+13
Комментарии0

Моя USB визитка

Время на прочтение3 мин
Количество просмотров49K
Всем привет!

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


Читать дальше →
Всего голосов 72: ↑69 и ↓3+66
Комментарии132

10 советов схемотехнику

Время на прочтение20 мин
Количество просмотров115K
Недавно один мой знакомый, начавший интересоваться электроникой и схемотехникой, обратился ко мне с просьбой дать ему какие-то практические советы по разработке электронных устройств. Поначалу этот вопрос немного озадачил меня: как-то так получилось, что для себя я никогда не выделял какие-то перечни обязательных правил проектирования, всё это было у меня где-то на уровне подсознания. Но этот вопрос послужил хорошим толчком для того, чтобы сесть и сформулировать хотя бы небольшой список таких рекомендаций. Когда все было готово, я подумал, что, возможно, это будет интересно почитать кому-то еще, таким образом и получилась данная статья.


Читать дальше →
Всего голосов 212: ↑210 и ↓2+208
Комментарии244

Щелкаем реле правильно: коммутация мощных нагрузок

Время на прочтение3 мин
Количество просмотров237K
Привет, Geektimes!

Управление мощными нагрузками — достаточно популярная тема среди людей, так или иначе касающихся автоматизации дома, причём в общем-то независимо от платформы: будь то Arduino, Rapsberry Pi, Unwired One или иная платформа, включать-выключать ей какой-нибудь обогреватель, котёл или канальный вентилятор рано или поздно приходится.

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

Вместо реле можно поставить симистор или твердотельное реле (по сути, тот же тиристор или полевик со схемой управления логическим сигналом и опторазвязкой в одном корпусе), но у них другой минус — они греются. Соответственно, нужен радиатор, что увеличивает габариты конструкции.



Я же хочу рассказать про простую и довольно очевидную, но при этом редко встречающуюся схему, умеющую вот такое:

  • Гальваническая развязка входа и нагрузки
  • Коммутация индуктивных нагрузок без выбросов тока и напряжения
  • Отсутствие значимого тепловыделения даже на максимальной мощности


Но сначала — чуть-чуть иллюстраций. Во всех случаях использовались реле TTI серий TRJ и TRIL, а в качестве нагрузки — пылесос мощностью 650 Вт.

Читать дальше →
Всего голосов 72: ↑72 и ↓0+72
Комментарии156

LED-драйвер со стоимостью BOM-а меньше 1$. Это возможно?

Время на прочтение9 мин
Количество просмотров38K
Разработка LED-драйвера – интересная и комплексная задача. Рынок в этом направлении весьма насыщен – иногда кажется, что производство светодиодных светильников везде. Начиная от гаража и заканчивая огромными заводами. Что касается драйверов, гиганты типа Philips или Meanwell с одной стороны, добротные китайцы вроде Moso и Billion с другой, noname китайцы с третьей… В этих условиях к инженерным составляющим (схемотехнической и конструкторской) добавляется задача оптимизации изделия по цене.



Итак, рассказываю про разработку LED-драйвера при существенном ограничении по цене комплектующих.
Читать дальше →
Всего голосов 49: ↑49 и ↓0+49
Комментарии73

Отладка микроконтроллеров ARM Cortex-M по UART Часть 2

Время на прочтение6 мин
Количество просмотров6.9K
В прошлой статье я рассказывал про прерывание DebugMon и регистры с ним связанные.

В этой статье будем писать реализацию отладчика по UART.
Читать дальше →
Всего голосов 17: ↑16 и ↓1+15
Комментарии24

Неотъемлемые помощники в деле разведки наиболее эффективной в мире спецслужбы (часть 3)

Время на прочтение15 мин
Количество просмотров15K
Позиции историков при оценке деятельности КГБ делятся на те что за и те что против. Собранные материалы и факты от анонимных источников или из воспоминаний ветеранов спецслужб можно поддать сомнениям, ведь человеческий фактор и субъективные суждения никто не отменял. Даже рассказ о погоде прошлым летом из уст двух людей будет отличаться, что уж говорить о суждениях в сторону прошлых событий под грифом секретно. Потому цель статьи не дать оценку спецслужбам, а рассмотреть технический потенциал КГБ в деле «фотонаправления». Фотоработы в разведке занимали и занимают особое место. В 14 отделе ПГУ шла активная подготовка офицеров направления специальной фотографии, они получили прозвище «фотики». Стажеры, выполняя простейшие поручения — от изучения правил портретной фотосъемки до осваивания сложных импортных моделей фотоаппаратов -, мечтали о карьерном росте и фразе: «а ваш сотрудник (называлась фамилия) — это фотограф от бога».
Читать дальше →
Всего голосов 34: ↑30 и ↓4+26
Комментарии6

TDD для микроконтроллеров. Часть 2: Как шпионы избавляют от зависимостей

Время на прочтение17 мин
Количество просмотров6.6K
TDD для микроконтроллеров. Часть 1: Первый полет
TDD для микроконтроллеров. Часть 2: Как шпионы избавляют от зависимостей
TDD для микроконтроллеров. Часть 3: Запуск на железе


В предыдущей статье мы начали освещать тему эффективности применения методологии TDD для микроконтроллеров (далее – МК) на примере разработки прошивки для STM32. Мы выполнили следующее:


  1. Определили цель и инструменты разработки.
  2. Настроили IDE и фреймворк для написания тестов.
  3. Написали тест-лист для разрабатываемого функционала.
  4. Создали первый простой тест и запустили его.

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

Читать дальше →
Всего голосов 15: ↑15 и ↓0+15
Комментарии14

Опытное производство электроники за минимальный прайс

Время на прочтение10 мин
Количество просмотров58K
Привет, Хабр!

Почитал я некоторые ранее опубликованные статьи о том, как жить славному молодцу, перед которым встала задача спаять 10-50-100 устройств из резисторов и микросхем, и взгрустнул, ибо во всех в них советы были даны если не вредные, то и не сильно полезные.


А вот, например, совет держать включённый паяльник за ручку — полезный!

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

  • регулярно надо делать 5-10-50-100 плат с SMD-компонентами
  • по возможности быстро
  • по возможности дёшево

Если вы можете позволить себе — что по срокам, что по деньгам — услуги «Резонита» или «Компэла» (сотрудничающего, впрочем, с «Резонитом») по сборке модулей под ключ, то текст ниже в общем и целом не для вас. Однако, на практике даже в достаточно крупных компаниях люди, занимающиеся опытными образцами, часто собирают их сами — потому что это занимает пару дней вместо недели, потому что всегда можно на ходу что-то подправить, потому что не надо бегать между начальством и бухгалтерией со счетами и актами… В мелких же вопрос упирается попросту в деньги.

Тем более, что в наше время базовое оборудование, позволяющее делать подобные вещи достаточно быстро и достаточно дёшево, доступно даже любителю-одиночке.
Читать дальше →
Всего голосов 170: ↑167 и ↓3+164
Комментарии413

Серийное производство электроники в России. Автоматизация тестирования

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


Продолжаю рассказывать про наш опыт организации серийного производства коммерческой электроники.

Прошлая статья была про историю производства изделия. Там много статистики, полученной в результате использования тестовых станций. Но мало про то, что собой представляют сами станции. Сегодня — подробнее о том, как мы автоматизировали функциональное тестирование печатных плат на производстве и как устроена тестовая станция, которая нам в этом помогает.
Читать дальше →
Всего голосов 66: ↑64 и ↓2+62
Комментарии54

Функциональное тестирование печатной платы

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


Технологичное проектирование


DFM — это принципы разработки и ведения проекта, которые нацелены на успешное производство готового изделия. Следование этим принципам призвано снизить срок постановки на производство и сроки тестирования готовой продукции, с одновременным повышением качества. DFM начинается задолго до проектирования, на этапе обсуждения технического задания, зависит от величины серии и влияет на стоимость проектирования, изготовления и тестирования. О DFM писали на Хабре, например здесь. Сегодня мы поговорим про функциональное тестирование печатной платы и опишем её подготовку для этой цели. (трафик)
Читать дальше →
Всего голосов 40: ↑40 и ↓0+40
Комментарии20

Считывание защищенной прошивки из флеш-памяти STM32F1xx с использованием ChipWhisperer

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

В предыдущей статье мы разбирались с Vcc-glitch-атаками при помощи ChipWhisperer. Нашей дальнейшей целью стало поэтапное изучение процесса считывания защищенной прошивки микроконтроллеров. С помощью подобных атак злоумышленник может получить доступ ко всем паролям устройства и программным алгоритмам. Яркий пример – взлом аппаратного криптокошелька Ledger Nano S с платой МК STM32F042 при помощи Vcc-glitch-атак.


Интересно? Давайте смотреть под кат.

Читать дальше →
Всего голосов 39: ↑39 и ↓0+39
Комментарии45

Ввод данных в STM32F4xx с параллельного АЦП через DCMI

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

Известно, что семейство микроконтроллеров STM32F4xx, имея на борту достаточно производительные ядра, вполне подходящие для «не мясорубочных» задач ЦОС не имеют полноценного интерфейса ввода данных с простейшей параллельной шины в режиме «pipe-line» (clk-data). «Покурив» «dm00037051.pdf», нашел не специфичный, но на первый взгляд подходящий вариант – интерфейс DCMI (Digital camera interface).

Конечно, использование для нагруженной классической ЦОС (КИХ, БИХ, FFT) микроконтроллеров STM32, не совсем является оптимальным вариантом, но если вдруг так легли карты и все-таки возможностей данного микроконтроллера вполне достаточно, плюс нужно достаточное количество низкоскоростных интерфейсов. Об этом под катом.



Читать дальше
Всего голосов 17: ↑17 и ↓0+17
Комментарии4

Статическая подписка с использованием шаблона Наблюдатель на примере С++ и микроконтроллера Cortex M4

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


Всем доброго здравия!


В преддверии Нового года хочу продолжить рассказывать про использование С++ на микроконтроллерах, на этот раз попытаюсь рассказать про использование шаблона Наблюдатель (но далее я буду называть его Издатель-Подписчик или просто Подписчик, такой вот каламбур), а также реализацию статической подписки на С++17 и преимущества этого подхода в некоторых приложениях.

Читать дальше →
Всего голосов 18: ↑18 и ↓0+18
Комментарии22

Информация

В рейтинге
Не участвует
Откуда
Воронеж, Воронежская обл., Россия
Дата рождения
Зарегистрирован
Активность