Фьюзы в AVR - помогите разобраться(для новичков и гуру)

Программирование микроконтроллеров AVR, PIC, ARM.
Разработка и изготовление печатных плат для модулей.

Re: Помогите разобраться с фьюзами

Сообщение Master » 04 дек 2007, 11:24

Пардон

выше 8 Мгц CKSEL=1110
Аватара пользователя
Master
 
Сообщения: 4468
Зарегистрирован: 21 дек 2006, 19:56
Откуда: Украина, г.Одесса
прог. языки: Delphi и С

Re: Помогите разобраться с фьюзами

Сообщение loid » 05 дек 2007, 04:58

Давайте по-порядку разберёмся.
Первое: мне не понятно как выставлять "галочки" в программе когда прошиваешь. (CodeVisionAVR) Правильно ли я понимаю, если у меня CKSEL=1100, то я поставлю "галочки" в нулевом и первом бите.

Второе: почитав ДатаШит пришел совсем в тупик. Вот что там написано:
Clock Sources The device has the following clock source options, selectable by Flash Fuse bits as shown
below. The clock from the selected source is input to the AVR clock generator, and routed to the
appropriate modules.
Table 2. Device Clocking Options Select
Код: Выделить всё
Device Clocking Option               CKSEL3..0
------------------------------------------------
External Crystal/Ceramic Resonator   1111 - 1010
External Low-frequency Crystal       1001
External RC Oscillator               1000 - 0101
Calibrated Internal RC Oscillator    0100 - 0001
External Clock                       0000


Из этого я понял что CKSELом выбираеться, что мы будем испльзовать для тактирования на ножках XTAL1, XTAL2.
если используем внешний кристал или керамический резонатор то CKSEL нужно выставить 1111 - 1010
если используем RC цепочку то CKSEL нужно выставить 1000 - 0101
и т.д

Тут вроде всё пронятно, но читаем ДатаШит дальше и приходи в тупик. ВОТ:
Дальше пишеться как нужно выставить фьюзы, если используем кварцевый резонатор.
The Oscillator can operate in three different modes, each optimized for a specific frequency
range. The operating mode is selected by the fuses CKSEL3..1 as shown in Table 4.
Note: 1. This option should not be used with crystals, only with ceramic resonators.
Table 4. Crystal Oscillator Operating Modes
Код: Выделить всё
CKOPT  CKSEL3..1       Frequency Range(MHz)   Recommended Range for Capacitors C1 and C2 for Use with Crystal
-------------------------------------------------------------------------------------------------------------
1      101             0.4 - 0.9              –
1      110             0.9 - 3.0              12 - 22
1      111             3.0 - 8.0              12 - 22
0      101, 110, 111   1.0 ≤                  12 - 22

Кто помнит, до этого мы выбирали CKSELом - что быдем использовать в качестве устройства тактирования, а тут на тебе, этим же CKSELом выбираем тактовую частоту. Тут конечно присутствует CKOPT, но не в этом суть.


Третье: как выставить фьюзы если решил использовать кварц на 16MHz? В ДатаШите не нашел.
Последний раз редактировалось Vooon 05 дек 2007, 05:21, всего редактировалось 1 раз.
Причина: для простых таблиц удобнее использовать тег CODE
Аватара пользователя
loid
 
Сообщения: 349
Зарегистрирован: 16 окт 2007, 11:57
Откуда: Минycинck

Re: Помогите разобраться с фьюзами

Сообщение avr123.nm.ru » 05 дек 2007, 08:21

Выше УЖЕ ответил ДАВНО !
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва

Re: Помогите разобраться с фьюзами

Сообщение Master » 05 дек 2007, 08:55

Третье: как выставить фьюзы если решил использовать кварц на 16MHz? В ДатаШите не нашел.

Во втором посте, есть ссылка на тему "Лучше один раз увидеть", там есть даже скриншот фьюзов.

Добавлено спустя 1 минуту 3 секунды:
Первое: мне не понятно как выставлять "галочки" в программе когда прошиваешь. (CodeVisionAVR) Правильно ли я понимаю, если у меня CKSEL=1100, то я поставлю "галочки" в нулевом и первом бите.

Да. Для CodeVisionAVR это верно.

