Jump to content
    

Использование АЦП AD7715 совместно с мультиплексором

Возникла необходимость измерять 8 каналов напряжения с помощью AD7715. Поставили перед ним 8-и канальный аналоговый мультиплексор. Управляет всем этим Мега128. Далее измерения ведутся по следующему алгоритму:

 

1. У АЦП выставляется бит FSYNC (выключает фильтр)

2. Переключаем канал мультиплексора.

3. У АЦП снимаем бит FSYNC (включаем фильтр).

4. Ждем готовности АЦП (бит DRDY)

5. Опрашиваем регистр данных

7. переход к п.1

 

Если переключаем каналы мультиплексора медленно (примерно раз в секунду), то данные получаются стабильные и соответствующие действительности.

При увеличении частоты переключения каналов данные начинают "уплывать" от истинных значений (частота обновления АЦП выставлена 200Гц, что существенно больше частоты опроса).

Каким образом правильно осуществлять опрос АЦП и переключение каналов в данном случае?

Share this post


Link to post
Share on other sites

Не забывайте, что цифровой фильтр требует времени для установления достоверных данных. Это естественно, так как для фильтрации нужно иметь несколько результатов. Вот что говорится в документации по этому поводу:

Since the AD7715 contains this on-chip, low-pass filtering, there is a settling time associated with step function inputs and data on the output will be invalid after a step change until the settling time has elapsed. The settling time depends upon the output rate chosen for the filter. The settling time of the filter to a full-scale step input can be up 4 times the output data period. For a synchronized step input (using the FSYNC function), the settling time is 3 times the output data period.

Так что первые 3-4 результата смело пропускайте.

Share this post


Link to post
Share on other sites

Не забывайте, что цифровой фильтр требует времени для установления достоверных данных. Это естественно, так как для фильтрации нужно иметь несколько результатов. Вот что говорится в документации по этому поводу:

Так что первые 3-4 результата смело пропускайте.

 

Пропускаю. Не помогает.

Share this post


Link to post
Share on other sites

Пропускаю. Не помогает.

А что за мультиплексор и как часто переключается?

Share this post


Link to post
Share on other sites

А как обстоят дела с согласование входных сопротивлений. Т.е какое сопротивление у источников сигналов.

Share this post


Link to post
Share on other sites

А что за мультиплексор и как часто переключается?

Мультиплексор MPC507AU. Но дело не в нем, т.к. вижу на осциллографе, что в момент измерения на входе АЦП правильное напряжение.

 

А как обстоят дела с согласование входных сопротивлений. Т.е какое сопротивление у источников сигналов.

На входе АЦП стоит операционник. По сопротивлениям вроде все должно быть хорошо.

Share this post


Link to post
Share on other sites

А на сколько уплывают значения?

Зависит от разницы напряжений на соседних каналах мультиплексора

Share this post


Link to post
Share on other sites

Зависит от разницы напряжений на соседних каналах мультиплексора

Это как раз логично. Так как часто переключаете?

Share this post


Link to post
Share on other sites

В результате экспериментов выяснилось, что нормальные значения напряжения получаются, только если у АЦП установлена частота измерений 20-25Гц. При переключении АЦП на более высокую частоту (100 или 200Гц) получаемые значения начинают сильно плавать. Интересно, есть ли это особенность конкретного АЦП или это так у всех?

Share this post


Link to post
Share on other sites

Кстати, если Sample Rate выше 50 Гц, отсутствие режекции сетевого может приводить к "плавающим" результатам.

Share this post


Link to post
Share on other sites

Кстати, если Sample Rate выше 50 Гц, отсутствие режекции сетевого может приводить к "плавающим" результатам.

Режекции сетевого нет. Есть только ВЧ-фильтр. А как ее лучше реализовать?

Edited by almat

Share this post


Link to post
Share on other sites

Режекции сетевого нет. Есть только ВЧ-фильтр. А как ее лучше реализовать?

Дык, я имею в виду цифровой фильтрацией самого АЦП. Согласовать частоту тактирования, настройки фильтра и sample rate. В документации об этом говорится. Правда, может не хватить быстродействия для оцифровки восьми каналов:

The settling-time of the filter to a full-scale step input change is worst case 4 ´ 1/(output data rate). For

example, with the first filter notch at 50ÊHz, the settling time of the filter to a full-scale step input change is

80Êms max. If the first notch is at 500ÊHz, the settling time of the filter to a full-scale input step is 8Êms max.

This settling-time can be reduced to 3 ´ 1/(output data rate) by synchronizing the step input change to a

reset of the digital filter.

Share this post


Link to post
Share on other sites

Дык, я имею в виду цифровой фильтрацией самого АЦП. Согласовать частоту тактирования, настройки фильтра и sample rate. В документации об этом говорится. Правда, может не хватить быстродействия для оцифровки восьми каналов:

Именно так мы и сделали, когда все заработало. Но опорная частота АЦП у нас 1МГц. В этом режиме встроенные фильтры нормально работают только с sample rate 20 и 25 Гц. В принципе, такой частоты нам сейчас достаточно, т.к. имеем дело с медлено меняющимися величинами. Но, в перспективе, такая проблема может возникнуть, поэтому и пытались переключаться на 100 и 200Гц.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...