Гость @Ark 30 марта, 2011 Опубликовано 30 марта, 2011 · Жалоба Именно такая градация у него: 0 - 0V...0.5V, 1 - 0.5V...1V. Выберите что-нибудь "по вкусу" . Правильно! Поэтому в таком АЦП значение 0 - соответствует напряжению 0,25V (+/-0,25V), а значение 1 - соответствует напряжению 0,75V (+/-0,25V), а совсем не опорному 1V. Если же мы хотим чтобы нуль был в нуле, необходимо сместить все значения на - 0,25V. Тогда 0 будет соотвествовать 0V (+/-0,25V), а 1 - соответствовать 0,5V (+/-0,25V). Что еще дальше от опорного напряжения. А опорному напряжению 1V (+/-0,25V) будет соответствовать значение 2, недоступное в данном диапазоне. Увеличивая количество разрядов до 8, получим, что значение 255 никогда точно не соответствует опорному. Опорному напряжению должно соотвествовать значение 256, на что и нужно делить. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
rezident 0 30 марта, 2011 Опубликовано 30 марта, 2011 · Жалоба Второй АЦП - "правильный". А первый - или так хитро сделан, или ошибка в даташит. Исключение из общего правила.Вот вам пример еще одного (неправильного?) АЦП. АЦП встроен в контроллеры SiLabs типа C8051F35x. Тут правда не формула, а табличка. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Oldring 0 30 марта, 2011 Опубликовано 30 марта, 2011 · Жалоба Какую величину надо использовать при пересчете данных с АЦП (пусть 8-разрядного) в реальные вольты на его входе: 255 или 256? Определяется конструкцией АЦП, которая, как правило, устроена таким образом, что VRef = 256. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Wise 0 30 марта, 2011 Опубликовано 30 марта, 2011 · Жалоба ..Когда все 1111..11, это означает, что входное напряжение, как минимум, равно опорному. А может и гораздо больше.. :rolleyes: То есть, число ступенек A = 2^N - 1. ..Разговоры про"конструкцию" - в пользу бедных.. :rolleyes: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Oldring 0 30 марта, 2011 Опубликовано 30 марта, 2011 · Жалоба ..Когда все 1111..11, это означает, что входное напряжение, как минимум, равно опорному. Как минимум равно Vref-LSB. С точностью до full scale error. И это определяется двумя вещами. Конструкцией большинства АЦП и обычным представлением чисел в двоичной арифметике, которую стараются реализовать на выходе. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DpInRock 0 30 марта, 2011 Опубликовано 30 марта, 2011 · Жалоба Сход постановил: 1. Делить можно на любое число, по вкусу. 2. Обратное преобразование в код (из напряжения) - также можно умножать на любое число. Дробную часть отбрасывать. Результат не зависит от 255 или 256. (Вроде как). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ViKo 1 30 марта, 2011 Опубликовано 30 марта, 2011 · Жалоба Не понял наезда. По-вашему, вы один отстаиваете истину, а все остальные здесь - флудят? Уровней - два. А делить надо на 1. Какой наезд? Я ж про себя говорю. :) Значит, уровней два? Ну и как они получатся делением 1 на 1? :) Вот вам пример еще одного (неправильного?) АЦП. АЦП встроен в контроллеры SiLabs типа C8051F35x. Тут правда не формула, а табличка. А вот это пример как раз "правильного" АЦП. У него есть коды от 0000 до FFFF включительно, итого 2^16 уровней. Сход постановил: Делить можно на любое число, по вкусу. Результат не зависит от 255 или 256. (Вроде как). Нет. Делить надо на то, что написано в даташит. Если не написано, делите на 256. Если делить на 255 (ох, как сложно!), ошибка хоть и маленькая, но будет. Такой хоккей нам не нужен! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
rezident 0 30 марта, 2011 Опубликовано 30 марта, 2011 · Жалоба Значит, уровней два? Ну и как они получатся делением 1 на 1? :)На самом деле всех интересует величина входного напряжения, а не собственно код АЦП. Но при обратном преобразовании получаются два значения напряжения 0В и 1В. Поэтому кажется, что 1В/1 :) Чтобы этот пример с двумя уровнями квантования был более наглядным величину опоры нужно брать отличную от единицы, например, 2В, 4В или более реальные значения 1,25В, 2,5В, 3В, 4,096В, 5В. А вот это пример как раз "правильного" АЦП. У него есть коды от 0000 до FFFF включительно, итого 2^16 уровней.Любопытно, а как вы себе представляете другой вариант 16-и разрядного АЦП? 16 разрядов дают коды от 0x0000 до 0xFFFF. Не больше и не меньше. Дискретов действительно 2^16=65536, но соответствие входного напряжения дискретному коду АЦП для общего случая опять же не определено строго и зависит от конструкции конкретного АЦП. Вот пример еще одного "неправильного" АЦП типа сигма-дельта SD16A из MSP430. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ViKo 1 30 марта, 2011 Опубликовано 30 марта, 2011 · Жалоба На самом деле всех интересует величина входного напряжения, а не собственно код АЦП. Но при обратном преобразовании получаются два значения напряжения 0В и 1В. Не получаются. Если хотите, подайте на ЦАП с опорным напряжением 1V, на старший разряд. Получите 0 или 0.5V. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DpInRock 0 30 марта, 2011 Опубликовано 30 марта, 2011 · Жалоба Попробуйте самостоятельно изготовить АЦП последовательного приближения. 11111111 получается, когда компаратор говорит, что входное напряжение все еще больше 11111110! А так как это последний шаг (число шагов не может превышать некоторое количество) - то результат полагают равным 111111111. Т.е. с 111111111 никто ничего не сравнивает. Сравнивают 1111 1110 со входом. А что такое 1111 1110 - это результат R2R ЦАП. Вот и делайте выводы. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ViKo 1 30 марта, 2011 Опубликовано 30 марта, 2011 · Жалоба Т.е. с 111111111 никто ничего не сравнивает. Сравнивают 1111 1110 со входом. Почему это? Что мешает? На ЦАП код 11111111 можно подать? И в ЦАП обычно выходное напряжение не дотягивает до опорного на единичку младшего разряда. А всех уровней будет 2^N. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Oldring 0 30 марта, 2011 Опубликовано 30 марта, 2011 · Жалоба 11111111 получается, когда компаратор говорит, что входное напряжение все еще больше 11111110! А так как это последний шаг (число шагов не может превышать некоторое количество) - то результат полагают равным 111111111. Нет. С младшим разрядом АЦП последовательного приближения сравнивают обязательно. Иначе зачем он нужен был бы, этот младший разряд? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Гость @Ark 30 марта, 2011 Опубликовано 30 марта, 2011 · Жалоба Вот и делайте выводы. Все выводы давно сделаны. Не зря опорники выпускают на 4,096В, а не на 4,095В. А кварцы - на 32768Гц, а не 32767Гц. Максимальное значение в регистре (АЦП или таймера) отличается на единицу в меньшую сторону от используемого опорного значения. Поэтому и делить всегда нужно на 2^N. Лишний геморрой с пересчетом ни кому не нужен. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DpInRock 0 30 марта, 2011 Опубликовано 30 марта, 2011 · Жалоба Странные люди. Я ж сказал - если вы сами бы изготавливали... Какой смысл сравнивать что-то с 111111111? Меньше - быть не может. Больше - все равно цифру не выдать больше. Шаг сравнения с 1111 1110 - ПОСЛЕДНИЙ. После него принимается решение. Алгоритм такой. А последний разряд, Хаус, нужен для чисел других, например, 10000001. Там есть смысл сравнивать. А единственная ситуация, когда (шаг алгоритма является последним && насыщение разрядности) - это в случае 11111111. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Oldring 0 30 марта, 2011 Опубликовано 30 марта, 2011 · Жалоба Какой смысл сравнивать что-то с 111111111? Меньше - быть не может. Больше - все равно цифру не выдать больше. Кто вам сказал, что не может? Бывают напряжения между 111111110 и 111111111. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться