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

Тактовая частота МК

Добавлено: Вт сен 08, 2015 07:10:09
Valek174
Написал простенькую программу

Start:
sbi portB, 4;
cbi portB 4;
rjmp Start

получились импульсы с частотой ~ 200 КГц и скважностью 3. Высчитываем что, тактовая частота микроконтроллера получается 600 КГц.
Почему везде пишут что, микроконтроллеры по умолчанию работают на частоте 8 МГц?
Как это проверить, доказать?
Что означают настройки на вкладке Fuses, 9,6 МГц, 4,8 МГц, 128 КГц.
Спасибо.

Re: Тактовая частота МК

Добавлено: Вт сен 08, 2015 07:14:26
DronVolk
9,6 МГц, 4,8 МГц, 128 КГц. это настройка внутреннего RC генератора. Сейчас у вас они стоят в положении на 4,8 МГц 9,6 МГц (если каждая команда выполняется по 2 такта) и включен системный пред делитель часов на 8 (тоже во фьюзах).

Re: Тактовая частота МК

Добавлено: Вт сен 08, 2015 07:23:26
Engineer_Keen
Valek174 писал(а):Почему везде пишут что, микроконтроллеры по умолчанию работают на частоте 8 МГц?
На какой частоте внутреннего RC-генератора работает контроллер нужно смотреть в справочных данных на контроллер.
Да, для AVR это чаще всего 8МГц, но некоторые модели (например tiny13) работают на 9.6МГц. Помимо этого есть еще регистр CLKPR, который умеет делить тактовую частоту и фьюз CLKDIV8, которые вместе с CKSEL дают установить частоты кратные максимальной (8-4-1, 9.6-4.8-1.2). Еще в качестве источника тактирования можно задать генератор вачдога на 128кГц.

Re: Тактовая частота МК

Добавлено: Вт сен 08, 2015 07:25:08
Valek174
DronVolk писал(а):Сейчас у вас они стоят в положении на 4,8 МГц 9,6 МГц (если каждая команда выполняется по 2 такта).
Почему ЕСЛИ? Можно как-то повлиять на количество тактов выполнения команды?

Re: Тактовая частота МК

Добавлено: Вт сен 08, 2015 07:29:50
DronVolk
как написали выше возможно у вас attiny13 (и скорее всего A) с завода они выходят с настроенным пред делителем часов на 8 его можно отключить во фюзах или программно проверять и переключать.

Re: Тактовая частота МК

Добавлено: Вт сен 08, 2015 07:32:30
Valek174
DronVolk писал(а):как написали выше возможно у вас attiny13 (и скорее всего A) с завода они выходят с настроенным пред делителем часов на 8 его можно отключить во фюзах или программно проверять и переключать.
МК действительно tiny13. Самый простенький для экспериментов )

Re: Тактовая частота МК

Добавлено: Вт сен 08, 2015 07:38:12
Engineer_Keen
Команды SBI\CBI и RJMP выполняются за 2 такта, так что тактовая получается 200*6=1200кГц, что как раз соответствует 9.6/8.

Re: Тактовая частота МК

Добавлено: Вт сен 08, 2015 07:40:50
Valek174
Всем большое спасибо!

Re: Тактовая частота МК

Добавлено: Вт сен 08, 2015 07:54:03
DronVolk
Valek174 писал(а):Почему ЕСЛИ? Можно как-то повлиять на количество тактов выполнения программы?
Потому что! вы не указали тип мк и число тактов на команду может отличатся от того что я знаю.