Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: STM32: ВЧ шум в регулярных каналах при включенных инъектированных.
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
Porty
Добрый день.
chip: STM32F100C8T6B

Имеется три канала АЦП, один измеряет звук 32кГц. Два других - датчики уровней - 500Гц.
Первый канал повесил на Regular у ADC, другие инъектированные.
Регулярные запускаются от таймера на 32кГц.
Запускаю инжектированные по прерываниям ДМА софтварно по приёму блока в 64 выборок звука, так чтоб запуск состоялся после обработки очередной выборки и не приводил к временному смещению регулярной выборки - джиттингу (проверяю и жду определённую фазу предделителя таймера).
Питание у АЦП и аналоговой части своё отдельное от цифры и стабилизированное, шума нет если подключиться аудио-щюпом или измерителем спектра.
Время семплирования звука 71.5 такта. Инжектированных - 41.5 такта. Частота АЦП - 12МГц.

В итоге в спектрограмме наблюдается ВЧ шум в виде леса палок частот на 10-20 дб больше, нежели если выключить запуск инжектированных каналов.
Что приводит к недопустимым дополнительным искажениям в измерение шума + нелинейных искажений (основная функция прибора).

Спектрограмма когда инжектирование включено:
http://minus.com/mwYStTrhs#1o

Спектрограмма когда выключено
http://minus.com/mwYStTrhs#2o

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

В чём может быть дело?
Как устранить? Или правильно переключать каналы?

Спасибо.
scifi
Я в этих спектральных делах не силён. Может ли нерегулярность выборки приводить к этим проблемам? Если да, то я бы попытался получить независимое подтверждение, что инжектирование не нарушает регулярность выборки.
Ну и нужно проверить, что источники сигналов для АЦП достаточно низкоомные. Вас беспокоят спектральные компоненты очень низкого уровня, то есть нужно обеспечивать надёжную перезарядку ёмкости выборки-хранения АЦП при выборке.
Porty
Цитата(scifi @ Dec 30 2011, 17:11) *
Я в этих спектральных делах не силён. Может ли нерегулярность выборки приводить к этим проблемам? Если да, то я бы попытался получить независимое подтверждение, что инжектирование не нарушает регулярность выборки.
Ну и нужно проверить, что источники сигналов для АЦП достаточно низкоомные. Вас беспокоят спектральные компоненты очень низкого уровня, то есть нужно обеспечивать надёжную перезарядку ёмкости выборки-хранения АЦП при выборке.


Спектр искажается в области ВЧ, если инжектирование происходит в области 500гц, то почему то изменения затрагивают равномерно от 5 до 8кгц судя по спектрограмме. Что весьма странно. Выявляется это лесом палок частот что на 10-20дб выше шума (см скрины выше). А если на слух то звоном как будто монеты падают при достаточно глухом нч тоне.

В том то и дело что это даже на слух слышно (если воспроизвести выборки данных с АЦП), хотя если аудиошюпом встать на ножку ацп то не слышно. В самом сигнале полочек нет, перед АЦП стоит фильтр НЧ (на 8кгц) третьего порядка на качественном инструментальном ОУ с выходным током до 100мА без каких либо резисторов напрямую на ножку АЦП. Так что источники сигналов я считаю достаточно низкоомные в добавок при прослушке прямо с ножки АЦП сторонними приборами ничего не слышно (что аудиощупом, что опцией осциллографа).

Регулярность выборок не нарушается, т.к. регулярные - звук запускаются по переполнению таймера, а инжектированные запускаются программно после того как программа убедилась что таймер досчитал до 200 тактов (из 750) от переполнения - события запуска АЦП для регулярного, а так же проверив флаги АЦП о том что текущая конверсия закончилась. Проверял как программно (ножкодрыганием по статусным флагам ацп), так и осцилографом (подключив источник сигнала в мегаомы по импульсам просадки во время сэмплирования) . Т.е. запуск инжектированных каналов происходит только когда закончилось преобразование регулярного и прошло около 100 тактов (т.е. где в середине между регулярными выборками). И в добавок инжектированные каналы намеренно заканчиваются тем же каналом что и регулярный - я думал что это поможет перезарядить ёмкость после аналогового мультиплексора - но такого нет - судя по спектограмме разница не чувствуется, т.е. нет разницы на каком канале закончилось преобразование инжектированного.
scifi
Ну-у, не знаю. А не могут импульсы выборки с инжектированных каналов пролезать через питание или как-то ещё в регулярные каналы? Тогда будет амплитудная модуляция 500 Гц, приводящая как раз к размножению палок в спектре. Импульсы-то достаточно острые, поэтому с ними нужно осторожно...

Update:
Есть предложение инжектирование делать с той же частотой 32 кГц, а потом делать нехитрую децимацию. Кстати, тогда это уже не инжектирование, а ещё один регулярный канал.
dac
еррату читали? искать лень, но по памяти там были проблемы с инжекционными каналами
Serj78
Цитата(dac @ Dec 30 2011, 21:11) *
еррату читали? искать лень, но по памяти там были проблемы с инжекционными каналами


Тут вот еще что может быть. Дополнительные каналы измеряют тот же сигнал? Если это так, то читайте дальше.

Физически АЦП- это конденсатор, заряжаемый измеряемым сигналом. Если выходное сопротивление драйвера измеряемого сигнала велико- то подключение ключом емкости (когда мы включаем инжектированный канал на измерение)будет рожать тот самый вч шум.
Воткните ваш "аудио-щуп" прямо на вход измеряемого канала 1 и посмотрите, меняется ли там шум при включении инжектированных каналов (заведите их включение на кнопку, например).
Если шум появляется- можно на вход инжектированных каналов RC фильтр поставить и увеличить время выборки.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.