Перейти к содержанию
    

Здравствуйте!

 

Хочу считать данные с АЦП. АЦП 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 канала. (значит с самим сигналом всё впорядке и дело в связке АЦП+процессор)

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

 

АЦП какой? Числа на первом канале всегда одинаково меняются или случайно, т.е. одни и те же числа на выходе первого канала или случайные? На остальные каналы что подключено? На атмеге похожий эффект был, после переключения канала надо было подождать, иначе влияло как-то напряжение того канала который до этого был включен. Так и не поборол. Пришлось ожидание оставить, скорость опроса снижалась.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

после переключения канала надо было подождать,
пока ёмкость входа АЦП зарядится либо разрядится до нового напряжения.

Можно "бороть" увеличением тока зарядки/разрядки. Если удастся организовать бесконечно большой этот ток, то ждать придётся ровно 0 микросекунд.

 

По сабжу:

 

1). добрый вечер,

2). это может быть связано с ошибкой в программе,

3). да, кто-нибудь сталкивался может.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Можно "бороть" увеличением тока зарядки/разрядки.

Как если коммутатор внутри? На вход коммутатора помню с опера ad831 подавалось, крутой опер по тем временам, куда уж больше ток?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вопрос задан слабо. Нет информации о ситуации. Какие МС? Какая схема? Какая программа? :maniac:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Как (...) ?
Любыми способами, которые а). доступны + б). целесообразны.

Ещё раз: для мгновенной перезарядки конденсатора ток должен быть бесконечным...

... а процессор, работающий на бесконечно большой тактовой частоте, сможет потом мгновенно же обработать любое количество любых результатов любых измерений. И тоже было бы интересно: как?

 

крутой опер по тем временам, куда уж больше ток?
ээээ... извините, отстаю от прогресса. Раньше ток от учёного Ома зависел.
Изменено пользователем нечитатель

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

ТС - 2 с минусом! "Как челобитную царю подаешь?" "ИВМП"TM :twak: :biggrin:

Если речь идёт о том, что МК бежит вперёд АЦП (паровоза) - всё понятно.

Если речь идёт о сигма-дельтовых АЦП, то ничего непонятно! :laughing:

Если речь идёт о АЦП на компараторах, например, как у Maxim, тоже непонятно!

"Огласите весь список пжлст!"

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вопрос задан слабо. Нет информации о ситуации. Какие МС? Какая схема? Какая программа? :maniac:

Это фирменный стиль автора(ов) (иногда их двое).

Если автор не напишет ничего толкового в ближайшее время, эта тема пойдет в корзину, а автору воздастся за флуд.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

АЦП AD7606 (АЦП одновременной выборки по всем 8 каналам) и микроконтроллер AVR.

В прерывании от АЦП делаю следующее:

 

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

 

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

затем убираю CS/RD и икрементирую указатель,

 

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

 

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

 

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

 

___________________________________

 

для Tanya:

 

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

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

Изменено пользователем Zelepuk

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Страница 27.

Какой вид интерфейса 8 разрядов или 16?

 

---

Судя по всему это для вас полная неожиданность.

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

Со всей схемотехникой и программами.

И тогда неожиданностей существенно меньше.

 

На сайте аналога есть подобная информация. 61.7 мегабайт информации по этой микросхеме.

Изменено пользователем DpInRock

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

Просто если забираю больше одного - появляются "аномалии" описаные выше...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1. Тогда описание вашего алгоритма неверное. Данные идут в два пульса РД.

2. Что дает вам уверенность, что микросхема ЗНАЕТ о том, что вы работаете именно по этому интерфейсу?

--

3. До кучи. Что дает вам уверенность, что старший бит считываемого слова на самом деле не является МЛАДШИМ битом значения напряжения?

Изменено пользователем DpInRock

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

___________________________________

 

для Tanya:

 

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

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

Почитайте правила. Вы и Ваши действия подпадают. Следите за словами и их смыслом. Думаю, что такая форма выражения уважения собеседника, будет всеми адекватно оценена.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...