Добавлено спустя 11 минут 39 секунд:
А вот на счет двух табличек я понял так:
Нам нужна из верхней таблички верхняя строчка
External Crystal/Ceramic Resonator (Внешний Кристаллический/Керамический Резонатор) по большому счету эта табличка задает тока значение CKSEL0, кот. мы выставляем в 0, т. к. мы используем керамический резонатор (что такое External Crystal я не знаю).
Вот. Значения от 1111 до 1110 не идут вразрез с табличкой ниже, т.е. CKSEL0..3 1110 для твоего случая с частотой от внешнего кварца более 8 МГц, так и для внешнего кварца на 16 МГц CKSEL0..3 1111. А ну и про CKOPT забывать не нада.
Блин объяснил как я это понял, не утверждаю что это все правильно.
Аватара пользователя
Master
 
Сообщения: 4468
Зарегистрирован: 21 дек 2006, 19:56
Откуда: Украина, г.Одесса
прог. языки: Delphi и С

Re: Помогите разобраться с фьюзами

Сообщение loid » 05 дек 2007, 11:50

Master писал(а):External Crystal/Ceramic Resonator (Внешний Кристаллический/Керамический Резонатор) по большому счету эта табличка задает тока значение CKSEL0, кот. мы выставляем в 0, т. к. мы используем керамический резонатор


Ну допустим CKSELом нулевым мы выбираем керамический резонатор, а для чего тогда в таблице CKSELы от первого до третьего. Не просто так наверное.

Цитировать надо тегом [quote]
<Digit>
Последний раз редактировалось Digit 05 дек 2007, 13:21, всего редактировалось 1 раз.
Причина: цитирование не по правилам
Аватара пользователя
loid
 
Сообщения: 349
Зарегистрирован: 16 окт 2007, 11:57
Откуда: Минycинck

Re: Помогите разобраться с фьюзами

Сообщение rig » 05 дек 2007, 12:13

так, счас соберусь мыслями.
МК ? Мега 16
частота 16 Мгц
фьюзы вналичии
ДШ есть
раздел System Clock and Clock Options
Table 2. Device Clocking Options Select
Код: Выделить всё
Device Clocking Option CKSEL3..0
External Crystal/Ceramic Resonator 1111 - 1010

дальше Crystal Oscillator

Код: Выделить всё
For resonators, the maximum frequency is 8 MHz with CKOPT unprogrammed and
16 MHz with CKOPT programmed.
это собственно из таблицы4 видно
нам надо 16 МГц, 3-8 МГц не подходит берем более 1.0

Код: Выделить всё
CKOPT    0
CKSEL3..1  101, 110, 111
Frequency Range (MHz) 1.0 ≤
Recommended Range for Capacitors
C1 and C2 for Use with Crystals (pF) 12 - 22


выбираем время задержки при включении
The CKSEL0 Fuse together with the SUT1..0 Fuses select the start-up times as shown
in Table 5.
подольше подождем
Код: Выделить всё
CKSEL0 SUT1..0 Start-up Time from Power-down and Power-save  Additional Delay from Reset (V CC = 5.0V) Recommended Usage
1 11 16K CK 65 ms Crystal Oscillator, slowly
rising power


получаем
Код: Выделить всё
CKSEL3..1 101, 110, 111
CKSEL0 1
SUT1..0 11


то есть подходит
Код: Выделить всё
CKSEL3..0 1010, 1100, 1110
SUT10 11


поправляйте если ошибся
Аватара пользователя
rig
 
Сообщения: 1437
Зарегистрирован: 03 авг 2007, 19:43
Откуда: Екатеринбург
прог. языки: Си, асм со словарем

Re: Помогите разобраться с фьюзами

Сообщение Master » 06 дек 2007, 10:00

У меня для работы на 16 МГц стоит CKSEL3..0 1111 CKOPT 0 (делал часы идут правильно, передача по USART на 19200 бод тоже работает).
Аватара пользователя
Master
 
Сообщения: 4468
Зарегистрирован: 21 дек 2006, 19:56
Откуда: Украина, г.Одесса
прог. языки: Delphi и С

Re: Помогите разобраться с фьюзами

Сообщение rig » 06 дек 2007, 10:33

могу в сб проверить теорию, кварц более 8 мгц кажись есть
Аватара пользователя
rig
 
Сообщения: 1437
Зарегистрирован: 03 авг 2007, 19:43
Откуда: Екатеринбург
прог. языки: Си, асм со словарем

Re: Фьюзы в AVR - помогите разобраться

Сообщение kika » 05 фев 2008, 18:13

