Академия программирования электронных устройств
885 subscribers
285 photos
13 videos
81 files
267 links
ДПО курсы обучение схемотехника+трассировка | программирование на Си микроконтроллеров STM32 | ПЛИС Altera FPGA

Результат обучения: готовое устройство: плата + код + сборка + отладка

Наш сайт: pcbteach.ru

Информация: https://t.iss.one/stm32_i_plis/505
Download Telegram
"Цифровая схемотехника: 5 советов, которые сэкономят вам
часы отладки ПЛИС"


Приветствуем, гуру цифровой логики! Разработка на ПЛИС - это круто, но отладка может превратиться в настоящий ад. Сегодня поговорим о том, как упростить этот процесс.

1. Пишите модульный код. Разделяйте сложные функции на небольшие, легко тестируемые блоки.
2. Используйте systemVerilog Assertions. Для автоматической проверки корректности работы вашей логики.
3. Моделируйте схему до синтеза. Чтобы выявить ошибки на ранней стадии.
4. Используйте встроенные инструменты отладки ПЛИС. (ChipScope, SignalTap).

А знаете ли вы, что первые ПЛИС были разработаны компанией Xilinx в 1985 году и содержали всего несколько тысяч логических элементов? Сейчас их счет идет на миллионы!

Какие инструменты и методы отладки ПЛИС используете вы? Делитесь опытом!

Чек-лист: "Как упростить отладку ПЛИС":

1. Определите четкие критерии тестирования для каждого модуля.
2. Используйте тестовые векторы для проверки различных сценариев работы.
3. Автоматизируйте процесс тестирования.
4. Документируйте все найденные ошибки и способы их исправления.
5. Используйте инструменты статического анализа кода.

Ссылка на статью «Искусство отладки FPGA» с ресурса Хабр :
https://habr.com/ru/articles/568876/
👍7
Media is too big
VIEW IN TELEGRAM
Прямой эфир!
10 июля в 19.00 по Москве

Бесплатный вебинар "Как стать востребованным электронщиком в 2025 году?"

На вебинаре вы узнаете:

- Кто такой электронщик, чем он занимается и где востребованы такие специалисты
- Статистика и факты рынка труда в отрасли разработки электроники, перспективы развития инженера-разработчика
- Презентация и самые выгодные цены на наши обучающие курсы для участников вебинара
- Практические советы от опытного эксперта и ответы на ваши вопросы

Регистрация⬇️
https://pcbteach.getcourse.ru/vebinar
🤝4
Power Electronics: Почему ферритовые кольца - ваши
лучшие друзья (если вы знаете, как их готовить)


Привет всем, кто борется с помехами! Сегодня поговорим о маленьких, но могучих помощниках в борьбе за чистый сигнал - ферритовых кольцах.

Кажется, просто надел на провод
и всё, но нет! Здесь есть нюансы, которые игнорируют 90% разработчиков.

Например, знаете ли вы, что материал феррита критически важен? Для импульсных
источников питания нужны одни марки, для подавления ВЧ-помех - другие. А ещё важна
правильная намотка! Один виток - это одно, а два - уже совсем другая история с точки зрения индуктивности и частоты отсечки.

Кстати, компания Wurth Elektronik (не реклама!) выпускает подробнейшие гайды по применению ферритов, которые стоит изучить вдоль и поперёк.

Какие хитрости вы используете при работе с ферритами? Делитесь опытом в комментариях!

Чек-лист: "Как правильно выбрать ферритовое кольцо":

1. Определите частотный диапазон помех.
2. Выберите материал феррита, подходящий для этого диапазона.
3. Рассчитайте необходимую индуктивность.
4. Учитывайте ток, протекающий через проводник.
5. Протестируйте эффективность фильтрации.

Ссылка на статью «Ферритовые фильтры» в Журнале КОМПОНЕНТЫ И ТЕХНОЛОГИИ.
Автор Владимир Гуревич:
https://ecworld.ru/media/bip/pdfs/gurevich_ct1015.pdf
👍9
Embedded Systems: Как подружить FreeRTOS и энергоэффективность – 5 лайфхаков от гуру встраиваемых
систем


Салют, embedded-ниндзя! Энергоэффективность - это альфа и омега для многих встраиваемых систем. Но как добиться максимальной экономии, используя FreeRTOS? Сегодня
раскроем несколько секретов.

