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

Ступенька на выходе АЦП AD7683 (ADS8325)

Прошу помощи! Не могу победить 16-разрядный АЦП AD7683. Плавно меняю входное (измеряемое) напряжение, и код в некоторых местах как бы "застряёт", а затем перескакивает сразу на несколько разрядов. Эта ситуация повторяется регулярно через 128 бит кода. Программа считывания - проще не придумаешь: шесть холостых циклов (sample) и два цикла по восемь сдвигов. Шумов практически нет (+-1 бит) - сигнал от батарейки.

Такое впечатление, что сбоит что-то внутри ИМС. Или все же не внутри ...?

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


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

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

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


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

Не согласен. Сейчас борюсь с ним же, и веду переписку с Analog Devices. Глитчей нет, сигналы - постоянные, от аппаратного SPI отказался при первых проблемах, а вот сигнал на половине шкалы принимает два значения 32768 и 32524. Если сдвинуть от середины шкалы, то количество разных, но повторяющихся кодов - растет, 0 и fullscale воспринимает корректно.

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


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

Аппаратным SPI я тоже не пользуюсь. Что касается границы байт, то тогда был бы перескок на 256 единиц. Я пробовал манипулировать количеством сдвигов в обоих байтах, и результат был адекватным - данные на выходе менялись, все становилось еще неправильней.

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

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


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

Ишите все-таки у себя ошибки. Кроме маловероятного случая, что Вам продали бракованную партию. У нас он стоит в серийных приборах и работает точно в соответствии со спецификацией. Были бы такие скачки - меня давно бы уже закидали претензиями. Инверсия старшего бита в байте, кстати, как раз изменяет значение на 128.

Как маловероятный вариант - косяк с опорой. АЦП построен на конденсаторах и весьма чувствителен к ненулевому импедансу опоры и помехам в ней.

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


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

Прошу помощи! Не могу победить 16-разрядный АЦП AD7683. Плавно меняю входное (измеряемое) напряжение, и код в некоторых местах как бы "застряёт", а затем перескакивает сразу на несколько разрядов. Эта ситуация повторяется регулярно через 128 бит кода. Программа считывания - проще не придумаешь: шесть холостых циклов (sample) и два цикла по восемь сдвигов. Шумов практически нет (+-1 бит) - сигнал от батарейки.

Такое впечатление, что сбоит что-то внутри ИМС. Или все же не внутри ...?

 

А сигнал меняете на одной ноге? Если да, то это плохо, получается что common mode меняется. Надо менять строго дифференциально. Т.е. на сколько подняли на ноге "+" на столько и опустить на ноге "-". Посмотрите тут. Ступеньки ушли когда начал драйвить входы строго в противофазе.

 

PS хотя посмотрел в даташит вашей м/с - там про common mode ничего не сказано....

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


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

А сигнал меняете на одной ноге? Если да, то это плохо, получается что common mode меняется. Надо менять строго дифференциально. Т.е. на сколько подняли на ноге "+" на столько и опустить на ноге "-". Посмотрите тут. Ступеньки ушли когда начал драйвить входы строго в противофазе.

 

PS хотя посмотрел в даташит вашей м/с - там про common mode ничего не сказано....

 

Посмотрите на Fig.1 на первой странице - там четко нарисовано, куда должен IN- подключаться. Никаких true-дифференциальных включений для этого АЦП не предусмотрено.

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


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

Ишите все-таки у себя ошибки. Кроме маловероятного случая, что Вам продали бракованную партию.

Именно у себя и ищу. Проблема может быть и не с микросхемой АЦП - она же не одна там стоит. Как найду - скажу, что было.

 

Кроме маловероятного случая, что Вам продали бракованную партию.

Кстати, с ADS8325 от TI Именно так и было - купили сначала их, потом в качестве альтернативы ADI. Вне зависимости от опоры, входных сигналов, чего угодно, старший бит младшего байта всегда был установлен в 1.

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


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

Именно у себя и ищу. Проблема может быть и не с микросхемой АЦП - она же не одна там стоит. Как найду - скажу, что было.

 

