Size: a a a

2021 April 09

ND

Nikita D in Embedded Group
писать тупо в кольцевой буфер размером N)
источник

RS

Roman Storozhenko in Embedded Group
Аналог двойной буферизации, если период потока не меньше периода АЦП то достаточно двух элементов
источник

СС

Сиие Сууие in Embedded Group
Двойной буффер нужен для того что обработка данных может занимать больше времени чем поступление новых данных
источник

ND

Nikita D in Embedded Group
ну это смотря какого порядка фильтр прикрутить хочется
источник

К1

Ком 123 in Embedded Group
Подробнее, пожалуйста. При чём тут планировщик? Задача стояла по синхронизации приёма от АЦП по внешнему прерыванию. Вопрос не про дополнительное место под буффер. И да, двойная буферизация - это оверхед по памяти.
источник

СС

Сиие Сууие in Embedded Group
Так, дела не будет, давайте конкретную задачу с конкретными таймингами, а то вам говорят одно а вы нос кривите от типовых решений
источник

RC

Roman Clor in Embedded Group
Приведенная выше формула (уравнение 1) используется для определения максимального внешнего импеданса,
допустимого для погрешности ниже 1/4 LSB. N = 12 (из 12-битного разрешения), а k-количество периодов
дискретизации, определенных в регистре ADC_SMPR 1.
источник

RC

Roman Clor in Embedded Group
вот вы и видите напряжение на Cadc
источник

RS

Roman Storozhenko in Embedded Group
Верно, нужен конкретный кейс
источник

A

Alexander in Embedded Group
Выглядит как юмор от ST )
При полутора битах нелинейности АЦП )
источник

RS

Roman Storozhenko in Embedded Group
k это время Семплирования

Время семплирования это время подключённого УВХ к источнику сигнала.

Небольшая поправка терминологии
источник

RC

Roman Clor in Embedded Group
ну человек измерят ацп с бесконечным сопротивлением на входе
источник

RC

Roman Clor in Embedded Group
и еще 99% начитался ардуины и вылупил rc фильтр и его емкость заряжает и 0 уходит
источник

RC

Roman Clor in Embedded Group
http://we.easyelectronics.ru/STM32/demony-v-acp-stm32.html
Вот почитайте как его готовить.
we.easyelectronics.ru
Демоны в АЦП STM32
Современные АЦП обычно содержат внутри УВХ. В последнее время АЦП часто строятся по схеме уравновешивания заряда, а не уравновешивания токов, как это было в АЦП на основе резисторной матрицы R-2R. В случае АЦП с уравновешиванием заряда роль емкости УВХ выполняет внутренняя матрица конденсаторов. Конденсаторы матрицы в процессе преобразования перезаряжаются. Поэтому вход такого АЦП ведет себя достаточно нетривиально. Именно к такому типу АЦП относится и внутренний АЦП микроконтроллеров STM32. Довольно много информации по этому поводу содержится в документе AN2834. Но там полезные рекомендации, как на стр. 37: «Do not add any external capacitor (Cext) to the input pin when applying this above workaround» чередуются с вредными советами, как на стр. 39: «An extra large Cext enables sampling more often». Это подтолкнуло к написанию данного поста. УВХ внутреннего АЦП STM32 подключен к входному пину через аналоговый мультиплексор без всяких буферов, поскольку при однополярном питании сделать буфер проблематично. В некоторых сигма-дельта АЦП такой буфер есть, но он обычно отключаемый, так как при его использовании накладываются ограничения на допустимый диапазон входного напряжения. В STM32 входного буфера нет. Во время выборки к входному пину через ключ подключается емкость УВХ. Но что происходит с этой емкостью дальше? К моменту следующей выборки на ней будет прежний заряд? Вряд ли. Современные интегральные АЦП подобного класса обычно строятся на базе емкостного ЦАП. Во время преобразования методом последовательного приближения производится балансировка зарядов (а не токов, как было в АЦП на основе R-2R ЦАПа). Поэтому заряд входного конденсатора «расходуется» во время преобразования. Да и вообще, во многих АЦП конденсатор УВХ — это не какой-то отдельный элемент, а вся матрица конденсаторов емкостного ЦАП. Так что же будет с конденсатором в конце преобразования, он разрядится до нуля, или будет заряжен каким-то другим зарядом? Это зависит от конкретной схемы АЦП. Документация внятного ответа на этот вопрос не дает, придется прибегнуть к измерениям. Последовательно со входом АЦП я включил резистор 10 кОм, падение напряжения на котором контролировал осциллографом. На всех осциллограммах по горизонтали 2 мкс/дел, по вертикали 100 мВ/дел. АЦП работает с частотой дискретизации 100 кГц. Измерения, конечно, не совсем достоверны в плане формы выброса, так как ко входу АЦП я подключил небольшую дополнительную емкость (щуп 1:10 имеет емкость около 18 пФ). Но качественно картина не меняется.
источник

PB

Petr Belyaev in Embedded Group
У стм настолько хреновый вход у АЦП, что его невозможно не драйвить через операционник. Так что намного проще запилить RC в обратную связь операционника и ни о чем, кроме стабильности, не париться
источник

A

Alexander in Embedded Group
+
источник

IK

Ivan Kotiv in Embedded Group
А разгадка оказалась вельми простой.... нефиг пихать 5в на ногу МК, работающего от 3.3, пусть даже на ноге ЖЫРНО написано 5в-tolerant... Вот такая мораль.
источник

A

Alexander in Embedded Group
Ты на АЦП подал 5В?
источник

PB

Petr Belyaev in Embedded Group
Кстати, у СТМки есть несколько ног обычно на PA, которые не 5V tolerant )
Этакий dedicated analog. Если я правильно помню, то в общем там есть такая закономерность
источник

PB

Petr Belyaev in Embedded Group
Так что это совсем тухлый ход - полагать, что она выдержит 5В на аналоге. Рисков значительно больше
источник