Не хватает разрешения при смене частоты в небольших пределах
- Войдите на сайт для отправки комментариев
Пнд, 10/07/2017 - 11:00
Нужно изменять частоту испульсов 15 000 Гц в пределах +-500Гц. Если сделать на таймере, то при тактовой частоте 16 МГц и делителе 8 получаем значение счетчика 133, для 14,5 кГц - 137 и для 15,5 - 129.
Но от 137 до 129 всего всего 7 шагов, а нужно хотя бы 64. Те не хватает разрешения таймера.
Как можно поступить ?
ПоNNИ, каком ещё делителе? Делайте на 16 битном таймере.
А так для Prescaler=8 (CS22=0; CS21=0; CS20=1;), тактовой частоты 16МГц значение счетчика 8-битного или 16-битного все равно 133
TOP таймера может быть любым, задается регистром, в зависимости от режима, Дошло, или не только ложку поднести, но и разжевать нужно?
--------------------
так я разжую: топ 1024 и 1088, для твоих частот. как раз 64 шага.
------------------
да! для альтернативно одаренных - БЕЗ прескеллера, ессно.
Что такое TOP? Мне нужно не разжевывание, а принцип.
Пока не понимаю какое преимущество даст 16-битный таймер, объясните пожалуйста.
ПоNNИ, про делитель был не вопрос, а ответ. Тактовая таймера и так на вес золота, а вы её делите. Разрешение сразу же вырастет при при тактовой 16МГц.
1103 -14500Гц
1102 -14519Гц
1101 -14532Гц
1100 -14545Гц
.......
1032 -15500Гц
Итого 71 шаг.
1103 -14500Гц ....... 1032 -15500Гц Итого 71 шаг.
Ежели речь про 328-ую, то прескаллер 1. CS1=001. И таймер не 2, 1, то есть CS12, CS11 и CS10? ОК?
Ежели про 2560 - то да CS2x, а значение тоже самое 001.