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

 
 
> Можно ли добиться малого джиттера системного таймера, если есть прерывания с приоритетом выше сист. таймера
Дон Амброзио
сообщение Mar 6 2008, 06:50
Сообщение #1


Местный
***

Группа: Участник*
Сообщений: 323
Регистрация: 11-02-08
Пользователь №: 34 947



Мне требуется в обработчике системного таймера вести поллинг сигнала (потому что в MCU таймеров всего 2 (ATmega8515): один используется для ШИМ, а другой как сист.таймер).
Для этого требуется маленькая погрешность точек на временной оси взятия отсчётов сигнала.

Из-за того, что существуют прерывания, приоритет которых выше прерывания таймера, приходиться их запрещать (дабы джиттер не увеличили сверх допустимого значения) и осуществлять их поллинг в обработчике сист.таймера. Из-за чего ISR системного таймера ещё больше "пухнет" в размерах. Из-за этого приходиться уменьшать частоту сэмплирования сигнала, что ухудшает качество девайса.

А как вообще в операционках решают задачу когда прерывание с более высоким программным приоритетом обслуживания имеет низкий аппаратный приоритет. Как для него добиваются того, что даже при наличии прерываний с аппаратным приоритетом выше его приоритета LatencyTime было для него в допустимых пределах?

Сообщение отредактировал Дон Амброзио - Mar 6 2008, 07:04


--------------------
После устранения бага в программе она стала работать....хуже
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Baser
сообщение Mar 9 2008, 17:20
Сообщение #2


Просто Che
*****

Группа: Свой
Сообщений: 1 567
Регистрация: 22-05-07
Из: ExUSSR
Пользователь №: 27 881



Цитата(Дон Амброзио @ Mar 9 2008, 02:24) *
Вторая фраза противоречит первой: получается из Ваших слов в AVR у прерываний приоритета нет, а вроде как бы и есть
Противоречия нет: уровень прерываний только один, но внутри этого уровня ессно есть приоритет различных прерываний.

Цитата
И как же Вы уменьшали джиттер, используя вложенные прерывания? Наверное глобально разрешая как можно быстрей прерывания в обработчиках прерываний?
Именно так, как рекомендовал SSerge:
НаписАл функцию, которая дублирует мое самое высокоприоритетное прерывание. В ней проверяется наличие флага этого прерывания и после работы функции флаг сбрасывается. Далее вызов этой функции натыкал во все другие длительные прерывания равномерно, по времени обработки, исходя из необходимого максимального джиттера.

Вариант, несомненно, достаточно кривой, но он работает. Такой прием уже применял дважды, когда быстродействия и таймеров не хватало - проблем не заметил, все ОК
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Дон Амброзио   Можно ли добиться малого джиттера системного таймера   Mar 6 2008, 06:50
- - Непомнящий Евгений   Например: во всех нетривиальных аппаратных прерыва...   Mar 6 2008, 08:32
|- - Дон Амброзио   Цитата(Непомнящий Евгений @ Mar 6 2008, 11...   Mar 7 2008, 07:38
- - AlexandrY   У вас похоже на типичную ошибку планирования ресур...   Mar 7 2008, 08:24
|- - Дон Амброзио   Цитата(AlexandrY @ Mar 7 2008, 11:24) Пер...   Mar 7 2008, 08:50
|- - Baser   Цитата(Дон Амброзио @ Mar 7 2008, 10:50) ...   Mar 8 2008, 21:28
|- - Дон Амброзио   Цитата(Baser @ Mar 9 2008, 00:28) У АВР-о...   Mar 9 2008, 00:24
- - arttab   можно повысить рабочию частоту мк и за счет этого ...   Mar 8 2008, 11:00
- - Дон Амброзио   Решил делать так: 1.Запретить все прерывания, кром...   Mar 9 2008, 09:30
|- - AlexandrY   Что-то у вас совсем там плохо. На атмеге в нормаль...   Mar 9 2008, 10:06
|- - Дон Амброзио   Цитата(AlexandrY @ Mar 9 2008, 13:06) Что...   Mar 9 2008, 11:52
|- - vshemm   Цитата(Дон Амброзио @ Mar 9 2008, 14:41) ...   Mar 9 2008, 12:00
|- - Дон Амброзио   Цитата(vshemm @ Mar 9 2008, 15:00) Как мо...   Mar 9 2008, 12:05
|- - vshemm   Цитата(Дон Амброзио @ Mar 9 2008, 15:05) ...   Mar 9 2008, 12:34
- - SSerge   Если аппаратные приоритеты "неправильные...   Mar 9 2008, 13:01
|- - vshemm   Цитата(SSerge @ Mar 9 2008, 16:01) Если а...   Mar 9 2008, 13:15
- - vshemm   SSerge умолчал о самом главном: после проверки фла...   Mar 9 2008, 18:30
|- - Baser   Цитата(vshemm @ Mar 9 2008, 20:30) SSerge...   Mar 9 2008, 19:49
|- - vshemm   Цитата(Baser @ Mar 9 2008, 22:49) "П...   Mar 10 2008, 10:28
|- - Дон Амброзио   Спасибо всем ответившим. Решил остановиться на та...   Mar 10 2008, 10:54
- - Дон Амброзио   И ещё одно отступление сделал от "классическо...   Mar 10 2008, 12:59
- - vshemm   При "классической" схеме подразумевается...   Mar 10 2008, 15:46
- - Дон Амброзио   Цитата(vshemm @ Mar 10 2008, 18:46) А уме...   Mar 10 2008, 16:49


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

 


RSS Текстовая версия Сейчас: 31st July 2025 - 13:11
Рейтинг@Mail.ru


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