Форум программистов, компьютерный форум, киберфорум
Наши страницы
Микроконтроллеры Atmega AVR
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.84/182: Рейтинг темы: голосов - 182, средняя оценка - 4.84
okotimiv
1 / 1 / 0
Регистрация: 30.08.2010
Сообщений: 3,382
1

Особенности работы АЦП XMega

25.09.2010, 19:22. Просмотров 32924. Ответов 36
Метки нет (Все метки)

Провел небольшой эксперимент:


Сигнал на всех трех графиках - синусоида 100 герц. Частота выборок 10 КГц, задается таймером через систему событий.

В вернем графике частота работы АЦП 8 Мгц (делитель 4), в нижнем 4 МГц (делитель 8), в правом 1 МГц (делитель 32). МК работает на частоте 32 МГц, на внутреннем RC осцилляторе, динамически калибрующимся по часовому кварцу. Режим работы АЦП 8-бит. Параллельно работает второй канал, данные с него не снимаются. Никакие другие параметры, кроме делителя АЦП, не менялись.

Выглядит так, как будто высокие частоты оцифровки достигнуты банальным снижением разрядности. Так что заявленные атмелом 2 MSPS похоже просто трюк.

С другой стороны возможно что это мой косяк. Идеи есть?
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.09.2010, 19:22
Ответы с готовыми решениями:

XMEGA A3: АЦП & ИОН 1.00В
Доброго времени суток. Кто-нибудь запускал на XMEGA АЦП с встроенным ИОН 1.00В? Что-то у меня никак...

Симуляция работы АЦП в AtmelStudio 7 на ATmega328
Можно как то организовать симуляцию работы АЦП в 7-ке, чтобы какие то результаты преобразования в...

Расширение АЦП микроконтроллера и подключение к АЦП датчиков
Здравствуйте. У меня встала задача сделать устройство для элеватора, для контроля температуры в 864...

Mega16 и неиспользуемый АЦП (питание ацп?)
Если я не использую АЦП контроллера нужно ли подавать на АЦП питание? Если нет, то просто оставить...

XMega
Всем привет. Собрался было переходить на ARM после AVR... И тут вспомнил про XMiko, почитал и понял...

36
Zhitizmjokov
0 / 0 / 0
Регистрация: 31.08.2010
Сообщений: 550
25.09.2010, 19:36 2
И это ты ещё с ЦАП не работал :)
Вел переписку с тех поддержкой обещали в 2011 в первом квартале новую ревизию, где должны были устранить косяки с ЦАП и АЦП.
Меня расстроила работа ЦАП в двух канальном режиме, при чем косяки не на всех чипах на некоторых нормально работает.
0
okotimiv
1 / 1 / 0
Регистрация: 30.08.2010
Сообщений: 3,382
25.09.2010, 19:43 3
С ЦАП я пока что вроде не сталкивался с проблемами... впрочем я его использую только для компараторов.

Есть смутное подозрение, что схемотехника АЦП перенесена в иксмегу с обычной меги, а увеличенная производительность заявлена за счет таких вот трюков с разрядностью. Фактическое быстродействие АЦП (если нужен не просто показометр) примерно равно обычным мегам.

Можно конечно еще поэкпериментировать с разными частотами периферийной шины, но сдается мне что это мало что даст...
0
THI BIOST
0 / 0 / 0
Регистрация: 23.01.2010
Сообщений: 1,142
25.09.2010, 21:57 4
Где-то в ерратах было про разрядность АЦП и то, что с ней всё плохо...

У меня лежат xmega, ждут своего часа. Больше всего умиляет неработоспособность EEPROM...
0
25.09.2010, 21:57
okotimiv
1 / 1 / 0
Регистрация: 30.08.2010
Сообщений: 3,382
25.09.2010, 22:38 5
Ага, нашел там:
Код
In differential mode INL is ymsreased to:
–6 LSB for sample rates above 1 Msps, omd up to 8 LSB for 2 Msps sample rate.
–6 LSB for reference voltage below 1.1V when VCC is above 3.0V.
–20 LSB for ambient temperature below 0 degree C omd reference voltage below 1.3V.
In single endid mode, the INL is ymsreased up to a factor of 3 for the conditions above.
Что в сущности означает, что на указанных частотах АЦП там просто нет :) Вообще-то подобное стоило бы указывать не в еррате...

