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

 
 
> STM32F407 + прерывание + время реакции, Меняется время реакции на внешнее событие
ШСА
сообщение Jul 26 2015, 19:07
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 291
Регистрация: 11-04-14
Из: Саратов
Пользователь №: 81 335



Дорогие коллеги!
Сталкивался ли кто нибудь с такой тонкой и непонятной мне проблемой - значительным изменением времени входа в обработчик прерывания по внешнему событию в зависимости от команд, выполняемых в этот момент в основной программе?
Конкретная ситуация: В микроконтроллере STM32F407 в main-е крутится некая большая программа. Когда наступает внешнее событие, а именно - отрицательный фронт на EXTI_Line1, вызывается обработчик прерывания void EXTI1_IRQHandler(void). В нём обнуляется таймер TIM6, тактируемый частотой 84 МГц, и начинается вывод информации в виде набора импульсов, привязанных к значениям TIM6. Когда вывод закончен - выходим из обработчика (TIM6 оставляем молотить впустую).
Замечено следующее: Время от момента внешнего события до появления первого импульса на выходе нестабильно и меняется (по осциллографу) более чем на 0,2 мкс при тактировании ядра 168 МГц. Иными словами, время вызова обработчика может увеличиваться (или уменьшаться) аж на 34 такта! Причём меняется оно в зависимости от кода, выполняемого в данный момент в main-е. Самое большое изменение этого времени (в сторону уменьшения) происходит при выполнении (в main-е) цикла очистки области памяти:
for(i = 0; i < 60768; i++) *j++ = Сonst;

А согласно описанию на Cortex-3 время вызова обработчика прерывания составляет от 6 до 11 тактов ядра. И уж никак не должно зависеть от содержания прерываемой программы (DMA не используется)! wacko.gif