Если в "цифре" уверены, проверяйте импедансы по входу и опоре. Например, присоедините прямо у микросхемы конденсаторы x7r 2.2 мкф к опоре и входу и посмотрите, поменяется ли поведение схемы. Кстати, что у Вас по этим входам стоит ?

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


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

Если в "цифре" уверены, проверяйте импедансы по входу и опоре. Например, присоедините прямо у микросхемы конденсаторы x7r 2.2 мкф к опоре и входу и посмотрите, поменяется ли поведение схемы. Кстати, что у Вас по этим входам стоит ?

 

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

 

А так по входу стоит AD8553 , опора берется с опорного резистора, в качестве буфера опоры использую LTC2050HV.

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

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


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

Опора скорее всего не правильная. Посмотрите Fig. 22 даташит. Керамический конденсатор с большой емкостью обязательно должен присутствовать в непосредственной близи от АЦП. А обычный ОУ не потянет работу на такой конденсатор. Если конденсатора нет, или ОУ "дергает" выходом при скачкообразном изменении тока, что имеет место во время преобразования, Вы и получаете перескакивающий разряд.

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


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

When REF is driven by a very low impedance source (such as an unbuffered reference voltage like the low temperature drift ADR43x reference or a reference buffer using the AD8031 or the AD8605), a 10 μF (X5R, 0805 size) ceramic chip capacitor is appropriate for optimum performance.

Поставил керамику 4,7 на REF в непосредственной близи к мелкосхеме АЦП. Каплями припоя закоротил +IN на REF, -IN на GND. код колеблется от 65525 до 65521, что уже лучше. В качестве источника опоры использовал ADR391 (а она тоже не очень-то хорошо работает на большую емкостную нагрузку)

 

В общем, понятненько всё с этой микросхемой. Точнее, почти всё - зачем ей режим пониженного энергопотребления - ведь для нормальной работы надо вокруг неё городить схему, жрущую, как небольшой свечной заводик. Какое-то время я её ещё попробую её помучать, но что-то мне подсказывает, что небольшого устройства с низким энергопотреблением не получится :(

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


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

Может Вам opa350 поможет ?

 

Кстати, опоры бывают со входом выключения.

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


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

Кстати, опоры бывают со входом выключения.

Оно понятно. Та опора, что у меня сейчас имеет вполне низкое энергопотребление, но её нельзя использовать в ратиометрических измерениях.

Видимо, надо перерабатывать всю плату.

Кроме того ADR391 всё-таки легко должна держать 4,7uF (в даташите до 10uF). Но замкнув вход на опору я получаю код в диапазоне 0xFFF1 - 0xFFF7 (с различными конденсаторами от 0,1 до 4,7uF диапазон кодов одинаковый), вместо кошерных 0xFFFF. Если это не беда самой микросхемы (а это скорее всего именно так, с сигма-дельтой от тех же ADI таких проблем нет), то это проблема разводки платы. Физически расположить элементы по-другому у меня не получится. Выход один - не использовать эту микросхему в этой разработке вовсе.

 

P.S. Opa 350 в наличии не имеется. Завтра сравню по параметрам с Opa300, и, быть может попробую с ней.

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

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


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

Видимо, надо перерабатывать всю плату.

Кроме того ADR391 всё-таки легко должна держать 4,7uF (в даташите до 10uF). Но замкнув вход на опору я получаю код в диапазоне 0xFFF1 - 0xFFF7 (с различными конденсаторами от 0,1 до 4,7uF диапазон кодов одинаковый), вместо кошерных 0xFFFF. Если это не беда самой микросхемы (а это скорее всего именно так, с сигма-дельтой от тех же ADI таких проблем нет), то это проблема разводки платы. Физически расположить элементы по-другому у меня не получится. Выход один - не использовать эту микросхему в этой разработке вовсе.

 

P.S. Opa 350 в наличии не имеется. Завтра сравню по параметрам с Opa300, и, быть может попробую с ней.

 

Это может быть не проблема разводки платы, а влияние внутреннего входного сопротивления АЦП. Обратите внимание, что в нем нет буфера. opa350 отличается от других ОУ тем, что может работать на любую емкостную нагрузку.

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


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

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

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

Гость
Ответить в этой теме...

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

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

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

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

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

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