|
Из темы "Сравнение AVR и 51", Пример реализации 14bit ADC на AVR |
|
|
|
 |
Ответов
|
Nov 5 2007, 09:51
|
Знающий
   
Группа: Свой
Сообщений: 709
Регистрация: 3-05-05
Пользователь №: 4 693

|
Цитата(oran-be @ Nov 5 2007, 11:18)  130 Powerful Instructions – Most Single-clock Cycle Execution На самом деле впоследствии оказывается... Впоследствии оказывается, что самые важные команды(арифметицкие и логицкие а так-же доступ к большинству важных портов) таки, в большинстве, одноцикловые. А всякая вспомогательная ересь(загр-выгр, вызовы, переходы...), да, поболее будет. Просто в нормальной программе загружается 2-4 операнда, над ними, в грубой и извращённой форме, проводятся, насколько возможно более длительные, логицко-арифметицкие действия, а затем, по необходимости, поисходит выгрузка результата. И получается, что расход тактов на ввод-вывод 1-10%максимум. А песатель, грузящий два байта, складывающий их и запоминающий результат, достоин одного известного почотного звания. ;О) Можете спросить у =АВР=а, под настроение может присвоить. Про прерывания, многозадачность и 32 регистра, это ваще клиника. ;О) =АВР= просто обязан присвоинть внеочередное почотное звание. На компараторе вполне успешно делал АЦП двойного интегрирования 14р точности. Разрядность, ессно, выше. ;О) Никакихособых проблем с его параметрами не испытывал никогда. ЛМка трёхрублёвая ничем не лучше. В общем, кочайте последний дривер ruki.sys и настойчиво им овладевайте...
|
|
|
|
|
Nov 5 2007, 10:12
|
Местный
  
Группа: Свой
Сообщений: 234
Регистрация: 30-03-07
Из: Одесса
Пользователь №: 26 621

|
Цитата(DASM @ Nov 5 2007, 12:57)  Вот не пойму, во всех этих 195 ответах в топике что сделать пытались ? Обхаять AVR - вряд ли, архитектура временем доказала свою стабильность и востребованность. Себя показать ? Это ближе к истине, умные слова про многозадочность (жаль MMU в 8 битнике нет - какое упущение). Ах, ну да, резюме составить, компаратор на биполярнике и то лучше сделаем. Главное - кому и что доказываем то ? Прямым текстом - рассматриваются различные полярные системы подхода к написанию программ, в частности на АВР - жесткая радикальная и гибкая. ИМХО - я за вторую. Кроме этого, в контексте этого вопроса также попутно рассматриваются мнения о вопросе использования и понимания текстов в даташитах.  По умолчанию никто ничего не хает и никто ничего не доказывает - идет обмен мнениями - кто хочет, воспринимает, кто не хочет - озадачивается. Цитата(mse @ Nov 5 2007, 13:51)  А всякая вспомогательная ересь(загр-выгр, вызовы, переходы...), да, поболее будет. Просто в нормальной программе загружается 2-4 операнда, над ними, в грубой и извращённой форме, проводятся, насколько возможно более длительные, логицко-арифметицкие действия, а затем, по необходимости, поисходит выгрузка результата. И получается, что расход тактов на ввод-вывод 1-10%максимум. Ну, если считать загр-выгр, вызовы, переходы - ересью, то на фига тогда йадро надо - идите на ПЛИС, там этой ереси в помине нет - одни порты. Цитата(mse @ Nov 5 2007, 13:51)  На компараторе вполне успешно делал АЦП двойного интегрирования 14р точности. Разрядность, ессно, выше. ;О) Никакихособых проблем с его параметрами не испытывал никогда По наблюдениям, инженеры делятся на три категории - Инженеры, Пионеры и Ковбои. Заваять 14 разрядный АЦП на АВР компараторе - как раз пример подхода к делу Настоящего Ковбоя. Такие вещи прекрасно работают на столе разработчика, но в реальных условиях обычно вызывают удивление некоторыми фактами своей работы. Как минимум, зачем тогда вообще применяют дорогущие АЦП, если мона заваять все так просто? И Атмелы, попрошу заметить, не выкладывают элекрических характеристик на свои компараторы.
Сообщение отредактировал oran-be - Nov 5 2007, 10:33
|
|
|
|
|
Nov 5 2007, 10:44
|
Знающий
   
Группа: Свой
Сообщений: 709
Регистрация: 3-05-05
Пользователь №: 4 693

