Полная версия этой страницы:
АЦП при увеличенной частоте
Nickolya_K
Aug 27 2007, 20:10
Привет всем!
Кто нибудь знает, как меняется разрешение АЦП меги-48 при увеличении частоты, например, до 1 МГц?
Или с другой стороны - если достаточно 7 - 8 битного разрешения, какую частоту можно подать на АЦП?
Заранее спасибо
Borshef
Aug 29 2007, 05:58
Цитата(Nickolya_K @ Aug 28 2007, 00:10)

Привет всем!
Кто нибудь знает, как меняется разрешение АЦП меги-48 при увеличении частоты, например, до 1 МГц?
Или с другой стороны - если достаточно 7 - 8 битного разрешения, какую частоту можно подать на АЦП?
Заранее спасибо
Для АЦП существует верхний предел, если поднять частоту выше этого предела то АЦП работать не будет. Разрешение АЦП от частоты не зависит, если нужно меньшее разрешение, то это реализуется програмно.
Цитата(Borshef @ Aug 29 2007, 09:58)

Для АЦП существует верхний предел, если поднять частоту выше этого предела то АЦП работать не будет. Разрешение АЦП от частоты не зависит, если нужно меньшее разрешение, то это реализуется програмно.
АЦП работать будет, никуда не денется, неработать там нечему. Точность будет хуже, ессно.
При 1МГц тактовой, параметры АЦП АВРа ещё нормируются. Поднимать же её выше нет никакого смысла, бо полоса тракта УВХ около 40кГц, время сэмпла - 1,5 такта. Что там намеряешь - неизвестно.
Maik-vs
Aug 29 2007, 06:19
Цитата(Nickolya_K @ Aug 28 2007, 00:10)

Привет всем!
Кто нибудь знает, как меняется разрешение АЦП меги-48 при увеличении частоты, например, до 1 МГц?
Или с другой стороны - если достаточно 7 - 8 битного разрешения, какую частоту можно подать на АЦП?
Заранее спасибо
В даташите есть максимальная частота тактирования для АЦП. И написано, что на частотах, близких к предельной, точность сильно падает. Вот и будут 7 бит верных.
Если про частоту на входе, то АЦП заряжает за короткое время от входного напряжения конденсатор, потом отключает его и оцифровывает напряжение. Если частота выборок близка к частоте сигнала, то АЦП будет выдавать разностную частоту.
Borshef
Aug 29 2007, 06:47
Проверено практикой на меге16, при высокой частоте тактирования самого АЦП, не тактового генератора МК, само АЦП перестаёт работать - выдаёт сплошные нули, а снижать точность измерения путём повышения частоты, извините за резкость - маразм полный. Это элементарно реализуется програмно, а там хазяин барин.
alexander55
Aug 29 2007, 06:49
Цитата(Maik-vs @ Aug 29 2007, 10:19)

