Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Непонятки с ADS1218
Форум разработчиков электроники ELECTRONIX.ru > Поставщики компонентов для электроники > Компоненты
rezident
Имеется система сбора информации из LPC2132 и ADS1218. SPI работает на частоте около 600кГц. ADS1218 измеряет (пока) сигналы токовой петли 4-20мА. Кварц у него 4915,2кГц. Опора 1,25В. PGA=2. Буферный усилитель включен. Фильтры выключены. После переключения канала берется четвертое измерение, как истинное. Но это все наверное не очень существенно.
Обнаружилась интересная особенность, которая заключается в том, что команда выбора канала не всегда записывается с первого раза. Номер канала (входа мультиплексора) реально изменяется, только после повторной записи.
Алгоритм простой. По активизации сигнала DRDY (по опросу, не по прерыванию) считывается значение DOR, если текущее измерение четвертое по счету, то изменяется номер канала (записью в регистр нового значения MUX), АЦП синхронизируется записью DSYNC и поехали дальше.
Так вот приходится команду изменения номера канала посылать дважды. С одного раза номер канала меняется примерно в одном из трех случаев. Проверяли так: записывали номер канала в регистр MUX и тут же читали его содержимое. Работу самого интерфейса SPI у LPC2132 с ADS1218 проверяли циклической записью/чтением в ОЗУ АЦП, сбоев не было.
Кто-то работавший с этим АЦП может сказать причину подобного поведения АЦП? Может содержимое MUX не меняется, если запущено текущее преобразование? Но в даташите упоминания о такой особенности мы не нашли.
Виктория
Цитата
После переключения канала берется четвертое измерение, как истинное

Это дельта-сигма АЦП?

Цитата
записывали номер канала в регистр MUX и тут же читали его содержимое.


Может в этом причина? Все-таки переключение каналов наверняка чем-то тактируется (например импульсом SPI), поэтому должна быть задержка между записью и чтением.
rezident
Цитата(Vic1 @ Nov 9 2005, 10:22) *
Это дельта-сигма АЦП?

Да, 24 разрядный 8-ми канальный дельта-сигма, с PGA, внутренней опорой, RAM, Flash и GPI/O на борту.
Datasheet ADS1218

Цитата(Vic1 @ Nov 9 2005, 10:22) *
Цитата
записывали номер канала в регистр MUX и тут же читали его содержимое.


Может в этом причина? Все-таки переключение каналов наверняка чем-то тактируется (например импульсом SPI), поэтому должна быть задержка между записью и чтением.

Вся работа АЦП тактируется собственным генератором. Его частоту я указал - 4912,2кГц. Частота тактирования SPI почти на порядок ниже (около 600кГц). По даташиту между двумя посылками при выполнении команд типа RREG и WREG требуется пауза 4 периода тактовой АЦП. Эта пауза конечно же выдерживается. Проблема не в этом. Проблема в том, что команда выбора номера канала (WREG+MUX, номер канала) не всегда выполняется с первого раза.

P.S. модераторы, нафига сюда поместили мою тему? Я не про брак комплектующих спрашиваю, а об особенностях работы конкретного АЦП. Вертайте взад, где оно было! angry.gif
Виктория
Цитата(rezident @ Nov 9 2005, 19:56) *
Вся работа АЦП тактируется собственным генератором. Его частоту я указал - 4912,2кГц. Частота тактирования SPI почти на порядок ниже (около 600кГц). По даташиту между двумя посылками при выполнении команд типа RREG и WREG требуется пауза 4 периода тактовой АЦП. Эта пауза конечно же выдерживается. Проблема не в этом. Проблема в том, что команда выбора номера канала (WREG+MUX, номер канала) не всегда выполняется с первого раза.


А паузу на посылку команду WREG по SPI (1.6*16 мс) не забываете? Извинения заранее, если для Вас это тоже очевидно. smile.gif

P.S. я бы еще и 5 тактов АЦП попробовала (для полной уверенности и/или диагноза).
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.