Обсуждаем контроллеры компании Atmel.
Ответить

Пт мар 16, 2007 18:05:29

Привет. Прочитал на "avr123" о программировании фьюзов, что-то не понятно, как запрограммировать МК на частоту 16 МГц в CodeVisionAVR C Compiler Evaluation, установленная галочка это «1»?

Пт мар 16, 2007 22:57:34

Vertel писал(а):Привет. Прочитал на "avr123" о программировании фьюзов, что-то не понятно, как запрограммировать МК на частоту 16 МГц в CodeVisionAVR C Compiler Evaluation, установленная галочка это «1»?


на станице /07.htm написано

З а п о м н и т е :

НЕ запрограммированный фьюз 1

ЗАпрограммированный фьюз 0

=======
А на скриншоте над окном фьзов написано что значит галочка.

Об установке фьюзов на 16 МГц прямо под скриншотом написано:

"Для использования ATmega16 (и других мег) с внешним кварцевым или керамическим резонатором на частотах выше 8 МГц вам нужно установить фьюзы как в примере выше но запрограммировать CKOPT - значит сделать его "0". Т.е. вам нужна такая комбинация: ... "

========
Читайте не спеша и внимательно - много времени сэкономите.

Пн апр 16, 2007 16:24:17

Подскажите если не трудно по Attiny2313-какие fuse-биты при программировании установить, чтобы указать микроконтроллеру тактирование он внешнего источника (кварц на 3,68Мгц) программой PopyProg2000? Спасибо.

Ср апр 25, 2007 17:53:47

А если установить фузы для защиты ПО, возможно будет стереть МК через ISP и опять записывать через ISP? На примере mega8, mega16

Ср апр 25, 2007 18:00:14

Да, если не отключить RESET в меге8.

Ср апр 25, 2007 18:01:41

Tohey писал(а):А если установить фузы для защиты ПО, возможно будет стереть МК через ISP и опять записывать через ISP? На примере mega8, mega16

Можно (если ISP разрешено).
Защита устанавливается не фузами, а Lock-битами, которые стираются при общем стирании памяти. Фузы при стирании памяти не стираются.

Сб апр 28, 2007 20:33:11

Подскажите, как нужно выставить фьюзы чтобы tiny2313 работал с частотой 8мГц без внешнего кварца?

Сб апр 28, 2007 21:29:33

Алексей П писал(а):как нужно выставить фьюзы чтобы 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.

Даю перевод :lol:

Отключить прерывания.

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

Attiny2313 производится с уже заданным значением фюзов, настроенном на работу от встроенного генератора (т.е. без внешнего кварца) 8 МГц, но при этом так же при производстве включается фьюз CKDIV8 - то есть фактически ядро работает на чатоте в 8 раз меньшей.
Чтобы МК заработал на частоте 8 МГц без внешнего кварца, надо сбросить фьюз CKDIV8 - и все. Естественно, SUT-ы должны быть верно настроены в соответствии с BODLEVEL, но об этом, кажется, никто не спрашивает...
Предделитель тактовой частоты автоматически устанавливается при сбросе в значение, соответствующее либо делению на 8 (CKDIV8=0, т.е. установлен), либо делению на 1 (CKDIV8=1, т.е. сброшен), если в процессе работы надо его переустанавливать - делаайте по вышеописанной процедуре, но просто для запуска это лишнее.
Тут обнаружил довольно много информации в инете о том, что в доке атмела есть несоответствие практике (и здесь на форуме об этом говорилось) - якобы Attiny2313 с завода выходят все-таки настроенными на встроенный генератор 4 МГц, а не 8 (как в доке). Посему, кроме вышеизложенного, надо убедиться, что CKSEL задают чвстроенный генератор 8 МГц, т.е. CKSEL=0100
Последний раз редактировалось ARV Вс апр 29, 2007 08:20:57, всего редактировалось 1 раз.

Вс апр 29, 2007 04:28:05

Уважаемые спецы, подскажите существуют ли даташиты на AVR на русском, или хотябы полное описание фьюзов с примерами, т.е. поставиш птичку здесь будет тото, а если здесь то получиш полный абзац.

Вс апр 29, 2007 06:54:18

Вот пользуйтесь :

Установка фузов для 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

Алексей П писал(а):Вот теперь вопросы:
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

Промпт можно и слить откуда-нибудь, хотя дороговато выйдет :)
Могу выслать наложенным платежом (почтовый сбор + стоимость болванки) :)
WDTON - это fuse-бит, отвечающий за принудительное включение сторожевого таймера.

Вс апр 29, 2007 09:07:01

Тоесть если я правелно понял, если включить WDTON,то при зависании процессора он его сбросит, тогда такой вопрос, а через какое врамя.

Вс апр 29, 2007 09:13:21

Через какое время - это задается в программе через WDTCSR - можно выбрать от 16 мс до 8 секунд (это время приблизительное - формируется отдельным встроенным малостабильным генератором). Если ничего не делать с этим регистром, а просто навсегда включить сторожевого песика фьюзом WDTON, то сброс произойдет через 16 мс.

Вс апр 29, 2007 09:14:09

Алексей П писал(а):Вот теперь вопросы:


На первой странице курса есть линк на русский перевод даташита на атмегу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

Очень может быть, что Атмел, начитавшись наших форумов, пришли к выводу, что проще перенастроить производство :)
Ответить