oversampling на stm32

Кто любит RISC в жизни, заходим, не стесняемся.
Ответить
castiel92
Родился
Сообщения: 13
Зарегистрирован: Вт окт 08, 2013 20:37:39

oversampling на stm32

Сообщение castiel92 »

Привет.нужно повысить разрешение ацп на stm32f407 с помощью передискретизации. допустим повышаю частоту дискретизации в 16 раз,фильтр какого порядка нужно использовать для усреднения выборок?подскажите,кто знает,пожалуйста
Аватара пользователя
balmer
Это не хвост, это антенна
Сообщения: 1433
Зарегистрирован: Вс дек 02, 2012 03:13:48
Откуда: Калининград

Re: oversampling на stm32

Сообщение balmer »

Частоту укажи, на которой хочешь снимать данные и на какой запускать АЦП. Со скольки до скольки бит надеешься точность повысить? Зачем нужно повышать точность?

Но скорее всего ответ будет
1. RC цепочка на входе, где R - единицы килоом, С - сотни пикофарад.
2. Операционный усилитель на входе.
Galizin
Мучитель микросхем
Сообщения: 477
Зарегистрирован: Ср окт 15, 2008 09:33:03
Откуда: Воронеж

Re: oversampling на stm32

Сообщение Galizin »

По моему нужно сложить все 16 измерений и результат считать за окончательное измерение. Уж какого это порядка фильтр я не знаю.
Аватара пользователя
balmer
Это не хвост, это антенна
Сообщения: 1433
Зарегистрирован: Вс дек 02, 2012 03:13:48
Откуда: Калининград

Re: oversampling на stm32

Сообщение balmer »

Galizin писал(а):По моему нужно сложить все 16 измерений и результат считать за окончательное измерение.


Это самый примитивный вариант.
Треугольный или косинусоидальный фильтр.
Аватара пользователя
Kavka
Мудрый кот
Сообщения: 1810
Зарегистрирован: Чт июн 10, 2010 08:55:35
Откуда: Сибирские Афины

Re: oversampling на stm32

Сообщение Kavka »

Мне кажется, что автор темы имел в виду что-то вот такое...
В общем, у Atmel-а есть документик
http://www.atmel.com/Images/doc8003.pdf
Смотреть Table 3-1 на странице 8.
Это не для stm, но идея одна везде.
А применение RC цепочки уменьшит шум, который как раз и нужен в этом случае. Если мне не изменяет память, то как раз у stm-ок было где-то специально генерирование шума, чтобы усреднение на АЦП давало лучшие результаты.
Когда уже ничего не помогает - прочтите, наконец, инструкцию.
Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII)
Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)
castiel92
Родился
Сообщения: 13
Зарегистрирован: Вт окт 08, 2013 20:37:39

Re: oversampling на stm32

Сообщение castiel92 »

Вообще хочу повысить разрешение ацп с 12 до 16 бит,частота взятия отсчетов 307200гц.отсчеты вроде как можно усреднить фильтром.частота повышена в 256 раз,нужно вот усреднить каждые 256 отсчетов в один
Аватара пользователя
balmer
Это не хвост, это антенна
Сообщения: 1433
Зарегистрирован: Вс дек 02, 2012 03:13:48
Откуда: Калининград

Re: oversampling на stm32

Сообщение balmer »

castiel92 писал(а):повысить разрешение ацп с 12 до 16 бит


К сожалению это малореально. Максимум можно 2 бита дополнительных получить, но никак не 4.

Вот документик AN2834: How to get the best ADC accuracy in STM32Fx Series and STM32L1 Series devices

Там есть и про добавление шума, и про другие варианты. Но это все сложно настраиваемо. Предусилитель с изменяемым коэффициэнтом усиления надежнее.
Аватара пользователя
Neekeetos
Держит паяльник хвостом
Сообщения: 993
Зарегистрирован: Пн сен 18, 2006 11:16:05
Откуда: Тула
Контактная информация:

Re: oversampling на stm32

Сообщение Neekeetos »

castiel92 писал(а):Вообще хочу повысить разрешение ацп с 12 до 16 бит,частота взятия отсчетов 307200гц.отсчеты вроде как можно усреднить фильтром.частота повышена в 256 раз,нужно вот усреднить каждые 256 отсчетов в один

