Увеличение разрядности АЦП. (Was: Зачем нужны 10-битные АЦП...)

Hi All,

Leha Bishletov недавно писал:

LB> Тут речь идет не о точности, а о повышении разрядности. Hа практике это LB> может пригодиться для определения небольшой разности между двумя LB> сигналами.

Именно.

ШИМ + RC-фильтр = пила с размахом в несколько LSB, добавляется к входному сигналу.

Практический пример: Размах ШИМ берется cущественно больше, чем 1LSB, например 10LSB После каждого измерения ШИМ увеличивается на единицу и делается пауза, достаточная для устаканивания всех сигналов.

Nadc = A * (Vin + Npmw * K) where A = Nmax/Vref

Vin = Nadc / A - Npwm * K.

ШИМ прогоняется от 0 до 255 (например) и вычисленное значение Vin усредняется.

Абсолютная точность, естественно не увеличивается, а вот 2-3 бита разрешения добавляются совершенно элементарно. Бывает критично.

WBR, Юрий

Reply to
Yuriy K
Loading thread data ...

Sat Apr 17 2004 03:33, Alex Kouznetsov wrote to Yuriy K:

LB>>> Тут речь идет не о точности, а о повышении разрядности. Hа практике LB>>> это может пригодиться для определения небольшой разности между двумя LB>>> сигналами.

YK>> Именно.

YK>> ШИМ + RC-фильтр = пила с размахом в несколько LSB, добавляется к YK>> входному сигналу.

AK> Гораздо проще сделать "сомопальный ЦАП" на 2-3 разряда при помощи 2-3 AK> линий портов мелкопроцессора и, соответственно, 2-3 (высокоомных) AK> резисторов. Выход ЦАПа добавляется к входному сигналу

AK> В отличие от вариантов с подмешиванием шума или ШИМа, в этом варианте AK> гарантируется, что полное преобразование будет сделано за фиксированное AK> (небольшое) время. Кроме того, аппаратная реализация проще.

Сложнее. 2-3 пина вместо одного. Впрочем может зависеть от задачи.

WBR, Юрий.

Reply to
Yuriy K

Hi Yuriy K,

Fri Apr 16 2004 18:58, Yuriy K wrote to All:

LB>> Тут речь идет не о точности, а о повышении разрядности. Hа практике это LB>> может пригодиться для определения небольшой разности между двумя LB>> сигналами.

YK> Именно.

YK> ШИМ + RC-фильтр = пила с размахом в несколько LSB, добавляется к входному YK> сигналу.

Гораздо проще сделать "сомопальный ЦАП" на 2-3 разряда при помощи 2-3 линий портов мелкопроцессора и, соответственно, 2-3 (высокоомных) резисторов. Выход ЦАПа добавляется к входному сигналу в такой "препорции", чтобы полный размах ЦАПа соответствовал одному LSB АЦП. Полное преобразование в цифру делается за 4 или 8 А/Ц преобразований с суммированием результата, после каждого А/Ц преобразования в ЦАП добавляется единичка. В отличие от вариантов с подмешиванием шума или ШИМа, в этом варианте гарантируется, что полное преобразование будет сделано за фиксированное (небольшое) время. Кроме того, аппаратная реализация проще.

Лет десять назад я таким способом увеличивал разрядность АЦП у PIC16C71 с 8 разрядов до 11. Последний разряд отбрасывал как недостоверный, а 10-ю пользовался. При измерении температуры точным термистором получал разрешение лучше чем 0.1 градуса: руку приближаешь к термистору на ~10...20 см - чувствует.

Пока, Алексей

Reply to
Alex Kouznetsov

Alex, ты ещё здесь сидишь?

Суббота Апрель 17 2004 03:33, Alex Kouznetsov wrote to Yuriy K:

YK>> ШИМ + RC-фильтр = пила с размахом в несколько LSB, добавляется к YK>> входному сигналу. AK> Гораздо проще сделать "сомопальный ЦАП" на 2-3 разряда при помощи 2-3 AK> линий портов мелкопроцессора и, соответственно, 2-3 (высокоомных) AK> резисторов.

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

AK> Выход ЦАПа добавляется к входному сигналу в такой "препорции", чтобы AK> полный размах ЦАПа соответствовал одному LSB АЦП. Полное AK> преобразование в цифру делается за 4 или 8 А/Ц преобразований с AK> суммированием результата, после каждого А/Ц преобразования в ЦАП AK> добавляется единичка.

Следующая проблема - сам входной сигнал за время нескольких измерений может "уплыть". Т.е. измерять таким методом имеет смысл только сигналы, которые за время "пакета" измерений уходят не больше "уменьшеного" младшего разряда. Соответственно, нет никакого смысла производить 4 или 8 преобразований, куда быстрее воспользоваться методом половинного деления - одно измерение на каждый дополнительный разряд. Использовать "недостоверные" разряды нет смысла!

Георгий

Reply to
George Shepelev

Hi George,

Tue Apr 20 2004 01:26, George Shepelev wrote to Alex Kouznetsov:

GS> Суббота Апрель 17 2004 03:33, Alex Kouznetsov wrote to Yuriy K:

LB>>> Тут речь идет не о точности, а о повышении разрядности. Hа практике LB>>> это может пригодиться для определения небольшой разности между двумя LB>>> сигналами.

YK>> Именно. YK>>> ШИМ + RC-фильтр = пила с размахом в несколько LSB, добавляется к YK>>> входному сигналу.

AK>> Гораздо проще сделать "сомопальный ЦАП" на 2-3 разряда при помощи 2-3 AK>> линий портов мелкопроцессора и, соответственно, 2-3 (высокоомных) AK>> резисторов.

GS> Одна из проблем в том, что АЦП как правило имеют линейность на уровне GS> младшего разряда. Т.е. дополнительные разряды повысят чувствительность GS> измерений, _но не точность_...

Тебе не надо было повторять про точность, достаточно было не отрезать начало :(

Пока, Алексей

Reply to
Alex Kouznetsov

Alex, ты ещё здесь сидишь?

Вторник Апрель 20 2004 16:55, Alex Kouznetsov wrote to George Shepelev:

GS>> Одна из проблем в том, что АЦП как правило имеют линейность на GS>> уровне младшего разряда. Т.е. дополнительные разряды повысят GS>> чувствительность измерений, _но не точность_... AK> Тебе не надо было повторять про точность, достаточно было не отрезать AK> начало :(

Тем не менее мне показалось разумным специально акцентировать на этом внимание, чтобы такая метода некоторым (начинающим) не показалась панацеей. Мне попадались люди, которые верили, что точность АЦП целиком определяется числом его разрядов :-/

Георгий

Reply to
George Shepelev

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.