Не хватает разрешения при смене частоты в небольших пределах

ПоNNИ
Offline
Зарегистрирован: 10.07.2017

Нужно изменять частоту испульсов 15 000 Гц в пределах +-500Гц.  Если сделать на таймере, то при тактовой частоте 16 МГц и делителе 8 получаем значение счетчика 133, для 14,5 кГц -  137 и для 15,5 -   129.

Но от 137 до 129 всего  всего 7 шагов, а нужно хотя бы 64. Те не хватает разрешения таймера.

Как можно поступить ?

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

ПоNNИ, каком ещё делителе? Делайте на 16 битном таймере.

ПоNNИ
Offline
Зарегистрирован: 10.07.2017

dimax пишет:
ПоNNИ, каком ещё делителе?
Предделителе (prescaler)

dimax пишет:
Делайте на 16 битном таймере.
Что принципиально изменится или у 16-битного есть прескалеры меньше 8?

А так для Prescaler=8 (CS22=0; CS21=0; CS20=1;), тактовой частоты 16МГц значение счетчика 8-битного или 16-битного все равно 133

 

wdrakula
wdrakula аватар
Offline
Зарегистрирован: 15.03.2016

TOP таймера может быть любым, задается регистром, в зависимости от режима, Дошло, или не только ложку поднести, но и разжевать нужно?

--------------------

так я разжую: топ 1024 и 1088, для твоих частот. как раз 64 шага.

------------------

да! для альтернативно одаренных - БЕЗ прескеллера, ессно.

ПоNNИ
Offline
Зарегистрирован: 10.07.2017

Что такое TOP?  Мне нужно не разжевывание, а принцип.

Пока не понимаю какое преимущество даст 16-битный таймер, объясните пожалуйста.

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

ПоNNИ, про делитель был не вопрос, а ответ.  Тактовая таймера и так на вес золота, а вы её делите.  Разрешение сразу же вырастет при при тактовой 16МГц.

1103 -14500Гц

1102 -14519Гц

1101 -14532Гц

1100 -14545Гц

.......

1032 -15500Гц

Итого 71 шаг.

ПоNNИ
Offline
Зарегистрирован: 10.07.2017

dimax пишет:
ПоNNИ, про делитель был не вопрос, а ответ.  Тактовая таймера и так на вес золота, а вы её делите.  Разрешение сразу же вырастет при при тактовой 16МГц.

1103 -14500Гц ....... 1032 -15500Гц   Итого 71 шаг.

Это с каким прескалером, то есть какие  нужно выставить  CS22, CS21  и  CS20  ?

wdrakula
wdrakula аватар
Offline
Зарегистрирован: 15.03.2016

Ежели речь про 328-ую, то прескаллер 1. CS1=001. И таймер не 2, 1, то есть CS12, CS11 и CS10? ОК?

Ежели про 2560 - то да CS2x, а значение тоже самое 001.