Перейти к содержанию
    

В ту-же тему задачка: при оверсемлинге N-отсчетов суммируются и сдвигаются вправо на М. Например, если хотим получить 10 бит из восьми, то суммируем 16 отсчетов и сдвигаем вправо на 2. Если все отсчеты были равны 255, то результат будет 1020, а не 1023. И насколько делить в этом случае? :biggrin:

А слабо из 8 бит получить 24? ;)

 

А делить однозначно либо на 255*4 либо на 256*4, а этот выбор - собсно сабж темы. Но уж точно не на 1023

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Думал я, думал и вот что надумал.

Я решил: делть буду на 255 (для АЦП, которому годится та картинка(!!) )

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

Только выводы сделали неправильные. :)

Что есть делить на 255? Сложная процедура. Не у каждого микроконтроллера получится легко.

А что есть делить на 256? Да вообще ничего делать не надо! Взял старший байт, а про младший забыл. А чтобы добавить пол-младшего разряда, прибавить к младшему байту 0x80 (считаем, уже поделили, и это есть дробная часть), и, если есть перенос, увеличил старший байт. Или использовать и старший байт (целая часть), и младший (дробная часть). И ошибка равна нулю!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Гость @Ark
Каждому коду с АЦП соответствует не точка напряжения, а интервал: код 00000 соответствует точке в интервале 0...1LSB, код 11111 - Vref-1LSB...Vref (и больше, но это сейчас не важно).

Не совсем так. У нормального АЦП нуль должен быть нулем. Поэтому интервалы все смещены на -(1/2)LSB.

И значение кода, в этом случае, точно соответствует своему напряжению с погрешностью +/-(1/2)LSB.

И делить, естественно, только на 2^N (когда это необходимо).

P.S. Если ваше АЦП изложенному выше не соответствует - выбросьте его, и возьмите нормальное.

Либо смиритесь с погрешностью.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Не совсем так. У нормального АЦП нуль должен быть нулем.

Рассмотрим АЦП с униполярным входом. 2-битовый (4-уровневый), с опорным напряжением 1V.

У такого АЦП коды будут соответствовать:

00 - 0...0.25V

01 - 0.25..0.5V

10 - 0.5..0.75V

11 - 0.75..1V

Подав такой код на ЦАП, получим напряжения: 0, 0.25V, 0.5V, 0.75V.

Имеем погрешность на пол-младшего разряда. Если к полученному коду добавить еще один (дробный) разряд, равный 1, и подать уже на 3-битовый ЦАП, мы эту погрешность устраним. Попадем точно в середину исходных диапазонов.

 

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

 

Для биполярных АЦП, наверное, можно сразу сделать преобразование без такой ошибки.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Рассмотрим АЦП с униполярным входом. 2-битовый (4-уровневый), с опорным напряжением 1V.

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

ЦАП и АЦП вещи взаимообратные.. :rolleyes:

 

ViKo, вы согласны с этим? Именно, с тем, что у двухбитного ЦАП на выходе нуль и три ступеньки, а не четыре?

..Если нет, смотрите книгу, например,

Р. Токхейм, Основы цифровой электроники, М., Мир, 1988.

 

..Там нарисованы два варианта 4-х битных ЦАП, вариант 4-х битного АЦП, приведены подробнейшие таблички соответствия кода и выходного напряжения.

 

Так вот, для 4-х битного АЦП, коду 0000 соответствует входное напряжение нуль, коду 1111 соответствует опорное напряжение; 16 строчек в таблице, 15 ступенек..

..Понятно, вполне, что коду 0000 соответствует входное напряжение от нуля и выше, но, менее 1/15 от опорного.

Коду 0001 соответствует напряжение, больше или равное 1/15 от опорного, но, менее 2/15 от опорного..

Коду 1111 будет соответствовать опорное напряжение, или большее..

То же самое относится к ЦАП-ам..

 

..И как-то я согласен с Р. Токхеймом.. :rolleyes:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Гость @Ark
Так вот, для 4-х битного АЦП, коду 0000 соответствует входное напряжение нуль, коду 1111 соответствует опорное напряжение; 16 строчек в таблице, 15 ступенек..

Возмите любое многоразрядное АЦП (8, 10, 12 ... разрядов) и выделите старшие 4 бита. Это и будет Вашим 4-х битным АЦП. Неиспользуемые младшие биты положите все равными нулю, или единице, или возмите среднее значение.

Ни в одном из случаев работа такого АПЦ не будет совпадать с тем, что Вы изложили!

P.S. Можете аналогичным образом изучить работу 2-х, 1-битного, или n-битного АЦП, выделяя нужное количество старших битов.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

причем, верхняя ступенька равна опорному напряжению.

 

Нут. У такого ЦАП верхняя ступенька может оказаться равным чему угодно, в зависимости от резистора обратной связи.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Возмите любое многоразрядное АЦП (8, 10, 12 ... разрядов) и выделите старшие 4 бита. Это и будет Вашим 4-х битным АЦП.

P.S. Можете аналогичным образом изучить работу 2-х, 1-битного, или n-битного АЦП, выделяя нужное количество старших битов.

АЦП - это "он", во-первых..

