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

 
 
> АЦП в ADuC7024, реально ли получить 1msps
UserXP
сообщение Oct 25 2006, 09:55
Сообщение #1





Группа: Участник
Сообщений: 14
Регистрация: 18-07-06
Пользователь №: 18 898



Здравствуйте.
Суть проблемы в том что я уже три недели не могу получить картину подтверждающую тот факт что АЦП этого контроллера способно выполнить преобразование за 1мкс.
Лучший из результатов который я получал был таков: между запуском АЦП и заходом в прерывание FIQ проходило 1,9мкс (500ksps).

Контроллер настроен на тактовую частоту 42,7МГц, АЦП настроен на максимальное быстродействие, обработчик прерывания размещен в RAM. Запуск АЦП по таймеру.

Хотелось бы спросить ваших рекомендаций на что можно еще обратить внимание, т.к. я первый раз работаю ARM и с 32-х разрядным контроллером вообще.

p.s. Еще один странный факт, если в главном цикле делаю мигание леда, через GP4CLR и GP4SET на выходе вижу максимум 10МГц... судя по полученному из кейла ассемблеру там 2 инструкции... на каждую по 2 такта? и где обещанные 40MIPS на 40МГц?

Заранее благодарен.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
UserXP
сообщение Oct 30 2006, 06:15
Сообщение #2





Группа: Участник
Сообщений: 14
Регистрация: 18-07-06
Пользователь №: 18 898



Цитата(khach @ Oct 27 2006, 13:26) *
Цитата(UserXP @ Oct 27 2006, 09:44) *

ADCResult = (unsigned short)(ADCDAT>>16);

А какова конечная цель работы АЦП? А то в этом примере результат работы как видно неважен :-). Потому что обычно кучу времени съедает раскладка полученных данных в буфер и проверка окончания цикла.
А как сконфигурен ADCCON? Там же все зависит от настройки клоков в битах 10-12 и 9-8. Кстати, гнаться за минимальным ADC acquisition time нестоит-тогда нужен мощнай драйвер входа АЦП и ошибки становяться слишком большие. Намного лучше чем в референсном дизайне несделать ftp://ftp.analog.com/pub/www/technology/d...source_code.zip
Можно только выиграть на раскладке данных в пямять при многоканальном сборе данных.
А дерганье ЛЕДа вообще все тормозит. К сожалению АД не приводит данных по конкретной реализации внутренностей портов ИО, но все помнять проблемы филипса с "дрыгоножеством", когда пришлось вводить дополнительную периферию фастио. Поэтому для измерений лучше выпустить наружу сигнал ADCBUSY и использовать его для контроля быстродействия.

Да, я привел пример на котором я увидел что конверсия длиться меньше 1мкс, и запись и перезапуск длятся чуть больше 1 мкс..
Если я обмеряю два канала и рассовываю все по разным массивам то время обработки вырастает в разы...

По поводу acquisition time... я тестил разные значения и не заметил ухудшения при установке 2 клоков... ухудшения точности измерений происходят при снижении vref'а ниже 1 вольта smile.gif
А ADC clock speed = 000 т.е. делитель частоты = 1;


Цитата(etoja @ Oct 27 2006, 14:41) *
Читайте на странице №33 даташита:
41Mips - в режиме Thumb,
20Mips - в режиме ARM.
Это связано с тем, что flash имеет ширину 16 бит и для выборки 32-битной команды в режиме ARM требуется 2 такта.

У меня другой даташит smile.gif но именно поэтому функии засунуты в оперативку...
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 25th June 2025 - 22:57
Рейтинг@Mail.ru


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