Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Нюансы работы с ADS1218
Форум разработчиков электроники ELECTRONIX.ru > Аналоговая и цифровая техника, прикладная электроника > Метрология, датчики, измерительная техника
GetSmart
В ADS1218 есть три режима фильтрации - fast settling, sinc2, sinc3. Написано, что с первым фильтром результат получается за 1 период преобразования, второй - за 2, третий - за 3. Второй и третий фильтры у меня работают чудесно, однако запустить оцифровку одного канала за 1 период не могу ни с каким фильтром! Уже все комбинации настроек перепробовал. Почему?
wodya
Насколько я понимаю, в тексте все написано.

The Digital Filter can use either the fast settling,
sinc2, or sinc3 filter, as shown in Figure 27. In
addition, the Auto mode changes the sinc filter after
the input channel or PGA is changed. When
switching to a new channel, it will use the fast settling
filter for the next two conversions, the first of which
should be discarded
.

Т.е. первый отбрасывается полюбому.
Затем еще написано, что лучше фильтрами все-таки пользоваться.
GetSmart
Цитата(wodya)
Т.е. первый отбрасывается полюбому
Всё так написано, но применительно к Auto фильтру. Для конкретного же фильтра написано sinc3 = 3, sinc2 = 2, fast = 1 период.

Уточню, что у меня постоянно переключаются 8 каналов и я хотел понять достаточно ли будет точности при максимальной скорости переключения. Сейчас на fast settling фильтре и 1 периоде преобразования показания скачут случайным образом по всей шкале от -max до +max.

Единственная мысль, которая у меня по этому поводу в том, что при переключении канала требёется какое-то время для перезаряда накопительного конденсатора. Но хотелось бы узнать мнение специалистов по этим АЦП.
wodya
Мы постоянно используем ADS1210 и в свое время хотели перейти на ADS1218, но последний показывает значительно хучшие характеристики (мы пробовали на evolution board для ADS1218) даже по datasheet. Так что, если есть возможность, советую использовать ADS1210, хотя она и более старая.
При переключении каналов я лично выкидаваю первые 5 отсчетов и использую цифровую фильтрацию.
Что касается входной емкости, которая должна перезарядиться - это зависит от ваших скоростей. Я использую скорости переключения до 250 Гц (скорости преобразования до 1кВыборок) и влияние каналов друг на друга отсутствует.
GetSmart
Судя по цене 1218 (а точнее 1216, которую мы применяем) в два раза дешевле. Её точности более чем достаточно для меня.

Я говорил не о входной ёмкости, а о ёмкости, на которой работают все дельта-сигма. Я не знаю точно внутреннюю структуру конкретно этого АЦП, но знаю общую структуру дельта-сигма.

wodya
Вы не могли бы мне прояснить кое-что по управляющим командам этого (этих) АЦП. Я заметил, что после простой перезаписи регистров для изменения номера канала, они вступят в силу только после окончания очередного периода преобразования. Однако если подать команду DSYNC, то можно намного уменьшить это время ожидания. При этом появится "неожиданный" DRDY, говорящий о начале нового периода с новыми параметрами. Во-первых, как более правильно работать с АЦП - с командой DRDY или без неё?

Если не жалко, можно посмотреть на исходник Вашего драйвера?


И ещё, ямой период преобразования = 50 Гц. Могу ли я увеличить частоту преобразования, при этом не ухудшить точность и чтоб осталась режекция 50 Гц ?
wodya
В своих разработках я всегда использовал однокальный АЦП с аналоговым мультиплексором на входе (MPC508). Посколько у нас широкий круг задач, то многоканальный АЦП не использовал, да и доставать их тяжелее. Поэтому про переключение каналов в АЦП ничего сказать не могу. Сигнал DSync используется для синхронизации нескольких АЦП и я его никогда не использовал.
С АЦП я всегда работал по DRDY и никаких проблем не испытавал.
Что касается вашей частоты преобразования - то это очень мало. В АЦП говорится, что оптимальная частота преобразования - 18 Гц (насколько я помню), но на практике это не совсем так. Я обычно меньше 100 Гц вообще никогда не делаю, но зато увеличиваю порядок и глубину цифрового фильтра, что приводит к намного лучшим результатам.
Пример программы прилагаю. Написана на ICC и достаточно простая. Оцифровывает 4 канала, опрашивает состояние 4 кнопок и отправляет по данные по RS. Правда по каждому каналу постоянная времени не менее 300 мс.
Еще есть пример для 1218, но без фильтрации (года 4 назад делал, но не понравилось).
Тонким моментом является то, что если частота кратна 50 Гц, то в неудачных случаях сигнал подвержен дрейфу с частотой в несколько секунд. В моем случае у меня не было выбора. Но лучше делать частоту некратную, тогда вместо дрейфа получаем шум, который затем фильтруем цифровой фильтрацией.
Еще один тонкий момент. Если Вам нужна точная оцифровка (в моем случае абсолютное значение не важно, а важно относительное изменение), то используйте калибровку АЦП лишь один раз за всю его жизнь, а не каждый раз при запуске, как рекомендует TI. Например, при оцифровке температур, если проводить при включении каждый раз калибровку, то каждый раз значения могут отличаться на несколько процентов.
Буду рад ответить на вопросы
Удачи smile.gif
SALOME
Цитата(wodya @ Jun 29 2007, 20:58) *
...один тонкий момент. Если Вам нужна точная оцифровка (в моем случае абсолютное значение не важно, а важно относительное изменение), то используйте калибровку АЦП лишь один раз за всю его жизнь, а не каждый раз при запуске, как рекомендует TI. Например, при оцифровке температур, если проводить при включении каждый раз калибровку, то каждый раз значения могут отличаться на несколько процентов.

Я по поводу калибровки. По моему, если после каждой калибровки меняются показания, то это повод усомниться в достоверности получаемый результатов, и не важно - абсолютные они или относительные. Производитель для того и вводит доступ в регистры калибровки, чтобы вы могли ввести поправки применительно к условиям конкретных измерений ( например, температуры). И спасибо ему, иначе пришлось бы корячиться со схемами внешней калибровки smile.gif ...

Цитата(GetSmart @ Jun 29 2007, 17:16) *
Единственная мысль, которая у меня по этому поводу в том, что при переключении канала требёется какое-то время для перезаряда накопительного конденсатора.

Конкретно по данному АЦП ничего сказать не могу, однако переключение каналов всегда сопряжено с переходными процессами и производитель обычно указывает время установления процесса (в циклах или сек.). А если используются фильтры, то им нужно дополнительное время для входа в режим. Ведь переключая канал вы прерываете монотонность процесса и у вас образуется скачок, который фильтр должен отработать.
GetSmart
Вобщем я понял, что никто даже не пытался переключать каналы на максимуме скорости, которая указана (!) в документации.

wodya
Я посмотрел исходник. Вы делали 5 измерений на канал. При этом канал менялся только через 1 измерение после перезаписи регистра канала, ещё 1+3(sinc3) периода проходило измерение, после чего считывался результат. Вобщем всё понятно. Хочу только сказать, что DSYNC можно применять не только для нескольких АЦП, но и для одного чтобы ускорить переключение канала.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.