реклама на сайте
подробности

 
 
> atmega16 fuse CKSEL, что означают CKSEL1 и CKSEL2
acorn
сообщение Feb 11 2007, 01:39
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 58
Регистрация: 28-11-05
Пользователь №: 11 495



кто-нибудь может объяснить, на что влияют эти фьюзы ATMEGA16:

CKSEL0 - тут я более-менее уверен
CKSEL1 - ?
CKSEL2 - ?
CKSEL3 - тут я более-менее уверен

Пример - запускаю мега16-16 от кварца 16.000, 5V питание, потребление не волнует:

CKSEL=1111
SUT=11
CKOPT=0
(фьюзы по datasheet, 0 = programmed)

Исходя из чего выбирать два средних разряда CKSEL - из datasheet не очевидно?

Спасибо!
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
rx3apf
сообщение Feb 11 2007, 02:04
Сообщение #2


Гуру
******

Группа: Участник
Сообщений: 3 834
Регистрация: 14-06-06
Из: Moscow, Russia
Пользователь №: 18 047



Цитата(acorn @ Feb 11 2007, 01:39) *
Исходя из чего выбирать два средних разряда CKSEL - из datasheet не очевидно?

Значит, читал невнимательно. Смотри таблицу 4 - значения этих битов оптимизируют осциллятор под разную частоту кварца. Для 16 MHz CKSEL3..1 надо поставить в 111, и не забыть выставить CKOPT=0. Все там же, в таблице 4 и в абзаце перед ним...
Go to the top of the page
 
+Quote Post
acorn
сообщение Feb 11 2007, 20:54
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 58
Регистрация: 28-11-05
Пользователь №: 11 495



Цитата(rx3apf @ Feb 11 2007, 01:04) *
Цитата(acorn @ Feb 11 2007, 01:39) *

Исходя из чего выбирать два средних разряда CKSEL - из datasheet не очевидно?

Значит, читал невнимательно. Смотри таблицу 4 - значения этих битов оптимизируют осциллятор под разную частоту кварца. Для 16 MHz CKSEL3..1 надо поставить в 111, и не забыть выставить CKOPT=0. Все там же, в таблице 4 и в абзаце перед ним...

Спасибо за ответ, но вот это место мне и неочевидно. CKOPT=0 я использую сознательно, но в таблице 4, "Crystal Oscillator Operating Modes", для этого случая есть ровно одна строчка, последняя. Содержит она в колонке CKSEL3..1 следующий текст:

101, 110, 111

Мой вопрос прежний - таки какое из трех и почему?
Go to the top of the page
 
+Quote Post
rx3apf
сообщение Feb 11 2007, 21:37
Сообщение #4


Гуру
******

Группа: Участник
Сообщений: 3 834
Регистрация: 14-06-06
Из: Moscow, Russia
Пользователь №: 18 047



Цитата(acorn @ Feb 11 2007, 20:54) *
Спасибо за ответ, но вот это место мне и неочевидно. CKOPT=0 я использую сознательно, но в таблице 4, "Crystal Oscillator Operating Modes", для этого случая есть ровно одна строчка, последняя. Содержит она в колонке CKSEL3..1 следующий текст:

101, 110, 111

Мой вопрос прежний - таки какое из трех и почему?

В общем случае, для частоты больше 1 MHz - любое, о чем и говорит колонка "frequncy range". Для именно 16 MHz - 111 (вот тут да, в таблице строчка 111 указана для диапазона до 8 MHz, и для частот выше - не вполне очевидно. Увы, документация от Atmel далека от совершенства микрочиповской, но по сравнению, скажем, с документацией от TI - почти как школьный букварь wink.gif). Суть четвертой строчки в том, что CKOPT _можно_ включать для любой из перечисленных комбинаций, чтобы получить большой размах на выходе генератора (для тактирования какой-либо внешней периферии). Но для частот больше 8 MHz этот фьюз _нужно_ включать, о чем четко сказано в абзаце перед таблицей...

Впрочем, возможно, что включение CKOPT автоматически переводит осциллятор в режим максимальной частоты, и тогда состояние остальных фьюзов (IMHO, определяющих сопротивление резистора ОС осциллятора) уже не имеет значения. Но для уверенности я ставлю 111.

Сообщение отредактировал rx3apf - Feb 11 2007, 21:58
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st July 2025 - 19:40
Рейтинг@Mail.ru


Страница сгенерированна за 0.01428 секунд с 7
ELECTRONIX ©2004-2016