Оптимизация FreeRTOS для экономии энергии - это целое искусство. Знаете ли вы, что можно динамически менять частоту ядра микроконтроллера в зависимости от нагрузки? Или что
использование tickless idle mode позволяет процессору "спать" большую часть времени? А ещё важно правильно настроить приоритеты задач! Кстати, компания ARM (те самые, кто придумал
архитектуру Cortex-M) выпустила отличную документацию по энергосбережению в FreeRTOS.

Какие ещё способы оптимизации энергопотребления во FreeRTOS вы знаете? Пишите в комментариях!

Чек-лист: "Настройка FreeRTOS для максимальной энергоэффективности":

1. Используйте tickless idle mode.
2. Настройте динамическое управление частотой (DVFS).
3. Оптимизируйте приоритеты задач.
4. Используйте энергоэффективные алгоритмы.
5. Профилируйте энергопотребление системы.

Ссылка на статью – перевод документации на FreeRTOS:
https://hobby.zigbee.ru/ra/FreeRTOS/doc/advanced/low_power_tickless_idle_mode

Ссылка на оригинал документации на FreeRTOS:
https://www.freertos.org/Documentation/02-Kernel/02-Kernel-features/07-Lower-power-support
👍5
RF Design: Секреты создания компактной антенны для
Bluetooth-модуля (спойлер: всё дело в геометрии)


Привет всем, кто разрабатывает беспроводные устройства! Миниатюризация - это тренд,
и антенны не исключение. Как уместить эффективную Bluetooth-антенну в крошечном корпусе?
Сегодня разберем несколько подходов.

Секрет компактности - в хитрой геометрии антенны. Это могут быть меандровые линии, инвертированные F-антенны (IFA), или чип-антенны. Знаете ли вы, что компания Murata (опять не
реклама, просто факт!) является одним из лидеров в производстве компактных чип-антенн для
Bluetooth, предлагая решения, занимающие всего несколько квадратных миллиметров? А выбор
материала подложки антенны может критически влиять на её характеристики.

Какие типы компактных антенн вы использовали в своих проектах? Поделитесь в комментариях!

Чек-лист: "Проектирование компактной Bluetooth-антенны":

1. Выберите подходящий тип антенны (IFA, чип-антенна, и т.д.).
2. Оптимизируйте геометрию антенны для нужной частоты.
3. Учитывайте влияние корпуса устройства.
4. Проведите моделирование и тестирование антенны.
5. Согласуйте импеданс антенны с выходным каскадом передатчика.

Ссылка на статью по использованию Чип Bluetooth-антенны:
https://pcbartists.com/design/rf/chip-antenna-pcb-layout-bluetooth-wifi/
👍10
Цифровая схемотехника: Как избежать гонок сигналов в
ваших ПЛИС-проектах (и почему это важно)


Привет всем, кто пишет на VHDL и Verilog! Гонки сигналов - это коварный враг цифровой
логики. Они могут приводить к непредсказуемым результатам и трудноуловимым ошибкам.
Сегодня поговорим о том, как их избежать.

Гонки сигналов возникают из-за разного времени задержки распространения сигналов по
логическим элементам. Использование регистров, правильная синхронизация и careful constraint
assignment - ваши лучшие союзники.

Знаете ли вы, что компания Intel (бывшая Altera) в своих FPGA предоставляет инструменты для анализа и визуализации гонок сигналов, чтобы помочь разработчикам выявлять и устранять эти проблемы?

Какие методы борьбы с гонками сигналов вы используете? Делитесь своими советами!

Чек-лист: "Предотвращение гонок сигналов в ПЛИС":

1. Используйте регистры для синхронизации сигналов.
2. Минимизируйте длину логических цепей.
3. Учитывайте задержки распространения сигналов.
4. Используйте статический анализ времени (STA).
5. Ограничьте тактовую частоту.

Ссылка на статью про гонки и нестабильность проектов ПЛИС на сайте марсоход:
https://marsohod.org/11-blog/299-nonstable-fpga
👍5🔥3
Embedded Systems: Выбираем правильный дисплей для
вашего проекта: LCD, OLED, e-Paper? Полный гайд с подводными
камнями


Привет всем, кто делает интерфейсы! Выбор дисплея - это важный шаг в разработке любого встраиваемого устройства. Но как не утонуть в море вариантов? LCD, OLED, e-Paper - у каждого свои плюсы и минусы. Сегодня разберемся.

