Дельта-Сигма АЦП для МК на примере ATtiny2313

Вопросы и замечания по статьям и схемам, представленным на нашем сайте

При поддержке РадиоКОТструктор.ру


Ответить
Это не хвост, это антенна
Аватара пользователя
Сообщения: 1368
Зарегистрирован: Вс мар 28, 2010 12:52:22
Откуда: Беларусь

Сообщение dr.doc »

http://radiokot.ru/articles/32/
В статье, название которой повторяет данная тема, описан пример реализации S-D-ADC. Одной из основных проблем автор называет пониженное быстродействие данного вида АЦП. Ведь цикл, повторяющийся 2^16 раз и имеющий размерность N команд занимает довольно значительное время.
Суть моего предложения заключается в том, чтобы декрементный счетчик, вносящий в цикл дополнительные команды, заменить на прерывание по таймеру. Тогда число измерений будет равно - предделитель*размер таймера. При использовании 2-х команд на суммирование в фильтре получим значительный прирост в скорости конечного преобразования.
По выходу в прерывание производим очистку временного регистра и передачу данных в регистр вывода. Суммированием полученных регистров и их последующей децимацией можно без особых проблем снизить скорость преобразования и увеличить разрядность.

С уважением к автору за простое описание, Сергей.
«Еще я хотел бы, чтобы наши ученые изобрели какой-то новый источник энергии, чтобы мы на коленях не ползали даже перед нашими братьями, умоляя их и выпрашивая тонну нефти или кубометр газа», — рассказал белорусский президент.
Реклама
Друг Кота
Аватара пользователя
Сообщения: 20093
Зарегистрирован: Чт сен 18, 2008 12:27:21
Откуда: Столица Мира Санкт-Петербург

Сообщение Gudd-Head »

Задумку понял.
Да, таким образом можно бы сэкономить 2 команды, т.е. увечилить быстродействие на 25...20%.
Просто в статье была идея реализовать на общих командах контроллера, не прибегая к периферии.
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Реклама
Родился
Сообщения: 3
Зарегистрирован: Вт июн 28, 2011 15:40:13

Сообщение gora_electric »

А возможно применение дельта-сигма к оцифровке звука (голоса)? при применении техже контроллеров (avr) ? К примеру - звук с микрофона в тиньку или мегу а на выходе обратно звук но с инверсией спектра например, или речеподобный шум для подавителей диктофонов?
Друг Кота
Аватара пользователя
Сообщения: 20093
Зарегистрирован: Чт сен 18, 2008 12:27:21
Откуда: Столица Мира Санкт-Петербург

Сообщение Gudd-Head »

gora_electric писал(а):А возможно применение дельта-сигма к оцифровке звука (голоса)? при применении техже контроллеров (avr) ? К примеру - звук с микрофона в тиньку или мегу а на выходе обратно звук но с инверсией спектра например, или речеподобный шум для подавителей диктофонов?
Боюсь, быстродействия не хватит. Для переменного сигнала (а не только постоянной составляющей) необходим (минимум) двухкаскадный фильтр, что ещё сильней замедлит быстродействие. Если же увечиливать быстродействие за счёт уменьшения разрядности, то тогда точнее будет уже встроенный АЦП.
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Реклама
Эиком - электронные компоненты и радиодетали
Родился
Сообщения: 3
Зарегистрирован: Вт июн 28, 2011 15:40:13

Сообщение gora_electric »

А хватит у меги на 10-12 мгц считывать звук с канала ацп , чегото делать с ним ( переворачивать спектр или менять куски местами) чтобы на выходе получалась аналоговая чепуха?...
Реклама
Родился
Сообщения: 3
Зарегистрирован: Сб сен 19, 2015 16:52:42

Сообщение Tsegorah »

Ещё раз можно, пожалуйста, про фильтр, специально для детей и животных? Если нам надо получить на выходе отфильтрованный 16-разрядный код, то мы просто смотрим 65636 раз, нолик или 1 пришли на вход, и если 1, то прибавляем к конечному числу? При чём тут тогда децимация?
Реклама
Друг Кота
Аватара пользователя
Сообщения: 20093
Зарегистрирован: Чт сен 18, 2008 12:27:21
Откуда: Столица Мира Санкт-Петербург

Сообщение Gudd-Head »

Tsegorah писал(а):мы просто смотрим 65636 раз, нолик или 1 пришли на вход, и если 1, то прибавляем к конечному числу? При чём тут тогда децимация?
Вы можете сделать фильтр в виде "скользящего окна": он будет суммировать 65536 отсчётов и работать на частоте самого модулятора, в каждом такте окно будет сдвигаться: 65536-й отсчёт будет становиться 65537-м и будет "выкидываться" из фильтра, а на место первого будет подставляться новый. Но тогда эти соседние 16-ти разрядные числа будут различаться не более, чем на 1 и идти на максимальной скорости, оно вам надо? Вы (почти?) ничего не потеряете, если в конечном итоге будете брать только каждый N-й отсчёт (N — к-т децимации).

Наглядный пример. Входной аналоговый сигнал — ступенька от -Vref до +Vref. Коэффициент децимации М выберем равным 8=2³.
1. Однобитовый поток с выхода модулятора:
0-0-0-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1...

2. Содержимое аккумулятора (фильтра), "скользящее окно (соседние числа отличаются не более чем на 1)" (разрядность в 3 раза больше):
0-0-0-1-2-3-4-5-6-7-8-8-8-8-8-8-8-8-8-8-8-8...

3. Сигнал с выхода дециматора (разрядность в 3 раза больше, частота в 8 раз ниже):
0------------------6------------------8------------------8...
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Ответить

Вернуться в «Статьи»