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

 
 
> АЦП в xmegaA
_Артём_
сообщение Jan 31 2012, 23:44
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 2 128
Регистрация: 21-05-06
Пользователь №: 17 322



Задача такая нужно оцифровывать все каналы АЦП А и B поочереди, например сначала каналы 0-3, затем 4-7 и так по циклу. Очевидный вариант: по прерыванию АПЦ считывать значения, устанавливать новые значения MUX и запуск след. преобразования.
Какие есть способы сделать оцифровку, минимально используя процессор? Можно как-то задействовать ДМА или систему событий и разгрузить ЦПУ? Или такой возможности нет.
Спасибо.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
bob1
сообщение Feb 4 2012, 22:34
Сообщение #2


Частый гость
**

Группа: Свой
Сообщений: 82
Регистрация: 17-09-06
Пользователь №: 20 471



Цитата(_Артём_ @ Feb 5 2012, 03:15) *
Меняете с частотой 500кГц/4?
Idle сильно точность повышает?

Делим на 8. Через 8 тактов в АЦП результат получается. Менять раньше MUX наверно тоже можно. Напряжение должно захлопнуться на внутреннем конденсаторе. Тут надо в железе попробовать....
Точность в разных режимах не проверял. Нужно было оцифровать 1 сигнал. Меня не устроил результат полученный внутренним АЦП. Поставил внешнее!!!
Цитата(V_G @ Feb 5 2012, 04:15) *
Тут много доп. вводных, в частности, скорость изменения входного сигнала, оцифровка-то ведь все равно последовательная! Плюс выбор тактовой АЦП. Плюс особые требования к разводке платы для 12-разрядного АЦП. Ну а уж потом - глюки АЦП.
Кстати, 3-4 единички в 12-разрядном АЦП - это стояние колом на стандартном 10-разрядном!

Тактовая 500кГц. Пробовал еще уменьшать. Лучше не стало. Напряжение постоянное пробовал. RC цепочка почти на выводах АЦП.


Сообщение отредактировал bob1 - Feb 4 2012, 22:40
Go to the top of the page
 
+Quote Post
_Артём_
сообщение Feb 4 2012, 23:02
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 2 128
Регистрация: 21-05-06
Пользователь №: 17 322



Цитата(bob1 @ Feb 5 2012, 00:34) *
Менять раньше MUX наверно тоже можно.

Менять до завершения преобразования?

Цитата(bob1 @ Feb 5 2012, 00:34) *
Точность в разных режимах не проверял. Нужно было оцифровать 1 сигнал. Меня не устроил результат полученный внутренним АЦП. Поставил внешнее!!!

У меня получалось что нормальные результаты получались при делителе начиная от 32-64, до этого чёрти что.

Цитата(bob1 @ Feb 5 2012, 00:34) *
Тактовая 500кГц.

500кГц - тактирование ядра?
Go to the top of the page
 
+Quote Post
V_G
сообщение Feb 5 2012, 00:32
Сообщение #4


Профессионал
*****

Группа: Свой
Сообщений: 1 818
Регистрация: 15-10-09
Из: Владивосток
Пользователь №: 52 955



Цитата(_Артём_ @ Feb 5 2012, 09:02) *
Менять до завершения преобразования?

По-моему, MUX менять можно было произвольно даже в прежних мегах. Просто если в момент смены шло преобразование, оно завершалось со старым MUX, после чего новые настройки вступали в силу
Go to the top of the page
 
+Quote Post
_Артём_
сообщение Feb 12 2012, 14:33
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 2 128
Регистрация: 21-05-06
Пользователь №: 17 322



Можно ли так задействовоть ДМА:
по завершению преобразования грузить из ОЗУ новые настройки (MUX и другие) из двух блоков поочерёдно в от CH0.CTRL до CH3.INTFLAGS.
Но непонятно как xmega отреагирует на запись в нереализованные ячейки (от адреса CHn.RESH+1 до CH(n+1).CTRL). Допустимо ли так делать?

Или есть другие варианты перезагрузки MUX, не задействующие процессор?
Go to the top of the page
 
+Quote Post
_Артём_
сообщение Feb 13 2012, 21:57
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 2 128
Регистрация: 21-05-06
Пользователь №: 17 322



Цитата(_Артём_ @ Feb 12 2012, 16:33) *
Можно ли так задействовоть ДМА:
по завершению преобразования грузить из ОЗУ новые настройки (MUX и другие) из двух блоков поочерёдно в от CH0.CTRL до CH3.INTFLAGS.

Задействовать можно.
Но по завершению каждого блока генерится прерывание. Можно ли настроить так, чтобы прерывание генерировались после заданного числа циклов перезагрузки настроек каналов АЦП?
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- _Артём_   АЦП в xmegaA   Jan 31 2012, 23:44
- - bob1   Через прерывания нерационально!!! ДЛя ...   Feb 2 2012, 11:18
|- - _Артём_   Цитата(bob1 @ Feb 2 2012, 13:18) Через пр...   Feb 2 2012, 13:00
- - Kovrov   Может поможет... недавно у себя делал так... дма р...   Feb 2 2012, 17:12
|- - _Артём_   Цитата(Kovrov @ Feb 2 2012, 19:12) дма ра...   Feb 2 2012, 17:47
- - V_G   Читайте мануал. В версии мануала от 12/09 на с 299...   Feb 3 2012, 02:52
|- - _Артём_   Цитата(V_G @ Feb 3 2012, 04:52) Читайте м...   Feb 3 2012, 14:38
|- - V_G   Цитата(_Артём_ @ Feb 4 2012, 00:38) free ...   Feb 4 2012, 02:29
- - bob1   В MUX можете также грузить посредством DMA из опер...   Feb 3 2012, 15:32
|- - _Артём_   Цитата(bob1 @ Feb 3 2012, 17:32) В MUX мо...   Feb 3 2012, 15:53
- - bob1   Было проще общаться было бы тех задание или хотя б...   Feb 3 2012, 18:01
|- - _Артём_   Цитата(bob1 @ Feb 3 2012, 20:01) Было про...   Feb 3 2012, 18:39
- - bob1   Скорость небольшая!! 1 канал DMa настраива...   Feb 3 2012, 19:30
|- - _Артём_   Цитата(bob1 @ Feb 3 2012, 21:30) Скорость...   Feb 3 2012, 20:37
- - bob1   Цитата(_Артём_ @ Feb 4 2012, 01:37) Ничег...   Feb 4 2012, 07:27
|- - V_G   Цитата(bob1 @ Feb 4 2012, 17:27) Так кана...   Feb 4 2012, 08:07
|- - bob1   Цитата(V_G @ Feb 4 2012, 14:07) Это уже с...   Feb 4 2012, 16:54
|- - _Артём_   Цитата(bob1 @ Feb 4 2012, 18:54) Не пробо...   Feb 4 2012, 18:51
|- - V_G   Цитата(bob1 @ Feb 5 2012, 02:54) Не пробо...   Feb 4 2012, 22:15
- - bob1   Цитата(_Артём_ @ Feb 5 2012, 00:51) А что...   Feb 4 2012, 20:51
|- - _Артём_   Цитата(bob1 @ Feb 4 2012, 22:51) Это я к ...   Feb 4 2012, 21:15
- - bob1   Цитата(_Артём_ @ Feb 5 2012, 05:02) Менят...   Feb 4 2012, 23:31


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

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 23:08
Рейтинг@Mail.ru


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