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

 
 
> AT91SAM7 допустимая частота прерываний, обработать 500000 прерываний в секунду?
Serg_Sm
сообщение Oct 4 2007, 16:42
Сообщение #1


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

Группа: Свой
Сообщений: 183
Регистрация: 10-10-06
Из: Смоленск
Пользователь №: 21 167



На AT91SAM7X-EK взял пример с таймерами и переделал его под частоту срабатываний прерываний в 500КГц т.е. режим прерывания по сравнению (MCK=48МГц, TIMER_CLOCK1 = 24МГц, TC_RC = 47).
Максимально упростил проект - после инициализации таймера пустой бесконечный цикл и в самом прерывании инвертирование выхода. На практике (осциллографом) получается частота изменений (из длительности "0" или "1") максимум 460КГц, в среднем менее 400КГц, причем длительности импульсов "0" и "1" неодинаковые и постоянно болтаются.

Контроллер не успевает обработать прерывания или ещё есть какие-нибудь подводные камни?
И вообще можно обработать такой поток и успеть перегнать по USB?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
_dem
сообщение Oct 8 2007, 09:59
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 263
Регистрация: 2-02-07
Из: CN, Ukraine
Пользователь №: 24 970



"...внешний сдвиговый регистр тактируемый от таймера 0..."
А какова загрузка контроллера при этом ?

К SPI DMA прикручивается.

"В FAQ прочитал, что реакция на прерывание будет быстрее в THUMB режиме, а как его установить? Если поставить в настройках проекта в IAR, то с такой прошивкой девайс не работает."

Какой у вас проект ( используется ли ОС, что взято за основу ИАР-ского проекта ) ?

Ускорить реакцию на прерывание можно, использовав FIQ
Go to the top of the page
 
+Quote Post
Serg_Sm
сообщение Oct 8 2007, 11:59
Сообщение #3


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

Группа: Свой
Сообщений: 183
Регистрация: 10-10-06
Из: Смоленск
Пользователь №: 21 167



Цитата(_dem @ Oct 8 2007, 13:59) *
"...внешний сдвиговый регистр тактируемый от таймера 0..."
А какова загрузка контроллера при этом ?

К SPI DMA прикручивается.

"В FAQ прочитал, что реакция на прерывание будет быстрее в THUMB режиме, а как его установить? Если поставить в настройках проекта в IAR, то с такой прошивкой девайс не работает."

Какой у вас проект ( используется ли ОС, что взято за основу ИАР-ского проекта ) ?

Ускорить реакцию на прерывание можно, использовав FIQ


Что значит загрузка контроллера? Практически получается считать данные, передать по USB и подкорректировать частоту приема внешним прерыванием. Но настоящей проверки пока не делал.
Попробую переделать под SPI (внешнего регистра все равно в наличии нет) и прогнать на реальных данных. Подстройка частоты делается нормально и с такой заторможенной реакцией на прерывание, а вот поступающие данные надо проверять.
Основа проекта - BasicUSB от Atmel + добавлены обработчики прерываний, ОС естественно нет.
Даже c FIQ как я понял существенно ускорить реакцию на прерывание не получится (из FAQ).
Не посоветуете пример с SPI и DMA? (DMA в контроллерах еще не доводилось использовать).

to defunct: насчет ПЛИС это понятно, но требуется решение подешевле и попроще.
Go to the top of the page
 
+Quote Post



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

 


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


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