Страница 1 из 1

Неправильные фьюзы или неправильный кварц?

Добавлено: Чт ноя 13, 2014 02:20:04
edwardoid
Друзья, я недавно купил Atmega328p(к сожалению мой проект не умещается в Atmega8A) и решил поменять фьюзы, чтобы использовать внешний кристалл. Но что-то видимо напортачил. Соединение программатор->мк правильное(ставил обратно Atmega8A и все работало как прежде). СОбственно вопрос: помогите разобраться, в чем проблема? Какой кристалл отменя хочет 328п-ой.
Вот фьюзы, которые я ставил:

http://eleccelerator.com/fusecalc/fusec ... LOCKBIT=FF

Вот как ругается avrdude:

Код: Выделить всё

avrdude.exe: warning: cannot set sck period. please check for usbasp firmware update.
avrdude.exe: error: programm enable: target doesn't answer. 1 
avrdude.exe: initialization failed, rc=-1
             Double check connections and try again, or use -F to override
             this check.


avrdude.exe done.  Thank you.
Схема проста: Atmega328p, на ножках XTAL1, XTAL2 сидит кристал на 16Mhz и 2 конденсатора на 18pF(пробовал с 22pF, тот же результат).

Re: Неправильные фьюзы или неправильный кварц?

Добавлено: Чт ноя 13, 2014 07:10:28
Pink-Pank
Неправильные фьюзы или неправильный кварц?
Невнимательный USER.

Кварц на 16 МГц, фьюзы выставлены на частоту 0,4 - 0,9 Мгц. +внимательно читаем даташит по минимальному уровню питания МК в зависимости от частоты тактирования.

Re: Неправильные фьюзы или неправильный кварц?

Добавлено: Пт ноя 14, 2014 22:01:34
edwardoid
Я поковырял даташит и убрал конденсаторы(таблица в начале 30-ой страницы Complete версии). Питаю МК от 5V. По идее должно хватить, но не пашет... я что-то не так понял или пропустил?

Re: Неправильные фьюзы или неправильный кварц?

Добавлено: Сб ноя 15, 2014 08:14:59
alex_
Если у тебя фьюзы прошиты на 0,4-0,9 МГц то меняй кварц в соответствии с фьюзами иначе не заведётся, конденсаторы можешь обратно поставить, когда фьюзы перешьёшь на верное значение, кварц поменяешь обратно.

Re: Неправильные фьюзы или неправильный кварц?

Добавлено: Сб ноя 15, 2014 16:54:00
Psychotherapeutics
edwardoid писал(а):СОбственно вопрос: помогите разобраться, в чем проблема?

Схема проста: Atmega328p, на ножках XTAL1, XTAL2 сидит кристал на 16Mhz и 2 конденсатора на 18pF(пробовал с 22pF, тот же результат).
AVRDUDE -U lfuse:w:0xFF:m -U hfuse:w:0xD9:m -U efuse:w:0xFF:m -U lock:w:0xFF:m

Re: Неправильные фьюзы или неправильный кварц?

Добавлено: Вс ноя 16, 2014 17:35:01
edwardoid
Проблема решена кварцем в 8Мгц. Подключил -- работает. Всем спасибо.

Re: Неправильные фьюзы или неправильный кварц?

Добавлено: Ср янв 13, 2016 21:01:25
Ytm

Код: Выделить всё

C:\avrdudeprog33>avrdude.exe -p m328p -c usbasp -P usb -U lfuse:w:0x62:m -U hfuse:w:0xD9:m -U efuse:w:0xFF:m -U lock:w:0xFF:m

avrdude.exe: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.02s

avrdude.exe: Device signature = 0x1e950f
avrdude.exe: reading input file "0x62"
avrdude.exe: writing lfuse (1 bytes):

Writing | ################################################## | 100% 0.02s

avrdude.exe: 1 bytes of lfuse written
avrdude.exe: verifying lfuse memory against 0x62:
avrdude.exe: load data lfuse data from input file 0x62:
avrdude.exe: input file 0x62 contains 1 bytes
avrdude.exe: reading on-chip lfuse data:

Reading | ################################################## | 100% -0.00s

avrdude.exe: verifying ...
avrdude.exe: 1 bytes of lfuse verified
avrdude.exe: reading input file "0xD9"
avrdude.exe: writing hfuse (1 bytes):

Writing | ################################################## | 100% 0.02s

avrdude.exe: 1 bytes of hfuse written
avrdude.exe: verifying hfuse memory against 0xD9:
avrdude.exe: load data hfuse data from input file 0xD9:
avrdude.exe: input file 0xD9 contains 1 bytes
avrdude.exe: reading on-chip hfuse data:

Reading | ################################################## | 100% -0.00s

avrdude.exe: verifying ...
avrdude.exe: 1 bytes of hfuse verified
avrdude.exe: reading input file "0xFF"
avrdude.exe: writing efuse (1 bytes):

Writing |                                                    | 0% 0.00s ***failed;
Writing | ################################################## | 100% 0.08s

avrdude.exe: 1 bytes of efuse written
avrdude.exe: verifying efuse memory against 0xFF:
avrdude.exe: load data efuse data from input file 0xFF:
avrdude.exe: input file 0xFF contains 1 bytes
avrdude.exe: reading on-chip efuse data:

Reading | ################################################## | 100% 0.02s

avrdude.exe: verifying ...
avrdude.exe: verification error, first mismatch at byte 0x0000
             0x07 != 0xff
avrdude.exe: verification error; content mismatch

avrdude.exe: safemode: efuse changed! Was ff, and is now 7
Would you like this fuse to be changed back? [y/n] y
и собственно все зависло, сигнатура теперь 000000... в общем убил свой последний живой 328, но собственно вопрос - почему? пытался прошить дефолтные фьюзы, но она в efuse почему-то записала 07 вместо ff, или я чет не понимаю? :?
если кварц отрубить то сигнатура меняется каждый раз