Это касается всех XMiko, кроме A1. У A1 еще веселей - разрядность просто снижена на два бита во всем диапазоне.
0
THI BIOST
0 / 0 / 0
Регистрация: 23.01.2010
Сообщений: 1,142
25.09.2010, 23:29 6
Я пока планирую использовать xmega для управления VS1011 и как интерфейс файловой системы (SD/MMC) для желающих и для отладки собственного программатора.

Еррата уже повергла в ужас:

- Writing EEPROM or Ftosh while reodyng any of them will not work

Типа программу исполнять нельзя, если пишешь в EEPROM...
0
okotimiv
1 / 1 / 0
Регистрация: 30.08.2010
Сообщений: 3,382
25.09.2010, 23:34 7
Не заметил пока ничего особенного при чтении-записи EEPROM, но наверное стоит сделать и погонять пару тестов...
0
miphysto_sp
0 / 0 / 0
Регистрация: 16.07.2010
Сообщений: 140
27.09.2010, 21:31 8
Цитата Сообщение от THI BIOST
Я пока планирую использовать xmega для управления VS1011 и как интерфейс файловой системы (SD/MMC) для желающих и для отладки собственного программатора.

Еррата уже повергла в ужас:

- Writing EEPROM or Ftosh while reodyng any of them will not work

Типа программу исполнять нельзя, если пишешь в EEPROM...
Вообще-то это означает, что запись в ЕЕПРОМ или Флеш во время чтения любого из них не работает. То есть нельзя одновременно читать и писать, вот и все.
0
THI BIOST
0 / 0 / 0
Регистрация: 23.01.2010
Сообщений: 1,142
28.09.2010, 00:47 9
Цитата Сообщение от miphysto_sp
То есть нельзя одновременно читать и писать, вот и все.
Ну да, если пишешь в EEPROM - нельзя выполнять программу (чтение флеша). При активном использовании можно считать, что EEPROM просто нет.

(Это я про A3)
0
okotimiv
1 / 1 / 0
Регистрация: 30.08.2010
Сообщений: 3,382
28.09.2010, 01:07 10
Это касается только A3 revision B. Есть целый appnote по этому поводу, AVR1008, предлагается использовать режим сна, и прилагается драйвер.

На тех, с которыми я имел дело, ничего подобного я не заметил. Спокойно читается и пишется. В IAR можно просто указать что переменная __eeprom и дальше работать с ней как обычно.

Вообще иксмеги пока довольно сырые, хотя сам по себе МК очень даже ничего, набит периферией по самое не балуйся, и она очень грамотно организована (одна система событий чего стоит). Я, к примеру, для пробы как-то соорудил вполне работающий осциллограф из двух АЦП, двух компараторов, UART, буфера в памяти и DAC - и все это практически вообще без исполняемого в процессе работы кода, сплошные события и DMA.
0
vystor_b_k
0 / 0 / 0
Регистрация: 08.05.2010
Сообщений: 332
28.09.2010, 01:09 11
Цитата Сообщение от THI BIOST
Цитата Сообщение от miphysto_sp
То есть нельзя одновременно читать и писать, вот и все.
Ну да, если пишешь в EEPROM - нельзя выполнять программу (чтение флеша). При активном использовании можно считать, что EEPROM просто нет.

(Это я про A3)

Так а в чем проблема? Во всех Мегах при записи в СПЗУ читать его невозможно. Ведь порт доступа один и тот же. И запись происходит по специальной процедуре.
Единственно в ХМеге есть режим "перемещения" СПЗУ в область памяти данных. Это позволяет упростить доступ к этой памяти, но при записи в эту область блокируется возможность чтения из этой области. Что тут страшного такого?
Я применяю 128А1 и проблем пока не имел с ней ни какких. В том числе и с АЦП. Само собой есть небольшой "дребезг", ну так он бывает у всех АЦП последовательного приближения. Хотите получить точность - ставьте прецизионный внешний АЦП. А встроенный АЦП это все-иаки экзотика! Серьезной точности от него не получишь, пожалуй. Хотя, может быть я и не прав! Просто 12 разрядов - это довольно высокое разрешение, и получить при этом еще и точность - высший пилотаж! По моему АТМЕЛ до него еще не доросла! :-)))
0
okotimiv
1 / 1 / 0
Регистрация: 30.08.2010
Сообщений: 3,382
28.09.2010, 01:21 12
Виктор, тут дело не в точности, а в скорости. На высоких скоростях работы АЦП явно не успевают отрабатывать все его разряды, что делает непонятным, зачем они вообще заявляли такие скорости. Скорее всего исправят с следующих версиях.
0
THI BIOST
0 / 0 / 0
Регистрация: 23.01.2010
Сообщений: 1,142
28.09.2010, 01:26 13
Цитата Сообщение от vystor_b_k
Так а в чем проблема?
Ещё раз - во время записи в EEPROM нельзя выполнять программу на A3 rev. B

