Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: АЦП
Форум разработчиков электроники ELECTRONIX.ru > Аналоговая и цифровая техника, прикладная электроника > Метрология, датчики, измерительная техника
Zelepuk
Здравствуйте!

Хочу считать данные с АЦП. АЦП 8-ми канальный, данные считываю по паралельной шине микроконтроллером, а затем вывожу числа на экран компьютера (через COM-порт).

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

32657
32657
32657
32657
.
.
.

Когда считываю данные из 8-ми каналов(8 раз дёргаю RD) и вывожу на экран циклически все данные то видно что по первому каналу наблюдаются аномалии время от времени:

32657 // 1 канал
10323 // 2 канал
10323 // 3 канал
10323 // 4 канал
10323 // 5 канал
10323 // 6 канал
10323 // 7 канал
10323 // 8 канал
5324 // 1 канал
.
.
.
16323 // 1 канал
.
.
.
32657 // 1 канал

С чём это может быть связано? Странно что эти аномалии проявляются толкьо если считываю больше 1 канала. (значит с самим сигналом всё впорядке и дело в связке АЦП+процессор)

Может кто сталкивался?...
alexPec

АЦП какой? Числа на первом канале всегда одинаково меняются или случайно, т.е. одни и те же числа на выходе первого канала или случайные? На остальные каналы что подключено? На атмеге похожий эффект был, после переключения канала надо было подождать, иначе влияло как-то напряжение того канала который до этого был включен. Так и не поборол. Пришлось ожидание оставить, скорость опроса снижалась.
нечитатель
Цитата(alexPec @ Mar 12 2011, 14:49) *
после переключения канала надо было подождать,
пока ёмкость входа АЦП зарядится либо разрядится до нового напряжения.
Можно "бороть" увеличением тока зарядки/разрядки. Если удастся организовать бесконечно большой этот ток, то ждать придётся ровно 0 микросекунд.

По сабжу:

1). добрый вечер,
2). это может быть связано с ошибкой в программе,
3). да, кто-нибудь сталкивался может.
alexPec
Цитата(нечитатель @ Mar 12 2011, 20:26) *
Можно "бороть" увеличением тока зарядки/разрядки.

Как если коммутатор внутри? На вход коммутатора помню с опера ad831 подавалось, крутой опер по тем временам, куда уж больше ток?
Stepanov
Вопрос задан слабо. Нет информации о ситуации. Какие МС? Какая схема? Какая программа? maniac.gif
нечитатель
Цитата(alexPec @ Mar 12 2011, 23:02) *
Как (...) ?
Любыми способами, которые а). доступны + б). целесообразны.
Ещё раз: для мгновенной перезарядки конденсатора ток должен быть бесконечным...
... а процессор, работающий на бесконечно большой тактовой частоте, сможет потом мгновенно же обработать любое количество любых результатов любых измерений. И тоже было бы интересно: как?

Цитата
крутой опер по тем временам, куда уж больше ток?
ээээ... извините, отстаю от прогресса. Раньше ток от учёного Ома зависел.
VCO
ТС - 2 с минусом! "Как челобитную царю подаешь?" "ИВМП"TM twak.gif biggrin.gif
Если речь идёт о том, что МК бежит вперёд АЦП (паровоза) - всё понятно.
Если речь идёт о сигма-дельтовых АЦП, то ничего непонятно! laughing.gif
Если речь идёт о АЦП на компараторах, например, как у Maxim, тоже непонятно!
"Огласите весь список пжлст!"
Tanya
Цитата(Stepanov @ Mar 13 2011, 00:02) *
Вопрос задан слабо. Нет информации о ситуации. Какие МС? Какая схема? Какая программа? maniac.gif

Это фирменный стиль автора(ов) (иногда их двое).
Если автор не напишет ничего толкового в ближайшее время, эта тема пойдет в корзину, а автору воздастся за флуд.
Zelepuk
АЦП AD7606 (АЦП одновременной выборки по всем 8 каналам) и микроконтроллер AVR.
В прерывании от АЦП делаю следующее:

Выставляю сигнал CS/RD (они объеденены - закорочены).

Забираю данные в паралельном виде и ложу в буфер по указателю,
затем убираю CS/RD и икрементирую указатель,

Затем опять выставляю CS/RD и так далее.... 8раз!

Про само прерывание: микроконтроллер подаёт на АЦП импульсы с периодом 20мкс(запуская преобразование), микроконтроллер по положительному фронту каждого такого импульса запускает преобразование по всем 8-ми каналам, и посылает сигнла на микрокотроллер на вход внешнего прерывания, по спаду на котором и запускается программа описаная выше....

Надеюсь исчерпывающе написал....

___________________________________

для Tanya:

какой ещё флуд? Ла однажды я написал от чужого ника случайно.... никак не пойму что тут такого?
Вот у кого-то была похожая проблема. Значит тема не флуд.
DpInRock
Неисчерпывающе.
Параллельного интерфейса там 2 вида.
Zelepuk
Я использую Reading After Converstion и CS and RD, Linked Parallel Mode
DpInRock
Страница 27.
Какой вид интерфейса 8 разрядов или 16?

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

На сайте аналога есть подобная информация. 61.7 мегабайт информации по этой микросхеме.
Zelepuk
Да простите забыл использую интерфейс 8 разрядов. Так как работаю c AVR и складываю потом данные правильно, так как преобразование по одному каналу работает сиправно.

Просто если забираю больше одного - появляются "аномалии" описаные выше...
DpInRock
1. Тогда описание вашего алгоритма неверное. Данные идут в два пульса РД.
2. Что дает вам уверенность, что микросхема ЗНАЕТ о том, что вы работаете именно по этому интерфейсу?
--
3. До кучи. Что дает вам уверенность, что старший бит считываемого слова на самом деле не является МЛАДШИМ битом значения напряжения?
Tanya
Цитата(Zelepuk @ Mar 13 2011, 14:42) *
Надеюсь исчерпывающе написал....

___________________________________

для Tanya:

какой ещё флуд? Ла однажды я написал от чужого ника случайно.... никак не пойму что тут такого?
Вот у кого-то была похожая проблема. Значит тема не флуд.

Почитайте правила. Вы и Ваши действия подпадают. Следите за словами и их смыслом. Думаю, что такая форма выражения уважения собеседника, будет всеми адекватно оценена.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.