|
непонятки с AD7766, Не удается задействовать весь диапазон |
|
|
|
Mar 11 2014, 13:25
|

Частый гость
 
Группа: Участник
Сообщений: 149
Регистрация: 15-12-09
Из: Москва
Пользователь №: 54 280

|
Всем привет ! Три дня мучаюсь, непойму в чем дело ? В схеме измерения стоит АЦП AD7766-2, сигнал на него подаю с генератора через два операционника для получения дифф. сигнала. Таким образом получается сигнал с размахом 5 вольт относительно 2.5 вольт. На ножку Vref+ подаю 5v c прецизионного источника ADR435. Из даташита сказано что максимальный код ацп будет при напряжении Vref (когда скажем Vin+ = 5v, a Vin- = 0v), но смотря оцифрованный сигнал вижу, что уже при размахе поданного с генератора сигнала чуть выше 2.5v (Амплитуда чуть выше 1.25v) ацп начинает заахлебываться, и выдавать максимальные коды, а местами и вовсе нули, хотя по идее я подал только половину диапазона !!! До размаха 2.5 вольт все нормально, но коды естественно выдает как будто умноженные на 2!!! Мерял сигнал непосредственно на входах АЦП, там все в порядке (соответствует поданному с генератора). Може я чего-то не понимаю. Прилагаю даташит на всякий случай (Удалено) Вот не нужно так делать, а нужно так - http://www.analog.com/static/imported-files/data_sheets/AD7766.pdf
|
|
|
|
2 страниц
1 2 >
|
 |
Ответов
(1 - 25)
|
Mar 11 2014, 13:41
|

Частый гость
 
Группа: Участник
Сообщений: 149
Регистрация: 15-12-09
Из: Москва
Пользователь №: 54 280

|
Цитата(MaxPIC @ Mar 11 2014, 16:37)  Могу предположить, что у Вас проблема с настройкой SPI (как будто считываете со сдвигом, начиная не со старшего байта, а со следующего за ним). Посмотрите осциллографом SCLK, CS, SDO и проконтролируйте момент защёлкивания данных с SPI. Спасибо, совсем упустил это из виду, надо будет завтра с утра проверить!
|
|
|
|
|
Mar 11 2014, 13:53
|
Частый гость
 
Группа: Свой
Сообщений: 150
Регистрация: 13-10-05
Пользователь №: 9 614

|
Для начала подайте на Vref на Vin+, а Vin- соедините с землей или наоборот. Еще нагляднее будет включить три последовательно соединенных одинаковых резистора, например 1к между Vref и землей. Vin+и Vin- подключите к на выводы с среднего резистора (т.е. между Vin+- будет 1/3 Vref) посмотрите на отсчеты идущие с вашего АЦП и сравните с тем что Вы ожидали бы увидеть. Вообще должна быть 1/6 FS. Если все в порядке тогда можно подавать синусоиду и разбираться с ней. Однако боюсь что уже на постоянном будет не все в порядке, если все что вы описываете верно и не допущены какие нибудь ошибки в схеме или в считывании/интерпретации данных Цитата(MaxPIC @ Mar 11 2014, 16:37)  Могу предположить, что у Вас проблема с настройкой SPI (как будто считываете со сдвигом, начиная не со старшего байта, а со следующего за ним). Если коды беспорядочные, то сокрее даже не пропуск старшего байта (хотя и эта причина вполне вероятна) а невыдержанные задержки между клоком и данными или просто данные интерпретируются как LSB-first вместо MSB-first Топикстартеру: В любос случае проверку считывания данных лучше начинать с постоянного сигнала, а не с синусоиды.
|
|
|
|
|
Mar 11 2014, 13:59
|

Частый гость
 
Группа: Участник
Сообщений: 149
Регистрация: 15-12-09
Из: Москва
Пользователь №: 54 280

|
Еще в этом АЦП есть ножка REFGND (это помимо AGND) Вот ее описание, слова вроде бы все ясны я смысл не складывается: Reference Ground. Ground connection for the reference voltage. The input reference voltage (VREF+) should be decoupled to this pin Я просто заземлил ее тоже a на вход Vref+ подключил емкости как указано в даташите. Если коды беспорядочные, то сокрее даже не пропуск старшего байта (хотя и эта причина вполне вероятна) а невыдержанные задержки между клоком и данными или просто данные интерпретируются как LSB-first вместо MSB-first Топикстартеру: В любос случае проверку считывания данных лучше начинать с постоянного сигнала, а не с синусоиды. [/quote] Я понимаю, но вот что у меня выводится:
На оси не смотрите, это я в окно спектра временно для отладки вывел выборки!
Сообщение отредактировал kumle - Mar 11 2014, 14:01
|
|
|
|
|
Mar 11 2014, 14:10
|

