Страница 1 из 1

Тактовая частота контроллера

Добавлено: Вт окт 02, 2012 23:01:37
ScoolBoy
Доброго времени суток!
Наконец дошло у меня дело дело до изучения МК, точнее его программной части.
Внимательно проштудировал статью из "Обучалки" http://radiokot.ru/start/mcu_fpga/avr/07/ и приступил к практике.
Цитирую из статьи - "К выводам XTAL1 и XTAL2 подключается кварцевый резонатор (кварц). Он отвечает за генерацию тактовой частоты контроллера. Ну, о том, что у любого процессора есть тактовая частота, знает каждый. У нашего процессора-контроллера максимальная тактовая частота = 10 МГц. С точки зрения Пентиума 4 - это ничто. С т.з. тех задач, которые будут выполняться данной схемой - это даже многовато. А вообще - все в этом мире относительно…"
Дело в том, что в описании кода нет упоминания о тактовой частоте. Я смоделировал в Proteus схему бегущего огня, причем забыл воткнуть кварц. Все прекрасно работает, огоньки мигают.. НО! Цитата - "То что мы только что рассмотрели, называется циклом задержки. Почему? Да потому что, этот кусок программы по сути - ничего толкового не делает, но жрет процессорные такты, а стало быть - время. Однако, нам этот цикл задержки очень пригодится. Он будет определять скорость "бега" огоньков."
В связи с этим вот такой вопрос..
Что на данном этапе определяет тактовую частоту и, соответственно, время свечения?
Сейчас собираю это дело в железе, кварц поставил, но не совсем все в голове укладывается.
Если чего не так прошу меня извинить - дело для меня новое..

Re: Тактовая частота контроллера

Добавлено: Вт окт 02, 2012 23:06:00
SmarTrunk
В железе тактовая частота будет определяться частотой подключенного кварца. Или (для AVR, например), частотой внутреннего генератора. В зависимости от установленных фьюз (биты конфигурации, для AVR) может быть выбран или внутренний генератор (а также его частота) или кварц.

Re: Тактовая частота контроллера

Добавлено: Ср окт 03, 2012 21:28:53
ScoolBoy
То есть, по умолчанию, тактовая частота задается внутренним RC-генератором и устанавливается на заводе-изготовителе?
И прописывается не в коде программы, а при прошивке МК изменением фьюзов?

Re: Тактовая частота контроллера

Добавлено: Ср окт 03, 2012 21:45:12
ploop
Зависит от контроллера. У AVR нельзя в коде изменить некоторые режимы тактирования (например внутренний генератор или внешний кварц), только фьюзами при прошивке, но на некоторых сериях можно программно включить делитель.

У других МК (PIC, ARM, другие) конфигурация генератора полностью возможна в коде программы.

Re: Тактовая частота контроллера

Добавлено: Чт окт 04, 2012 09:10:17
ScoolBoy
Все понятно!Спасибо за ответы!

Re: Тактовая частота контроллера

Добавлено: Чт окт 04, 2012 10:56:33
Gudd-Head
ploop писал(а):У других МК (PIC, ARM...) конфигурация генератора полностью возможна в коде программы.
... SiLab

Re: Тактовая частота контроллера

Добавлено: Чт окт 04, 2012 11:39:39
avreal
ploop писал(а):Зависит от контроллера. У AVR нельзя в коде изменить некоторые режимы тактирования (например внутренний генератор или внешний кварц), только фьюзами при прошивке
У новых тинек Tiny4..10,20,40 и Tiny1634 уже можно, фьюзы CKSEL при сбросе загружаются в регистр CLKMSR (CLKSR у 1634) и задают начальное значение, дальше из программы можно менять.

У PIC16 такая возможность тоже только у достаточно новых, насколько я знаю.

Re: Тактовая частота контроллера

Добавлено: Чт окт 04, 2012 11:56:15
ploop
Хорошо. Может признают свою ошибку, и откажутся постепенно от них.