реклама на сайте
подробности

 
 
> уменьшение шумов при АЦП, MSP430 ADC12
jorikdima
сообщение Mar 1 2009, 21:21
Сообщение #1


тут может быть ваша реклама
*****

Группа: Свой
Сообщений: 1 164
Регистрация: 15-03-06
Из: Санкт-Петербург/CA
Пользователь №: 15 280



Приветствую.
Трудно сказать в этот ли раздел пишу, может про МСП надо... но тем не менее.
При обработке измерений, полученных с АЦП, хотелось бы легким способом добиться снижения шумов. Мне представляется возможным сделать это путем осреднения нескольких результатов, полученных примерно в один момент времени. То есть интересующая меня частота дискретизация находится в пределах ~500 Гц, но каждые 2 мс я делаю преобразование не 1 раз, а скажем 10 раз подряд с частотой >> 500 Гц, чтоб выборки относились к, условно, одному моменту времени.
Но посматривая документацию по встроенному в МСП430 1611 АЦП я увидел, что там есть возможность (стр 17-7 UserGuide http://www.ti.com/litv/pdf/slau049f ) управлять длительностью выборки (sample time). Там даны минимальные времена, необходимые, чтоб конвертация была валидной, но ничего не сказано про влияние увеличения этого времени. Правильно ли я понимаю, что увеличение этого времени приведет к результатам эквивалентным описанным выше, то есть к осреднению нормального шума в сконвертированном сигнале. И вместо 10 конвертаций каждые 2 мс я могу сделать одно "длинную".
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
MrYuran
сообщение Mar 2 2009, 05:21
Сообщение #2


Беспросветный оптимист
******

Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646



В мсп ещё есть режим группового преобразования, когда последовательно выполняются несколько преобразований и затем результаты заносятся во очереди в регистры ADC12MEM0 ... ADC12MEM7
Вот этот режим по-моему как раз подходит для оверсемплинга.
Правда, фильтрацию всё равно вручную делать, хотя бы среднее высчитать


--------------------
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)
Go to the top of the page
 
+Quote Post
jorikdima
сообщение Mar 2 2009, 06:50
Сообщение #3


тут может быть ваша реклама
*****

Группа: Свой
Сообщений: 1 164
Регистрация: 15-03-06
Из: Санкт-Петербург/CA
Пользователь №: 15 280



Цитата(MrYuran @ Mar 2 2009, 08:21) *
В мсп ещё есть режим группового преобразования, когда последовательно выполняются несколько преобразований и затем результаты заносятся во очереди в регистры ADC12MEM0 ... ADC12MEM7
Вот этот режим по-моему как раз подходит для оверсемплинга.
Правда, фильтрацию всё равно вручную делать, хотя бы среднее высчитать

Есть такой, но это поканально. То есть в регистры ADC12MEM0 ... ADC12MEM7 запишуться данные с 8 разных входов АЦП.
Всем спасибо, очень ценные для меня ответы!
Go to the top of the page
 
+Quote Post
MrYuran
сообщение Mar 2 2009, 07:02
Сообщение #4


Беспросветный оптимист
******

Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646



Цитата(jorikdima @ Mar 2 2009, 09:50) *
Есть такой, но это поканально. То есть в регистры ADC12MEM0 ... ADC12MEM7 запишуться данные с 8 разных входов АЦП.

В зависимости от конфигурации АЦП можно и с одного канала снимать, а в конце выставлять прерывание
Код
ADC12CTL0 = ADC12ON+MSC+SHT0_15+SHT1_15;  // On, автомат. преобр,1024цикла,вкл.опор.напр.(1,5В)-???!
    ADC12CTL1 = CONSEQ_1+ADC12SSEL_0+ADC12DIV_7+CSTARTADD_0+SHS_0+SHP;
    ADC12MEM0 = 0;ADC12MEM1 = 0;ADC12MEM2 = 0;ADC12MEM3 = 0;
    ADC12MEM4 = 0;ADC12MEM5 = 0;ADC12MEM6 = 0;ADC12MEM7 = 0;
    switch(chanel)
    {
        case ChanTemp:
            ADC12CTL0 |= REFON;
            Delay(10);
        ADC12MCTL0 = INCH_6+SREF_1;
        ADC12MCTL1 = INCH_6+SREF_1;
        ADC12MCTL2 = INCH_6+SREF_1;
        ADC12MCTL3 = INCH_6+SREF_1;
        ADC12MCTL4 = INCH_6+SREF_1;
        ADC12MCTL5 = INCH_6+SREF_1;
        ADC12MCTL6 = INCH_6+SREF_1;
        ADC12MCTL7 = EOS+INCH_6+SREF_1;
        break;

Что-то типа вот так


--------------------
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th July 2025 - 17:19
Рейтинг@Mail.ru


Страница сгенерированна за 0.01388 секунд с 7
ELECTRONIX ©2004-2016