И зачем мне брать многоразрядный, что-то отбрасывая..

Я привел пример работы простого 4-х битного АЦП, причем, не мной придуманный..

 

 

Нут. У такого ЦАП верхняя ступенька может оказаться равным чему угодно, в зависимости от резистора обратной связи.

Да с чего вы взяли?

Не чему угодно, а именно, опорному напряжению или выше..

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

Зачем это сюда впутывать?

 

..Все, учебники более не пересказываю..

Пробовал уже, в одной теме..

Считайте, как хотите.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Гость @Ark
АЦП - это "он", во-первых..

И зачем мне брать многоразрядный, что-то отбрасывая..

Я привел пример работы простого 4-х битного АЦП, причем, не мной придуманный..

А я Вам привел пример реально существующего 4-х битного АЦП, который является составной частью,

например, 10-битного.

Вы задачах всегда все 10 бит используете? А если только 8 требуется, что все уже не правильно?

Случай с 4-мя битами ничем принципиально не отличается!

А "кривых" АЦП можно придумать сколько угодно. И, самое печальное, изготовить...

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А я Вам привел пример реально существующего 4-х битного АЦП, который является составной частью,

например, 10-битного.

..А"кривых" АЦП можно придумать сколько угодно. И, самое печальное, изготовить...

Я не понимаю, зачем надо рассматривать 8-ми битный АЦП, чтобы понять, как работает 4-х битный.

Не проще ли его (4-х битный) и рассмотреть?

 

..АЦП из указанной книжки вовсе не "кривой", поскольку, книжка учебная и показывает именно принципы работы.

 

..Ну, хоть вы скажите, сколько ступенек у 2-х битного ЦАПа (кроме нуля)..

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

ViKo, вы согласны с этим? Именно, с тем, что у двухбитного ЦАП на выходе нуль и три ступеньки, а не четыре?

..Если нет, смотрите книгу, например,

Р. Токхейм, Основы цифровой электроники, М., Мир, 1988.

Так вот, для 4-х битного АЦП, коду 0000 соответствует входное напряжение нуль, коду 1111 соответствует опорное напряжение; 16 строчек в таблице, 15 ступенек..

..И как-то я согласен с Р. Токхеймом.. :rolleyes:

Нет, не согласен! :(

А согласен я с предыдущими ораторами. И мы уже, как заевшая пластинка, в один голос повторяем - не соответствует максимальный код с АЦП опорному напряжению. А соответствует диапазону напряжения от на единичку младшего разряда меньшего, чем опорное, до опорного.

У двухбитового АЦП 4 уровня - 0, 1, 2 и 3, все равноценные. Не 0 + 3, а именно 4, хотя это уже вопрос демагогии.

Нарисуйте схему, если хотите доказать. Еще лучше, в спайсе покажите.

Или хоть из книги картинку покажите. Чему равна одна ступенька в АЦП Токхейма? Неужели Vref/15?

 

В-принципе, масштабировать АЦП или ЦАП можно до любого коэффициента. Но главное останется неизменным - у N-разрядного АЦП или ЦАП имеется 2^N уровней. Вот на это число и нужно делить, чтобы получить единичный шаг. А делить нужно то, что было бы при коде 2^N (чудо! :)). Причем в реальном устройстве, АЦП или ЦАП, такого кода нет. А есть лишь максимум 2^N - 1.

P.S. чем дальше влез... :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Нет, не согласен! :(

А согласен я с предыдущими ораторами. И мы уже, как заевшая пластинка, в один голос повторяем..

Или хоть из книги картинку покажите. Чему равна одна ступенька в АЦП Токхейма? Неужели Vref/15?

..Именно, что как пластинка.. :rolleyes: ..без доказательств.

 

Одна ступенька в АЦП из книги Токхейма (а не АЦП Токхейма) равна 1/15 от опорного, для АЦП в четыре разряда.

У меня только бумажная версия книги, если найду в инете, выложу фрагмент.

Перерисовывать и перепечатывать не буду, возиться с фото - тоже.

 

..Слушайте, я набрал в гугле Р. Токхейм и сразу эта книга всплыла..

Может, сами посмотрите..?

Мне-то зачем придумывать.. :rolleyes:

Изменено пользователем Wise

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Гость @Ark
..Именно, что как пластинка.. ..без доказательств.

Это не вопрос доказательства, а вопрос правильного=удобного выбора.

И почему нужно выбирать (строить АЦП) именно так - весь этот топик.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

.. А делить нужно то, что было бы при коде 2^N (чудо! :)). Причем в реальном устройстве, АЦП или ЦАП, такого кода нет. А есть лишь максимум 2^N - 1.

..Вот-вот.. :rolleyes:

Есть нуль и 2^N - 1 ступенек..

Каждому, отличному от нуля, значению кода, соответствует своя персональная ступенька..

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

..Слушайте, я набрал в гугле Р. Токхейм и сразу эта книга всплыла..

Может, сами посмотрите..?

Мне-то зачем придумывать.. :rolleyes:

Я показал здесь картинки из даташитов реальных АЦП и ЦАП. Им-то вы поверите? Там даже думать не надо, формулы написаны!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...