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

 
 
> Время детектирования прерывания pin change
frz
сообщение Mar 21 2010, 14:06
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 212
Регистрация: 23-09-08
Из: Новосибирск
Пользователь №: 40 406



Вобщем имеется ATMega48 и необходимо детектировать короткие внешние импульсы(100-200нс). Тактовая частота 1МГц.
Вопрос в следующем: можно ли для этого использовать прерывание PCINT ? В датащите не нашёл ничего толкового - написано лишь что изменение состояния пинов детектируется асинхронно. Но всеже должно быть какое-то время детектирования, которое гарантированно приводило бы к генерации прерывания?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
defunct
сообщение Mar 22 2010, 00:27
Сообщение #2


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(frz @ Mar 21 2010, 16:06) *
Вобщем имеется ATMega48 и необходимо детектировать короткие внешние импульсы(100-200нс). Тактовая частота 1МГц.
Вопрос в следующем: можно ли для этого использовать прерывание PCINT ?

Без внешних компонентов нельзя. см. раздел Pin Change Interrupt Timing, кстати там на рисунке 11-1 видно, что схема захвата PCINT - синхронная, т.к. защелка и триггер тактируются clk.

Цитата
В датащите не нашёл ничего толкового - написано лишь что изменение состояния пинов детектируется асинхронно. Но всеже должно быть какое-то время детектирования, которое гарантированно приводило бы к генерации прерывания?

Чтобы гарантировано получить PCINT нужна такая частота тактирования МК, чтобы период одного такта был хотя бы в два раза меньше длительности импульса - т.е. 20Mhz в вашем случае.

Если все же тактовая останется 1Mhz, то самым простым решением будет использование возможности встроенного компаратора + простейший аналоговый запоминающий элемент посторенный на кондике и диоде. По прерыванию от компаратора - переключить пин компаратора на вывод и разрядить запоминающий элемент.
Go to the top of the page
 
+Quote Post
smac
сообщение Mar 22 2010, 04:44
Сообщение #3


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

Группа: Участник
Сообщений: 149
Регистрация: 2-06-08
Из: Москва
Пользователь №: 38 003



Цитата(defunct @ Mar 22 2010, 03:27) *
Без внешних компонентов нельзя. см. раздел Pin Change Interrupt Timing, кстати там на рисунке 11-1 видно, что схема захвата PCINT - синхронная, т.к. защелка и триггер тактируются clk.

Вопрос не совсем в тему, но в принципе про PCINT. Чем тактируется упомянутая схема захвата при уходе контроллера в Power Down, что-то в даташите не могу найти нужной информации, может быть кто знает?
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Mar 22 2010, 05:02
Сообщение #4


Гуру
******

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



Цитата(smac @ Mar 22 2010, 07:44) *
Вопрос не совсем в тему, но в принципе про PCINT. Чем тактируется упомянутая схема захвата при уходе контроллера в Power Down, что-то в даташите не могу найти нужной информации, может быть кто знает?

Ничем не тактируется:
Цитата
Pin change interrupts on PCINT23...0 are detected asynchronously. This implies that these interrupts can be used for
waking the part also from sleep modes other than Idle mode.
Go to the top of the page
 
+Quote Post
defunct
сообщение Mar 22 2010, 05:16
Сообщение #5


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(aaarrr @ Mar 22 2010, 07:02) *
Ничем не тактируется:

если придерживаться схемы figure 11-1 Pin Change Interrupt Timing, то без тактирования PCIF не установится никогда, и прерывание не произойдет.
Но стоит обратить внимание на промежуточный сигнал pcint_in_(x) который действительно асинхронен клоку. Логичнее всего было бы по этому сигналу запустить тактовый генератор, ну а далее следуя схеме - нативно сгенерится PCINT.
Go to the top of the page
 
+Quote Post
=GM=
сообщение Mar 29 2010, 08:55
Сообщение #6


Ambidexter
*****

Группа: Свой
Сообщений: 1 589
Регистрация: 22-06-06
Из: Oxford, UK
Пользователь №: 18 282



Цитата(defunct @ Mar 22 2010, 04:16) *
если придерживаться схемы figure 11-1 Pin Change Interrupt Timing, то без тактирования PCIF не установится никогда, и прерывание не произойдет

Если придерживаться схемы, то непонятно, как отслеживаются фронты 1-0. Вывод: схема не совсем адекватная.


--------------------
Делай сразу хорошо, плохо само получится
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- frz   Время детектирования прерывания pin change   Mar 21 2010, 14:06
- - =GM=   Цитата(frz @ Mar 21 2010, 14:06) ATMega48...   Mar 26 2010, 16:18
|- - frz   Цитата(=GM= @ Mar 26 2010, 22:18) Возникл...   Apr 1 2010, 02:21
- - Александр Куличок   ЦитатаВозникла идея, как расширить короткий импуль...   Apr 4 2010, 20:13
|- - =GM=   Процесс пробуждения здесь ни при чём, необходимо д...   Apr 6 2010, 09:01
- - Александр Куличок   ЦитатаПроцесс пробуждения здесь ни при чём Это мен...   Apr 18 2010, 00:44
|- - =GM=   С чего бы?   Apr 18 2010, 19:58
|- - ILYAUL   Цитата(=GM= @ Apr 19 2010, 00:13) С чего ...   Apr 18 2010, 20:38
|- - =GM=   Ничего не понимаю. То пишут об обновлении регистро...   Apr 19 2010, 11:03
|- - ILYAUL   Цитата(=GM= @ Apr 19 2010, 15:18) Ничего ...   Apr 19 2010, 17:23
|- - =GM=   1. Там спрашивалось можно ли использовать pin chan...   Apr 20 2010, 11:18
- - Александр Куличок   ЦитатаНичего не понимаю. То пишут об обновлении ре...   Apr 20 2010, 21:38


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

 


RSS Текстовая версия Сейчас: 21st June 2025 - 10:44
Рейтинг@Mail.ru


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