|
|
  |
треск АЦП LPC1768 |
|
|
|
May 31 2011, 12:28
|

Универсальный солдатик
     
Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362

|
Цитата(Scuby @ May 31 2011, 14:56)  про наводки уже который раз говорю-нет наводок. глючит явно внутри процессора. Все включено согласно даташиту как на моей плате, так и на покупной отладочной. LC фильтры присутствуют. наводки которые могут измерится АЦП как 2-3 вольта я бы заметил 200мгц осциллографом. питание, землю, референсное, входа, все измерял-все идеально. вход на землю замкнут. в измерениях АЦП якобы помехи в 2-3 вольта показывает Осталось только накрыть микроконтроллер экраном (заземленным), и с другой стороны платы тоже. А если у вас от мобильника наводится?  Если ничего не помогает, то, похоже, NXP лоханулись в дизайне.
|
|
|
|
|
May 31 2011, 13:15
|
Частый гость
 
Группа: Участник
Сообщений: 98
Регистрация: 11-11-08
Пользователь №: 41 528

|
Цитата(ViKo @ May 31 2011, 16:28)  Осталось только накрыть микроконтроллер экраном (заземленным), и с другой стороны платы тоже. А если у вас от мобильника наводится?  Если ничего не помогает, то, похоже, NXP лоханулись в дизайне. экранировать от самого себя не получится. глюки наводятся даже при процессах ввода вывода если ничего не подключено похоже придется делать внешний АЦП. неохота лепить костыли из-за которых у клиентов могут глюки всплыть кстати при определенных низких значениях частот оцифровки глюков вроде бы нет, но для моей задачи такие частоты не подходят порылся на западных форумах-глюки присутствуют у многих на разных отладках. похоже действительно NXP косячнулись с железом или библиотеками на мегах ничего похожего не было. жаль что мега не подходит под нашу задачу
Сообщение отредактировал Scuby - May 31 2011, 13:18
|
|
|
|
|
May 31 2011, 16:29
|
Местный
  
Группа: Свой
Сообщений: 246
Регистрация: 28-05-08
Из: г. Ижевск
Пользователь №: 37 893

|
Цитата(ViKo @ May 31 2011, 17:23)  Глушить в микроконтроллере все, что можно, на время измерения встроенным АЦП.  а ничего что ацп портит выборки так что они изменяются от GND до AVCC и в среднем имеют размах в половину аналогового питания? Даже когда контроллер заэкранирован, введён в слип, вся остальная переферия выключена и все каналы ацп к земле припаяны через НУЛЬ ОМ, другого обвеса вообще нет, питание берётся от батарейки которая тоже экранированна и косячят даже все примеры из комплекта поставки? Подобная проблема была у многих например http://gvworks.blogspot.com/2011/03/lpc176...y-glitches.html
Сообщение отредактировал Porty - May 31 2011, 16:37
|
|
|
|
|
May 31 2011, 19:37
|
Местный
  
Группа: Свой
Сообщений: 246
Регистрация: 28-05-08
Из: г. Ижевск
Пользователь №: 37 893

|
Цитата(Qwertty @ May 31 2011, 20:53)  Если есть возможность поднять дискретизацию в 2-4 раза, то с этим можно справится чисто программными методами. Хотя косяк неприятный. ниже 88.2кГц делать нереал - ибо сейчас идёт доработка уже существуещего устройства, желательно все 200к получить и не потерять ниодной выборки иначе будет шило на мыло и доработку, не станут брать и соответственно бонусы не пойдут нам. Клиенты вообще просят 300кГц + 16 бит АЦП и выше =)
|
|
|
|
|
Jun 1 2011, 06:01
|
Местный
  
Группа: Свой
Сообщений: 246
Регистрация: 28-05-08
Из: г. Ижевск
Пользователь №: 37 893

|
удалось заставить работать ацп без треска но с ощутимыми помехами (так будто ацп стал 5-6 битным) путём повышения частоты АЦП до 50Мгц: Код LPC_SC->PCLKSEL0&=~(1<<24); // LPC_SC->PCLKSEL0|= 1<<24; //ADC clock pclk/1; pclk=100Mhz ADC clock = 100Mhz ... #define ADC_START_TIMER(V) {LPC_ADC->ADCR=(V) | (1<<8) | (7<<24) | (1<<21) | (0<<27);} //ADC clock div=2. 50Mhz
Сообщение отредактировал IgorKossak - Jun 1 2011, 06:38
Причина редактирования: [code]
|
|
|
|
|
Jun 1 2011, 07:07
|
Частый гость
 
Группа: Участник
Сообщений: 98
Регистрация: 11-11-08
Пользователь №: 41 528

|
Цитата(ViKo @ Jun 1 2011, 10:57)  Так ведь каналы преобразуются не одновременно, а последовательно. Я понимаю так, что там выскакивают одиночные ошибочные измерения. да вы правы. последовательно можно и на одном канале намерять ничего не припаивая
|
|
|
|
|
Jun 1 2011, 08:00
|
Местный
  
Группа: Свой
Сообщений: 246
Регистрация: 28-05-08
Из: г. Ижевск
Пользователь №: 37 893

|
Цитата(ViKo @ May 31 2011, 23:47)  в этом документе описывается процедура минимизации шума, и мало сказано про глитч только про его возможность при подключенном программаторе. Медианный фильтр не помогает. да он почти полностью удаляет все иголки, но приводит к сильному фазовому биению (джиттинг в плюс минус несколько семплов) и уменьшает частотку и изменяет звук значительно (становиться жутко глухим будто звук играют динамики сотика заглушоного подушкой). Фильтры ренджирования, гауса и прочие тоже не особо помогают. Битые выборки АЦП это фактически потерянные данные и не один фильтр их не додумает даже приблизительно правильно. Цитата(andrewlekar @ Jun 1 2011, 10:48)  Какая-то у вас скорость АЦП нереальная. Есть ещё такая мысль: если помеха идет по всем каналам, то на один канал завести постоянный уровень и если там изменение - отбрасывать показания. Если помеха идет по одному каналу, то завести источник на несколько каналов и сравнивать показания. Если есть разница, то отбрасывать. Нужны все восемь каналов на максимальной скорости АЦП по даташиту, т.е. 190кило семплов в сек. Цитата(ViKo @ Jun 1 2011, 10:57)  Так ведь каналы преобразуются не одновременно, а последовательно. Я понимаю так, что там выскакивают одиночные ошибочные измерения. да одиночные, в лучшем случае одна выборка раз 1000 выборок во всём диапазоне АЦП, в худшем каждая десятая выборка рандомом
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|