LCD - дешево и сердито, но низкая контрастность и углы обзора. OLED – ярко, сочно, но дорого и выгорает. e-Paper - экономично и отлично читается на солнце, но медленно обновляется.

Кстати, знаете ли вы, что компания E Ink (создатели технологии e-Paper) потратила годы на разработку стабильных и долговечных материалов для своих дисплеев?

Какой тип дисплея вы предпочитаете для своих проектов? Почему? Пишите в комментариях!

Чек-лист: "Выбор дисплея для embedded-проекта":

1. Определите требования к яркости и контрастности.
2. Учитывайте углы обзора.
3. Оцените энергопотребление.
4. Определите необходимую скорость обновления.
5. Учитывайте стоимость.

Ссылка на статью сравнение экранов различных технологий на Хабр:
https://habr.com/ru/articles/687782/
👍6
⚡️ Пайка и статика: враги навсегда? 5 ошибок, которые "убивают" ваши
платы!


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

Сколько раз вы задумывались о последствиях?

Сейчас разберем 5 самых распространенных ошибок в антистатической защите при пайке,
которые могут существенно сократить жизнь ваших устройств:

1. Забыть про заземление: Думаете, антистатический браслет без заземления - это
защита? Увы, нет! Он просто перераспределяет заряд по вашему телу. Земля - наше всё! А
знаете ли вы, что некоторые антистатические коврики требуют регулярной очистки? Загрязнения
могут снизить их эффективность.
Реальный факт: Однажды компания, производящая медицинское оборудование, столкнулась с серией отказов новых устройств. Причина - некачественные антистатические
коврики, которые перестали выполнять свою функцию из-за скопившейся пыли.
2. Пренебрегать влажностью: Сухой воздух - лучший друг статики. Поддерживайте влажность в помещении на уровне 40-60%. Зимой это особенно актуально! Кстати, ионизаторы воздуха могут помочь, но убедитесь, что они не создают избыточное количество озона.
3. Использовать обычный паяльник: Дешевые паяльники без заземления - бомба замедленного действия. Они могут накапливать статический заряд и передавать его на
компоненты. Выбирайте паяльные станции с функцией заземления.
4. Неправильно хранить компоненты: Просто бросить микросхему на стол? Забудьте!
Используйте антистатические пакеты и контейнеры. Металлизированные пакеты - отличный
вариант, но убедитесь, что они не повреждены.
5. Забывать про ESD-защиту на платах: Разработчики часто пренебрегают встроенной
ESD-защитой на платах. Добавьте TVS-диоды на входы/выходы, особенно если устройство будет
эксплуатироваться в неблагоприятных условиях.

Какие еще ошибки в антистатической защите вы замечали на практике? Поделитесь
своими историями и советами в комментариях!

Чек-лист "Антистатическая защита при пайке":
1 Заземлите рабочее место (коврик, браслет).
2 Поддерживайте влажность воздуха 40-60%.
3 Используйте паяльное оборудование с заземлением.
4 Храните компоненты в антистатической упаковке.
5 Предусмотрите ESD-защиту на плате.
6 Регулярно проверяйте и очищайте антистатическое оборудование.
7 Перед работой разрядите себя, прикоснувшись к заземленному предмету.
🔥6👍3🤔1
Выбор корпуса микроконтроллера: рулетка или наука? Разбираем секреты, о которых
молчат даташиты!


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