|
Цитата(oran-be @ Nov 5 2007, 13:12)  ... Заваять 14 разрядный АЦП на АВР компараторе - как раз пример подхода к делу Настоящего Ковбоя. Такие вещи прекрасно работают на столе разработчика, но в реальных условиях обычно вызывают удивление некоторыми фактами своей работы. Как минимум, зачем тогда вообще применяют дорогущие АЦП, если мона заваять все так просто? И Атмелы, попрошу заметить, не выкладывают элекрических характеристик на свои компараторы. Шо вы говорите? ;О) Таки, только на столе? А мужики не знают. Ну да ланно. Раскрою одну тайну Инженеру: для АЦП двойного интегрирования, параметры компаратора глубоко побоку. В разумных пределах. И эти пределы, "прошу заметить", добросовестно выкладывает Атымель в своих ДШ. Ну, эт понятно, не Инженерское дело в ДШ ковыряцца. Нащщот ереси, да, именно ересь, вспомогательная. Если мне выбирать что важнее, однотактовая арифметика или ввод-вывод, я, по-Ковбойски, выберу арифметику. Инженеру, видать, важнее быстро вывести результат получасового рассчота "а+б". ;О) Типпа "время-деньги".
|
|
|
|
|
Nov 5 2007, 11:15
|
Местный
  
Группа: Свой
Сообщений: 234
Регистрация: 30-03-07
Из: Одесса
Пользователь №: 26 621

|
Цитата(mse @ Nov 5 2007, 14:44)  Шо вы говорите? ;О) Таки, только на столе? А мужики не знают. Ну да ланно. Раскрою одну тайну Инженеру: для АЦП двойного интегрирования, параметры компаратора глубоко побоку. В разумных пределах. И эти пределы, "прошу заметить", добросовестно выкладывает Атымель в своих ДШ. Ну, эт понятно, не Инженерское дело в ДШ ковыряцца. Нащщот ереси, да, именно ересь, вспомогательная. Если мне выбирать что важнее, однотактовая арифметика или ввод-вывод, я, по-Ковбойски, выберу арифметику. Инженеру, видать, важнее быстро вывести результат получасового рассчота "а+б". ;О) Типпа "время-деньги". Придецца тоже раскрыть одну тайну. Или пару. В интегрирующих АЦП, как не странно, компаратор это именно главный узел, принимающий решение о окончании измерения. И от его скорости и стабильности будет зависеть, какие шумы вы буите иметь на выходе вашего доморощенного АЦП. А при разрядности 12 и выше обычно уже необходимо смотреть и за шумами, генерируемые процессорным ядром. Кроме этого, Настоящие Ковбои редко интересуются такими прозаическими вещами, как температурные дрейфы. Атмелы мудро не афишируют эти значения, хотя в любом нормальном компараторе параметр температурный дрейф смещения является одним из основных. И Настоящего ковбоя никогда не насторожит значение параметра "Напряжение смещения - 40мВ" и как это значение будет вписыватся в точность 14 бит, поскольку работа с калькулятором некашерна для кодекса Настоящего Ковбоя. И в итоге такие поделки обычно показывают некие среднепотолочные значения, которые, как правило, конечно имеют некоторую корелляцию с реальными, но она далека от 1. И к тому же еще зависит от фаз Луны. Но Настоящие Ковбои при этом убеждены в полном соответствии данных, в чем и убеждают мужиков, а мужикам обычно по фигу до тех пор, пока у них не начинает идти брак. После этого они некоторое время **цца с ковбойскими креативами, а потом меняют их на что-то более нормально сделанное.
Сообщение отредактировал oran-be - Nov 5 2007, 11:20
|
|
|
|
|
Nov 5 2007, 11:19
|
Знающий
   
Группа: Свой
Сообщений: 709
Регистрация: 3-05-05
Пользователь №: 4 693

