Перейти к содержанию
    

Таймер в МК

Начинаю только работать с МК, в частности с AVR32. Мне понадобилось для формирования клока SSC (I2S) поделить внешний сигнал 12МГц (сам МК работает на 66 МГц), т.к. специально предназначенные для этого ноги МК были заняты, то повесил эту функцию на один из таймеров. Т.е. внешний сигнал подается на вход клока таймера, таймер считает до заданного числа, сбрасывается в ноль, выход таймера инвертируется, затем автоматом все повторяется. Смотрю полученный сигнал на осциллографе и вижу, что на выходе та частота, что нужна, но иногда период выходного сигнала выскакивает за нужные длительности.

Почему это может быть, ведь насколько я понимаю таймер формирует сигналы не зависимо от того, чем занимается в данный момент сам процессор?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Начинаю только работать с МК, в частности с AVR32.

 

Фигасе, какие нынче начинающие пошли... :)

 

Мне понадобилось для формирования клока SSC (I2S) поделить внешний сигнал 12МГц (сам МК работает на 66 МГц), т.к. специально предназначенные для этого ноги МК были заняты, то повесил эту функцию на один из таймеров.

 

Не зная этот конкретный проц, из общих соображений предположу, что 12 МГц для таймера может быть слишком много. Обычно таймеры довольно сурово ограничены по входной частоте. Какая на таймер подается внутренняя тактирующая? Обычно периферия тактируется на частотах, гораздо меньших, чем проц.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Не зная этот конкретный проц, из общих соображений предположу, что 12 МГц для таймера может быть слишком много. Обычно таймеры довольно сурово ограничены по входной частоте. Какая на таймер подается внутренняя тактирующая? Обычно периферия тактируется на частотах, гораздо меньших, чем проц.

Внутренняя тактовая не подается, только внешняя. У АВР32 на таймер тактовую можно подать как с внутреннего генератора (частота ЦПУ деленная на что-то) или с внешних ног. У меня второй случай. Да, изменение периода происходит, похоже, как раз на величину такта ЦПУ.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Внутренняя тактовая не подается, только внешняя.

 

Таймер - это периферийный блок в составе проца. Периферия имеет собственную тактовую частоту, иначе вы ни записать ничего в нее не сможете, ни прочитать. Асинхронный дизайн - дело будущего, пока что все узлы делаются синхронными - это значит, они обязаны тактироваться от системного клока.

 

Входная частота таймера должна быть много меньше тактовой частоты периферии, поскольку вх. сигнал таймера самплируется внутренней тактовой частотой (иными словами, реклокается в тайм домэйн внутренней тактовой частоты).

 

Но это, так сказать, лирика. В даташите должно быть написано, какая макс. частота может подаваться на вход таймера. А я пытался объяснить - почему это написано.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Таймер - это периферийный блок в составе проца. Периферия имеет собственную тактовую частоту, иначе вы ни записать ничего в нее не сможете, ни прочитать. Асинхронный дизайн - дело будущего, пока что все узлы делаются синхронными - это значит, они обязаны тактироваться от системного клока.

 

Входная частота таймера должна быть много меньше тактовой частоты периферии, поскольку вх. сигнал таймера самплируется внутренней тактовой частотой (иными словами, реклокается в тайм домэйн внутренней тактовой частоты).

 

Но это, так сказать, лирика. В даташите должно быть написано, какая макс. частота может подаваться на вход таймера. А я пытался объяснить - почему это написано.

 

Да, действительно, когда знаешь что искать, найти проще. В моем случае таймер тактируется 66Мгц-ми, максимальная частота подаваемая на вход таймера должна быть < в 2.5 раза, т.е. 26.4 МГц. Сбило то, что в даташите на блок схемах не показан тактовой от таймера, только в тексте упоминается некий клок CLK_TC.

 

В общем спасибо!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...