-
- Вы бы задачу описали...Типа с какой частотой АЦП ацепировать, сколько каналов (конвейерно или нет), надо ли двойной канал ДМА или стандартный сойдёт... Apтём(2496 знак., 29.04.2017 01:16)
- АЦП хотелось бы запустить на максимально высокой частоте, при которой данные еще можно успеть отсосать. Но я бы не хотела, чтобы мой вопрос о программировании DMA вы подменяли советами, как мне надлежит программировать АЦП. Беспокою только на счет Ксения(1095 знак., 29.04.2017 14:46)
- Задача вроде простая. Apтём(2131 знак., 29.04.2017 22:09)
- АЦП хотелось бы запустить на максимально высокой частоте, при которой данные еще можно успеть отсосать. Но я бы не хотела, чтобы мой вопрос о программировании DMA вы подменяли советами, как мне надлежит программировать АЦП. Беспокою только на счет Ксения(1095 знак., 29.04.2017 14:46)
- Есть точно рабочий, но на ассемблере. Нужно? - Idler(29.04.2017 00:22)
- Да, ассемблер тоже годится. Тем паче, что задача сводится лишь к правильной инициализации регистров. - Ксения(29.04.2017 15:42)
- Теперь, после описания задачи, стало понятно, что напрямую мой кусок вам не подойдет. Idler(525 знак., 29.04.2017 17:52)
- Мне не срочно после заполнения буфера надо начинать повторное его заполнение. Периодичность между обновлениями содержимого буфера около 1 сек, что соответствует времени обновления цифири на дисплее. Т.е. за это время я даже FFT успела бы на этом Ксения(810 знак., 29.04.2017 20:17, ссылка)
- а 2 буфера нельзя использовать? Balda(74 знак., 02.05.2017 15:08)
- Не успеваю обработать - раз, не хватает ОЗУ для второго буфера - два. - Ксения(02.05.2017 15:29)
- Вот как то так (поправил и прокомментировал) (еще 2 раза поправил): Idler(5220 знак., 29.04.2017 22:58 - 23:31)
- Спасибо за труды! У меня получилось вот что (кое-где отступила от рекомендаций): Ксения(2539 знак., 01.05.2017 00:03 - 01:31)
- Сразу включать DMA_CH_ENABLE_bm нельзя! Idler(2243 знак., 01.05.2017 01:21 - 01:23)
- Несомненно! Ксения(2802 знак., 01.05.2017 01:49 - 01:56)
- Правильно: Apтём(1300 знак., 01.05.2017 02:24)
- Вы лучше укажите, что у меня не правильно :) Ксения(93 знак., 01.05.2017 02:47)
- Так всё же хорошо - АЦП ацепирует, ДМА считывает. Все ведь успевают? Ну и ладно. Стоит ли париться из-за 2-3 тактов на входе-выходе, если они ничего не решают? Apтём(482 знак., 01.05.2017 03:00)
- Вы лучше укажите, что у меня не правильно :) Ксения(93 знак., 01.05.2017 02:47)
- Правильно: Apтём(1300 знак., 01.05.2017 02:24)
- Согласен с тем что правильнее Apтём(1045 знак., 01.05.2017 01:36)
- Но в даташите написано: "The ADC has 12-bit resolution and is capable of converting up to 2 million samples per second". Ксения(750 знак., 01.05.2017 02:24 - 02:35)
- Врут похоже. Маркетинг типа. Apтём(539 знак., 01.05.2017 02:33)
- 1Msps 12bit получаются точно (конвеер 4канала 1МГц free run), при тактировании 2МГц будет чуть хуже, но на примерно 10.5-11 бит можно рассчитывать. Idler(671 знак., 01.05.2017 02:50)
- А про это что можете сказать? Ксения(434 знак., 01.05.2017 02:36, ссылка)
- Я уже сказал, что 2MSps - небольшое преувеличение. Idler(253 знак., 01.05.2017 03:02)
- Можете надо мной смеяться :), но у меня сработало 2MSps на 12 битах! Проверка была такая: запустила два таймера в режиме делителя тактовой частоты, получив на выходе частоты 2 МГц (32МГц:16) и 250 КГц (32МГц:128). Первую из этих частот Ксения(473 знак., 19.05.2017 22:41)
- А как его поставить в "idle"? Командой SLEEP? - Ксения(01.05.2017 13:15)
- Я уже сказал, что 2MSps - небольшое преувеличение. Idler(253 знак., 01.05.2017 03:02)
- Врут похоже. Маркетинг типа. Apтём(539 знак., 01.05.2017 02:33)
- В старой ХМеге я получал 6 бит на 300kSps и 10 бит на 40kSps (медленнее не пробовал). На новой я имею полное соответствие DS - 12бит на 300kSps. Idler(258 знак., 01.05.2017 02:33)
- О кстати, точно! АЦП то у нас конвейерное, сразу 4 канала мерять может. Apтём(751 знак., 01.05.2017 02:40 - 02:45)
- На 300kSps 12бит - шум около 2-3 единиц, но он даже полезен, программный фильтр добавляет еще пару бит. Idler(577 знак., 01.05.2017 03:27)
- Про вход с ОУ интересуюсь. Как сделать (но, чтобы по-проще), чтобы на АЦП можно было подавать синусоиду, центрированную относительно нуля (т.е. иногда имеющую напряжение, отрицательное относительно земли). Причем речь даже не об усилении, а об Ксения(610 знак., 02.05.2017 14:46 - 15:33)
- Зависит от выходного сопротивления источника сигнала. Если сопротивление низкое, то два одинаковых резистора между сигналом и Udd дадут нужное смещение. Правда и полезный сигнал поделят на 2. - AlexBi(02.05.2017 15:22)
- У меня тоже опора 2.5в, но вход без ОУ, питание грязное, разводка плохая, ИксМега старая :) - см. картинку. Ксения(709 знак., 01.05.2017 13:37)
- Увы, "серии" у меня маленькие, а макетов не остается. Idler(961 знак., 01.05.2017 17:29 - 17:51)
- Про вход с ОУ интересуюсь. Как сделать (но, чтобы по-проще), чтобы на АЦП можно было подавать синусоиду, центрированную относительно нуля (т.е. иногда имеющую напряжение, отрицательное относительно земли). Причем речь даже не об усилении, а об Ксения(610 знак., 02.05.2017 14:46 - 15:33)
- На 300kSps 12бит - шум около 2-3 единиц, но он даже полезен, программный фильтр добавляет еще пару бит. Idler(577 знак., 01.05.2017 03:27)
- О кстати, точно! АЦП то у нас конвейерное, сразу 4 канала мерять может. Apтём(751 знак., 01.05.2017 02:40 - 02:45)
- Но в даташите написано: "The ADC has 12-bit resolution and is capable of converting up to 2 million samples per second". Ксения(750 знак., 01.05.2017 02:24 - 02:35)
- Несомненно! Ксения(2802 знак., 01.05.2017 01:49 - 01:56)
- Вроде всё верно. Сойдет вообщем. Apтём(3167 знак., 01.05.2017 00:49 - 00:58)
- Сразу включать DMA_CH_ENABLE_bm нельзя! Idler(2243 знак., 01.05.2017 01:21 - 01:23)
- Почти всё верно, или может всё верно. Apтём(948 знак., 29.04.2017 23:51)
- На счет запрета прерывания - спасибо, что поправили. Idler(352 знак., 30.04.2017 00:30)
- Тогда понятно: Apтём(441 знак., 30.04.2017 00:54)
- На счет запрета прерывания - спасибо, что поправили. Idler(352 знак., 30.04.2017 00:30)
- Спасибо за труды! У меня получилось вот что (кое-где отступила от рекомендаций): Ксения(2539 знак., 01.05.2017 00:03 - 01:31)
- а 2 буфера нельзя использовать? Balda(74 знак., 02.05.2017 15:08)
- Мне не срочно после заполнения буфера надо начинать повторное его заполнение. Периодичность между обновлениями содержимого буфера около 1 сек, что соответствует времени обновления цифири на дисплее. Т.е. за это время я даже FFT успела бы на этом Ксения(810 знак., 29.04.2017 20:17, ссылка)
- Теперь, после описания задачи, стало понятно, что напрямую мой кусок вам не подойдет. Idler(525 знак., 29.04.2017 17:52)
- Да, ассемблер тоже годится. Тем паче, что задача сводится лишь к правильной инициализации регистров. - Ксения(29.04.2017 15:42)
- Вы бы задачу описали...Типа с какой частотой АЦП ацепировать, сколько каналов (конвейерно или нет), надо ли двойной канал ДМА или стандартный сойдёт... Apтём(2496 знак., 29.04.2017 01:16)