В чём причина этого явления и как с ним бороться?
Буду признателен за любые идеи или информацию.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- ШСА   STM32F407 + прерывание + время реакции   Jul 26 2015, 19:07
- - aaarrr   Цитата(ШСА @ Jul 26 2015, 22:07) ...никак...   Jul 26 2015, 19:29
|- - ШСА   Цитата(aaarrr @ Jul 26 2015, 22:29) В нек...   Jul 27 2015, 05:46
|- - Огурцов   а если умножить на 5 тактов ожидания, то получится...   Jul 27 2015, 05:53
- - ViKo   Может, нестабильную задержку создает перезапуск та...   Jul 27 2015, 03:03
|- - ШСА   Цитата(ViKo @ Jul 27 2015, 06:03) Может, ...   Jul 27 2015, 06:09
||- - Огурцов   Цитата(ШСА @ Jul 27 2015, 06:09) Не понял...   Jul 27 2015, 08:36
||- - ШСА   Цитата(Огурцов @ Jul 27 2015, 11:36) флеш...   Jul 27 2015, 09:02
|- - AHTOXA   Мне кажется, что самый здравый совет был вот этот:...   Jul 27 2015, 08:35
- - aaarrr   Попробуйте сделать следующее: 1. Внешнее прерывани...   Jul 27 2015, 06:27
|- - ШСА   Цитата(aaarrr @ Jul 27 2015, 09:27) Попро...   Jul 27 2015, 06:41
|- - scifi   Вот тут расписано про задержку на входе в обработч...   Jul 27 2015, 06:49
|- - ШСА   Цитата(scifi @ Jul 27 2015, 09:49) Вот ту...   Jul 27 2015, 07:12
- - aaarrr   Интересно сравнить результаты при работе из флеш и...   Jul 27 2015, 06:52
|- - scifi   Цитата(aaarrr @ Jul 27 2015, 09:52) 2. Пр...   Jul 27 2015, 07:00
|- - aaarrr   Цитата(scifi @ Jul 27 2015, 10:00) Можно ...   Jul 27 2015, 07:04
- - Timmy   Цитата(ШСА @ Jul 26 2015, 22:07) Дорогие ...   Jul 27 2015, 07:30
|- - ШСА   Цитата(Timmy @ Jul 27 2015, 10:30) Если в...   Jul 27 2015, 08:04
|- - scifi   Цитата(ШСА @ Jul 27 2015, 11:04) Ну, собс...   Jul 27 2015, 08:08
|- - ШСА   Цитата(scifi @ Jul 27 2015, 11:08) А нель...   Jul 27 2015, 08:31
- - Golikov A.   ЦитатаФлаги очищаются в конце обработчика, так что...   Jul 27 2015, 07:49
|- - ШСА   [quote name='Golikov A.' date='Jul 27 ...   Jul 27 2015, 08:18
||- - scifi   Цитата(ШСА @ Jul 27 2015, 11:18) Так прер...   Jul 27 2015, 08:29
|||- - ШСА   Цитата(scifi @ Jul 27 2015, 11:29) Неправ...   Jul 27 2015, 08:40
|||- - scifi   Цитата(ШСА @ Jul 27 2015, 11:40) Интересн...   Jul 27 2015, 08:59
|||- - jcxz   Выключите сохранение контекста FPU при стэкинге (и...   Jul 28 2015, 02:43
|||- - aaarrr   Цитата(jcxz @ Jul 28 2015, 05:43) Перенес...   Jul 28 2015, 06:37
|||- - ШСА   Цитата(jcxz @ Jul 28 2015, 05:43) Выключи...   Jul 28 2015, 10:09
|||- - scifi   Цитата(ШСА @ Jul 28 2015, 13:09) Ведь фаз...   Jul 28 2015, 10:37
||||- - ШСА   Цитата(scifi @ Jul 28 2015, 13:37) А это ...   Jul 28 2015, 12:17
|||- - ViKo   Цитата(ШСА @ Jul 28 2015, 13:09) Ребята...   Jul 28 2015, 11:33
||||- - scifi   Цитата(ViKo @ Jul 28 2015, 14:33) А вы та...   Jul 28 2015, 12:27
|||- - jcxz   Цитата(ШСА @ Jul 28 2015, 16:09) Я не зна...   Jul 28 2015, 12:33
|||- - ШСА   Цитата(jcxz @ Jul 28 2015, 15:33) Имхо - ...   Jul 28 2015, 13:03
|||- - jcxz   Цитата(ШСА @ Jul 28 2015, 19:03) Интересн...   Jul 29 2015, 03:03
|||- - SasaVitebsk   Цитата(ШСА @ Jul 28 2015, 16:03) вывод до...   Jul 29 2015, 05:50
|||- - Сергей Борщ   Цитата(SasaVitebsk @ Jul 29 2015, 08:50) ...   Jul 29 2015, 07:38
|||- - jcxz   Цитата(Сергей Борщ @ Jul 29 2015, 13:38) ...   Jul 29 2015, 08:11
|||- - Tanya   Цитата(Сергей Борщ @ Jul 29 2015, 10:38) ...   Jul 29 2015, 08:33
|||- - ШСА   Цитата(Сергей Борщ @ Jul 29 2015, 10:38) ...   Jul 29 2015, 17:03
|||- - jcxz   Цитата(ШСА @ Jul 29 2015, 23:03) А вот с ...   Jul 30 2015, 05:09
|||- - ШСА   Наконец сегодня дошли руки проверить хоть какие-то...   Jul 30 2015, 17:13
|||- - jcxz   Цитата(ШСА @ Jul 30 2015, 23:13) Мораль: ...   Jul 31 2015, 02:35
|||- - SasaVitebsk   Цитата(ШСА @ Jul 30 2015, 20:13) Мораль: ...   Jul 31 2015, 04:46
|||- - ШСА   Цитата(SasaVitebsk @ Jul 31 2015, 07:46) ...   Jul 31 2015, 07:04
|||- - scifi   Цитата(ШСА @ Jul 31 2015, 10:04) А вот то...   Jul 31 2015, 08:05
|||- - jcxz   Цитата(scifi @ Jul 31 2015, 14:05) Возьми...   Jul 31 2015, 10:05
|||- - scifi   Цитата(jcxz @ Jul 31 2015, 13:05) Кстати ...   Jul 31 2015, 10:26
||- - LightElf   QUOTE (ШСА @ Jul 27 2015, 11:18) Так прер...   Jul 27 2015, 08:29
|- - zltigo   QUOTE (Golikov A. @ Jul 27 2015, 10:49) п...   Jul 28 2015, 09:17
- - Golikov A.   1. Можно отключить флэщ акселератор и тогда время ...   Jul 27 2015, 09:15
|- - ШСА   Цитата(Golikov A. @ Jul 27 2015, 12:15) 1...   Jul 27 2015, 09:52
- - Golikov A.   Справедливо...   Jul 28 2015, 09:49
- - Golikov A.   вы в какой среде пишите? Если в Keil, то для пере...   Jul 28 2015, 15:45
|- - ШСА   Цитата(Golikov A. @ Jul 28 2015, 18:45) в...   Jul 29 2015, 15:54
|- - jcxz   Цитата(ШСА @ Jul 29 2015, 21:54) В прерыв...   Jul 30 2015, 03:15
- - bugdesigner   А можно одно уточнение? У Вас таймер считает импул...   Jul 28 2015, 16:26
- - Golikov A.   любой проц можно поставить на жесткую времянку, то...   Jul 31 2015, 08:33
|- - ШСА   Цитата(Golikov A. @ Jul 31 2015, 11:33) А...   Jul 31 2015, 19:00
||- - aaarrr   Цитата(ШСА @ Jul 31 2015, 22:00) Значит, ...   Jul 31 2015, 19:11
||- - jcxz   Цитата(ШСА @ Aug 1 2015, 01:00) Но экспер...   Aug 1 2015, 06:10
||- - ШСА   Цитата(ШСА @ Jul 31 2015, 22:00) Но экспе...   Aug 2 2015, 18:05
||- - jcxz   Цитата(ШСА @ Aug 3 2015, 00:05) Чем больш...   Aug 3 2015, 03:58
||- - ШСА   Спасибо. Но ведь и здесь пока есть варианты, напри...   Aug 3 2015, 04:09
|- - ШСА   Цитата(Golikov A. @ Jul 31 2015, 11:33) л...   Aug 1 2015, 15:39
|- - aaarrr   Цитата(ШСА @ Aug 1 2015, 18:39) Четыре та...   Aug 1 2015, 16:56
|- - ШСА   Покажу, но уже не сегодня.   Aug 1 2015, 17:04
- - Golikov A.   набортная, на борту проца....   Jul 31 2015, 19:09
- - Golikov A.   ЦитатаНо эксперимент (критерий истины) показал, чт...   Jul 31 2015, 19:18
|- - ШСА   Цитата(Golikov A. @ Jul 31 2015, 22:18) о...   Aug 1 2015, 16:47
- - Golikov A.   ассемблер тут не причем, человека беспокоит не вре...   Aug 1 2015, 07:10
|- - jcxz   Цитата(Golikov A. @ Aug 1 2015, 13:10) ас...   Aug 1 2015, 18:44
- - Golikov A.   Взять порт Взять маску Если ноль прыгнуть Прыгнуть...   Aug 1 2015, 18:05
|- - aaarrr   Цитата(Golikov A. @ Aug 1 2015, 21:05) Ма...   Aug 1 2015, 18:14
||- - ViKo   Цитата(aaarrr @ Aug 1 2015, 21:14) Загруз...   Aug 2 2015, 07:42
||- - aaarrr   Цитата(ViKo @ Aug 2 2015, 10:42) Кейл пок...   Aug 2 2015, 08:30
|- - ШСА   Цитата(Golikov A. @ Aug 1 2015, 21:05) Вз...   Aug 1 2015, 18:29
- - Golikov A.   Не вижу возможности вам не верить), а почему загру...   Aug 1 2015, 18:28
|- - aaarrr   Цитата(Golikov A. @ Aug 1 2015, 21:28) Не...   Aug 1 2015, 18:50
|- - GetSmart   Цитата(aaarrr @ Aug 1 2015, 22:50) Одиноч...   Sep 10 2015, 23:41
- - Golikov A.   Ваша правда, другое дело пока лдр искал, нашел что...   Aug 1 2015, 19:16
|- - jcxz   Когда дело доходит до подсчёта тактов при работе с...   Aug 1 2015, 21:18
- - Golikov A.   Мы же не знаем куда у вас там подключены ножки, и ...   Aug 3 2015, 05:50
|- - ШСА   Цитата(Golikov A. @ Aug 3 2015, 08:50) Мы...   Aug 3 2015, 07:32
- - Golikov A.   если 4 биты порта в памяти рядом (в пределах байта...   Aug 3 2015, 07:36
|- - ШСА   Ну да, а как иначе? В STM32F4 нет никаких видеосре...   Aug 3 2015, 07:46
- - Golikov A.   Ну ДМА может гнать по кругу, и оно имеет прерывани...   Aug 3 2015, 07:55
|- - ШСА   Цитата(Golikov A. @ Aug 3 2015, 10:55) Де...   Aug 3 2015, 08:22
- - Golikov A.   ДМА запускается по таймеру, таймер запускается по ...   Aug 3 2015, 08:57
|- - ШСА   Отлично. Спасибо.   Aug 3 2015, 09:08
- - aaarrr   Цитата(GetSmart @ Sep 11 2015, 02:41) Под...   Sep 11 2015, 10:22
|- - GetSmart   Цитата(aaarrr @ Sep 11 2015, 14:22) Corte...   Sep 11 2015, 14:26
|- - aaarrr   Цитата(GetSmart @ Sep 11 2015, 17:26) Дру...   Sep 11 2015, 14:54
- - GetSmart   Время до сих пор не нашёл для полноценного тестиро...   Sep 21 2015, 12:25
|- - ШСА   Цитата(GetSmart @ Sep 21 2015, 15:25) Вре...   Sep 23 2015, 19:32
|- - GetSmart   Цитата(ШСА @ Sep 23 2015, 23:32) Тестиров...   Sep 23 2015, 19:39
- - GetSmart   Потестил на LPC4357 и LPC11U37/501. У обоих ядра M...   Oct 25 2015, 08:54
|- - GetSmart   Цитата(GetSmart @ Oct 25 2015, 12:54) У п...   Oct 26 2015, 11:57
- - GetSmart   Проверил ещё на LPC1227 (M0+ r0p0). Этого эффекта ...   Oct 29 2015, 19:20
- - GetSmart   Цитата(GetSmart @ Oct 29 2015, 23:20) Про...   Nov 5 2015, 17:22


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

 


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


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