Схемотехника
Теория
Неофициальный перевод третьего издания искусства схемотехники - мега топовая книжка, содержит очень интересные главы в которых очень глубоко рассматривается довольно сложный материал; к тому времени, как вы ее в полной мере осилите, вам будет виднее чем мне сейчас, что вам следует более детально изучать дальше.
сборник журнала библиотека по автоматике - честно, я пока не читал, но список тем и количество материала поражают.
Симуляция схем
Мы попробовали ngspice (в том числе и в связке с kicad) и ltspice на linux (ltspice хорошо работает через wine), для задач симуляции шумов в схемах намного удобнее оказался именно ltspice, который всем и рекомендую для использования. Программа довольно старая, но зато и материалов по ней довольно много. Также я устанавливал tina-ti и qspice, но они оказались несколько хуже адаптировано для работы в linux через wine.
EDA
Работайте в чем привыкли, но если еще не привыкли, то под windows поставьте crack altium, под linux ставьте kicad. Кто-то рекомендовал EDA компаний Cadence и Siemens, но про них ничего не могу сказать.
Помощь в проектировании
AD Filter Wizard - очень удобный инструмент для расчета активных фильтров на базе операционных усилителей Analog Devices; аналог от Texas Instruments намного менее удобен.
AD SNR/THD/SINAD/ENOB/Noise calculator - инструмент для пересчета перечисленных характеристик измерительной техники.
Анализ ЭКБ
Инструментальные усилители для предусиления биосигналов
Инструментальные усилители сопоставляются по следующим характеристикам:
- Диапазон доступных коэффициентов усиления
- Полоса пропускания при коэффициенте усиления 100
- Коэффициент подавления синфазных помех при коэффициенте усиления 100
- Плотность распределения шумового напряжения на входе типовая при коэффициенте усиления 100
- Плотность распределения шумового напряжения на входе при частоте f=0,1Hz при коэффициенте усиления 100
- Плотность распределения шумового тока на входе типовая
- Плотность распределения шумового тока на входе при частоте f=0,1Hz
- Плотность распределения шумового напряжения на выходе
- Напряжение питания
- Коэффициент подавления помех по питанию при коэффициенте усиления 100
- Входной импеданс
- Входная емкость
- Входной ток смещения
- Входное напряжение смещения
- Аппроксимированная частота перегиба шума
- Интегрированное по заданной частоте (по умлочанию 500Hz) входное шумовое напряжение при коэффициенте усиления 100
- Интегрированный по заданной частоте (по умлочанию 500Hz) входной шумовой ток
- Результирующий выходной интегрированный шум при коэффициенте усиления 100, заданной частотой пропускания (по умлочанию 500Hz), заданном выходном импедансе источника (по умолчанию 100000 Ом) и заданной емкости источника (по умолчанию 1 нФ)
- Динамический диапазон при коэффициенте усиления 100, заданной частотой пропускания (по умлочанию 500Hz), заданном выходном импедансе источника (по умолчанию 100000 Ом) и заданной емкости источника (по умолчанию 1 нФ) - искуственно высчитанная метрика, показывающее отношение диапазана к минимальной величине, которую при помощи датчика можно осмысленно измерить. Высчитывается как 20 логорифмов по основанию 10 от этого отношения.
- Шумовое сопротивление - величина, характеризующее отношение шумового напряжения к шумовому току на входе усилителя; для достижения хорошего качества сигнала шумовое сопротивление должно превышать выходной импеданс источника
- Стоимость
По итогу для задач усиления биоэлектрических сигналов самыми лучшими вариантами (и универсальными, подходящими даже для очень слабых источников) стали одноканальный ad8220 и его двухканальная версия ad8224; Также очень хорошие расчетные показатели имеют ad8295, lt6370, lt1167 и lt1102. Для работы же со сравнительно мощными же и стабильными источниками (с малыми выходными импедансами) оптимальными являются ina217, ina849, ina163, ina103, ina851, ad8229, ad8429 и ad8421.
Желтым цветом выделены ИУ, у которых в даташите отсутсвуют данные о плотности выходного шума (он обычно не является основным источником шума), оранжевым - те, для которых не была приведена кривая плотности шумового тока, и она была аппроксимирована исходя из частоты перегиба шумового напряжения, красным веделен lt6373, который предоставляет меньший коэффициент усиления, но имеет довольно интересные параметры для малого коэффициента усиления (как правило, большая часть характеристик ИУ, кроме полосы пропускания, улучшается с ростом используемого коэффициента усиления).
Аналого-цифровые преобразователи для оцифровки биосигналов
таблица со сравнением- в данной таблице сравниваются харакетиристики высокоточных АЦП при частоте дискретизации 1000Hz.
Они разбиты на два подкласса: измерительных и аудио; вторые обладают худшей производительностью по постоянному току и большими коэффициентами искажений, но могут обладать довольно высокими харакетиристиками за низкую цену.
Проводится сопоставление по следующим характеристикам:
- Разрешение
- Динамический диапазон при частоте дискретизации 1000 (с учетом искуственного повышения) - искуственно высчитанная метрика, показывающее отношение диапазана к минимальной величине, которую при помощи датчика можно осмысленно измерить. Высчитывается как 20 логорифмов по основанию 10 от этого отношения; При делениее на 6,01 получим примерный enob (при подсчете enob также учитываются и различные коэффициенты искажений, а не только шумы, но ими в данном случае можно пренебречь, поскольку они могут компенсироваться программно). Хоть способность разменивать частоту дискретизации на точность измерения и считается традиционно фишкой сигма-дельта АЦП, на деле программно можно делать это и с любым другим типом, просто в таком случае обработка будет происходить не самим АЦП, а устройством, которое получает с него измерения
- Кол-во каналов - тут надо уточнить, что существуют АЦП с так называемым одновременной выборкой, которые оцифровывают несколько каналов одновременно (схематехнически обычно это несколько одноканальных АЦП), а есть АЦП, в которых один одноканальный АЦП мультиплексируется по очереди на несколько каналов, тем самым разменивая частоту дискретизации на параллельность измерений; для таких моделей характеристики указаны именно в режиме переключения между всеми входными каналами
- Потребляемая мощность
- Стоимость
По итогам сравнения оптимальными для задачи оцифровки предусиленных биоэлектрических сигналов стали ads131e06, ads131e08, max11254 и max11259; они предоставляют достаточно высокий динамический диапазон (в сравнении с таковым у предусиливающих ИУ из прошлого сравнения) при низком потреблении, а также хорошие аналоговые характеристики входов (не указаны в таблице), при этом они сохраняют довольно демократичную стоимость.
IMU для человеко-машинных приложений
Вы спросите, как инерциальные датчики относятся к биоэлектрическим? Действительно, снимать биоэлектрические сигналы они никаким образом не помогают; однако очень многие немедицинские устройства с биоэлектрическими датчиками также используют и инерциальные, например для фиксации движений головы при снятии ЭЭГ через сухие электроды, распознавания типа физической активности при получении ЭКГ или же получения кинематических данных в дополнение к ЭМГ, плюсом одним из перспективных направлений развития bci (англ brain-computer interface) является именно распознавания моторных образов по ЭЭГ, тонуса мышц и жестов по ЭМГ и подкрепление всего этого сравнительно точными данными о движениях человека, полученными именно при помощи по инерциальных датчиков.
Таким образом, и в своих будущих проектах я планирую очень активно использовать такие датчики).
Таблица со сравнением - https://docs.google.com/spreadsheets/d/1X3wTODM8zixx9Ra5NIAfqXmW1Q1iUtv8UVlK1AJiaRI/edit?gid=0#gid=0.
В таблице есть три подтаблицы: с IMU (гироскоп + акселерометр; наличие магнитометров не учитывалось, фактически ввиду заведомо низкого SNR в реальных условиях они используются только для коррекции дрейфа, и поэтому их точность мягко говоря не очень критична), с дискретными цифровыми гироскопами и дискретными цифровыми акселерометрами. Аналоговые гироскопы и акселерометры, к сожалению, на рынке smd компонентов представлены сейчас в очень малом объеме. В таблице рассматриваются только трехосевые сенсоры (не в контексте количества степеней свободы в случае с IMU, подразумеваются сенсоры, выдающие измерения по осям X, Y и Z).
Большая часть продукции компании Analog Devices не представлена в таблице по причине непривлекательности или чересчур завышенной цены Также в таблице не рассматриваются датчики, не способные работать в сравнительно узких диапазонах ускорений (линейных и угловых), которые обычно и нужны для задач носимой электроники.
Сенсоры сопоставляются по следующим характеристикам:
- Разрешение ацп
- Диапазон измерений
- Плотность распределения шума
- Динамический диапазон - искуственно высчитанная метрика, показывающее отношение диапазана к минимальной величине, которую при помощи датчика можно осмысленно измерить. Высчитывается как 20 логорифмов по основанию 10 от этого отношения. При подсчете плотность шума интегрируется по полной полосе пропускания ацп
- Частоты дискретизации данных
- Три пересчета динамического диапазона на искуственно ограниченную полосу пропускания; первый и второй достижимы тривиально, третий теоретически достижим несколько большими усилиями
- Энергопотребление
- Стоимость
В итоге по сочетанию этих признаков была выявлена доминация IMU на рынке smd инерциальных датчиков по сравнению с дискретными акселерометрами и гироскопами, среди которых оптимальными по сочетания цены, энергопотребления и точности измерений в малых диапазонах линейных и угловых ускорения вариантами оказались lsm6dsv32x, lsm6dsv16b и lsm6dsv16bx
Ютубчик
Alex Gyver - несмотря на не оч взрослую ЦА и репутацию ардуинщика, на канале можно встретить много действительно полезной инфы
AntonMaltsev - канал про edge ai
Can education - много полезных лекций на самые разные harware темы
Introduction to Quantum Computing - можно посмотреть материалы по аналоговой электронике
DigitalCAT - необычный канал, в основном видосы про ЭКБ
abglazov электроника - туева куча лекций вообще почти про все, что нужно знать о хардваре для программирования электроники
Major Tom Workshop - популярный канал об электронике
Mihas - канал для начинающих об FPGA
ElectronicsClub - много материала по эмбеддеду и электронике
FPGASystems - название говорящее, тут про фпга
narod stream - много видосов по стмкам и еспшкам
NR.electronics - канал о программировании микроконтроллеров
Pcb-tracing - канал с вебинарами по альтиуму
Phil’s Lab - тут много видосов про стмки, фпга и проектирование электроники
STEM - на канале разбираются на очень хорошем уровне некоторые порой не тривиальные вопросы проектирования электроники
That project - чел делает очень крутые и интересные проекты
ПЛИСоводство - еще один канал про фпга
Vladimir Medintsev - канал с кучей годноты по программирования микроконтроллеров
Еще инструменты
PcbDraw - создание красивых рисунков из платы kicad
RTOS
RTOS (real time operating system) ялвяется обязательным компонентом для большинства проектов. Основной функцией RTOS является своевременное выполнение всех необходимых действий микроконтроллером и распределение его ресурсов на эти действия. Безусловно, сделать это можно и при помощи например кучи прерываний, но RTOS упрощает этот процесс. Помимо этого, многие RTOS также предоставляют свои абстракции для работы с тем или иным функционалом микроконтроллера.
FreeRTOS
Это, пожалуй, самая популярная RTOS на данный момент. Применяется повсеместно и почти для любых микроконтроллеров, но, с ней мы зачастую обязаны использовать непосредственно те средства для управления функционалом МК, который предоставил производитель (HAL или CMCIS, про то, что это, есть много видосов на ютубе). Для изучения возможностей FreeRTOS советую посмотреть курс Владимира Мединцева.
Mbed OS
Сейчас эта система потихоньку умирает, да и по-настоящему популярной не была никогда. Однако, она предоставляет кучу готовых абстракций для самых разных задач, очень проста в использовании и может применяться почти на любом Arm микроконтроллере практически без переписывания кода приложения. Для изучения советую только документацию с официального сайта, ее в целом вполне достаточно (нужен впн).
Zepher RTOS
Активно набирает популярность, мегамодульная RTOS, имеет кучу функционала и своих абстракций, позволяет запускать один и тот же код приложения на туевой куче микроконтроллеров/плат (разве что драйвера придется дописать xD). Порог входа выше, чем у других двух, для изучения могу посоветовать официальный сайт и гугл. Есть также репозиторий на гитхабе, посвященный ее изучению и открытый курс Nordic, но вообще советую сначала освоить FreeRTOS.
Микроконтроллеры
esp32
Оч прикольное семейство, многие из еспшек имеет два ядра, а порт freertos на них отлично поддерживает симметричную мультипроцессорность, что является невероятной редкостью для микроконтроллеров. Лучшим способом ведения разработки под нее является использование SDK ESP-IDF, вся документация на который есть на сайте expressif. Также для работы с ним потребуется базовое знание Cmake, ну и конечно же, плюсов и сей. Альтернативно ESP-IDF, esp32 поддерживает Zephyr RTOS, пусть и чутка похуже. Мегаклассный выбор для приложений умного дома и промышленной автоматизации, но может применяться и в других задачах.
Nordic
Микроконтроллеры этой фирмы заточены под задачи беспроводной связи с низким энергопотреблением. Лично с ними не работал, но, насколько я знаю, у них первоклассная поддержка Zephyr RTOS.
stm32
Применяются везде и повсюду, обычно для разработки используются средства, предоставляемые вендором - HAL и CMCIS, зачастую в связке с FreeRTOS. Поиспользовать Zephyr RTOS и тут можно, но надо быть готовым к тому, что вы будете писать драйвера больше, чем код приложения. Впрочем, писать драйвера для “зефирки” может быть не сильно сложнее, чем приложение с использованием HAL или CMCIS ’) В целом с кайфом прогал стмки с использованием MbedOS, проблем не было, но работу с таким стеком найти будет сложнее, чем с двумя предыдущими.