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

 
 
 
Reply to this topicStart new topic
> AT91SAM7 ноги IRQn, какой в них смысл?
vet
сообщение Apr 10 2008, 13:01
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 550
Регистрация: 16-06-04
Из: Казань
Пользователь №: 32



Из даташита не вполне ясно, для чего введена возможность назначить некоторым ногам режим IRQn (т.е. прерывание через модуль AIC), если любая из них может вызвать прерывание через модуль PIOx, также являющийся частью системного контроллера. Хотелось бы ликвидировать пробел в знаниях...


--------------------
Главная линия этого опуса ясна мне насквозь!
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Apr 10 2008, 13:33
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



У модуля PIO одна линия прерывания и один вектор на все пины, у ног с функцией IRQ вектора свои.
Go to the top of the page
 
+Quote Post
vet
сообщение Apr 10 2008, 13:56
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 550
Регистрация: 16-06-04
Из: Казань
Пользователь №: 32



В этом случае можно назначить нескольким внешним прерываниям разный приоритет. Да, вполне логично.


--------------------
Главная линия этого опуса ясна мне насквозь!
Go to the top of the page
 
+Quote Post
InsolentS
сообщение Apr 10 2008, 22:44
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 414
Регистрация: 8-06-06
Пользователь №: 17 897



Не столько приоритет, сколько время реакции на событие.
Пока от обычного PIO пина прерывание обработается, можно успеть покурить.


--------------------
Курильщик даташитов со стажем
Go to the top of the page
 
+Quote Post
vet
сообщение Apr 11 2008, 04:33
Сообщение #5


Знающий
****

Группа: Свой
Сообщений: 550
Регистрация: 16-06-04
Из: Казань
Пользователь №: 32



Цитата(InsolentS @ Apr 11 2008, 02:44) *
Не столько приоритет, сколько время реакции на событие.
Пока от обычного PIO пина прерывание обработается, можно успеть покурить.

По даташиту, на установку флага PIO_ISR требуется 1-2 такта после смены состояния входа, одновременно активизируется сигнал контроллеру прерываний. Задержка между фронтом на ноге IRQn и установкой сигнала IRQn на AIC не оговаривается; можно предположить тот же 1 такт. Выходит, время срабатывания обоих типов прерываний одинаково, или я чего-то не учитываю?


--------------------
Главная линия этого опуса ясна мне насквозь!
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Apr 11 2008, 06:33
Сообщение #6


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Цитата(vet @ Apr 11 2008, 07:33) *
Выходит, время срабатывания обоих типов прерываний одинаково, или я чего-то не учитываю?
Да. Но если у вас несколько ног PIO дают прерывания, вам еще надо потратить время на анализ флагов и ветвление, чтобы оказаться в обработчике нужной ноги. А по ноге IRQ вы аппаратно попадаете в нужный вектор.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
vmp
сообщение Apr 11 2008, 07:02
Сообщение #7


Местный
***

Группа: Свой
Сообщений: 426
Регистрация: 20-01-05
Из: Зеленоград
Пользователь №: 2 070



Если я ничего не путаю, то в SAM7 прерывание по PIO происходит по обеим фронтам. А по IRQ - можно сделать уровнем или одним фронтом.
Go to the top of the page
 
+Quote Post

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

 


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


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