Народ я вот не могу понять что происходит.... Короче прошиваю я ATMega8, затем выставляю фьюзы, но забыв их перед этим прочитать(выставлял я только CKOPT, другие не трогал) и усё тепер микруха в накдауне.... :o.
Может кто-нибудь пояснит мне, что с ней случилось и как это вылечить
kika
 
Сообщения: 2
Зарегистрирован: 04 фев 2008, 19:25

Re: Фьюзы в AVR - помогите разобраться

Сообщение Myp » 05 фев 2008, 18:26

ну да ты их не прочитал
значит у тебя в окошке где нарисованы фьюзы не стояло не одной галочки
ты один изменил и зашил
тоесть у тебя прошились все фьюзы сразу
абсолютно в точности тем галочкам которые у тебя не стояли


равносильно тому что ты прочитал фьюзы, убрал все галочки, и прошил =)

короче запорол
<telepathmode>На вопросы отвечает Бригадир Телепатов!</telepathmode>
Всё уже придумано до нас!
Аватара пользователя
Myp
скрытый хозяин вселенной :)
 
Сообщения: 18018
Зарегистрирован: 18 сен 2006, 12:26
Откуда: Тверь по прозвищу Дверь
прог. языки: псевдокод =) сила в алгоритме!
ФИО: глубокоуважаемый Фёдор Анатольевич

Re: Фьюзы в AVR - помогите разобраться

Сообщение kika » 05 фев 2008, 19:16

Myp писал(а):ну да ты их не прочитал
значит у тебя в окошке где нарисованы фьюзы не стояло не одной галочки
ты один изменил и зашил
тоесть у тебя прошились все фьюзы сразу
абсолютно в точности тем галочкам которые у тебя не стояли


равносильно тому что ты прочитал фьюзы, убрал все галочки, и прошил =)

короче запорол

Ои точно я как-то сразу не сообразил.... ну да ладно со временем опыт придет)))


Еще есть одна Atmega8... в ней я к установленным с завода фьюзам еще установил фьюз CKOPT и она ушла в накдаун)))...что в это м случае не так
kika
 
Сообщения: 2
Зарегистрирован: 04 фев 2008, 19:25

Re: Фьюзы в AVR - помогите разобраться

Сообщение Victorovych » 05 фев 2008, 21:44

При работе от внутреннего RC генератора (заводская установка внутренний RC 1 МГц) бит СКОРТ не должен программироваться (СКОРТ=1). В пони галочка=0, в других программаторах скорее всего так же.
См. доку на мегу 8, стр 28 первый абзац
Аватара пользователя
Victorovych
 
Сообщения: 491
Зарегистрирован: 20 сен 2007, 11:44
Откуда: Харьков
Skype: Victorovych_FF
прог. языки: ASM
ФИО: Иван ВикторОвич

Re: Фьюзы в AVR - помогите разобраться

Сообщение rig » 06 фев 2008, 07:25

ну почемуже запорол
Код: Выделить всё
Device Clocking Option      CKSEL3..0
External Crystal/Ceramic Resonator 1111 - 1010

нужно внешний кварц подключить и только

Код: Выделить всё
CKOPT                  1
CKSEL3..1             111
Frequency
Range(MHz)           3.0 - 8.0
Recommended Range for Capacitors
C1 and C2 for Use with Crystals (pF) 12 - 22
Аватара пользователя
rig
 
Сообщения: 1437
Зарегистрирован: 03 авг 2007, 19:43
Откуда: Екатеринбург
прог. языки: Си, асм со словарем

Re: Фьюзы в AVR - помогите разобраться(для новичков и гуру)

Сообщение ZarK117 » 17 мар 2008, 02:24

Какие фьюзы нужно ставить, что бы прошить mega32 на с тактовой 4, через AVRISPmk2, порт USB. Если в программе Используется только Flash память???
Аватара пользователя
ZarK117
 
Сообщения: 65
Зарегистрирован: 27 апр 2007, 21:25
Откуда: Санкт-Петербург

Re: Фьюзы в AVR - помогите разобраться(для новичков и гуру)

Сообщение avr123.nm.ru » 17 мар 2008, 02:28

ZarK117 писал(а):Какие фьюзы нужно ставить, что бы прошить mega32 на с тактовой 4


вы не указали источник такта.

Посмотрите на http://www.avr123.nm.ru/07.htm
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва

Пред.След.

Вернуться в Микроконтроллеры

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 9