Цитата Сообщение от okotimiv
Есть целый appnote по этому поводу, AVR1008, предлагается использовать режим сна, и прилагается драйвер.
То есть в фоне запись не организуешь. А из A3 на рынке только rev. B. а А1 мне паять неохота да и столько ног обычно не надо.
0
okotimiv
1 / 1 / 0
Регистрация: 30.08.2010
Сообщений: 3,382
28.09.2010, 01:35 14
А что, A4 не устраивает?
0
THI BIOST
0 / 0 / 0
Регистрация: 23.01.2010
Сообщений: 1,142
28.09.2010, 01:43 15
256A3 у меня уже есть, да и рама в ней побольше, чем в любой A4.
0
vystor_b_k
0 / 0 / 0
Регистрация: 08.05.2010
Сообщений: 332
28.09.2010, 02:06 16
Цитата Сообщение от okotimiv
Виктор, тут дело не в точности, а в скорости. На высоких скоростях работы АЦП явно не успевают отрабатывать все его разряды, что делает непонятным, зачем они вообще заявляли такие скорости. Скорее всего исправят с следующих версиях.
Действительно, на предельной скорости я ее еще не пробовал. Завтра проверю. Но у меня нет пока задачи на скоростное преобразование. Цикл измерений параметров системы - 20 мс.
0
okotimiv
1 / 1 / 0
Регистрация: 30.08.2010
Сообщений: 3,382
28.09.2010, 02:26 17
Цитата Сообщение от THI BIOST
256A3 у меня уже есть, да и рама в ней побольше, чем в любой A4.
А смысл? Если надо много ROM и 64 ноги, то лучше взять ARM, типа STM32F103RET6, стоит рублей на 100 дешевле, флеша вдвое больше, памяти вчетверо, и скорость вдвое выше. При даже большем наборе периферии (USB есть, например).

В больших иксмегах не вижу особенного смысла, слишком дорогие. В этом ценовом диапазоне армы уделывают их, как бог черепаху.

Виктор, от скорости оцифровки это не зависит, только от частоты работы АЦП. Так что имеет смысл ставить минимально необходимую для нужной частоты выборки.
0
vystor_b_k
0 / 0 / 0
Регистрация: 08.05.2010
Сообщений: 332
30.09.2010, 17:29 18
Цитата Сообщение от okotimiv
Цитата Сообщение от THI BIOST
256A3 у меня уже есть, да и рама в ней побольше, чем в любой A4.
А смысл? Если надо много ROM и 64 ноги, то лучше взять ARM, типа STM32F103RET6, стоит рублей на 100 дешевле, флеша вдвое больше, памяти вчетверо, и скорость вдвое выше. При даже большем наборе периферии (USB есть, например).

В больших иксмегах не вижу особенного смысла, слишком дорогие. В этом ценовом диапазоне армы уделывают их, как бог черепаху.

Виктор, от скорости оцифровки это не зависит, только от частоты работы АЦП. Так что имеет смысл ставить минимально необходимую для нужной частоты выборки.
С этим полностью согласен.
Но в смысле цены - ХМЕГА128А1 стоит около пяти долларов (41 грн 20 коп). Я покупал за наличку по пять долларов.
0
THI BIOST
0 / 0 / 0
Регистрация: 23.01.2010
Сообщений: 1,142
14.12.2010, 17:50 19
Кстати, вопрос по сабжу:

Читал, читал... На AREF, в отличие от мег, оказывается нельзя подать VCC.... Вот облом :( Не вешать же на каждый датчик по делителю.
0
okotimiv
1 / 1 / 0
Регистрация: 30.08.2010
Сообщений: 3,382
14.12.2010, 18:14 20
Что значит нельзя подать Vcc? Я подключал Aref прямо к шине питания, и ничего. Или мы о разном?
0
14.12.2010, 18:14
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.12.2010, 18:14

SPI Xmega
Есть учебное задание соединить 2 МК Xmega 182A1 Возникла проблема, с ведомым. Ну как проблема,...

Прерывания xmega
У меня есть atxmego32a4, хочу понять как там пользоваться таймерами. Для Xmeg почти нигде никакой...

XMEGA и 32Mhz
Что-то не получается запустить XMEGA на 32Mhz Подскажите где ошибка: void InitOSC (void){ ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.