Частый гость
 
Группа: Участник
Сообщений: 149
Регистрация: 15-12-09
Из: Москва
Пользователь №: 54 280

|
Цитата(_pv @ Mar 11 2014, 17:00)  дифф сигнал с генератора честно подаёте? а то там Common-Mode Input Voltage: VREF+/2 − 5%; VREF+/2; VREF+/2 + 5%
upd: хотя не, судя по картинке, со знаковостью перепенных при отображении на графике что-то напутали. очень уж аккуратно оно через 2^23 переполнилось. Максимальный код АЦП для положительного напряжения как раз 0x7FFFFF (8388607), что видно на графике (хотя подано в два раза меньше !!!!) Насчет Vref/2 +-5%, у меня есть разбаланс порядка 0.25 вольт!, С генератора подаю просто синус. смещение и дифф сигнал делаю на двух операционниках
|
|
|
|
|
Mar 11 2014, 14:12
|
Частый гость
 
Группа: Свой
Сообщений: 150
Регистрация: 13-10-05
Пользователь №: 9 614

|
Цитата(kumle @ Mar 11 2014, 16:59)  Я понимаю, но вот что у меня выводится: Это совсем не беспорядочные коды. Либо ошибка масштабирования на ОУ, либо ошибка в программе визуализации (тоже кстати не стоит сбрасывать со счетов) Напряжение опоры проверяли? Хотя загиб верхушки все же похож на неверную интерпретацию верно считанных данных.
|
|
|
|
|
Mar 11 2014, 14:25
|

Частый гость
 
Группа: Участник
Сообщений: 149
Регистрация: 15-12-09
Из: Москва
Пользователь №: 54 280

|
Цитата(ms1 @ Mar 11 2014, 17:12)  Это совсем не беспорядочные коды. Либо ошибка масштабирования на ОУ, либо ошибка в программе визуализации (тоже кстати не стоит сбрасывать со счетов) Напряжение опоры проверяли? Хотя загиб верхушки все же похож на неверную интерпретацию верно считанных данных. Ошибку масштабирования отметаю, так как смотрю сигнал осциллом непосредственно на ножках АЦП, там сигнал амплитудой 1.25 относительно уровня 2.5v, но сигналы V+ b V- немного сдвинуты (по напряжению нуля) примерно на 0.2 вольта. Визуализация тут очень простая, получаю массив во float и загоняю в компонент TChart. я пока пошел домой завтра еще буду разбираться и отпишусь, спасибо всем
|
|
|
|
|
Mar 12 2014, 11:01
|

Профессионал
    
Группа: Свой
Сообщений: 1 262
Регистрация: 13-10-05
Из: Санкт-Петербург
Пользователь №: 9 565

|
Цитата(alexPec @ Mar 11 2014, 18:56)  Почитайте тут если время будет. АЦП не ваш, но с AD-АЦП напоролся на явный косяк чипа, и косяк этот не документирован был на то время нигде. После такого не исключаю что чип так может работать. Конечно надо перед такими вердиктами все остальное дотошно проверить... У меня с AD7694 были похожие проблемы. Оцифровывал звук с частотой 100кГц. Перед АЦП стояд НЧ фильтр на 5кГц. Всё работало, но если громко зашипеть в микрофон - тогда АЦП зависал и выдавал аброкадабру пока не снимешь с него питание. Проблема была решена ограничением динамического диапазона с 0-3.3 до 0.6-2.7В.
|
|
|
|
|
Mar 12 2014, 11:43
|

Частый гость
 
Группа: Участник
Сообщений: 149
Регистрация: 15-12-09
Из: Москва
Пользователь №: 54 280

|
Цитата(_pv @ Mar 12 2014, 14:39)  соблюдать требования по common mode voltage описанные в даташите. (Vpos + Vneg) / 2 должно быть в диапазоне 2.375 .. 2.625. для 5В опоры а у вас (5+2.5) / 2 = 3.75В Я соблюдаю, это я временно подал 5v, чтоб посмотреть что получится, а так у меня строго по 2.5 на каждом входе
|
|
|
|
|
Mar 12 2014, 11:45
|
Гуру
     
Группа: Участник
Сообщений: 6 776
Регистрация: 5-03-09
Из: Москва
Пользователь №: 45 710

