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

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

Добавлено: Сб май 08, 2021 14:16:25
Andrey_Shutkin
Что можно сделать, если я идиот, и прошил МК 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
musor
вчем проблема кварк с 2 капами припаять7

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

Добавлено: Сб май 08, 2021 14:32:21
Andrey_Shutkin
А можно поподробнее?

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

Добавлено: Сб май 08, 2021 14:44:34
Wladimir_TS
Повышать тактовую частоту внешнего тактирования, понижать частоту SCK программатора, искать параллельный программатор.

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

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

Добавлено: Сб май 08, 2021 14:46:18
1en2-1
Andrey_Shutkin писал(а):тактирование идет от внешних сигналов
на XTAL1
Изображение
или по любой другой схеме

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

Добавлено: Сб май 08, 2021 15:51:21
parovoZZ
Пробовал от другого МК сделать сигналы 500 ГГц
пятьсот гигагерц???

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

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

Добавлено: Сб май 08, 2021 16:29:36
musor
я яму предлагал повэсить 12-14.3-16 -18метровый кваррк с капами 22 прям на ноги мк...

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

Добавлено: Сб май 08, 2021 19:08:59
Самсусамыч
[uquote="Andrey_Shutkin",url="/forum/viewtopic.php?p=4028746#p4028746"]Пробовал от другого МК сделать сигналы 500 ГГц, подключал сигналы к XTAL1, делал общую землю, и, одновремменно подключал программатор, но, увы, ничерта не помогло, AVDdude по прежнему выдает ошибку.[/uquote]
Сделай тактирование МК 8 МГц от внутреннего генератора. Напиши циклическое переключение любого вывода в режиме генератора. Подай этот сигнал на вывод XTAL1 (24) и твои МК ATmega128 начнёт отзываться на программатор… верни биты CKSEL0…3 в исходное состояние и будет тебе счастье. :hunger:
Если хочешь я тебе напишу такую прогу. :)


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

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

Добавлено: Сб май 08, 2021 19:15:21
musor
чет я не понял чем свой кварк хуже внешнего тактера подаваемого XTAL1??
кстати некоторы мк требуют переворота фазы на обоих ногах

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

Добавлено: Вт май 11, 2021 20:20:05
Andrey_Shutkin
[uquote="Самсусамыч",url="/forum/viewtopic.php?p=4028873#p4028873"][uquote="Andrey_Shutkin",url="/forum/viewtopic.php?p=4028746#p4028746"]Пробовал от другого МК сделать сигналы 500 ГГц, подключал сигналы к XTAL1, делал общую землю, и, одновремменно подключал программатор, но, увы, ничерта не помогло, AVDdude по прежнему выдает ошибку.[/uquote]
Сделай тактирование МК 8 МГц от внутреннего генератора. Напиши циклическое переключение любого вывода в режиме генератора. Подай этот сигнал на вывод XTAL1 (24) и твои МК ATmega128 начнёт отзываться на программатор… верни биты CKSEL0…3 в исходное состояние и будет тебе счастье. :hunger:
Если хочешь я тебе напишу такую прогу. :)


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


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

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

Добавлено: Вт май 11, 2021 21:53:06
NStorm

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

#include <avr/io.h>

int main() {
  DDRB = 1 << DDB0;
  while(1) {
    PORTB = 1 << PB0;
    PORTB = 0;
  }
}
 
Будет дергать ногу PB0.

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

Добавлено: Вт май 11, 2021 22:12:00
Andrey_Shutkin
[uquote="Самсусамыч",url="/forum/viewtopic.php?p=4028873#p4028873"][uquote="Andrey_Shutkin",url="/forum/viewtopic.php?p=4028746#p4028746"]Пробовал от другого МК сделать сигналы 500 ГГц, подключал сигналы к XTAL1, делал общую землю, и, одновремменно подключал программатор, но, увы, ничерта не помогло, AVDdude по прежнему выдает ошибку.[/uquote]
Сделай тактирование МК 8 МГц от внутреннего генератора. Напиши циклическое переключение любого вывода в режиме генератора. Подай этот сигнал на вывод XTAL1 (24) и твои МК ATmega128 начнёт отзываться на программатор… верни биты CKSEL0…3 в исходное состояние и будет тебе счастье. :hunger:
Если хочешь я тебе напишу такую прогу. :)


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

Сделал простейший генератор импульсов на атмеге 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
NStorm
Andrey_Shutkin, сделайте как в моем примере, так быстрее будет.

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

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

Добавлено: Ср май 12, 2021 02:14:10
Самсусамыч
[uquote="Andrey_Shutkin",url="/forum/viewtopic.php?p=4030063#p4030063"]любого из выводов в режиме генератора?[/uquote]
Вот прошивка:
G_PC5.hex
МК мега8А, тактируется от внутреннего генератора 8 МГц. Вывод РС5 – генератор.

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

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

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

Добавлено: Чт май 13, 2021 21:44:12
Andrey_Shutkin
[uquote="Самсусамыч",url="/forum/viewtopic.php?p=4030199#p4030199"][uquote="Andrey_Shutkin",url="/forum/viewtopic.php?p=4030063#p4030063"]любого из выводов в режиме генератора?[/uquote]
Вот прошивка:
G_PC5.hex
МК мега8А, тактируется от внутреннего генератора 8 МГц. Вывод РС5 – генератор.

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

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


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