Давайте разберем, как размер и тип корпуса влияют на важные аспекты работы:
1. Теплоотвод: Здесь все просто - чем больше площадь поверхности, тем лучше рассеивается тепло. Но не всегда! Например, корпуса QFN (Quad Flat No-leads) с термопадами на нижней стороне отлично отводят тепло через плату, даже при небольших размерах. А знаете ли вы, что цвет корпуса тоже влияет на теплоотвод? Темные корпуса излучают тепло лучше, чем светлые.
Реальный факт: Одна компания, разрабатывающая носимую электронику, столкнулась с
перегревом микроконтроллера в компактном корпусе QFN. Решением стало добавление большего количества переходных отверстий (via) под термопадом для улучшения теплоотвода на нижнюю сторону
2. Функциональность (количество выводов): Выбирать корпус, исходя только из текущих
потребностей - ошибка! Подумайте о будущем расширении функционала. Корпус LQFP (Low-profile Quad Flat Package) предлагает больше выводов, чем QFN, но занимает больше места. Иногда стоит пожертвовать компактностью ради гибкости.
3. Простота пайки: Для прототипирования и мелкосерийного производства удобнее корпуса с выводами, которые легко паять вручную, например, DIP (Dual In-line Package) или SOIC (Small Outline
Integrated Circuit). Но для массового производства корпуса QFN и BGA (Ball Grid Array) позволяют
автоматизировать процесс и снизить затраты.
4. Электромагнитная совместимость (EMC): Форма и размер корпуса могут влиять на излучение
электромагнитных помех. Например, корпуса с меньшей площадью поверхности обычно излучают меньше помех. Также важно учитывать расположение выводов питания и земли.
5. Условия эксплуатации: Если ваше устройство будет работать в суровых условиях (вибрация,
влажность, перепады температур), выбирайте корпуса с повышенной механической прочностью и
защитой от воздействия окружающей среды. Например, герметичные корпуса.

Какие корпуса микроконтроллеров вы предпочитаете и почему? Какие нестандартные решения
вы использовали для улучшения теплоотвода или решения проблем с электромагнитной
совместимостью? Делитесь своим опытом!

Чек-лист "Выбор корпуса микроконтроллера":
1. Оцените тепловыделение микроконтроллера.
2. Определите необходимое количество выводов.
3. Учтите сложность пайки (ручная или автоматизированная).
4. Примите во внимание требования к электромагнитной совместимости.
5. Оцените условия эксплуатации (температура, влажность, вибрация).
6. Сравните размеры и габариты различных корпусов.
7. Проверьте наличие корпуса в библиотеках САПР (CAD).

Ссылка на статью по теме:
https://www.mokotechnology.com/ru/ic-package-types/
👍5🔥3
Бесит, когда кнопка "живёт своей жизнью"? Избавляемся от дребезга контактов: от
простого RC-фильтра до хитрого триггера Шмитта!


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

1. Триггер Шмитта (Schmitt Trigger): Это элегантное решение! Триггер Шмитта имеет два порога переключения - верхний и нижний. Благодаря этому, он игнорирует небольшие колебания напряжения,
вызванные дребезгом, и выдает четкий, стабильный сигнал.
Реальный факт: Один стартап, разрабатывавший систему управления умным домом, использовал триггеры Шмитта для подавления дребезга кнопок управления освещением. Это позволило
им избежать ложных срабатываний и обеспечить надежную работу системы.
2. Микросхема специализированного детектора кнопок (Button Debouncer IC): Существуют специализированные микросхемы, разработанные специально для подавления дребезга контактов. Они
содержат встроенные RC-фильтры, триггеры Шмитта и другую логику, необходимую для надежного
детектирования нажатий кнопок.
3. Программирование на микроконтроллере (Software Debouncing): Если у вас есть микроконтроллер, можно реализовать подавление дребезга программно. Это требует небольших
усилий, но позволяет гибко настраивать параметры фильтрации. Простейший способ - задержка (delay).
Более продвинутый - использование таймеров прерываний для периодической проверки состояния
кнопки.
4. Схема на логических элементах (например, на RS-триггере): Используя пару логических
элементов NOR или NAND, можно создать RS-триггер, который будет запоминать состояние кнопки и игнорировать дребезг. Это решение требует немного больше компонентов, чем RC-цепочка, но
обеспечивает более надежную фильтрацию.
5. Гибридные решения: Комбинируйте разные методы! Например, можно использовать RC-цепочку для предварительной фильтрации, а затем триггер Шмитта для окончательной очистки сигнала.

Схемы (названия схемных решений):
• Схема с RC-фильтром
• Схема с триггером Шмитта (например, на микросхеме 74HC14)
• Схема с RS-триггером на логических элементах (например, на микросхеме 74HC00)

Какой из этих методов подавления дребезга вы используете чаще всего? Какие еще хитрости знаете? Делитесь своими находками и схемами!

Чек-лист "Выбор метода подавления дребезга":
1. Оцените требования к надежности системы.
2. Определите доступные ресурсы (компоненты, время разработки).
3. Рассмотрите возможность использования микроконтроллера для программной фильтрации.
4. Сравните стоимость и сложность реализации различных методов.
5. Протестируйте выбранный метод в реальных условиях эксплуатации.

