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

 
 
> 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
Ответов
Serg_Sm
сообщение Oct 5 2007, 09:23
Сообщение #2


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

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



Поток данных от внешнего устройства - асинхронный и непрерывный 512КБит/с.
Алгоритм получения данных приблизительно такой: прерывание по изменению фронта, задержка (возможно вторым таймером) для подстройки под "середину" бита, затем считывание бита и запуск таймера с частотой 512КГц, а в прерывании по таймеру считывание остальных битов. Ну и переодическое повторение подстройки частоты, а в цикле передача данных по USB (по готовности).
Но похоже придется обходные пути искать, а ПЛИС цеплять очень не хочется.

PS: Кстати даже родной USB пример данные с неплохой скоростью гоняет - на передаче из контроллера блоков по 8КБайт (запрос один пакет) получилось ~727КБайт/с. Правда больше ничего не делалось smile.gif
Go to the top of the page
 
+Quote Post



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

 


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


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