реклама на сайте
подробности

 
 
> АЦП в LPC1766, все-таки трещит
Пал
сообщение Nov 7 2011, 11:43
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 26
Регистрация: 3-12-08
Пользователь №: 42 171



Добрый день всем. АЦП указанного камушка очень часто выдает лживые показания тяготеющие к крайним значениям разрядности. Нарисовать софтовый фильтр отсекающий эти выбросы и независающий при быстрых изменениях сигнала не удалось. Найти описание глюка у NXP и методы борьбы тоже никак. По поиску в инете и здесь на форуме вижу что проблема мне не приснилась. О ней говорят многие но вот никого поборовшего не встретил.. Посему творческий тупик.... Есть изделие с разведенной и натиражированной платой и нет софта, могущего быть отпущеным в жизнь.... КАК БЫТЬ???
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
stoker
сообщение Nov 7 2011, 12:35
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 340
Регистрация: 28-11-05
Из: Москва
Пользователь №: 11 469



Не знаю как у 1766, а LPC1768 АЦП работает без нареканий, думаю, что проблемы могут быть в софте. Возможно, у вас неправильное преобразование знакового числа.
Go to the top of the page
 
+Quote Post
VslavX
сообщение Nov 7 2011, 17:26
Сообщение #3


embarrassed systems engineer
*****

Группа: Свой
Сообщений: 1 083
Регистрация: 24-10-05
Из: Осокорки
Пользователь №: 10 038



Цитата(stoker @ Nov 7 2011, 14:35) *
Не знаю как у 1766, а LPC1768 АЦП работает без нареканий, думаю, что проблемы могут быть в софте. Возможно, у вас неправильное преобразование знакового числа.

"Здоровых нет - есть недообследованные" ©.
Рассказали бы что ли - в каком режиме АЦП работает, сколько каналов, какие настройки, кусочком кода поделились с народом. А то у меня на одной и той же физически плате, и с 99% одинакового С-кода, LPC2368 работает, а вот LPC1768 необъяснимые нули при измерении VBUS_USB (делитель 22k/22k) выкидывает изредка, причем только если по USB активный обмен идет. Цепляешь эту цепь VBUS на соседний канал, который спокойно до этого мониторил термодатчик - и он тоже начинает нули кидать. Помех 300МГц осциллоскопом не видно, даже триггер не срабатывает, 1000пФ стоит прямо у ноги. Как программно в DR ADC сформировать 0 - неясно ни разу, регистр же только на чтение. Физически нуля у меня там быть не может, поэтому фильтруется это дело "на раз" и на изделие не влияет, но загадка есть, однако. А я загадки не люблю.
P.S. Кстати, надо будет еще помониторить на предмет 0xFFF, а то у меня только нижний предел проверялся.
Go to the top of the page
 
+Quote Post
Пал
сообщение Nov 7 2011, 18:13
Сообщение #4


Участник
*

Группа: Участник
Сообщений: 26
Регистрация: 3-12-08
Пользователь №: 42 171



Вот и именно что эфэфэф...... замкнул вход ацп на землю кусочком медной проволочки длинной миллиметров 8-9. Сто раз в секунду запускаю преобразование, по прерыванию достаю содержимое ДР. Если больше переменной максимум_показаний то максимум_показаний=ДР, если меньше переменной минимум_показаний то минимум_показаний=ДР, ну и переменная последнее_показание=ДР. Вывожу все три переменные на экран жки. Через секунду-две переменная максимум_показаний рисует на экране опупительную цифирь 4095. Застрелиться.


Цитата(stoker @ Nov 7 2011, 23:26) *
Я брал пример из Кейла. Если конечно полегчает, пожалуйста.


Я видел этот пример, и пробовал его запускать, только переработав слегка, я вставил туда ловушки неверных отсчетов, как описал выше.... Ловушки ловили взахлеб. А вы уверенны что у вас не было 1/1000 ной неверных показаний???? Ваша последующая математика к ним чувствительна??? моя да...

Сообщение отредактировал IgorKossak - Nov 8 2011, 13:32
Причина редактирования: Избыточное цитирование
Go to the top of the page
 
+Quote Post
stoker
сообщение Nov 8 2011, 12:46
Сообщение #5


Местный
***

Группа: Свой
Сообщений: 340
Регистрация: 28-11-05
Из: Москва
Пользователь №: 11 469



Цитата(Пал @ Nov 7 2011, 21:13) *
Я видел этот пример, и пробовал его запускать, только переработав слегка, я вставил туда ловушки неверных отсчетов, как описал выше.... Ловушки ловили взахлеб. А вы уверенны что у вас не было 1/1000 ной неверных показаний???? Ваша последующая математика к ним чувствительна??? моя да...


Наверное для моей задачи это было не критично, я считывал показания раз в 2 сек. Попробую пожже на ките проверить может там действительно что то не то...
После проверки, вышеуказанных глюков не обнаружил. Тестил на разных скоростях, в burst и без него, считал минимумы максимумы за несколько секунд собирал данные - FFF и 0 не возникало.
Предлагаю выложить вашу реализацию, тогда может станет что то понятно.
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st July 2025 - 19:50
Рейтинг@Mail.ru


Страница сгенерированна за 0.01416 секунд с 7
ELECTRONIX ©2004-2016