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

 
 
> Странно работает прерывание при совпадении таймера!
_Олег_
сообщение Nov 17 2008, 10:26
Сообщение #1


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

Группа: Участник
Сообщений: 89
Регистрация: 5-10-07
Пользователь №: 31 098



Всем привет!
Ситуация такая: МК должен прибавлять фиксированную задержку к импульсу, 8 - аппаратных и 8 - программных. Почему-то получаются 3 вида задержки 1 нормальная, 2 - нормальная минус дельта t, 3 - 0-я + та де дельта t, t меньше самой задержки. Ни как не могу понять почему!

Спасибо, если поможете!

Сообщение отредактировал _Олег_ - Nov 17 2008, 11:04
Прикрепленные файлы
Прикрепленный файл  ATtiny2313_7s_.zip ( 106.81 килобайт ) Кол-во скачиваний: 33
 
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
_Олег_
сообщение Nov 21 2008, 13:45
Сообщение #2


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

Группа: Участник
Сообщений: 89
Регистрация: 5-10-07
Пользователь №: 31 098



Еще раз всем привет!

Хочу спросить у экспертов: вот отладил программу, но ни как не могу избавиться от неточности таймера, она конечно маленькая но плавающая +- 140 нс получилась.
Работает так: приходит фронт импульса, запускается таймер и отсчитывает 4 мкс, потом выставляется этот же фронт на выходе. Так вот , таймер плавает +- 140 нс. Посмотрите пожалуйста код, возможно от этого избавиться?

Спасибо.

вот
Прикрепленные файлы
Прикрепленный файл  v0.1.zip ( 50.27 килобайт ) Кол-во скачиваний: 27
 
Go to the top of the page
 
+Quote Post
=GM=
сообщение Nov 21 2008, 16:21
Сообщение #3


Ambidexter
*****

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



Цитата(_Олег_ @ Nov 21 2008, 13:45) *
Хочу спросить у экспертов: никак не могу избавиться от неточности таймера, она конечно маленькая но плавающая +- 140 нс получилась

Это как раз 0, 1 или 2 такта вашего проца. Прерывание ждёт завершения очередной команды, отсюда получается такая неравномерность, так называемый джиттер прерывания. Избежать до конца не удастся, но можно сгладить, например, непосредственно перед прерыванием ползёте по цепочке нопов (однотактных команд в общем случае), задержка будет одинаковая.


--------------------
Делай сразу хорошо, плохо само получится
Go to the top of the page
 
+Quote Post
_Олег_
сообщение Nov 24 2008, 06:39
Сообщение #4


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

Группа: Участник
Сообщений: 89
Регистрация: 5-10-07
Пользователь №: 31 098



Цитата(=GM= @ Nov 21 2008, 19:21) *
Это как раз 0, 1 или 2 такта вашего проца. Прерывание ждёт завершения очередной команды, отсюда получается такая неравномерность, так называемый джиттер прерывания. Избежать до конца не удастся, но можно сгладить, например, непосредственно перед прерыванием ползёте по цепочке нопов (однотактных команд в общем случае), задержка будет одинаковая.


Спасибо, буду пробовать, значит все команды в основном цикле нужно сделать однотактными.

Вот попробовал только однотактные команды, все равно джиттер 2 такта.

Сообщение отредактировал _Олег_ - Nov 24 2008, 06:45
Прикрепленные файлы
Прикрепленный файл  v0.1b.zip ( 48.06 килобайт ) Кол-во скачиваний: 21
 
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- _Олег_   Странно работает прерывание при совпадении таймера!   Nov 17 2008, 10:26
- - GDI   Ниччо не понятно , ни в ваших словах, ни в ващем к...   Nov 17 2008, 12:18
- - _Олег_   можете посмотреть это, что бы понять принцип, но т...   Nov 17 2008, 12:40
- - GDI   Протеуса нету, описывайте словами. Хорошо заданный...   Nov 17 2008, 12:52
|- - _Олег_   Цитата(GDI @ Nov 17 2008, 15:52) Протеуса...   Nov 17 2008, 13:15
- - _Олег_   Нет, проблема не в этом. Меня еще смущает то что и...   Nov 17 2008, 14:17
- - _Олег_   Спасибо за ответы и просмотры. Решение найдено, по...   Nov 18 2008, 05:35
|- - VladimirYU   Цитата(_Олег_ @ Nov 18 2008, 08:35) Спаси...   Nov 18 2008, 06:14
|- - _Олег_   Цитата(VladimirYU @ Nov 18 2008, 09:14) В...   Nov 18 2008, 07:47
- - aesok   Цитата(=GM= @ Nov 21 2008, 19:21) Это как...   Nov 21 2008, 16:31
|- - =GM=   Цитата(aesok @ Nov 21 2008, 16:31) А как ...   Nov 21 2008, 16:40


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

 


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


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