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

Обсуждаем контроллеры компании Atmel.
Ответить
Аватара пользователя
edwardoid
Родился
Сообщения: 9
Зарегистрирован: Чт ноя 13, 2014 02:11:48

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

Сообщение edwardoid »

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

http://eleccelerator.com/fusecalc/fusecalc.php?chip=atmega328p&LOW=59&HIGH=D9&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, тот же результат).
Аватара пользователя
Pink-Pank
Опытный кот
Сообщения: 721
Зарегистрирован: Ср июн 11, 2014 09:43:13
Откуда: США
Контактная информация:

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

Сообщение Pink-Pank »

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

Невнимательный USER.

Кварц на 16 МГц, фьюзы выставлены на частоту 0,4 - 0,9 Мгц. +внимательно читаем даташит по минимальному уровню питания МК в зависимости от частоты тактирования.
Fucking static initialization order fiasco
Аватара пользователя
edwardoid
Родился
Сообщения: 9
Зарегистрирован: Чт ноя 13, 2014 02:11:48

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

Сообщение edwardoid »

Я поковырял даташит и убрал конденсаторы(таблица в начале 30-ой страницы Complete версии). Питаю МК от 5V. По идее должно хватить, но не пашет... я что-то не так понял или пропустил?
Аватара пользователя
alex_
Опытный кот
Сообщения: 781
Зарегистрирован: Сб июн 01, 2013 22:24:21
Откуда: ПФО

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

Сообщение alex_ »

Если у тебя фьюзы прошиты на 0,4-0,9 МГц то меняй кварц в соответствии с фьюзами иначе не заведётся, конденсаторы можешь обратно поставить, когда фьюзы перешьёшь на верное значение, кварц поменяешь обратно.
Аватара пользователя
Psychotherapeutics
Друг Кота
Сообщения: 6789
Зарегистрирован: Пт июн 24, 2011 17:53:10
Откуда: WCP

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

Сообщение 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
«Бремя доказательства лежит на том, кто утверждает, а не на том, кто отрицает.»

И Вас тоже вылечат!
Аватара пользователя
edwardoid
Родился
Сообщения: 9
Зарегистрирован: Чт ноя 13, 2014 02:11:48

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

Сообщение edwardoid »

Проблема решена кварцем в 8Мгц. Подключил -- работает. Всем спасибо.
Аватара пользователя
Ytm
Нашел транзистор. Понюхал.
Сообщения: 160
Зарегистрирован: Ср окт 02, 2013 15:59:28
Откуда: Москва

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

Сообщение 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, или я чет не понимаю? :?
если кварц отрубить то сигнатура меняется каждый раз
Ответить

Вернуться в «AVR»