Pull to refresh

Comments 17

Добрый день! Пытаюсь понять, беру стандартную формулу частоты среза RC фильтра f = 1/2*3,14*RC, получается только 88кГц по параметрам схемы (180пФ и 10кОм) и Вашему пояснению. Не верить Вам повода нет, не верить учебникам тоже - знаю, что дело в моём недопонимании вопроса. Когнитивный диссонанс, прямо. Что я упустил?

Спасибо, коллега! Пропустил на вычитке!

Реально там 84 кГц за счёт ёмкости монтажа и прочей неидеальности. С понижением частоты среза АЧХ АЦП начинала "заваливаться по верхам", с повышением - ухудшалась картина по искажениям

Да я то чего? Вам за статью и пояснения спасибо 👍👍👍😊😊😊

Спасибо! Он тут, как раз, к месту будет

Я ни когда не верил во встроенный АЦП у F411, Ваша статья только усилила мою веру! Это наверное одно из самых слабых мест у STM32. Помню, что в ранних справочных листах на свои микроконтроллеры ST рекомендовали использовать повторители на ОУ от Микрочипа для повышения входного сопротивления.

Это наверное одно из самых слабых мест STM32

Хорошо бы так... Есть ещё нерешаемая проблема запуска I2S в режиме ведомого. Наличие I2C регулярно надо проверять, ибо склонно к зависанию. Проблем хватает...

Зато относительно неплохая документация, привлекательная цена и инфраструктура в наличии :)

Наверное инфраструктура - это основное. Мне очень нравилась 91 серия у атмел, но там все руками надо было настраивать - долго, поэтому соскочил с них на stm.

Я программировать начал в 50. Понять, что как делается на Си, мне очень здорово помог разбор кода, который генерировался CubeMX. Описание HAL у них сделано добротно. А уж когда CubeMX с Attollic скрестили :)

Я сразу начал читать сами библиотеки хал. Там и без описания все хорошо понятно. Комментариев вагон

КМК, этот фрагмент надо переписать или пояснить:


Период выборки сигнала 15 циклов подобран опытным путём: при уменьшении параметра падает точность, при увеличении – АЦП может просто не успеть обработать сигналы за отведённое для этого время.

О циклах чего идёт речь? О делении тактовой частоты АЦП? Относительно какой частоты?

Это - время заряда конденсатора в схеме выборки-хранения на входе канала измерения АЦП. Чем меньше значение, тем меньшее время заряжается конденсатор, и тем выше погрешность.

Задаётся, почему-то, в "циклах".Описываемое решение работает только при установке параметра в 3 или 15 циклов. При установке 28 циклов АЦП на скорости сэмплирования 384 кГц начинал выдавать только каждый второй сэмпл: )

Камень этот неподходящий под задачу, увы. За три копейки только fx2lp+cpld мелкая

Рад видеть в комментариях! :)

По сравнению с stm32f103ret6, с которого я начинал этот проект, это очень достойный «камень». Другое дело, что у меня ещё на запасном пути NUCLEO-F446Z стоит ;)

А оно примерно тож самое, только у 446го ещё ulpi есть

CubeMX действительно генерирует понятный код который легко расширить, особенно по сравнению с некоторыми решениями от конкурентов ( привет Freescale Processor Expert )

В тексте глаз спотыкается о сочетание русскоязычных терминов - АЧХ, АЦП, ФНЧ, англицизмов - "оверсэмплинг", "антиалиасный" и совсем англоязычных PWM, DMA.

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

Это практический опыт или теоретические изыскания?

АЦП в в Stm32 очень шумящие, дай бог чтоб 8 бит осталось из 12. Чтоб избавиться от этого на аппаратном уровне, проще выходит i2s кодек ставить. Но с этой шиной у stm тоже есть проблемы, но уже с синхронизацией фреймов во время передачи звука. Это правда фиксится программно, мне это обошлось фиксированным семплрейтом на i2s и фильтром фарроу на основе интерполяции лагранжа, для программного ресемплинга.

В общем не однозначный процессор, везде у него есть проблемы, даже в RMII шине.

Sign up to leave a comment.