Ссылка на статью:
https://www.symmetron.ru/articles/skhemy-dlya-ustraneniya-drebezga-kontaktov-mekhanicheskikh-
pereklyuchateley/?ysclid=mcryeg5dqe269341890
👍11
IoT-устройство "пьет" батарейку, как воду? 7 секретов долгой жизни: как выжать максимум из ваших беспроводных гаджетов!

Привет, коллеги! Разработка IoT-устройств - это всегда компромисс между функциональностью,
стоимостью и энергопотреблением. Особенно остро стоит вопрос о питании от батареи. Сегодня мы
поговорим о том, как максимально продлить жизнь батареи в ваших IoT-проектах, и рассмотрим 7
неочевидных способов оптимизации энергопотребления, о которых часто забывают.

1. Использование "спящих режимов" с умом: Все знают о "спящих режимах" микроконтроллеров,
но мало кто использует их эффективно. Убедитесь, что вы используете самые глубокие режимы сна, доступные для вашего микроконтроллера, и правильно настройте прерывания для пробуждения. Знаете ли вы, что часто само переключение между режимами потребляет значительную энергию? Постарайтесь минимизировать частоту переключений.
Реальный факт: Одна компания, разрабатывавшая датчики мониторинга состояния почвы,
обнаружила, что их устройства потребляют слишком много энергии в спящем режиме. Причиной оказалась неправильная настройка сторожевого таймера (watchdog timer), который слишком часто "будил" микроконтроллер.
2. Выбор оптимальной частоты тактирования: Высокая частота тактирования нужна только во
время интенсивных вычислений. В остальное время снижайте частоту или переключайтесь на
внутренний RC-генератор с меньшим потреблением.
3. Оптимизация протоколов беспроводной связи: Беспроводная связь - один из главных "пожирателей" энергии. Выбирайте протоколы с низким энергопотреблением (например, LoRaWAN, Sigfox, NB-IoT). Сокращайте время активной передачи данных, передавайте только необходимую информацию и используйте сжатие данных.
4. Использование энергоэффективных периферийных устройств: Датчики, усилители, АЦП - все они потребляют энергию. Выбирайте компоненты с низким энергопотреблением и отключайте их, когда они не нужны. Например, используйте датчики с функцией автоматического выключения.
5. Контроль напряжения питания: Стабильное напряжение питания - залог эффективной работы схемы. Используйте стабилизаторы напряжения с низким падением напряжения (LDO) и высоким КПД.
Убедитесь, что напряжение питания не выходит за пределы допустимого диапазона, так как это может
привести к увеличению потребления.
6. Оптимизация кода: Неэффективный код может привести к увеличению времени работы
процессора и, следовательно, к увеличению энергопотребления. Используйте оптимизирующий
компилятор и профилировщик кода для выявления "узких мест".
7. Энергосбор (Energy Harvesting): Подумайте об использовании альтернативных источников
энергии, таких как солнечные батареи, термоэлектрические генераторы или вибрационные генераторы.
Это позволит значительно продлить жизнь батареи или даже полностью отказаться от нее.

Какие еще способы оптимизации энергопотребления вы используете в своих IoT-проектах? Какие
самые сложные задачи вам приходилось решать в этой области? Поделитесь своим опытом и советами!

Чек-лист "Оптимизация энергопотребления IoT-устройства":
1. Используйте глубокие режимы сна микроконтроллера.
2. Оптимизируйте частоту тактирования процессора.
3. Выбирайте энергоэффективные протоколы беспроводной связи.
4. Используйте энергоэффективные периферийные устройства.
5. Контролируйте напряжение питания и используйте эффективные стабилизаторы.
6. Оптимизируйте код для уменьшения времени работы процессора.
7. Рассмотрите возможность использования энергосбора.

Ссылка на статью с Хабра:
https://habr.com/ru/companies/ruvds/articles/752402/#anchorid10
👍7🔥5
Почему одиночный сигнал может быть твоим врагом?
Дифференциальные сигналы в реальных схемах

Всё работает, пока не включаешь двигатель или не подключаешь длинный кабель.
Знакомо?
А сигнал внезапно становится "грязным". Привет, наводки, земляные петли и электромагнитный шум.
Вот тут на сцену выходят дифференциальные сигналы - настоящий спасательный круг
для цифровых и аналоговых линий в условиях помех.

