Всё о фьюзах...
Vertel писал(а):Привет. Прочитал на "avr123" о программировании фьюзов, что-то не понятно, как запрограммировать МК на частоту 16 МГц в CodeVisionAVR C Compiler Evaluation, установленная галочка это «1»?
на станице /07.htm написано
З а п о м н и т е :
НЕ запрограммированный фьюз 1
ЗАпрограммированный фьюз 0
=======
А на скриншоте над окном фьзов написано что значит галочка.
Об установке фьюзов на 16 МГц прямо под скриншотом написано:
"Для использования ATmega16 (и других мег) с внешним кварцевым или керамическим резонатором на частотах выше 8 МГц вам нужно установить фьюзы как в примере выше но запрограммировать CKOPT - значит сделать его "0". Т.е. вам нужна такая комбинация: ... "
========
Читайте не спеша и внимательно - много времени сэкономите.
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18544
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
Tohey писал(а):А если установить фузы для защиты ПО, возможно будет стереть МК через ISP и опять записывать через ISP? На примере mega8, mega16
Можно (если ISP разрешено).
Защита устанавливается не фузами, а Lock-битами, которые стираются при общем стирании памяти. Фузы при стирании памяти не стираются.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
- tych
- Э...
- Сообщения: 2792
- Зарегистрирован: Ср апр 04, 2007 08:39:14
- Откуда: Москва
- Контактная информация:
Алексей П писал(а):как нужно выставить фьюзы чтобы tiny2313 работал с частотой 8мГц без внешнего кварца?
Как написано в кратком курсе на странице 7 - "прошивание AVR"
Смотрите таблицу в дш "Table 2. Device Clocking Select"
Найдите комбинацию фьюзов для 8 МГц
==========
Затем уже в программе нужно установить деление частоты на 1
Раздел ДШ "System Clock Prescalar" стр. 30
Существует специальная процедура:
"To avoid unintentional changes of clock frequency, a special write procedure must be followed to change the CLKPS bits:
1. Write the Clock Prescaler Change Enable (CLKPCE) bit to one and all other bits
in CLKPR to zero.
2. Within four cycles, write the desired value to CLKPS while writing a zero to
CLKPCE.
Interrupts must be disabled when changing prescaler setting to make sure the write procedure
is not interrupted.
Даю перевод
Отключить прерывания.
1. Вписать в регистр CLKPR число 1000 0000
2. На позднее следующих 4 тактов записать в число CLKPR 0000xxxx где xxxx - устанавливает коэф деления.
=========
Советую делать это мастером начального кода
компилятора CVAVR - вот что он мне выдал:
Код: Выделить всё
// Crystal Oscillator division factor: 1
#pragma optsize-
CLKPR=0x80;
CLKPR=0x00;
#ifdef _OPTIMIZE_SIZE_
#pragma optsize+
#endif
=====
По ходу программы вы можете менять коэф. деления
(и значит частоту такта) от 1 до 256.
Не забывайте выключать прерывания !
Думайте сами, решайте сами ... а вот он-лайн перевод на корявый русский http://translate.ru
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18544
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
Attiny2313 производится с уже заданным значением фюзов, настроенном на работу от встроенного генератора (т.е. без внешнего кварца) 8 МГц, но при этом так же при производстве включается фьюз CKDIV8 - то есть фактически ядро работает на чатоте в 8 раз меньшей.
Чтобы МК заработал на частоте 8 МГц без внешнего кварца, надо сбросить фьюз CKDIV8 - и все. Естественно, SUT-ы должны быть верно настроены в соответствии с BODLEVEL, но об этом, кажется, никто не спрашивает...
Предделитель тактовой частоты автоматически устанавливается при сбросе в значение, соответствующее либо делению на 8 (CKDIV8=0, т.е. установлен), либо делению на 1 (CKDIV8=1, т.е. сброшен), если в процессе работы надо его переустанавливать - делаайте по вышеописанной процедуре, но просто для запуска это лишнее.
Тут обнаружил довольно много информации в инете о том, что в доке атмела есть несоответствие практике (и здесь на форуме об этом говорилось) - якобы Attiny2313 с завода выходят все-таки настроенными на встроенный генератор 4 МГц, а не 8 (как в доке). Посему, кроме вышеизложенного, надо убедиться, что CKSEL задают чвстроенный генератор 8 МГц, т.е. CKSEL=0100
Чтобы МК заработал на частоте 8 МГц без внешнего кварца, надо сбросить фьюз CKDIV8 - и все. Естественно, SUT-ы должны быть верно настроены в соответствии с BODLEVEL, но об этом, кажется, никто не спрашивает...
Предделитель тактовой частоты автоматически устанавливается при сбросе в значение, соответствующее либо делению на 8 (CKDIV8=0, т.е. установлен), либо делению на 1 (CKDIV8=1, т.е. сброшен), если в процессе работы надо его переустанавливать - делаайте по вышеописанной процедуре, но просто для запуска это лишнее.
Тут обнаружил довольно много информации в инете о том, что в доке атмела есть несоответствие практике (и здесь на форуме об этом говорилось) - якобы Attiny2313 с завода выходят все-таки настроенными на встроенный генератор 4 МГц, а не 8 (как в доке). Посему, кроме вышеизложенного, надо убедиться, что CKSEL задают чвстроенный генератор 8 МГц, т.е. CKSEL=0100
Последний раз редактировалось ARV Вс апр 29, 2007 08:20:57, всего редактировалось 1 раз.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
- tych
- Э...
- Сообщения: 2792
- Зарегистрирован: Ср апр 04, 2007 08:39:14
- Откуда: Москва
- Контактная информация:
Думайте сами, решайте сами ... а вот он-лайн перевод на корявый русский http://translate.ru
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18544
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
Алексей П писал(а):Вот теперь вопросы:
1)Что такое WDTON и как он работает?
2)Чем отличаются BODLEVEL0, BODLEVEL1 и BODLEVEL2?
3)Что будет если SUT1 и SUT0 оба включить или выключит и в чем измеряется время старта?
4)Что произойдет если выставить CKSEL3..0 следдующие знасения 0000 , 0001, 0011 и тд?
Алексей П, а ты не пробовал все же заглядывать в фирменную документацию? Я могу понять, что текст на английском может быть сложен для понимания, но таблица из двух столбиков "CKSEL" и "System Clock" или типа того - разве ее понять невозможно? Герцы и миллисекунды, по-моему, обозначаются так, что всякий разберется...
Ответить на твои вопросы в двух словах понятно вряд ли получится, а давать перевод документации - тоже, знаешь, как-то не очень... Есть же в конце концов Prompt, который встраивается прямо в Acrobat Reader - непонятные слова можно переводить прямо из pdf...
А по существу твоих вопросов скажу следующее: CKSEL, SUT и BODLEVEL взаимосвязаны между собой, и то "что произойдет" - разное при разных их комбинациях. Документация по этому вопросу составлена так, что понять сразу все там не получается (или это я не могу - у меня, кстати, с английским тоже нелады) - слишком там напутано все... А WDTON работает просто: если он запрограммирован, watchdog-timer всегда будет работать только на аппаратный сброс МК (как в классическом AT90S2313) и отключить его программно будет нельзя, а если не запрограммирован, то появляется возможность программно настроить его не только на сброс, но и на прерывание или вообще отключить.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18544
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
Промпт можно и слить откуда-нибудь, хотя дороговато выйдет
Могу выслать наложенным платежом (почтовый сбор + стоимость болванки)
WDTON - это fuse-бит, отвечающий за принудительное включение сторожевого таймера.
Могу выслать наложенным платежом (почтовый сбор + стоимость болванки)
WDTON - это fuse-бит, отвечающий за принудительное включение сторожевого таймера.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18544
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
Через какое время - это задается в программе через WDTCSR - можно выбрать от 16 мс до 8 секунд (это время приблизительное - формируется отдельным встроенным малостабильным генератором). Если ничего не делать с этим регистром, а просто навсегда включить сторожевого песика фьюзом WDTON, то сброс произойдет через 16 мс.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
- tych
- Э...
- Сообщения: 2792
- Зарегистрирован: Ср апр 04, 2007 08:39:14
- Откуда: Москва
- Контактная информация:
Алексей П писал(а):Вот теперь вопросы:
На первой странице курса есть линк на русский перевод даташита на атмегу128 - там все это есть.
И в низу второй страницы курса ПО-РУССКИ описано
устройство AVR и фьюзы.
Линк на Курс в моем профиле.
Думайте сами, решайте сами ... а вот он-лайн перевод на корявый русский http://translate.ru
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18544
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
Очень может быть, что Атмел, начитавшись наших форумов, пришли к выводу, что проще перенастроить производство 
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!