Повышение разрешения АЦП с помощью оверсемплинга
- Войдите на сайт для отправки комментариев
Вс, 02/11/2014 - 16:46
Делаю терморегулятор, вместо датчика температуры использую диод. Показания на АЦП от -18 до 100 С были примерно от 905 до 972 около 1,7С на шаг АЦП, что естественно неустраивало меня. Возиться с операционниками для усиления сигнала нехотелось, решил поискать решение проблеммы в интернете и нашел тут.
По полученой инфе написал функцию опроса АЦП с оверсемплингом
int temp_analog(){ int DAC=0; int ar=0; for (int s=0; s<=16;s++){ ar=analogRead(0); DAC=DAC+ar; } temp=DAC/4; DAC=0; temp=(pre_temp*7+temp)/8;//сглаживание от резких изменений pre_temp=temp; //тут обработка показаний (перевод значений АЦП в градусы цельсия) return temp; }
Выглядит просто, а результат выдает отличный с точностью до 0,5С , разрешение увеличилось в 4 раза (АЦП от 0 до 4095)
Вы бы проверили точность получившегося измерения температуры, прежде чем радостно советовать такое решение.
Я написал как увеличить бит ность АЦП. А точность температуры будет зависеть от того как Вы эти данные об работаете. У меня все отлично работает температуру показывает точно при том что изначально выходное напряжение датчика в очень узком де ап а зоне как я писал выше. Нехочу спорить. Подключите перемен ник и сами проверьте.
Прежде чем это сделал два дня интернет рыл, а вы даже по ссылке выше ленитесь пройти.
yul-i-an, я знаю как работает оверсемплинг, и не пытаюсь сейчас инициировать спор) Я спрашиваю, вы сравнивали точность получившегося измерения с заведомо точным термометром? Если да, то чем и как проверили точность? Если не проверяли, то возьмите хотя бы обычный медицинский ртутный градусник, он есть в любом доме. У него конечно небольшой диапазон измеряемых температур, зато приличная точность +/- 0,1С .
Исправил ошибку
yul-i-an, не хотите обсуждать точность, давайте обсудим разрядность.
Исходно у ардуиновского АЦП можно приближенно считать, что восьми разрядам более или менее можно верить, а два младших содержат шум.
Т.е. реальный "шаг АЦП" у Вас примерно 7 градусов. (это мы обсуждаем именно АЦП, вынося за скобки погрешность самого датчика).
Вы провели 16 измерений, в результате чего добавили к имеющимся 10 разрядам еще 4. Но из этих четырех только два можно считать, собственно, информационными, в два оставшиеся - шумовые.
Т.е. при единственном измерении было 8 достоверных разрядов и 2 шумовых, а для суммы из 16 отсчетов стало 10 иныормационных и 4 шумовых. Т.е. по факту погрешность самого АЦП составила те самые 1.7 градуса, о которых Вы писали в начале. Тоже, конечно, неплохо (особенно по сравнению с теми семью градусами, что были), но вряд ли достаточно.
Одно измерение занимает около 0.11 мс, 16 измерений - менее 2 мс. Вряд ли целесообразно делать индикацию чаще чем раз в 0.2-0.5 с. Т.е. количество измерений, по которым Вы будете проводить усреднение можно еще увеличить, минимум, в 16 раз, доведя их до 256. Тогда у Вас будет 12 информационных разрядов и 6 шумовых. И все это менее, чем за 30 мс.
Некоторую постоянную составляющую лучше бы вычесть сразу - из каждого отсчета до сложения, чтобы не поймать переполнение разрядной сетки, а шум можно отрезать уже из суммы - сдвигом вправо.
Извините, а чисто теоретически, оверсемплинг имеет право на существование?
Или это чистой воды шарлатанство?
Piskunov, не так он хорош, как его хвалят, но польза несомненная. Я с некоторых пор вообще не пользуюсь встроенным АЦП без оверсемплинга :) Вот тут русский перевод атмеловского апноута на эту тему.
Оверсэмплинг может решить одну единственную проблему - борьбы с шумами.
Все остальные проблемы: погрешности датчика, наводки и помехи, нестабтильность опорного напряжения, нелинейность АЦП и все прочие, которые принято относить к систематическим погрешностям, при помощи оверсэмплинга решить нельзя.
Извините, а чисто теоретически, оверсемплинг имеет право на существование?
Или это чистой воды шарлатанство?
Т.е. исходный АЦП измеряет свои ступеньки очень точно, но количество их мало.
Ключевая фраза.
Т.е. исходный АЦП измеряет свои ступеньки очень точно, но количество их мало.
Ключевая фраза.
Вот-вот.
Только на практике такая ситуация, как правило, не встречается.
Кстати, даже в этом случае один оверсэмплинг ничего не даст, - нужно подмешивать в измеряемый сигнал шум интенсивностью не менее единицы младшего разряда АЦП.
dimax, andriano, Duino A.R., Arhat109-2, спасибо!
Вгрузило нипадеццки ))
Пытаюсь как-то осмыслить, но быстро не получается. По-видимому принцип оверсемплинга должен рассматриваться в жёсткой привязке к характеристикам реальных АЦП, размер ступеньки должен быть связан с доверительным интервалом и тп.
Не подскажете что можно почитать по этой теме? С применением основ теории вероятностей и статистики.
dimax, andriano, Duino A.R., Arhat109-2, спасибо!
Вгрузило нипадеццки )) ...
Не подскажете что можно почитать по этой теме? С применением основ теории вероятностей и статистики.
1. "Чем дальше в лес, тем... толще партизаны". :)))
2. Я предлагаю начать не с мат. методов, а с четкого понимания характеристик реальных АЦП: разрядности, точности (вернее погрешностей: основной и дополнительных, от нелинейности, от температуры, от опорного и т.п.). Дело в том, что для всех встречавшихся мне итеральных АЦП величина даже основной погрешности у них превосходила вес младшего, а то и двух младших разрядов. Ардуино не исключение. Для УНО, например, при 10-ти разрядном АЦП значения 2-х младших разрядов производитель не гарантирует. Для этого есть вполне реальные технологические причины. Здесь никакой оверсемплинг не поможет. Точнее, в некоторых случаях с его помощью может быть получится сделать из заявленного 10-ти разядного АЦП работающий 10-ти разрядный АЦП, но и то - без гарантии.
Я в "Саге о кнопках" в разделе работы с аналоговой клавиатурой частично касаюсь вопросов соотношения точностей и разрядностей АЦП и ЦАП. Можете начать с этого, там без зауми. :) Но начать надо именно с этого и в этом для себя четко разобраться. Иначе вся наверченная сверху математика будет сплошным самообманом, а не помощью.
"""нужно подмешивать в измеряемый сигнал шум интенсивностью не менее единицы младшего разряда АЦП."""
Шум или "пилу"?
"""нужно подмешивать в измеряемый сигнал шум интенсивностью не менее единицы младшего разряда АЦП."""
Шум или "пилу"?
Можно не углубляться. Оверсамплинг на ардуино практически ничего не дает, а больше 4х-16-ти выборок вообще лишен смысла. Причина - системные ошибки, в первую очередь нестабильность опорного напряжения - дают дрейф значительно превышающий получаемую оверсамплингом "виртуальную разрядность".
Обращайте внимание, кто пишет. Исходный топик - треш, как и прочие темы данного автора
Еще очень давно в процессе работы с измерителями 4-20 мА у нас при сглаживании результатов появился "хороший лишний" разряд в данных. Мы обсудили : Почему? Так и появилось предложение подмешивать "пилу" амплитудой в один младший разряд.
Посмотрели, что в нашем случае? Оказалась наводка 50 Гц, амлитудой 2-3 младших разряда.
Теория. Не зря же я пять лет на МехМате учился! ;)
Оверсемплинг базируется на "Законе больших чисел". Не вдаваясь в детали, он утверждает, что среднее арифметическое суммы случайных величин, стемится к матожиданию.
То есть если шум, включая все шумы и измерений и дискретизации и дрейф опорного, имеет конечную диперсию и матжидание в нуле, то оверсемлинг позволит избавиться от шума, при бесконечном колическтве измерений ;). Реально мы не очень знаем распределение шума и плохо можем оценить сходимость.Лучшая оценка - эмпирическая, при калибровке эталоном.
Еще очень давно в процессе работы с измерителями 4-20 мА у нас при сглаживании результатов появился "хороший лишний" разряд в данных. Мы обсудили : Почему? Так и появилось предложение подмешивать "пилу" амплитудой в один младший разряд.
Посмотрели, что в нашем случае? Оказалась наводка 50 Гц, амлитудой 2-3 младших разряда.
ну, если я вас правильно понял, просто "подмешивать" мало - надо еще подбирать частоту этой пилы. чтобы она была кратной частоте помехи, иначе ничего не увидишь.
Оверсемплинг базируется на "Законе больших чисел". Не вдаваясь в детали, он утверждает, что среднее арифметическое суммы случайных величин, стемится к матожиданию.
Я на мехмате не учился - струсил поступать :) Я формулирую по простому - сигнал все время остается на одном месте, а шумы - меняются. Поэтому после суммирования N измерений интенсивность постоянного сигнала вырастет ровно в N раз, а интенсивность шума - менее чем в N (для белого шума теория дает корень из N - если правильно помню). Таким образом, после N измерений отношение "сигнал/шум" вырастет в корень из N раз. А чем чище сигнал от шума - тем точнее его можно измерить.
Вообще-то шум младших разрядов присутствует далеко не всегда.
Например, АЦП имеет 24 двоичных разрядов, из них шумят 5-6 нижних, и телесистема передает только 16 разрядов. А желательно иметь 18.
Тогда, примешав "пилу" амплитудой +-16 разряд (или 17? Уточните, пож. WDRAKULA) можно по телесистеме передать "лишние" разряды без потери точности.
Да?
... Таким образом, после N измерений отношение "сигнал/шум" вырастет в корень из N раз. А чем чище сигнал от шума - тем точнее его можно измерить.
Отнюдь.
Уменьшается только один из видов ошибок - случайные. Все остальные остаются на своем месте, что, как правило, никак не приближает нас к увеличению точности измерений.
Уменьшается только один из видов ошибок - случайные. Все остальные остаются на своем месте, что, как правило, никак не приближает нас к увеличению точности измерений.
Это зависит от контекста применения. В моей работе - измерение и изучение высокочастотных спектров - абсолютное значение амплитуд никого не интересует, важно лишь их отношение при разных частотах. Таким образом, влияние большинства систематических факторов легко учесть, так как в силу своей "систематичности" они влияют одинаково на всю серию измеряемых величин. А вот точность измерения относительных амплитуд напрямую связана с отношением сигнал/шум. Поэтому в моей работе оверсемплинг - рутинная технология. я с ним сталкиваюсь десятки раз на дню :)
Хорошо.
Допустим, при дискретизации границы интервалов вместо:
...
121.5,
122.5,
123.5,
124.5,
...
на самом деле выглядят так:
...
122.1,
122.3,
122.9,
125.1,
...
Вы думаете, что "систематичность" оштибки хоть каким-то образом поможет Вам "вытащить" десятые доли, которые можно было бы использовать хотя бы в относительных единицах?
Хорошо.
Допустим, при дискретизации границы интервалов вместо:
Вы думаете, что "систематичность" оштибки хоть каким-то образом поможет Вам "вытащить" десятые доли, которые можно было бы использовать хотя бы в относительных единицах?
Мы говорим о разном. Я не вполне понимаю, где в вашем ряду относительные величины :)
Могу предложить свой пример. Допустим, в каждый момент мы измеряем две связанные величины:
58.7 104.3
59.9 98.3
62.4 101.0
61.8 100.2
Если величины действительно связаны между собой и АЦП имеет достаточную разрядность -тогда, несмотря на то, что "шум" в единичном отсчете у нас достигает пяти единиц - после усреднения достаточной серии измерений вы получите ответ с точностью лучше десятых : 60.0 к 100.0.
Кстати, необходимое кол-во измерений рассчитать нетрудно - как я уже писал, отношение сигнал/шум растет как корень квадратный от числа накоплений. Если начальный шум 5 единиц, а мы хотим понизить его до 0.1 - значит нам нужно увеличение в 50 раз - для этого потребуется 50**2 = 2500 отсчетов. всего-то ничего... в моей практике десятки тысяч отсчетов не редкость.
да что мы словами бросаемся... вот вам примерчик, что оверсемплинг может не только повысить точность измерений, но даже позволяет увидеть то, чего в исходном сигнале вроде как не было :)
верхняя спектрограмма - после 30 измерений, нижняя - после 22 тысяч. Обратите внимание на мелкие сигналы справа. которых в верхнем спектре вообще "нет".
В моем ряду вообще нет относительных величин - только границы интервалов.
Другими словами:
диапазон значений от 122.1 до 122.3 трактуется как 122,
диапазон значений от 122.3 до 122.9 трактуется как 123,
диапазон значений от 122.9 до 125.1 трактуется как 124.
... оверсемплинг может не только повысить точность измерений, но даже позволяет увидеть то, чего в исходном сигнале вроде как не было :)
Здесь Вы правы: бездумная обработка может привнести в исходный сигнал то, чего там никогда не было.
PS. Верхний график не выглядит как построенный по 30 точкам - чего-то Вы недоговариваете.
В моем ряду вообще нет относительных величин - только границы интервалов.
Другими словами:
диапазон значений от 122.1 до 122.3 трактуется как 122,
диапазон значений от 122.3 до 122.9 трактуется как 123,
диапазон значений от 122.9 до 125.1 трактуется как 124.
в вашем примере просто не хватает разрядности АЦП. Если минимальный сигнал у вас ниже чувствительности датчика - вы его никаким оверсемплингом не получите.
Здесь Вы правы: бездумная обработка может привнести в исходный сигнал то, чего там никогда не было.
PS. Верхний график не выглядит как построенный по 30 точкам - чего-то Вы недоговариваете.
Верхнюю фразу оставляю на вашей совести - мне кажется, в вас просто говорит упрямство :) Мелкие сигналы имеют физический смысл, это не помехи и не наводки.
График, конечно же, содержит не 30 точек. Я такого и не говорил. Я сказал, что верхний спектр измерен 30 раз и наложен друг на друга. При каждом измерении мы получаем сразу весь диапазон от правого до левого края. А нижняя картинка - это 22 тыс таких спектров. При одном измерении в спектре вообще практически один шум, даже большие сигналы почти не видны. Но по мере накопления сигналы остаются на одном месте, а шумы меняются, поэтому сигналы "вылезают" из шума.
если чо :) - это не какая-нить задротная теория, а вполне рутинный метод анализа, давно применяемый в промышленности.
в вашем примере просто не хватает разрядности АЦП. Если минимальный сигнал у вас ниже чувствительности датчика - вы его никаким оверсемплингом не получите.
Отнюдь.
Наложите на сигнал белый шум интенсивностью в 1 разряд и проведите оверсэмплинг - при достаточном количестве отсчетов получите вполне отчетливый сигнал.
Собственно, примерно это Вы на своих графиках и демонстрируете.
Я же хочу сказать, что универсального метода повышения точности измерений нет и быть не может. Но во многих частных случаях для конкретных условий такие методы можно найти. Иногда - весьма эффективные, иногда - не очень.
Тот же самый оверсэмплинг в некоторых случаях дает неплохой результат, а в некоторых - не дает ничего кроме ложной уверенности. Именно это последнее обстоятельство и является существенным.
Поэтому следующие утверждения в общем случае являются неверными:
1. Оверсэмплинг увеличивает точность измерений в sqrt(N) раз, где N - количество измерений.
2. Оверсэмплинг увеличивает точность измерений, хотя и нельзя точно сказать, насколько.
Т.е., если вернуться к теме топика, то в общем случае она недостижима.
Я же хочу сказать, что универсального метода повышения точности измерений нет и быть не может. Но во многих частных случаях для конкретных условий такие методы можно найти. Иногда - весьма эффективные, иногда - не очень.
Тот же самый оверсэмплинг в некоторых случаях дает неплохой результат, а в некоторых - не дает ничего кроме ложной уверенности. Именно это последнее обстоятельство и является существенным.
Поэтому следующие утверждения в общем случае являются неверными:
Это в общем верно, но на практике "общее" мало кого интересует, куда важнее обозначить конкретные рецепты - когда оверсемплинг полезен, а когда нет.
Оверсэмплинг помогает в тех случаях, когда меняющаяся составляющая в сигнале больше, чем внутренняя точность измерения. Поясню на примере ардуины: допустим, вы подаете на аналоговый вход синусоиду амплитудой 1в с таким смещением, что обе волны лежат в положительной области.. Каждое отдельное измерение будет давать вам "случайную" величину с размахом в 2 в. Однако если сделать достаточное число отсчетов, вы без труда измерите среднее значение сигнала с точностью в десятые и даже сотвые вольта, несмотря на то что "шумы" входного сигнала в сотни раз больше. И эта величина будет иметь простой физический смысл - это смещение кривой относительно нуля. Вот вам пример реального оверсемплинга на ардуине.
В последнем примере я несколько спутал оверсэмплинг с усреднением :) Да, многое уже забыл из теории... Ну ладно, стирать не буду, оставлю для поддержания дискуссии :)
Однако оверсемплинг и усреднение, действительно, имеют много общего. В частности, ни тот, ни другой метод не позволяют получить точность, существенно превышающую точность измерения величины до дискретизации. В этом смысле довольно любопытно, какова точность измерения напряжения аналоговой частью ардуиновского АЦП. Перевод атмеловского апноута, приведенный выше dimax - об этом умалчивает.
Мне представляется, что вряд ли эта точность существенно больше половины шага дискретизации. В этом случае тот "успешный оверсэмплинг", что описан в первом посте ветки - не более чем самообман.
Похоже, мы пришли к единому мнению (возможно, не в результате спора, а в результате прояснения позиций).
На №31: Я не сомневаюсь, что при грамотной организации измерений Ардуина способна обеспечить точность до сотых долей вольта.
На №32: Оверсэмплинг и усреднение - по сути одна и та же математическая операция, различаются лишь целью порведения этой операции. С оценками в последнем предложении также вполне согласен.
Обращайте внимание, кто пишет. Исходный топик - треш, как и прочие темы данного автора
Тоже самое про вас могу сказать...
Можно не углубляться. Оверсамплинг на ардуино практически ничего не дает, а больше 4х-16-ти выборок вообще лишен смысла. Причина - системные ошибки, в первую очередь нестабильность опорного напряжения - дают дрейф значительно превышающий получаемую оверсамплингом "виртуальную разрядность".
да что мы словами бросаемся... вот вам примерчик, что оверсемплинг может не только повысить точность измерений, но даже позволяет увидеть то, чего в исходном сигнале вроде как не было :)
Я хоть на практике проверил, а вы только воздух зря гоняете, даже толком с теорией не ознакомившись.
Или вы думаете что я от нечего делать тему открыл?
Или вы думаете что я от нечего делать тему открыл?
да кто ж знает, зачем вы публикуете свои опусы.
Так же как с библиотекой для резистора и с "разъяснением для новичков" про экраны. Вам еще про переполнение миллис надо написать, чтобы завершить картину.
yul-i-an, Вы путаете между собой разрешение и точность.
Коль скоро Вы прочитали (хотя и невнимательно) материал по указанной Вами ссылке, советую перечитать последнее предложение в п.2 указанного материала.
Хотя разрешение у Вас и стало порядка 0.4, но это совершенно не означает, что точность возросла до 0.5 градуса. Погрешность как была порядка 1.5-2 градуса (в лучшем случае), так и осталась. И никаких доводов, показывающих, что это не так (например, результатов сравнения с образцовым прибором), Вы даже не пытались приводить.
Я хоть на практике проверил, а вы только воздух зря гоняете, даже толком с теорией не ознакомившись.
Я то как раз ознакомился, а вот вы - нет. Прочитайте внимательно раздел 3.2 и попытайтесь понять, чем отличается оверсемплинг от усреднения. Потом посмотрите на свой код - у вас банальное усреднение. Вы копите две порции данных по 16 точек, а потом делите их сначала на 4, а потом их сумму на 8... то есть сумму 32х значений делим на 32...
Результат - никакого повышения точности нет ни в теории, ни на практике. Вывод описан в этой же статье: "Важно помнить, что нормальное усреднение не увеличивает разрешение преобразования."
Я хоть на практике проверил, а вы только воздух зря гоняете, даже толком с теорией не ознакомившись.
Я то как раз ознакомился, а вот вы - нет. Прочитайте внимательно раздел 3.2 и попытайтесь понять, чем отличается оверсемплинг от усреднения. Потом посмотрите на свой код - у вас банальное усреднение. Вы копите две порции данных по 16 точек, а потом делите их сначала на 4, а потом их сумму на 8... то есть сумму 32х значений делим на 32...
Результат - никакого повышения точности нет ни в теории, ни на практике. Вывод описан в этой же статье: "Важно помнить, что нормальное усреднение не увеличивает разрешение преобразования."
К упомянутой теории есть замечательный комментарий:
От себя могу добавить, что ничто не препятствует программисту получить столько десятичных разрядов, сколько влезает в индикатор. И даже больше, если запрограммировать вывод по принципу бегущей строки.
temp=DAC/4; = разрешение увеличилось в 4 раза (АЦП от 0 до 4095)
я правильно понял ? это вы называете оверсемплингом ?
yul-i-an, Вы путаете между собой разрешение и точность.
В названии темы разрешение упомянул.
Потом посмотрите на свой код - у вас банальное усреднение. Вы копите две порции данных по 16 точек, а потом делите их сначала на 4, а потом их сумму на 8... то есть сумму 32х значений делим на 32...
Может надо внимательней код читать? Где тут усреднение?
Может надо внимательней код читать? Где тут усреднение?
Ок, признаю - ваш код соответствует тексту атмеловского документа. Вы действительно таким образом могли повысить числовое разрешение своих измерений. В теории. Вопрос - что это дало практически? Вы же сами пишете, что речь лишь о разрешении дискретизации, а вовсе не о точности.
Вы проверяли, насколько полученные данные:
а) точны (соответвуют эталонному термометру)
б) стабильны ( не меняются во времени в длинной серии при постоянной температуре)
в) воспроизводимы ( получаете ли вы сегодня, завтра и через неделю одни и те же результаты) ???
Без этого, ИМХО, это все лишь математическая игра. Заменили деление сдвигом и получили в 4 раза больше точек. Виртуальных.....
temp=DAC/4; = разрешение увеличилось в 4 раза (АЦП от 0 до 4095)
я правильно понял ? это вы называете оверсемплингом ?
а если измерить 128-256 раз и не делить на 4 - вообще сторублевая ардуина превзойдет любой прецизионный вольтметр из тех, за которые лохи тысячи долларов платят.
Похоже, люди не знают основы метрологии.
Погрешность измерения - разность между истинным значением параметра и измеренным.
Если погрешность измерителя больше младшего разряда, то никакое увеличение разрядности не повысит точность измерений. Понизится порог чувствительности (повысится разрешающая способность) измерителя. Это очень нужно и полезно, если измеряется ИЗМЕНЕНИЕ ПАРАМЕТРА.
Если погрешность измерителя меньше младшего разряда, то увеличение разрядности может повысить точность измерений. Но это уже другая песня. Проводите испытания по существующим ГОСТам и доказывайте, что получившийся измериель имеет меньшую погрешность.
Похоже, люди не знают основы метрологии.
Погрешность измерения - разность между истинным значением параметра и измеренным.
Если погрешность измерителя больше младшего разряда,
а если измерить 128-256 раз и не делить на 4 - вообще сторублевая ардуина превзойдет любой прецизионный вольтметр из тех, за которые лохи тысячи долларов платят.
Надеюсь это сарказм ?
И вообще, мне не понятно, почему никто не обращает внимание, что для успешного оверсемплинга необходим шум не просто какой то , а:
а если измерить 128-256 раз и не делить на 4 - вообще сторублевая ардуина превзойдет любой прецизионный вольтметр из тех, за которые лохи тысячи долларов платят.
Надеюсь это сарказм ?
Это разоблачение заговора производителей точных приборов и примкнувших к ним метрологов и прочих поверителей.
Заметьте нужен шум и конкретный, а не какой нибудь кривой. Я не думаю, что эти условия легко и всегда выполнимы.
Если не полинится то по приведенным выше ссылкам можно найти следующее
Обычно в сигнале присутствует некоторый шум во время преобразования. Это может быть тепловой шум, шум от ядра микроконтроллера, переключения портов ввода вывода, шум источника питания и так далее. В большинстве случаев этого шума будет достаточно для работоспособности рассматриваемого метода. В отдельных случаях потребуется добавить к входному сигналу некоторый искусственный шум.
Это все, без привязки к цифрам - просто блаблабла. Ясный пень им нужно показать какой хороший у них продукт, вот и тянут за уши. В общем если шум будет менее одного шага ацп, то никакого оверсемплинга ждать не стоит.
У меня, кстати, к вам вопрос, вы видели в даташите как должна быть запитана аналоговая часть проца и АЦП ? У вас так ?