Как подключить на Atmega16A кварц 12Mhz или 16Mhz

Обсуждаем контроллеры компании Atmel.
Ответить
cgw
Открыл глаза
Сообщения: 64
Зарегистрирован: Ср дек 24, 2014 20:28:17

Сообщение cgw »

На Atmega16A можно же кварцевый резонатор 12 и 16Mhz подключить?
Чета я с Fuse bits не могу разобраться в даташите
Какой CKSEL0:3 надо выставить чтобы подключить кварцевый внешний резонатор 12-16Mhz.
Там только до 8Mhz. или RC цепочка 8-12Mhz.
Как выставить 12Mhz или 16Mhz c кварцевым резонатором?
Реклама
Друг Кота
Аватара пользователя
Сообщения: 44145
Зарегистрирован: Пн ноя 30, 2009 03:00:01
Откуда: Нерезиновая

Сообщение АлександрЛ »

http://www.iuac.res.in/~elab/phoenix/docs/ATmega16.pdf
27 страница, Table 7. External RC Oscillator Operating Modes
Гарантированная работа- то 16 МГц,
Ещё есть "калькулятор фьюзов", вот, например: http://radioaktiv.ru/avr_fuses_calculat ... t=ATmega16
Реклама
cgw
Открыл глаза
Сообщения: 64
Зарегистрирован: Ср дек 24, 2014 20:28:17

Сообщение cgw »

АлександрЛ писал(а):http://www.iuac.res.in/~elab/phoenix/docs/ATmega16.pdf
27 страница, Table 7. External RC Oscillator Operating Modes
Ну 8-12Mhz с цепочкой. про резонатор ни слова.
АлександрЛ писал(а): Ещё есть "калькулятор фьюзов", вот, например: http://radioaktiv.ru/avr_fuses_calculat ... t=ATmega16
Это круто но я так и не понял какие должны быть CKSEL3:0 и SUT1:0 чтобы подключить 12 Mhz и 16Mhz кварцевый резонатор.
И что дают K CK и ms в калькуляторе. У меня стало только больше вопросов.
Может гайдик посоветуешь на Русском как разобраться что значат CK и ms.
поскольку Start-up Time from Power-down and Power-save
и Additional Delayfrom Reset(V CC = 5.0V)
Ни о чем не говорят.
Друг Кота
Аватара пользователя
Сообщения: 44145
Зарегистрирован: Пн ноя 30, 2009 03:00:01
Откуда: Нерезиновая

Сообщение АлександрЛ »

Hz, я сам в этих "старт- апах" плаваю.. :facepalm:
С таблицей я ошибся, таблица 4, страница 24, последняя строка "больше 1 мегагерца", только там три варианта.. :facepalm:
Если нет каких- то рекомендаций, то я, обычно, перебираю все варианты..
Просто у меня программатор позволяет "реанимировать" залоченные МК, поэтому мне не так страшно..

Да,ещё надо смотреть, "прямые" или "инверсные" фьюзы в вашем программаторе- а то можно МК и "залочить" ..

Какое- то описание фьюзов есть вот тут:
http://avrfuse.narod.ru/
Реклама
Эиком - электронные компоненты и радиодетали
cgw
Открыл глаза
Сообщения: 64
Зарегистрирован: Ср дек 24, 2014 20:28:17

Сообщение cgw »

согласно статьи
http://easyelectronics.ru/avr-uchebnyj- ... e-bit.html
у меня получилась так.
CKSEL3…0=1011(11) CKOPT=0 это 12Mhz SUT=11 желательно 65ms
CKSEL3…0=1111(15) CKOPT=0 это 16Mhz SUT=11 желательно 65ms
Могу ошибаться. 0=1, 1=0
Реклама
Прорезались зубы
Аватара пользователя
Сообщения: 240
Зарегистрирован: Пн июл 04, 2016 16:51:22
Откуда: Россия, Омск

Сообщение AlanDrakes »

cgw писал(а):
АлександрЛ писал(а):http://www.iuac.res.in/~elab/phoenix/docs/ATmega16.pdf
27 страница, Table 7. External RC Oscillator Operating Modes
Ну 8-12Mhz с цепочкой. про резонатор ни слова.
АлександрЛ писал(а): Ещё есть "калькулятор фьюзов", вот, например: http://radioaktiv.ru/avr_fuses_calculat ... t=ATmega16
Это круто но я так и не понял какие должны быть CKSEL3:0 и SUT1:0 чтобы подключить 12 Mhz и 16Mhz кварцевый резонатор.
И что дают K CK и ms в калькуляторе. У меня стало только больше вопросов.
Может гайдик посоветуешь на Русском как разобраться что значат CK и ms.
поскольку Start-up Time from Power-down and Power-save
и Additional Delayfrom Reset(V CC = 5.0V)
Ни о чем не говорят.
Про кварц там вообще-то, достаточно. Главное - более-менее нормально читать технический английский.
Читаю вот этот файл, где чёрным по Английски написано:
For resonators, the maximum frequency is 8 MHz with CKOPT unprogrammed and 16 MHz with CKOPT programmed.
Переводим: Для резонаторов масимальная частота 8 МГц при незапрограммированном стстоянии бита CKOPT (1) и 16 МГц при запрограммированном (0).
В таблице чуть ниже рекомендуемые значения частот и состояния битов. Получаем:
CKOPT = 0; CKSEL[3:1] = 101/110/111; рабочая частота кварца БОЛЕЕ 1 МГц (и вплоть до 20МГц при 4.5~5.5V).
Бит CKSEL[0] совместно с битами SUT (StartUp Time) выбирают время запуска контроллера после подачи питания и до собственно, начала его работы. Внутренний механизм запуска даёт время на установление рабочей частоты кварцевого генератора.

Теперь отвечу на вопрос прямо:
Чтобы получить 12 и 16МГц, нужно выставить биты таким образом:
CKOPT = 0;
CKSEL[3:1] = 101 / 110 / 111;
Остальные биты - это длительность задержки.
SUT[1:0] = длительность задержки в тактах процессора (CK) + дополнительные милимекунды после сброса но ДО запуска.
КЕРАМИКА:
CKSEL = 0:
00 = 258 тактов + 4.1мс
01 = 258 тактов + 65мс
10 = 1000 тактов (1K) + 0 мс
11 = 1000 тактов + 4.1мс
CKSEL = 1:
00 = 1000 тактов + 65мс
КВАРЦ:
01 = 16000 тактов + 0мс (Включён Brown-Out Detect) - автосброс по питанию
10 = 16000 тактов + 4.1мс (Быстро нарастающее питание)
11 = 16000 тактов + 65мс (Медленно нарастающее питание).

То есть. SKCEL = 1111, SUT = 01 / 10 / 11
Биты BODEN и BODLEVEL - выбирайте сами. Лично я бы поставил BODEN = 0; BODLEVEL = 0;
Для Вас это те значения, при которых контроллер сможет устойчиво работать с кристаллом на 16МГц. С 12МГц кристаллом можно поставить BODLEVEL = 1.
Страница 38: Brown-Out. В таблице есть значения.
Реклама
Ответить

Вернуться в «AVR»