|
Цитата(oran-be @ Nov 5 2007, 14:15)  Придецца тоже раскрыть одну тайну. Или пару. В интегрирующих АЦП, как не странно, компаратор это именно главный узел, принимающий решение о окончании измерения. И от его скорости и стабильности будет зависеть, какие шумы вы буите иметь на выходе вашего доморощенного АЦП. А при разрядности 12 и выше обычно уже необходимо смотреть и за шумами, генерируемые процессорным ядром. Кроме этого, Настоящие Ковбои редко интересуются такими прозаическими вещами, как температурные дрейфы. Атмелы мудро не афишируют эти значения, хотя в любом нормальном компараторе параметр температурный дрейф смещения является одним из основных. И витоге такие поделки обычно показывают некие среднепотолочные значения, которые, как правило, конечно имеют некоторую корелляцию с реальными, но она далека от 1. И к тому же еще зависит от фаз Луны. Но Настоящие Ковбои при этом убеждены в полном соответствии данных, в чем и убеждают мужиков, а мужикам обычно по фигу до тех пор, пока у них не начинает идти брак. После этого они некоторое время **цца с ковбойскими креативами, а потом меняют их на что-то более нормально сделанное. Смеялсо. Особенно влияние Усм на точность. И компаратор - главный узел. Пешы есчо, Инженер. ;О)
|
|
|
|
|
Nov 5 2007, 16:27
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
Цитата(Oldring @ Nov 5 2007, 18:24)  время интегрирования отсчитываается от и до пересечения интегратором нуля компаратора, каким бы он ни был. Дело не в этом, а в том, что как я понял, для встроенного компаратора не нормируются почти никакие параметры вообще, а номированное смещение нуля в 40mV столь велико, что рассчитывать на его стабильность его срабатывания от измерения к измерению не влияющем на точность 12bit ADC явно не серьезно.
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Nov 6 2007, 09:08
|
Знающий
   
Группа: Свой
Сообщений: 709
Регистрация: 3-05-05
Пользователь №: 4 693

|
Цитата(Oldring @ Nov 5 2007, 19:55)  Может быть долговременный дрейф и большой - но для АЦП двойного интегрирования это обычно не имеет с абсолютно никакого значения. Да вот читаю всё это и ржу-нимагу. Хоть бы посчитал кто, во что вырождается ошибка срабатывания в пару мкс на 0,1с времени измерения. Милливольты у них дребежжат...;О) на метр, на рыло в секунду... Цитата(zltigo @ Nov 5 2007, 15:42)  Смех без причины. С причиной. Очень уважительной, причом.
|
|
|
|
|
Nov 6 2007, 10:31
|
Местный
  
Группа: Свой
Сообщений: 234
Регистрация: 30-03-07
Из: Одесса
Пользователь №: 26 621

|
Цитата(mse @ Nov 6 2007, 13:08)  Хоть бы посчитал кто, во что вырождается ошибка срабатывания в пару мкс на 0,1с времени измерения. А с чего вы взяли, что у вас ошибка буит всего в пару мкс? Ориентируясь по значению задержка компаратора 500 мкСек? Опять же Атмелы умолчали, при каком дифференциальном напряжении. Советую посмотреть даташиты на нормальные компараторы и вникнуть в смысл приводимых там параметров. ИМХО, они там приводятся не для красоты. Так вот - компаратор. Напряжение смещения в 40 мв обычно говорит не о том, что у компаратора плохо сбалансирован дифкаскад, а о низком коэффициенте усиления. Упрощенно можно считать, что такое напряжение надо приложить, чтобы на выходе получить полное отклонение. Если вы делате АЦП со входным диапазоном вольта 3 - больше будет получить трудно схемотехнически - то точность компаратора должна быть уже при 10 разрядах - 3мВ., при 12 - 0.75, при заявленных вами 14 - сколько? А нв Атмеле, даже если включить в расчет усиление логического входа, что весьма некрасиво, поскольку логический вход никакой термостабильностью не обладает, то получим точность Атмеловкого компаратора примерно миливольт 20. То есть реальная точность вашего АЦП будет аж 7.5 разрядов, а все остальное - шум. Надеюсь, я вас повеселил....
Сообщение отредактировал oran-be - Nov 6 2007, 10:33
|
|
|
|
|
Nov 6 2007, 11:49
|
Местный
  
Группа: Свой
Сообщений: 234
Регистрация: 30-03-07
Из: Одесса
Пользователь №: 26 621

|
Цитата(Oldring @ Nov 6 2007, 15:06)  В том-то и дело, что шум АЦП обычно сразу хорошо заметен, в отличие от других типов погрешностей. И если человек говорит, что шума не было - значит его не было. Конечно же, шума могло и не быть. Виртуально. Особенно если младший байт, например, потерять. Или впаять какой нить нерекурсивный фильтр значений так на 64. Но реально он должен был быть железно. Цитата(Oldring @ Nov 6 2007, 15:06)  Если время реакции компаратора зависит от скорости изменения напряжения - это приведет к погрешности полной шкалы. Это я не совсем понял. Полная шкала зависит от скорости заряда емкости. То есть от стабильности емкости и генератора тока. И калибруется она обычно если не при каждом проходе, то очень периодически, то есть по правильному - все время калибруется 0 и ВЕРХ. И как влияет нюх компаратора на погрешность полной шкалы - мне непонятно. Мона поподробнее, плз?
|
|
|
|
|
Nov 6 2007, 12:02
|