Когда дифференциальные сигналы действительно нужны?
Не всегда. Но вот когда - обязательно:

- Большие расстояния между узлами - от 30 см на плате до метров в кабеле.
- Высокочастотные сигналы (>10 МГц), особенно LVDS, USB, HDMI, RS-485.
- Сложная помеховая обстановка - двигатели, импульсные БП, сварка рядом.
- Много слоёв земли? Отлично. Нет? Тогда это точно не роскошь, а необходимость.
- Медицинские или промышленные устройства - любая ошибка может стоить дорого.

Как правильно реализовать дифференциальную пару (и не наломать дров):

1. Согласование импеданса
На плате: контролируй ширину дорожек и расстояние между ними.
В кабеле: экранированные витые пары (Cat5e/6 - спасение от наводок).
2. Балансировка
Не только по длине, но и по симметрии к земле.
Несимметрия вносит дифференциальный шум - и всё, прощай устойчивость.
3. Подключение к приемнику
Всегда через терминаторы на концах (например, 120 Ом в RS-485).
Ошибка многих новичков - отсутствие этих резисторов = отражения.
4. Защитные элементы
TVS-диоды и ферриты - особенно в длинных линиях и внешних интерфейсах.

Пример из практики:

Компания-разработчик ПЛИС-решений для промышленных сенсоров рассказала:
«Мы перешли на дифференциальные линии между ПЛИС и АЦП после того, как в лаборатории начали замечать дрожание младших битов. После перехода - 0 ошибок за 3 месяца стендовых
тестов, даже с 2-метровыми шлейфами».

А вы используете дифференциальные сигналы в своих проектах?
Поделитесь, в каких случаях они реально спасли ваш проект от помех?
А может, где-то они были избыточны?

Чек-лист: когда пора переходить на дифференциальные сигналы
1. Длина трассы > 30 см
2. Частота сигнала > 10 МГц
3. Есть индустриальные помехи
4. Используется витая пара или нет экрана
5. Требуется высокая точность (АЦП, ЦАП, синхросигналы)
6. Один конец подключен к "грязной" земле, другой — к "чистой"

Ссылка на статью:
https://radioprog.ru/post/441
👍13
Почему твоя плата излучает как антенна?
- Советы по ЭМС от тех, кто однажды уже попал на переиспытания.

Электромагнитная совместимость - это не про “экраны и ферриты”, а про топологию.
ЭМС начинается на этапе разводки платы. Один неудачный виa или разрыв земли под шиной
- и у тебя уже не плата, а генератор излучения.
Разработчики, которые прошли через провалы по ЭМС, сходятся в одном: топология важнее фильтров. Без хорошей разводки ни один дроссель не спасёт.

Вот реальные ошибки, которые мы видели даже в коммерческих проектах:
1. Разрыв земли под диффпарами и тактовыми трассами → возвратный ток ищет обходные пути = излучение.
2. Отсутствие сплошного GND под сигнальными слоями → нет "земляного зеркала" = рост ЭМИ.
3. Слишком длинные петли питания → улавливают наводки и сами начинают "фонить".
4. Миграция сигнала между слоями без дублирующей via в земле → каждый переход - как антенна.
5. Смешение “грязной” и “чистой” земли под одним компонентом → просачивание ВЧ-помех.

Запомни: ЭМС проектируется, а не лечится.
Проблемы ЭМС не видно в симуляции, но ты точно их услышишь… на испытаниях.

А ты сталкивался с “непонятным излучением” на макете? Что оказалось причиной?
Поделись опытом - ты можешь сберечь кому-то десятки часов отладки.

Чек-лист “10 правил ЭМС для трассировщика” - сохраняй, пересылай, печатай:
- GND-слой под каждым сигнальным слоем
- Нет разрывов под диффпарами
- Петли питания = минимальные
- Обратные токи идут рядом с сигналом
- Перемычки в земле - только если знаешь, зачем
- Смена слоя = via в GND рядом
- Такты - компактно, без лишней длины
- Диффпары веди симметрично
- Фильтры - только как усиление, не костыль
- Разъёмы заземляй грамотно (а не “куда попало”)

Ссылка на полезную статью по ЭМС:
https://emc-e.ru/topologija-pechatnyh-plat/osnovnye-voprosy/
👍9
Секреты отладки микроконтроллеров: техники, которые действительно экономят время.

Вы когда-нибудь теряли часы на поиски причины "зависания" прошивки, которая… внезапно исчезает при подключении отладчика? Добро пожаловать в мир отладки микроконтроллеров
- тут всё по-настоящему.

Почему это важно?
Даже простая ошибка в логике или неправильная настройка периферии может затормозить проект на дни. А грамотные инструменты и подходы могут сэкономить часы и даже недели.

Что реально помогает в работе:
1. Используйте UART-логгирование с буферизацией.
Прямой printf() в ISR - плохая идея. Используйте кольцевой буфер + DMA или реализуйте двойной буфер - так не теряется ни один байт, и ядро не виснет.
2. Настройте hard fault handler правильно
Обычная перезагрузка по hard fault - это путь в никуда. Используйте кастомный обработчик, чтобы выводить значения регистров стека (r0–r3, lr, pc) и отлаживать падения.
3. Используйте SWO или ITM-трейс, если доступно
Вместо UART - однолинейный высокоскоростной вывод через SWO. Позволяет логировать в реальном времени без тормозов. Особенно удобно на STM32.
4. Разделите код на "горячие" и "холодные" зоны
Применяйте технику временного отключения "холодной" логики, чтобы быстрее сфокусироваться на текущей проблеме. Например - выключите периферию, не связанную с
ошибкой.
5. Сохраняйте ключевые логи в FRAM/EEPROM
Ошибки случаются в полях и их невозможно поймать отладчиком. Мини-логи во FRAM (например, последние 10 событий до сбоя) реально спасают.
6. Не пренебрегайте unit-тестами даже в embedded
Да, это возможно. Старайтесь выносить вычисления и логику в отдельные модули, тестируемые в обычной C-среде. Это быстро отбивает инвестиции.

А вы какие "нетривиальные" техники отладки используете?
Поделитесь в комментариях - давайте соберём настоящий список «полевых» трюков, которые
работают!

Чек-лист: что проверить перед тем как "копать глубже"
(Сохраняйте и пересылайте друзьям )
☑️ Включён ли watchdog?
☑️ Все ли прерывания с приоритетами настроены правильно?
☑️ Проверены ли границы стеков и heap?
☑️ Логи пишутся без блокировок?
☑️ HardFault handler настроен?
☑️ Используется ли backup RAM / FRAM для логов?
☑️ Есть ли контроль за зависанием таймеров и периферии?
☑️ Есть ли тестовая прошивка только с минимальным функционалом?

Если вам полезен этот список - поставьте реакцию и отправьте тому, кто сейчас воюет с MCU

Ссылка на полезную статью на Хабре:
https://habr.com/ru/articles/681280/
👍14
Выбор интерфейса связи для встраиваемых систем: SPI, I2C, UART -
что лучше для вашей задачи и почему?


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

SPI — когда важна скорость (до десятков Мбит/с), многослойные платы
допустимы, а количество линий не критично.
I2C — идеально для общения с несколькими устройствами по двум линиям,
но ограничен по скорости (~1 Мбит/с).
UART — просто , надёжно, особенно для передачи данных между модулями или микроконтроллерами.

Интересный факт: несмотря на то, что SPI кажется «профессиональнее», многие производители MEMS-сенсоров продолжают использовать I2C из-за его низкого энергопотребления в режиме ожидания.

Выбор зависит от трёх факторов: количества устройств на шине, длины линий и чувствительности к задержкам.

А вы какой интерфейс чаще используете в своих проектах и почему?

Поделитесь опытом!

Чек-лист для выбора:

• Количество устройств на шине
• Максимальная длина линий
• Скорость передачи данных
• Энергопотребление в режиме ожидания
• Поддержка в выбранных микроконтроллерах

Полезные ссылки:
https://habr.com/ru/articles/436652/
https://microchipdeveloper.com/faq:24
https://embeddedinventor.com/spi-vs-i2c-vs-uart-differences/
👍5
Media is too big
VIEW IN TELEGRAM
Завершился курс «Практические навыки работы инженера--радиоэлектронщика».

Большинство студентов закончили обучение с красными дипломами и отлично защитили итоговый проект.

Вот такие устройства у них получились.

Ставьте лайки, поддерживайте комментариями.