Все спокойно получается на ф4, там хороший шумный ацп, поэтому никаких добавочных сигналов не требуется. Нужно только не забыть сделать время выборки ацп минимум 7,5 или 13,5 тактов иначе будет большая нелинейность. Еще крайне желательно поставить прямо ко входу ацп конденсатор а землю, примерно 500пф. Я так понимаю сигнал постоянка поэтому в качестве фильтра советую взять flattop, это оконная функция, на постоянке работает как хороший фнч, рассчитать его на 256 отсчетов, соотв порядок фильтра будет тоже 256.
Информация по RLC mini находится >тут<
Аватара пользователя
Kavka
Мудрый кот
Сообщения: 1810
Зарегистрирован: Чт июн 10, 2010 08:55:35
Откуда: Сибирские Афины

Re: oversampling на stm32

Сообщение Kavka »

balmer писал(а):Предусилитель с изменяемым коэффициэнтом усиления надежнее.
А при чём тут усилитель с изменяемым коэффициентом усиления, если надо увеличить количество отсчётов в измерении? Речь не идёт об измерении малых напряжений при неизменном опорном напряжении, много большем измеряемой величины.
Когда уже ничего не помогает - прочтите, наконец, инструкцию.
Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII)
Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)
Аватара пользователя
balmer
Это не хвост, это антенна
Сообщения: 1433
Зарегистрирован: Вс дек 02, 2012 03:13:48
Откуда: Калининград

Re: oversampling на stm32

Сообщение balmer »

Kavka писал(а):А при чём тут усилитель с изменяемым коэффициентом усиления, если надо увеличить количество отсчётов


Дело в том, что задачу не озвучил создатель темы, поэтому каждому думается разное. Мне например как один из вариантов сразу представляется оцифровка сигналов малой амплитуды. Впрочем лучше у создателя темы спросить. какова собственно говоря конечная цель.
rioi
Родился
Сообщения: 4
Зарегистрирован: Сб дек 25, 2010 19:10:46
Откуда: Cyberspace

Re: oversampling на stm32

Сообщение rioi »

"повысить разрешение ацп с 12 до 16 бит".
"К сожалению это малореально".

Как это малореально?
Очень даже реально.

Improving STM32F101xx and STM32F103xx ADC resolution by oversampling (AN2668)
http://www.st.com/web/en/catalog/tools/ ... pe=keyword
Аватара пользователя
Сэр Мурр
Модератор
Сообщения: 11169
Зарегистрирован: Чт окт 27, 2005 18:50:07
Откуда: из мест не столь отдалённых

Re: oversampling на stm32

Сообщение Сэр Мурр »

Путём суммирования и усреднения результата можно получить сколь угодно бОльшую разрядность, но это совершенно не эквивалентно ТОЧНОСТИ измерения.
Если бы это было бы так просто, то не разрабатывали бы 24-разрядные АЦП.
Аватара пользователя
balmer
Это не хвост, это антенна
Сообщения: 1433
Зарегистрирован: Вс дек 02, 2012 03:13:48
Откуда: Калининград

Re: oversampling на stm32

Сообщение balmer »

rioi писал(а):Очень даже реально.


Попробуйте сначала в железе.
На всяких DemoBoard точно будет косяк, там такая разводка, что много проводников от пинов параллельно идут.
Да и если будешь делать плату - то много где можно ошибиться. Например подключить LCD дисплей у которого внутри StepUp преобразователь без фильтрации. Или там аналоговую и цифровую землю неправильно развести. Или недалеко от аналогового проводника будет цифровой. Способов ошибиться, чтобы шумели нижние пару бит у ADC 12-ти битного масса.
simq
Первый раз сказал Мяу!
Сообщения: 36
Зарегистрирован: Пт фев 06, 2015 07:13:23

Re: oversampling на stm32

Сообщение simq »

rioi писал(а):"повысить разрешение ацп с 12 до 16 бит".
Improving STM32F101xx and STM32F103xx ADC resolution by oversampling (AN2668)
http://www.st.com/web/en/catalog/tools/ ... pe=keyword


Спасибо!
Очень интересно, использовал оверсэмплинг, но не знал, что крому уменьшить шумы можно и поднять разрешение...
Аватара пользователя
oleg110592
Друг Кота
Сообщения: 3832
Зарегистрирован: Сб сен 10, 2011 17:46:25

Re: oversampling на stm32

Сообщение oleg110592 »

а почему не взять микроконтроллер с 16 бит АЦП, например STM32F373C8
http://www.st.com/web/catalog/mmc/FM141 ... 0/PF253253
Ответить

Вернуться в «ARM»