|
Цитата(kumle @ Mar 12 2014, 13:11)  Теперь даже не знаю что дальше делать ? Очевидно, идентифицировать, наконец уж, себя во времени и пространстве, потому как, с тех пор, как Вы пообещали, как минимум себе же: Цитата(kumle @ Mar 11 2014, 16:41)  совсем упустил это из виду, надо будет завтра с утра проверить! приложенных сил не видно, и все мы тут всё ещё лишь лицезреем международное чудо разделения труда: Цитата(kumle @ Mar 11 2014, 17:25)  получаю массив
|
|
|
|
|
Mar 12 2014, 12:08
|

Частый гость
 
Группа: Участник
Сообщений: 149
Регистрация: 15-12-09
Из: Москва
Пользователь №: 54 280

|
Цитата(Plain @ Mar 12 2014, 14:45)  Очевидно, идентифицировать, наконец уж, себя во времени и пространстве, потому как, с тех пор, как Вы пообещали, как минимум себе же:
приложенных сил не видно, и все мы тут всё ещё лишь лицезреем международное чудо разделения труда: Проверил, у меня данные с ацп читаются через DMA, там все гладко: Пришло прерывание DRDY c АЦП, включаю DMA на получение 3-х байт, затем получаю прерывание от DMA о получении 3-х байт, выключаю DMA складываю байты в буфер и жду следующих данных. Если был бы сдвиг байт (бит) при получении то график такой бы не был, было бы черти-что.
|
|
|
|
|
Mar 12 2014, 12:27
|

Частый гость
 
Группа: Участник
Сообщений: 149
Регистрация: 15-12-09
Из: Москва
Пользователь №: 54 280

|
Цитата(Tanya @ Mar 12 2014, 15:14)  А трудно сразу попробовать нормально? Вот взять два одинаковых резистора, соединить, на среднюю точку подать 2.5 вольта, их концы - на входы АЦП, последовательно с этой цепочкой батарейку и переменный резистор... Я уже попробовал с 5-ю и 2.5 вольтами, зачем еще переменник ? У меня на плате прецизионный источник 2.5 вольт ADR431, вот его и подаю на положительные входы операционников чтоб организовать смещение
|
|
|
|
|
Mar 12 2014, 12:55
|

Частый гость
 
Группа: Участник
Сообщений: 149
Регистрация: 15-12-09
Из: Москва
Пользователь №: 54 280

|
Цитата(Tanya @ Mar 12 2014, 15:31)  Схему нарисуете? Да, 10 мин дайте вот
|
|
|
|
|
Mar 12 2014, 13:13
|

Частый гость
 
Группа: Участник
Сообщений: 149
Регистрация: 15-12-09
Из: Москва
Пользователь №: 54 280

|
Цитата(Tanya @ Mar 12 2014, 16:07)  А где обратная связь у первого ОУ? Да, там 160 КОМ, в обр связи (просто с платы рисую, упустил)
|
|
|
|
|
Mar 12 2014, 13:46
|

Частый гость
 
Группа: Участник
Сообщений: 149
Регистрация: 15-12-09
Из: Москва
Пользователь №: 54 280

|
Вот это получилось когда на вход подаю 2 вольта (p-p), а коды ацп соответствуют размаху 4 вольта и уже близки к пределу АЦП !!! Цитата(WHALE @ Mar 12 2014, 16:33)  У вас на схеме Vref и AVdd на AD7766 не попутаны? Сейчас проверил, не не попутаны, и напряжения на месте Ладно, я домой, написал аналогичный вопрос на analog.com, может завтра чего-нибудь прояснится. Всем спасибо!
|
|
|
|
|
Mar 20 2014, 08:36
|

Частый гость
 
Группа: Участник
Сообщений: 149
Регистрация: 15-12-09
Из: Москва
Пользователь №: 54 280

|
Цитата(MaxPIC @ Mar 11 2014, 16:37)  Могу предположить, что у Вас проблема с настройкой SPI (как будто считываете со сдвигом, начиная не со старшего байта, а со следующего за ним). Посмотрите осциллографом SCLK, CS, SDO и проконтролируйте момент защёлкивания данных с SPI. Проблема разрешилась, и дело было действительно в SPI, оказалось что проглатывался самый первый бит посылки, что равносильно умножению на 2 !!! А не заметил этого, так как числа были не большие и поэтому при сдвиге не один разряд влево знак числа не менялся!!! Всем спасибо тему можно закрывать!
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|