Больше работ смотрите здесь: https://vk.com/album-43309210_253892857

И приходите на новый поток, который стартует уже 1 сентября!

https://pcbteach.ru

По любым вопросам пишите нам:

Наш сайт: https://pcbteach.ru
Мы в контакте: https://vk.com/pcbteach
Мы в Telegram: https://t.iss.one/stm32_i_plis
Эл. почта: [email protected]
Тел: 8 800 301 66 34 (звонок бесплатный)

#результаты_учеников
👍6🔥1
Как выбрать осциллограф для анализа сложных сигналов: советы от практика

Осциллограф - как слуховой аппарат для инженера. Но в мире цифровых сигналов выбрать 'тот самый' прибор - не так просто.

▪️Частота дискретизации - не менее в 5 раз выше максимальной частоты анализируемого
сигнала. Многие новички довольствуются 2-3-кратным запасом и упускают детали.

▪️Полоса пропускания - желательно с запасом 30–50% относительно рабочей частоты. Это критично при анализе фронтов и выбросов.

▪️Количество каналов - минимум два. Но если вы работаете с цифровыми шинами
(например, I2C, SPI), то четырёхканальный осциллограф даст вам свободу и точность.

▪️Глубина памяти - чем больше, тем лучше. Особенно важно при анализе редких или длинных событий (например, при отладке буферов UART).

Какие осциллографы используете вы? Есть ли любимые модели или разочарования?

Чек-лист:
☑️ ️Какая максимальная частота сигнала?
☑️ ️Сколько каналов вам нужно?
☑️ Нужен ли триггер по протоколам?
☑️ ️Какой у вас бюджет?

Полезные материалы:
https://habr.com/ru/articles/928046/
👍4🔥2
Оптимизация кода для ПЛИС: как выжать максимум из логики

Вы можете загрузить код в ПЛИС - и он будет работать. Но если вы хотите производительности и эффективности - его нужно оптимизировать.

▪️Минимизация количества состояний в конечных автоматах - снижает нагрузку на
логику.
▪️Используйте встроенные ресурсы: PLL, блоки RAM, DSP - вместо реализации этих
функций вручную.
Параллелизм - не панацея. Избыточная параллельность может перегрузить маршруты и
затруднить размещение.
▪️Разделяйте логику по клок-доменам грамотно. Ошибки на границе доменов - источник
самых трудноуловимых багов.

А вы как оптимизируете свои проекты под ПЛИС? Есть ли приёмы, которые стали вашим
стандартом?

Чек-лист:
☑️ Используются ли все встроенные блоки (DSP, RAM, PLL)?
☑️ Есть ли лишние регистры и повторяющиеся конструкции?
☑️ ️Оптимальны ли FSM?
☑️ Правильно ли обработаны клок-домены?

Полезные материалы:

https://fpga-systems.ru/publ/xilinx/xilinx_vivado/
strategii_optimizacii_hdl_koda_i_sintezatora_netlista_dlja_fpga/8-1-0-141
👍6
Как защитить электронику от перенапряжения и ESD - и не получить "магический дым"

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

TVS-диоды - первая линия обороны. Разряды ESD до ±30 кВ? Они примут удар на себя.

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

RC-фильтры на входах - простые, дешёвые, но очень эффективные.

Входные защиты в МК - не всесильны. Даже если в даташите написано "встроенная ESD-защита", доверьтесь ей как зонтику в ураган.

️ Факт: один разработчик забыл поставить TVS, и при испытаниях на ESD его плата выдавала мусор по UART. Не повторяйте его путь.

А как вы защищаете свои платы от ESD и всплесков напряжения? Есть ли любимые компоненты?

Чек-лист из 10 пунктов:
☑️ Добавлены TVS-диоды на все внешние сигналы?
☑️ Применяются варисторы на линии питания?
☑️ Есть ли ограничительные резисторы на входах?
☑️ Используются RC-фильтры на чувствительных линиях?
☑️ Земляной полигон связан с корпусом и разъёмами?
☑️ Учитываются пути тока ESD до земли?
☑️ ️Проведено моделирование переходных процессов?
☑️ Проходил ли макет ESD-тест (IEC 61000-4-2)?
☑️ Используются разъёмы с внутренней ESD-защитой?
☑️ Учтена ли паразитная индуктивность дорожек?
👍6