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

Сброс фьзов на Atmega128

Сб май 08, 2021 14:16:25

Что можно сделать, если я идиот, и прошил МК atmega128 с фьюзами CKSEL = 0000 (что означает, что тактирование идет от внешних сигналов), и теперь мой программатор не видит МК, и я не могу его перепрошить.

Пробовал от другого МК сделать сигналы 500 ГГц, подключал сигналы к XTAL1, делал общую землю, и, одновремменно подключал программатор, но, увы, ничерта не помогло, AVDdude по прежнему выдает ошибку.


Ошибка стандартная, вот её вид:

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.

Она и до этого бывала, когда фьюзы настроены на кварц, но подключаю без кварца, или наоборот. Но, в этой ситуации вообще понятия не имею что еще можно сделать ...

Re: Сброс фьзов на Atmega128

Сб май 08, 2021 14:27:35

вчем проблема кварк с 2 капами припаять7

Re: Сброс фьзов на Atmega128

Сб май 08, 2021 14:32:21

А можно поподробнее?

Re: Сброс фьзов на Atmega128

Сб май 08, 2021 14:44:34

Повышать тактовую частоту внешнего тактирования, понижать частоту SCK программатора, искать параллельный программатор.

Искать JTAG программатор (не точно)

Re: Сброс фьзов на Atmega128

Сб май 08, 2021 14:46:18

Andrey_Shutkin писал(а):тактирование идет от внешних сигналов

на XTAL1
Изображение
или по любой другой схеме

Re: Сброс фьзов на Atmega128

Сб май 08, 2021 15:51:21

Пробовал от другого МК сделать сигналы 500 ГГц

пятьсот гигагерц???

Частота тактирования при программировании должна быть в 4 раза меньше, чем частота тактирования МК.

Re: Сброс фьзов на Atmega128

Сб май 08, 2021 16:29:36

я яму предлагал повэсить 12-14.3-16 -18метровый кваррк с капами 22 прям на ноги мк...

Re: Сброс фьзов на Atmega128

Сб май 08, 2021 19:08:59

Пробовал от другого МК сделать сигналы 500 ГГц, подключал сигналы к XTAL1, делал общую землю, и, одновремменно подключал программатор, но, увы, ничерта не помогло, AVDdude по прежнему выдает ошибку.

Сделай тактирование МК 8 МГц от внутреннего генератора. Напиши циклическое переключение любого вывода в режиме генератора. Подай этот сигнал на вывод XTAL1 (24) и твои МК ATmega128 начнёт отзываться на программатор… верни биты CKSEL0…3 в исходное состояние и будет тебе счастье. :hunger:
Если хочешь я тебе напишу такую прогу. :)


ЗЫ. Подключение кварца на выводы XTAL0; XTAL1 для вывода из этого состояния (внешняя синхронизация) проблему не решит – МК по-прежнему не будет отзываться на запросы программатора.

Re: Сброс фьзов на Atmega128

Сб май 08, 2021 19:15:21

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

Re: Сброс фьзов на Atmega128

Вт май 11, 2021 20:20:05

Пробовал от другого МК сделать сигналы 500 ГГц, подключал сигналы к XTAL1, делал общую землю, и, одновремменно подключал программатор, но, увы, ничерта не помогло, AVDdude по прежнему выдает ошибку.

Сделай тактирование МК 8 МГц от внутреннего генератора. Напиши циклическое переключение любого вывода в режиме генератора. Подай этот сигнал на вывод XTAL1 (24) и твои МК ATmega128 начнёт отзываться на программатор… верни биты CKSEL0…3 в исходное состояние и будет тебе счастье. :hunger:
Если хочешь я тебе напишу такую прогу. :)


ЗЫ. Подключение кварца на выводы XTAL0; XTAL1 для вывода из этого состояния (внешняя синхронизация) проблему не решит – МК по-прежнему не будет отзываться на запросы программатора.



А можете дать ссылку на пример как сделать циклическое переключение любого из выводов в режиме генератора?

Re: Сброс фьзов на Atmega128

Вт май 11, 2021 21:53:06

Код:
#include <avr/io.h>

int main() {
  
DDRB << DDB0;
  while(
1) {
    
PORTB << PB0;
    
PORTB 0;
  }
}
 

Будет дергать ногу PB0.

Re: Сброс фьзов на Atmega128

Вт май 11, 2021 22:12:00

Пробовал от другого МК сделать сигналы 500 ГГц, подключал сигналы к XTAL1, делал общую землю, и, одновремменно подключал программатор, но, увы, ничерта не помогло, AVDdude по прежнему выдает ошибку.

Сделай тактирование МК 8 МГц от внутреннего генератора. Напиши циклическое переключение любого вывода в режиме генератора. Подай этот сигнал на вывод XTAL1 (24) и твои МК ATmega128 начнёт отзываться на программатор… верни биты CKSEL0…3 в исходное состояние и будет тебе счастье. :hunger:
Если хочешь я тебе напишу такую прогу. :)


ЗЫ. Подключение кварца на выводы XTAL0; XTAL1 для вывода из этого состояния (внешняя синхронизация) проблему не решит – МК по-прежнему не будет отзываться на запросы программатора.


Сделал простейший генератор импульсов на атмеге 8 , при частоте 8 МГц, проверил даже на осцилогроффе, подключил ногу с импульсами к XTAL1, сделал общую землю, к атмеге 128 подключил программатор и все равно ничего не помогло, всё тоже самое


Генератор импульсов делал так:

#define F_CPU 8000000L
#include <avr/io.h>

int main(void)
{
DDRD |= (1<<5);
PORTD &= ~(1<<5);
while (1)
{
PORTD &= ~(1<<5);
PORTD |= (1<<5);
}
}

Re: Сброс фьзов на Atmega128

Вт май 11, 2021 22:19:17

Andrey_Shutkin, сделайте как в моем примере, так быстрее будет.

Добавлено after 51 second:
PS: А точно только CKSEL кривой? Как полностью фьюз байты выглядели?

Re: Сброс фьзов на Atmega128

Ср май 12, 2021 02:14:10

любого из выводов в режиме генератора?

Вот прошивка:
G_PC5.hex

МК мега8А, тактируется от внутреннего генератора 8 МГц. Вывод РС5 – генератор.

Вывод РС5 подключай к XTAL1.

Подключил программатор правильно? Вывод мега128 - к программатору: РЕ0 – MOSI; PE1 – MISO; PB1 – SCK; RESET – RESET. Подключено так?

Re: Сброс фьзов на Atmega128

Чт май 13, 2021 21:44:12

любого из выводов в режиме генератора?

Вот прошивка:
G_PC5.hex

МК мега8А, тактируется от внутреннего генератора 8 МГц. Вывод РС5 – генератор.

Вывод РС5 подключай к XTAL1.

Подключил программатор правильно? Вывод мега128 - к программатору: РЕ0 – MOSI; PE1 – MISO; PB1 – SCK; RESET – RESET. Подключено так?



Сработало! Большое Вам спасибо!
Ответить