Страница 3 из 134
Добавлено: Пт мар 16, 2007 18:05:29
Vertel
Привет. Прочитал на "avr123" о программировании фьюзов, что-то не понятно, как запрограммировать МК на частоту 16 МГц в CodeVisionAVR C Compiler Evaluation, установленная галочка это «1»?
Добавлено: Пт мар 16, 2007 22:57:34
Abaktyсh
Vertel писал(а):Привет. Прочитал на "avr123" о программировании фьюзов, что-то не понятно, как запрограммировать МК на частоту 16 МГц в CodeVisionAVR C Compiler Evaluation, установленная галочка это «1»?
на станице /07.htm написано
З а п о м н и т е :
НЕ запрограммированный фьюз 1
ЗАпрограммированный фьюз 0
=======
А на скриншоте над окном фьзов написано что значит галочка.
Об установке фьюзов на 16 МГц прямо под скриншотом написано:
"Для использования ATmega16 (и других мег) с внешним кварцевым или керамическим резонатором на частотах выше 8 МГц вам нужно установить фьюзы как в примере выше но запрограммировать CKOPT - значит сделать его "0". Т.е. вам нужна такая комбинация: ... "
========
Читайте не спеша и внимательно - много времени сэкономите.
Добавлено: Пн апр 16, 2007 16:24:17
fikus
Подскажите если не трудно по Attiny2313-какие fuse-биты при программировании установить, чтобы указать микроконтроллеру тактирование он внешнего источника (кварц на 3,68Мгц) программой PopyProg2000? Спасибо.
Добавлено: Ср апр 25, 2007 17:53:47
Tohey
А если установить фузы для защиты ПО, возможно будет стереть МК через ISP и опять записывать через ISP? На примере mega8, mega16
Добавлено: Ср апр 25, 2007 18:00:14
tych
Да, если не отключить RESET в меге8.
Добавлено: Ср апр 25, 2007 18:01:41
ARV
Tohey писал(а):А если установить фузы для защиты ПО, возможно будет стереть МК через ISP и опять записывать через ISP? На примере mega8, mega16
Можно (если ISP разрешено).
Защита устанавливается не фузами, а Lock-битами, которые стираются при общем стирании памяти. Фузы при стирании памяти не стираются.
Добавлено: Сб апр 28, 2007 20:33:11
Алексей П
Подскажите, как нужно выставить фьюзы чтобы tiny2313 работал с частотой 8мГц без внешнего кварца?
Добавлено: Сб апр 28, 2007 21:29:33
tych
Алексей П писал(а):как нужно выставить фьюзы чтобы 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.
Не забывайте выключать прерывания !
Добавлено: Сб апр 28, 2007 21:59:50
ARV
Attiny2313 производится с уже заданным значением фюзов, настроенном на работу от встроенного генератора (т.е. без внешнего кварца) 8 МГц, но при этом так же при производстве включается фьюз CKDIV8 - то есть фактически ядро работает на чатоте в 8 раз меньшей.
Чтобы МК заработал на частоте 8 МГц без внешнего кварца, надо сбросить фьюз CKDIV8 - и все. Естественно, SUT-ы должны быть верно настроены в соответствии с BODLEVEL, но об этом, кажется, никто не спрашивает...
Предделитель тактовой частоты автоматически устанавливается при сбросе в значение, соответствующее либо делению на 8 (CKDIV8=0, т.е. установлен), либо делению на 1 (CKDIV8=1, т.е. сброшен), если в процессе работы надо его переустанавливать - делаайте по вышеописанной процедуре, но просто для запуска это лишнее.
Тут обнаружил довольно много информации в инете о том, что в доке атмела есть несоответствие практике (и здесь на форуме об этом говорилось) - якобы Attiny2313 с завода выходят все-таки настроенными на встроенный генератор 4 МГц, а не 8 (как в доке). Посему, кроме вышеизложенного, надо убедиться, что CKSEL задают чвстроенный генератор 8 МГц, т.е. CKSEL=0100
Добавлено: Вс апр 29, 2007 04:28:05
Алексей П
Уважаемые спецы, подскажите существуют ли даташиты на AVR на русском, или хотябы полное описание фьюзов с примерами, т.е. поставиш птичку здесь будет тото, а если здесь то получиш полный абзац.
Добавлено: Вс апр 29, 2007 06:54:18
tych
Вот пользуйтесь :
Установка фузов для ATtiny2313 по-русски
http://www.tvinfo.ru/tp/attiny2313.htm
Добавлено: Вс апр 29, 2007 07:21:59
Алексей П
Вот теперь вопросы:
1)Что такое WDTON и как он работает?
2)Чем отличаются BODLEVEL0, BODLEVEL1 и BODLEVEL2?
3)Что будет если SUT1 и SUT0 оба включить или выключит и в чем измеряется время старта?
4)Что произойдет если выставить CKSEL3..0 следдующие знасения 0000 , 0001, 0011 и тд?
Добавлено: Вс апр 29, 2007 08:37:34
ARV
Алексей П писал(а):Вот теперь вопросы:
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) и отключить его программно будет нельзя, а если не запрограммирован, то появляется возможность программно настроить его не только на сброс, но и на прерывание или вообще отключить.
Добавлено: Вс апр 29, 2007 08:45:02
Алексей П
Поповоду промта, может у вас в Новочеркаске и продают его, а унас в магазинах с дисками нет ничего кроме игрушек и DVD.
Мне так и непонятно что же такое WDTON?
Добавлено: Вс апр 29, 2007 09:02:01
ARV
Промпт можно и слить откуда-нибудь, хотя дороговато выйдет

Могу выслать наложенным платежом (почтовый сбор + стоимость болванки)
WDTON - это
fuse-бит, отвечающий за принудительное включение сторожевого таймера.
Добавлено: Вс апр 29, 2007 09:07:01
Алексей П
Тоесть если я правелно понял, если включить WDTON,то при зависании процессора он его сбросит, тогда такой вопрос, а через какое врамя.
Добавлено: Вс апр 29, 2007 09:13:21
ARV
Через какое время - это задается в программе через WDTCSR - можно выбрать от 16 мс до 8 секунд (это время приблизительное - формируется отдельным встроенным малостабильным генератором). Если ничего не делать с этим регистром, а просто навсегда включить сторожевого песика фьюзом WDTON, то сброс произойдет через 16 мс.
Добавлено: Вс апр 29, 2007 09:14:09
tych
Алексей П писал(а):Вот теперь вопросы:
На первой странице курса есть линк на русский перевод даташита на атмегу128 - там все это есть.
И в низу второй страницы курса ПО-РУССКИ описано
устройство AVR и фьюзы.
Линк на Курс в моем профиле.
Добавлено: Пн апр 30, 2007 15:36:04
Алексей П
Сегодня проверил на 4-х attiny2313 заводскую установку фьюзов,
поучил следующий результат: CKSEL=0100, CKDIV8=1,SUT=01, CKOUT=0, BODLEVEL=000, WDTON=0,DWEN=0, EESAVE=0. Получается что с завода они идут всеже с тактированием на 8мГц, а предделитель сброшен.
Добавлено: Пн апр 30, 2007 17:48:38
ARV
Очень может быть, что Атмел, начитавшись наших форумов, пришли к выводу, что проще перенастроить производство
