Телесистемы
 Разработка, производство и продажа радиоэлектронной аппаратуры
На главную   | Карта сайта | Пишите нам | В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:jobsmp@pochta.ru

Телесистемы | Электроника | Конференция «Микроконтроллеры и их применение»

Ответ (+)

Отправлено bp (178.66.66.45) 20 февраля 2010, г. 21:26
В ответ на: "в зависимости от "прерываемой" команды" - это для последней строки :-) отправлено VasilyS 20 февраля 2010, г. 20:27

Чуть подправил обработчик:

EXTERN int0_ISR_slow
COMMON INTVEC:CODE:ROOT(1)
ORG 4
sbi 0x18,0x00
jmp int0_ISR_slow
END

Теперь прыгает в диапазоне 1.1 ... 1.5мкс.
Т.е. от 8 до 11 тактов.

Sleep mode нигде не используется. Только железные 4 такта на сохранение PC в стеке и 2 такта на sbi. Судя по всему это какие-то особенности реализации асинхронности этих фронтовых прерываний в меге сжирают еще 1-2 такта.

Зная особенности задачи (прерывания приходят стабильно с известной частотой ) можно еще пошаманить - например задействовать таймер для прекращения активности контроллера за несколько микросекунд до события. Таким образом гарантированно в момент прихода фронта будут обрабатываться исключительно однотактные команды.

Но мне этих полутора микросекунд вполне достаточно. Просто хотелось докопаться до сути. Вам огромное спасибо за помощь и моральную поддержку!








Составить ответ | Вернуться на конференцию

Ответы


Отправка ответа
Имя*: 
Пароль: 
E-mail: 
Тема*:

Сообщение:

Ссылка на URL: 
URL изображения: 

если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
введите число 38:

Перейти к списку ответов | Конференция | Раздел "Электроника" | Главная страница | Карта сайта

Rambler's Top100 Рейтинг@Mail.ru
 
Web telesys.ru