тайминг, тайминг - Page 2

Do you have a question? Post it now! No Registration Necessary

Translate This Thread From Russian to

Threaded View
тайминг, тайминг
Привет Serge!

10 Nov 03 22:35, Dmitry Sheremetev писал Serge Bryxin:

 DS>   Имхо, причина в специфике тактовых генераторов микроконтроллеров.

    Кстати да, я сразу не сообразил. 200 мкс за 1 с - это всего 200 ppm. ИМХО
неразумно ожидать от встроенного в контроллер генератора существенно бОльшей
точности. Попробуй ткнуть частотомером на выход генератора и одновременно
измерить ошибку.

Всего наилучшего,                                 [Team PCAD 2000]
Алексей М.
... Сисоп спит - почта идет...

тайминг, тайминг
Dear Dmitry,

10 Nov 03 22:35, Dmitry Sheremetev wrote to Serge Bryxin:

 DS>   Имхо, причина в специфике тактовых генераторов микроконтроллеров. Кварц
 DS> работает не на частоте последовательного резонанса, а съезжает в сторону
 DS> индуктивного импеданса - если генератор сделан на одном инверторе и
 DS> обвешан кондерами на землю. Если я прав, то с изменением емкости этих
 DS> кондеров изменится и ошибка отсчета времени. Hо я могу и ошибаться.

Обрадованно побежал экспериментировать. Увы.
Манипуляции с конденсаторами дают _максимум_ 3-5mS за секунду. Собственно
подбор кварца (из дешевых) дает дельту того же порядка.
Т.е. 200mS никак не вытанцовываются отсюда.

        Sincerely yours,
                         Old Greaser.


тайминг, тайминг
Привет Serge!

09 Nov 03 20:27, Serge Bryxin писал Vladimir Vassilevsky:

 SB> Разумеется. Hаписано:

 SB> in   tmp,   TCCR0
 SB> subi tmp,   -(RELOAD_CONST+3)
 SB> out  TCCR0, tmp

    ??? А почему _TCCR0_??? Может быть все-таки TCNT0?

    И чему равно RELOAD_CONST?

Всего наилучшего,                                 [Team PCAD 2000]
Алексей М.
... Hе место поpтит человека, а человек место.

Re: тайминг, тайминг
  

"Serge Bryxin" сообщил в новостях следующее:

Quoted text here. Click to load it

вранье
Quoted text here. Click to load it
6250

  RELOAD_CONST16%0?
  Могу как вариант предложить - если задержка от момента очередного переполнения
таймера до исполнения "in   tmp,   TCCR0" иногда превышает 93 такта, то
прерывание
будет потеряно - переход таймера через 0 будет в результате сложения.
  Задержка может образоваться от сохранения контекста или других действий в
прерывании, если они есть до корреции таймера, но это составляющая постоянна. А
вот если  есть другие прерывания, хотя бы одно - то при неудачном стечении
обстоятельств (другое прерывание только начинает обрабатываться, когда
переполняется таймер) - как раз 90 тактов может в сумме и набежать. Вероятность
такого события, видимо, невысока, и вызывает отставание в среднем на 200мкс за
секунду.

  А кроме того, и сам генератор может заметно врать. Я пару раз часы вставлял
в контроллеры (но то были пики) - уход был в несколько раз меньше, порядка
нескольких
секунд в сутки, но все равно больше, чем можно было ожидать от кварцованого
генератора. И причем все, на довольно заметной партии, отставали (на 3..7с). Я с
этим заморачиваться не стал, ибо те часы больше для шашечек были и никого их
уход не волновал.

  Примите уверения в совершеннейшем к Вам почтении




Re: тайминг, тайминг
Dear Sergey,

10 Nov 03 18:45, Sergey Mudry wrote to Serge Bryxin:

 SB>> Я же просил не предлагать ставить кварц на 8.196 :-)
 SM> А попробуй все-таки.
 SM> Таймер пусть считает до 256, а в прерывании - до 125 и до 250.
 SM> И кварц остается на 8.000

Это-то понятно.
Hеудобно получается микросекунды/миллисекунды считать (а тоже надо).
В общем - не хотелось бы.

 SM> А если вместо кварца подключить внешний калиброванный генератор?

Придется попробовать. Сегодня другие заботы одолели. Заведу на тактирование тот
самый генератор, импульсы с которого я считаю для проверки.

Т.е., я так понимаю по ответам, с описанной проблемой никто не сталкивался? :-(

        Sincerely yours,
                         Old Greaser.


Site Timeline