ViKo 0 Posted May 31, 2011 · Report post про наводки уже который раз говорю-нет наводок. глючит явно внутри процессора. Все включено согласно даташиту как на моей плате, так и на покупной отладочной. LC фильтры присутствуют. наводки которые могут измерится АЦП как 2-3 вольта я бы заметил 200мгц осциллографом. питание, землю, референсное, входа, все измерял-все идеально. вход на землю замкнут. в измерениях АЦП якобы помехи в 2-3 вольта показывает Осталось только накрыть микроконтроллер экраном (заземленным), и с другой стороны платы тоже. А если у вас от мобильника наводится? :) Если ничего не помогает, то, похоже, NXP лоханулись в дизайне. Quote Ответить с цитированием Share this post Link to post Share on other sites
porty 0 Posted May 31, 2011 (edited) · Report post а у меня даже экран не помогает, достаточно включить внутренний блок работающий с высокой частотой, например Motor Control на пару мегагерц, даже если к чипу ничего кроме питания не подключено а питание сделано грамотно с минимальным расстоянием и сопротивлением полигонами и стоять ESR кондёры минимального форм фактора с минимальным растоянием до ножек Edited May 31, 2011 by Porty Quote Ответить с цитированием Share this post Link to post Share on other sites
Scuby_Du 0 Posted May 31, 2011 (edited) · Report post Осталось только накрыть микроконтроллер экраном (заземленным), и с другой стороны платы тоже. А если у вас от мобильника наводится? :) Если ничего не помогает, то, похоже, NXP лоханулись в дизайне. экранировать от самого себя не получится. глюки наводятся даже при процессах ввода вывода если ничего не подключено похоже придется делать внешний АЦП. неохота лепить костыли из-за которых у клиентов могут глюки всплыть кстати при определенных низких значениях частот оцифровки глюков вроде бы нет, но для моей задачи такие частоты не подходят порылся на западных форумах-глюки присутствуют у многих на разных отладках. похоже действительно NXP косячнулись с железом или библиотеками на мегах ничего похожего не было. жаль что мега не подходит под нашу задачу Edited May 31, 2011 by Scuby Quote Ответить с цитированием Share this post Link to post Share on other sites
ViKo 0 Posted May 31, 2011 · Report post похоже придется делать внешний АЦП Глушить в микроконтроллере все, что можно, на время измерения встроенным АЦП. :01: Quote Ответить с цитированием Share this post Link to post Share on other sites
Qwertty 0 Posted May 31, 2011 · Report post Ну попробуйте 2368, они вроде по ногам совместимы с 1768. Я при беглом просмотре особых отличий не увидел, разве что минус опоры у 2368 это общий питания. Quote Ответить с цитированием Share this post Link to post Share on other sites
porty 0 Posted May 31, 2011 (edited) · Report post Глушить в микроконтроллере все, что можно, на время измерения встроенным АЦП. :01: а ничего что ацп портит выборки так что они изменяются от GND до AVCC и в среднем имеют размах в половину аналогового питания? Даже когда контроллер заэкранирован, введён в слип, вся остальная переферия выключена и все каналы ацп к земле припаяны через НУЛЬ ОМ, другого обвеса вообще нет, питание берётся от батарейки которая тоже экранированна и косячят даже все примеры из комплекта поставки? Подобная проблема была у многих например http://gvworks.blogspot.com/2011/03/lpc176...y-glitches.html Edited May 31, 2011 by Porty Quote Ответить с цитированием Share this post Link to post Share on other sites
Qwertty 0 Posted May 31, 2011 · Report post Если есть возможность поднять дискретизацию в 2-4 раза, то с этим можно справится чисто программными методами. Хотя косяк неприятный. Quote Ответить с цитированием Share this post Link to post Share on other sites
porty 0 Posted May 31, 2011 · Report post Если есть возможность поднять дискретизацию в 2-4 раза, то с этим можно справится чисто программными методами. Хотя косяк неприятный. ниже 88.2кГц делать нереал - ибо сейчас идёт доработка уже существуещего устройства, желательно все 200к получить и не потерять ниодной выборки иначе будет шило на мыло и доработку, не станут брать и соответственно бонусы не пойдут нам. Клиенты вообще просят 300кГц + 16 бит АЦП и выше =) Quote Ответить с цитированием Share this post Link to post Share on other sites
porty 0 Posted May 31, 2011 (edited) · Report post double post, plz delete this Edited May 31, 2011 by Porty Quote Ответить с цитированием Share this post Link to post Share on other sites
ViKo 0 Posted May 31, 2011 · Report post Может, там есть что-то полезное. http://www.ru.nxp.com/documents/applicatio..._guidelines.zip И еще - медианный фильтр. Quote Ответить с цитированием Share this post Link to post Share on other sites
porty 0 Posted June 1, 2011 (edited) · Report post удалось заставить работать ацп без треска но с ощутимыми помехами (так будто ацп стал 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 Edited June 1, 2011 by IgorKossak [code] Quote Ответить с цитированием Share this post Link to post Share on other sites
andrewlekar 0 Posted June 1, 2011 · Report post Какая-то у вас скорость АЦП нереальная. Есть ещё такая мысль: если помеха идет по всем каналам, то на один канал завести постоянный уровень и если там изменение - отбрасывать показания. Если помеха идет по одному каналу, то завести источник на несколько каналов и сравнивать показания. Если есть разница, то отбрасывать. Quote Ответить с цитированием Share this post Link to post Share on other sites
ViKo 0 Posted June 1, 2011 · Report post Есть ещё такая мысль: если помеха идет по всем каналам, то на один канал завести постоянный уровень и если там изменение - отбрасывать показания. Если помеха идет по одному каналу, то завести источник на несколько каналов и сравнивать показания. Если есть разница, то отбрасывать. Так ведь каналы преобразуются не одновременно, а последовательно. Я понимаю так, что там выскакивают одиночные ошибочные измерения. Quote Ответить с цитированием Share this post Link to post Share on other sites
Scuby_Du 0 Posted June 1, 2011 · Report post Так ведь каналы преобразуются не одновременно, а последовательно. Я понимаю так, что там выскакивают одиночные ошибочные измерения. да вы правы. последовательно можно и на одном канале намерять ничего не припаивая Quote Ответить с цитированием Share this post Link to post Share on other sites
porty 0 Posted June 1, 2011 · Report post Может, там есть что-то полезное. http://www.ru.nxp.com/documents/applicatio..._guidelines.zip И еще - медианный фильтр. в этом документе описывается процедура минимизации шума, и мало сказано про глитч только про его возможность при подключенном программаторе. Медианный фильтр не помогает. да он почти полностью удаляет все иголки, но приводит к сильному фазовому биению (джиттинг в плюс минус несколько семплов) и уменьшает частотку и изменяет звук значительно (становиться жутко глухим будто звук играют динамики сотика заглушоного подушкой). Фильтры ренджирования, гауса и прочие тоже не особо помогают. Битые выборки АЦП это фактически потерянные данные и не один фильтр их не додумает даже приблизительно правильно. Какая-то у вас скорость АЦП нереальная. Есть ещё такая мысль: если помеха идет по всем каналам, то на один канал завести постоянный уровень и если там изменение - отбрасывать показания. Если помеха идет по одному каналу, то завести источник на несколько каналов и сравнивать показания. Если есть разница, то отбрасывать. Нужны все восемь каналов на максимальной скорости АЦП по даташиту, т.е. 190кило семплов в сек. Так ведь каналы преобразуются не одновременно, а последовательно. Я понимаю так, что там выскакивают одиночные ошибочные измерения. да одиночные, в лучшем случае одна выборка раз 1000 выборок во всём диапазоне АЦП, в худшем каждая десятая выборка рандомом Quote Ответить с цитированием Share this post Link to post Share on other sites