Гуру
     
Группа: Свой
Сообщений: 3 041
Регистрация: 10-01-05
Из: Москва
Пользователь №: 1 874

|
Цитата(oran-be @ Nov 6 2007, 14:49)  Конечно же, шума могло и не быть. Виртуально. Особенно если младший байт, например, потерять. Или впаять какой нить нерекурсивный фильтр значений так на 64. Но реально он должен был быть железно. Знаете, я известной мне по форумам квалификации mse в этом вопросе вполне доверяю. Цитата(oran-be @ Nov 6 2007, 14:49)  Это я не совсем понял. Полная шкала зависит от скорости заряда емкости. То есть от стабильности емкости и генератора тока. И калибруется она обычно если не при каждом проходе, то очень периодически, то есть по правильному - все время калибруется 0 и ВЕРХ. И как влияет нюх компаратора на погрешность полной шкалы - мне непонятно. Мона поподробнее, плз? Вы наверное имеете в виду какой-то другой АЦП двойного интегрирования. Я имею в виду тот, в котором опора имеет противоположный знак по отношению к сигналу и они поочередно подаются через коммутатор на резистор интегратора. Для такого АЦП полная шкала от значения емкости не зависит, и поэтому её калибровать постоянно не нужно. И долговременная стабильность емкости не нужна - важна малая абсорбция заряда. Важна стабильность опоры, смещения нуля операционника интегратора и стабильность резисторов в интеграторе. Ну и коммутатор должен быть с относительно малым сопротивлением канала. Если калибровать постоянно полную шкалу по второй опоре правильного знака - то все еще проще. И нуль, кстати, тоже нет особой нужды калибровать постоянно, если все стабильно - просто калибровать постоянно нуль просто, и погрешности в районе нуля нередко более критичны
--------------------
Пишите в личку.
|
|
|
|
|
Nov 6 2007, 14:31
|
Местный
  
Группа: Свой
Сообщений: 234
Регистрация: 30-03-07
Из: Одесса
Пользователь №: 26 621

|
Цитата(Oldring @ Nov 6 2007, 16:02)  Вы наверное имеете в виду какой-то другой АЦП двойного интегрирования. ... Ага. Т.е в схеме еще присутствует честный интегратор на опере, аналоговый двуполярный коммутатор и отрицательная опора. Принцып вроде понятен. АЦП двойного интегрирования в однополярном исполнении имеет несколько другую схему, но алгоритм работы тот же. Такой АЦП не требует калибровки патамучто калибровка заложена в алгоритм. После вычисления значения АЦП мы получаем уже калиброваное значение. Но все таки, непонятно, как же влияют параметры компаратора на полную шкалу. Я понимаю связь между тактовым генератором, разрядностью и постоянной времени интегратора. Но вот как влияет точность компаратора на полную шкалу?
|
|
|
|
|
Nov 6 2007, 14:48
|

Гуру
     
Группа: Свой
Сообщений: 3 041
Регистрация: 10-01-05
Из: Москва
Пользователь №: 1 874

|
Цитата(oran-be @ Nov 6 2007, 17:31)  точность компаратора на полную шкалу? При частой калибровке полной шкалы по своей положительной опоре - конечно никак  Иначе, пусть пороги переключения компаратора в + и в - отличаются. Это еще не страшно. Если разность уровней входа при переключении в '+' и в '-' стабильна - это линейное искажение отсчетов АЦП, которое может быть компенсирована калибровкой. При данной постоянной времени интегратора это дает дополнительную постояную задержку, которая может легко быть устранена калибровкой нуля. Теперь предположим, что разность уровней переключения компаратора плавает. Зависит от входного сигнала - задержка переключения зависит от скорости нарастания сигнала на входе компаратора. В этом случае и калибровка будет зависеть от входного напряжения. Если эта зависимость меняется со временем, но нуль мы все-таки калибруем, а полную шкалу - нет, то это даст плавание погрешности полной шкалы и/или интегральную нелинейность.
--------------------
Пишите в личку.
|
|
|
|
3 чел. читают эту тему (гостей: 3, скрытых пользователей: 0)
Пользователей: 0
|
|
|