Программно увеличить разрядность АЦП до 11 бит

Поклонники продукции Microchip Technology Inc тусуются тут.
Аватара пользователя
КРАМ
Друг Кота
Сообщения: 25219
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Re: Программно увеличить разрядность АЦП до 11 бит

Сообщение КРАМ »

То есть желания обосновать математику повышения точности оверсемплингом так и не появилось?
:dont_know:
Реклама
Pnjom-Penb
Мучитель микросхем
Сообщения: 469
Зарегистрирован: Вс авг 30, 2015 03:52:59

Re: Программно увеличить разрядность АЦП до 11 бит

Сообщение Pnjom-Penb »

Вы все еще расчитываете на то, что ерничанье поможет скрыть ну ооочень белые нитки? Напрасно, мир не без умных людей, что бы вам ни казалось по этому поводу. Изображение
Реклама
Аватара пользователя
КРАМ
Друг Кота
Сообщения: 25219
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Re: Программно увеличить разрядность АЦП до 11 бит

Сообщение КРАМ »

Тут важно отличать умных от дураков и правых от ошибающихся.
Для этого нужно ДУМАТЬ САМОМУ.
А не надеяться на силабс или микрочип.
ЗЫ. А с чего Вы решили, что я ерничаю? Как раз я с радостью приму Ваши доказательства. Потому что сам не представляю как это доказать.
ЗЗЫ. Более того, я с трудом представляю доказательство, которое опровергнет мой личный опыт. И опыт совсем не разовый. потому как обработка сигналов - мое основное занятие на работе.
Аватара пользователя
E30M20B20
Открыл глаза
Сообщения: 59
Зарегистрирован: Сб дек 28, 2013 09:52:01
Откуда: Киев

Re: Программно увеличить разрядность АЦП до 11 бит

Сообщение E30M20B20 »

Блин, парни. Вот вы все такие умные, а из-за срача, который здесь развёлся, хрен потом увидишь суть. Как и обычно впрочем.

Давайте лучше я сформулирую проблему и её решение с позиции любителя ассемблера-самоучки, далёкого от теории, но близкого к практике (то бишь себя).

Иногда так бывает, что для выбранного диапазона измерения и цены деления немного не хватает разрядности АЦП. Немного - это один, максимум 2 бита. Например, есть 10-битный АЦП (любой современный младший PIC), а надо 11- или 12-битный.

Немного нарастить разрядность (без улучшения абсолютной точности) поможет метод оверсэмплинга. Суть заключается в том, что нужно взять несколько измеренных 10-битных значений (для удобства кол-во значений должно быть одной из степеней двойки), вычислить их 10-битное среднее арифметическое, и умножить его на 2 столько раз, сколько бит разрядности надо добавить. Например, берём 8 10-битных отсчётов (буфер не стековый, а кольцевой, т.е., при записи нового значения затирается самое старое из 8-ми существующих), складываем эти 8 10-битных чисел (получается 13-битная сумма), и делим не на 8, а на 4 или 2. При этом получается 11-и или 12-и битное число, которое мы и используем в дальнейшем как результат работы 11-и или 12-и битного АЦП.

Для нормальной работы данного метода нужно, чтобы во входном измеряемом напряжении присутствовал белый шум, в качестве которого может послужить цифровой шум самого процессора, или шум ОУ предварительного масштабирующего усилителя.

Кол-во отсчётов нужно брать чем больше, тем лучше. Ограничение здесь - объём ОЗУ и результирующая скорость измерения.

Результат с метрологической точки зрения спорный, оверсэмплинг не заменяет честного более разрядного АЦП.

Подробнее о методе здесь: http://www.atmel.com/Images/doc8003.pdf

Так? Или что-то не так?
(c) 1982 Sinclair Research Ltd
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
КРАМ
Друг Кота
Сообщения: 25219
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Re: Программно увеличить разрядность АЦП до 11 бит

Сообщение КРАМ »

Все именно так, с тем лишь добавлением, что при необходимости цифровой фильтрации не требуется специально делать оверсемплинг для повышения разрядности. Достаточно провести нормировку текущей суммы в КИХ фильтре не длиной массива, а в 2^N меньшей величиной. то есть и фильтр останется и разрядность повысится.
Это, правда, потребует увеличения порядка фильтра, поскольку мы увеличиваем чувствительность тракта.
Реклама
Pnjom-Penb
Мучитель микросхем
Сообщения: 469
Зарегистрирован: Вс авг 30, 2015 03:52:59

Re: Программно увеличить разрядность АЦП до 11 бит

Сообщение Pnjom-Penb »

КРАМ писал(а):А с чего Вы решили, что я ерничаю?
С трех раз догадаетесь? И второе - не только я так решил. Это даже не шило в мешке.
Реклама
amd9800
Опытный кот
Сообщения: 822
Зарегистрирован: Вс июн 02, 2013 12:23:03

Re: Программно увеличить разрядность АЦП до 11 бит

Сообщение amd9800 »

E30M20B20 писал(а):А почему? 64 отсчёта мне в RAM не влезет, у 675-го PICа всего 64 байта RAM!
Ну тогда прощай кольцевой буфер.
Но можно просто суммировать все результаты в одну переменную, а в другую считать количество. Когда достигнешь нужного количества то делишь и опять начинаешь с начала.
Ответить

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