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

 
 
> минимальное время старта PLL у SAM7s
alexsl
сообщение Oct 22 2007, 10:42
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 42
Регистрация: 8-02-07
Пользователь №: 25 165



Добрый день. Хотелось бы узнать минимальное время старта PLL. Вопрос стоит о том как быстро можно начать обрабатывать прерывания. К примеу процессор находится в низко потребляющем режиме. Вся переферия спит, ядро тактируется от 500Гц. Приходит прерывание, необходимо завести PLL, генератор и войти в функцию обработки.
Поделитесь опытом возможно ли получить время порядка 5 мкС с момента прихода прерывания и до входа в обработчик???
Заранее спасибо.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
DASM
сообщение Oct 23 2007, 10:14
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 3 644
Регистрация: 28-05-05
Пользователь №: 5 493



Верно sad.gif
Go to the top of the page
 
+Quote Post
alexsl
сообщение Oct 23 2007, 12:09
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 42
Регистрация: 8-02-07
Пользователь №: 25 165



Цитата(DASM @ Oct 23 2007, 14:14) *
Верно sad.gif

Спасибо за ответ. Уже понял что цифра не реальная, потыкавшись в атмеловском эксел файле. Может быть посоветуете другой способ быстрого старта из сна(процессор стоит, 32кГц тикает, на ножке Xin висит генератор 16МГц на него и надо переключится)? За какое время процессор доберется до функции обработки внешнего прерывания?
Вобщем проблема следующая. Есть импульс 10мкС. По фронту он должен проснутся и успеть считать с ножки(на которой произошло прерывание) лог уровень(для определения фронта, тк детектора фронта у параллельного контроллера нет, а irq0,1 заняты)
Go to the top of the page
 
+Quote Post
Calculator
сообщение Oct 24 2007, 06:32
Сообщение #4


Участник
*

Группа: Свой
Сообщений: 45
Регистрация: 19-04-07
Пользователь №: 27 172



Цитата(alexsl @ Oct 23 2007, 18:09) *
Вобщем проблема следующая. Есть импульс 10мкС. По фронту он должен проснутся и успеть считать с ножки(на которой произошло прерывание) лог уровень(для определения фронта, тк детектора фронта у параллельного контроллера нет, а irq0,1 заняты)

То, что пины IRQ заняты - не проблема, можно использовать любой пин для прерывания по уровню или по фронту. Но, если контроллер в спячке, то не только PLL, но и кварц (если на Xin кварц, а не внешний генератор) не запустятся за требуемые 10 мкс. И более того, в спячке прерывание по изменению уровня не сработает тоже. То есть для этого контроллера в спячке такую задачу не решить. Можно использовать какую-нибудь внешнюю логику, но что именно - надо знать задачу поконкретнее. Например, можно поставить внешний генератор и делитель, по приходу одного фронта импульса запоминать значение делителя в одном регистре, по приходу второго фронта - в другом регистре. Затем просыпается контроллер и читает состояния обоих регистров.
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 30th July 2025 - 17:34
Рейтинг@Mail.ru


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