В даташите есть максимальная частота тактирования для АЦП. И написано, что на частотах, близких к предельной, точность сильно падает. Вот и будут 7 бит верных.
Если про частоту на входе, то АЦП заряжает за короткое время от входного напряжения конденсатор, потом отключает его и оцифровывает напряжение. Если частота выборок близка к частоте сигнала, то АЦП будет выдавать разностную частоту.
Чтобы поставить точку в вопросе. Используется АЦП последовательного приближения, т.е. для взвешивания используется встроенный ЦАП. Вот время установки уровня ЦАП и является ограничителем. Время установки (из моей практики) сильно зависит от уровня входного сигнала. Говорить о точности 6-7 разрядов или что-то другое - это просто бред.
Вывод. Не залезайте за предел. Если нужно что-то побыстрее, рекомендую AD7888 (SPI, 8 каналов, 12 разрядов, время преобразования (на память) 8 мсек при CLK=2 мГц.
arttab
Aug 29 2007, 06:53
Я про понижение точности здесь не нашел. Речь про увеличении скорости преобразования (количества выборок в сек.) путем жертвования точностью.
Nickolya_K поставте эксперемент. Таблиц частота/точность я не находил.
Borshef
Aug 29 2007, 06:53
АЦП для перевода аналоговой величины в цифровую необходимо определённое время, вот этим временем и ограничивается частота запуска преобразований АЦП.
Maik-vs
Aug 29 2007, 07:18
Цитата(alexander55 @ Aug 29 2007, 10:49)

Чтобы поставить точку в вопросе. Используется АЦП последовательного приближения, т.е. для взвешивания используется встроенный ЦАП. Вот время установки уровня ЦАП и является ограничителем. Время установки (из моей практики) сильно зависит от уровня входного сигнала. Говорить о точности 6-7 разрядов или что-то другое - это просто бред.
Вывод. Не залезайте за предел. Если нужно что-то побыстрее, рекомендую AD7888 (SPI, 8 каналов, 12 разрядов, время преобразования (на память) 8 мсек при CLK=2 мГц.
Я так понял изначальный посыл: "хочется поднять частоту оцифровки, пусть в ущерб точности". Говорить о точности 6 разрядов - это допускать суммарную ошибку в 1/64-ю от измеряемой величины, какой это бред?
Насчёт залезания за предел согласен, поддерживаю, всякие "разгоны" считаю любительщиной и источником аварий.
А в AVR действительно АЦП последовательного приближения, это где-то написано?
Цитата
А в AVR действительно АЦП последовательного приближения, это где-то написано?
Конечно...В ДШ. ;О)
У меня на меге 8 в двух десятках девайсах пашет АЦП на тактовой 1Мгц-надо мерять амплитуду
площадки гашения синхроимпульса-7 разарядов уверенно.
muravei
Aug 29 2007, 07:37
Цитата(Maik-vs @ Aug 29 2007, 11:18)

А в AVR действительно АЦП последовательного приближения, это где-то написано?
В начале соотв. раздела.
"10-bit successive approximation ADC."
По теме:
" If a lower resolution than 10 bits is needed, the input clock frequency
to the ADC can be as high as 1000 kHz to get a higher sample rate."
Из даташита Тини 26.
alexander55
Aug 29 2007, 08:15
Цитата(muravei @ Aug 29 2007, 11:37)

В начале соотв. раздела.
"10-bit successive approximation ADC."
По теме:
" If a lower resolution than 10 bits is needed, the input clock frequency
to the ADC can be as high as 1000 kHz to get a higher sample rate."
Из даташита Тини 26.
Правильно написано. Что получится в результате - это ваши проблемы. Цифры здесь неуместны. Единственный положительный момент гарантируется, что ЦАП в АЦП не сгорит.
SasaVitebsk
Aug 29 2007, 09:21
Цитата(WHALE @ Aug 29 2007, 10:36)

У меня на меге 8 в двух десятках девайсах пашет АЦП на тактовой 1Мгц-надо мерять амплитуду
площадки гашения синхроимпульса-7 разарядов уверенно.
Аналогично. Правда я по ошибке сие сделал. Уж не знаю как я хомутнул. Сейчас исправил. Но до этого пару тысяч выпустили и не заметили даже. Правда я после этого фильтрую. Сейчас стоит 125кГц. Говорят нет никакой разницы.
Nickolya_K
Aug 29 2007, 20:59
Огромное спасибо всем.
Есть над чем подумать.
В общем-то я тоже понял, что окончательно можно будет понять только по результатам эксперимента, но уже радует, что вроде 7 бит на 1 МГц - то есть около 80 000 выборок в секунду можно получить.
Хотелось бы 8 бит, но посмотрю, как это повлияет на скорость.
В принципе, мне надо сделать что-то вроде автоноиного спектроанализатора. По идее, 256 каналов должно хватить. Максимальная загрузка - около 10 000 имп/сек. Дополнительные требования - габариты и потребление тока. Поэтому я и остановился на мега48.
И поэтому же никаких внешних АЦП ставить не могу, хоть они и гораздо лучше.
SasaVitebsk
Aug 29 2007, 23:24
Я не говорил что так надо делать. Я поддерживаю тех, кто ратует за соблюдение даташита как основного документа. Я думаю что те кто его писали (разработчики данного кристалла) провели достаточно исследований чтобы изложить указания для разработчика.
Цитата(Nickolya_K @ Aug 30 2007, 00:59)

Огромное спасибо всем.
Есть над чем подумать.
В общем-то я тоже понял, что окончательно можно будет понять только по результатам эксперимента, но уже радует, что вроде 7 бит на 1 МГц - то есть около 80 000 выборок в секунду можно получить.
Хотелось бы 8 бит, но посмотрю, как это повлияет на скорость.
В принципе, мне надо сделать что-то вроде автоноиного спектроанализатора. По идее, 256 каналов должно хватить. Максимальная загрузка - около 10 000 имп/сек. Дополнительные требования - габариты и потребление тока. Поэтому я и остановился на мега48.
И поэтому же никаких внешних АЦП ставить не могу, хоть они и гораздо лучше.
Блин, да ты ваще ДШ прочитать можешь? На 1МГц absolute accuracy: 4,5 LSB. 4,5/1024*100=0,45%. Это 7-разрядная точность, что-ли?
На 1М 74 киловыборки. Больше смысла нет, тем более, что будешь перебирать каналы. У м48 полоса пропускания маленькая. Будет ярко выраженное влияние предыдущего канала.
Где ты будешь свои 256 каналов хранить? У м48 всего 256 байт памяти.
SasaVitebsk
Aug 30 2007, 21:07
Цитата(mse @ Aug 30 2007, 09:11)

Где ты будешь свои 256 каналов хранить? У м48 всего 256 байт памяти.
Просто к слову. У м48 512 байт памяти. И, что очевидно, её при необходимости просто заменить на м88 с 1к памяти на кристалле.
Вообще следует признать что м8/м88 одна из найболее удачных микросхем для своего класса задач. АЦП же вообще у AVR отнюдь не сильная сторона. Здесь она проигрывает тому же PIC.
defunct
Aug 30 2007, 21:34
Цитата(SasaVitebsk @ Aug 31 2007, 00:07)

АЦП же вообще у AVR отнюдь не сильная сторона. Здесь она проигрывает тому же PIC.
Для клавиатуры годится.

1 канал в 8-ми битном режиме безошибочно обслуживает любую комбинацию из 4-х кнопок.
Цитата(Nickolya_K @ Aug 29 2007, 23:59)

В принципе, мне надо сделать что-то вроде автоноиного спектроанализатора. По идее, 256 каналов должно хватить. Максимальная загрузка - около 10 000 имп/сек. Дополнительные требования - габариты и потребление тока. Поэтому я и остановился на мега48.
И поэтому же никаких внешних АЦП ставить не могу, хоть они и гораздо лучше.
смотрите
LPC214x - 2 встроенных 10-битных АЦП 500KSPS 8+6 каналов.
AT91SAM7Sxx (5Mhz 10-bit (384KSPS), 8Mhz - 8bit (533KSPS), 8 каналов АЦП).
Внутреннего SRAM'а от 8k SAM7S32/LPC2141 до 64k SAM7S256/ 40k LPC2148.
AVRке здесь IMHO делать нечего.
Цитата(SasaVitebsk @ Aug 31 2007, 01:07)

Просто к слову. У м48 512 байт памяти. И, что очевидно, её при необходимости просто заменить на м88 с 1к памяти на кристалле.
Да, точно, с еепром попутал...Всё равно, мало.
Цитата
Вообще следует признать что м8/м88 одна из найболее удачных микросхем для своего класса задач. АЦП же вообще у AVR отнюдь не сильная сторона. Здесь она проигрывает тому же PIC.
Да и у пика тоже не фонтан. Скорость не при чём, а вот полоса пропускания примерно такая-же.
Другое дело, что временем выборки можно рулить...
=L.A.=
Aug 31 2007, 07:09
Цитата(mse @ Aug 31 2007, 09:26)

Да и у пика тоже не фонтан. Скорость не при чём, а вот полоса пропускания примерно такая-же.
Другое дело, что временем выборки можно рулить...
PIC18F4550 - далеко не новый.
THE MINIMUM REQUIRED ACQUISITION TIME = 6,4 µs -> ~140 KSPS
При этом обеспечиваеся 10 бит.
При чем
Amplifier Settling Time + Holding Capacitor Charging Time = 0.2 µs + 5 µs
Полоса УВХ почти 200 кГц
SasaVitebsk
Aug 31 2007, 11:07
Всё таки если требуются какие-то изыски, то я бы применил внешний АЦП от AD и не баловался бы. А их там - море. выбирай любой.

2 defunct - для клавиатуры - подойдёт. Или я - указатели делаю. Требуется 8 разрядов.
gormih
Aug 31 2007, 11:37
Из практики - приходилось корректировать программу, в которой почему то было очень сильно занижено разрешение АЦП.
Выяснилось, что прескалер на АЦП стоял 1:1, тактовая частота - 16 Мгц. Разрешение было 4 бита, камень - Atmega8535.
Это информация к размышлению.
bodja74
Aug 31 2007, 15:27
Тоже из практики ,у меня мега16 второй год пашет на 200 киловыборок ,7 бит уверенно

Вообще в старых даташитах на меги 8\16 был бит разгона АЦП до такта в 1Мгц при гарантии 8 бит.
Если делаеш для себя 80кило должно взять легко ,ну а если не для себя то и не жалко АЦП поставить
taranoid
Sep 1 2007, 18:22
А поточнее можете посдказать какой битик и где можно установить для повышения скорости преобразования? Надо сделать одноразовый макет, точность не нужна(оценка сигнала).
bodja74
Sep 1 2007, 18:47
Цитата(taranoid @ Sep 1 2007, 21:22)

А поточнее можете посдказать какой битик и где можно установить для повышения скорости преобразования? Надо сделать одноразовый макет, точность не нужна(оценка сигнала).
Ищите бит ADHSM регистра SFIOR.
taranoid
Sep 7 2007, 15:31
Пасибо!
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.