Обсуждаем контроллеры компании Atmel.
Сб май 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.
Она и до этого бывала, когда фьюзы настроены на кварц, но подключаю без кварца, или наоборот. Но, в этой ситуации вообще понятия не имею что еще можно сделать ...
Сб май 08, 2021 14:27:35
вчем проблема кварк с 2 капами припаять7
Сб май 08, 2021 14:32:21
А можно поподробнее?
Сб май 08, 2021 14:44:34
Повышать тактовую частоту внешнего тактирования, понижать частоту SCK программатора, искать параллельный программатор.
Искать JTAG программатор (не точно)
Сб май 08, 2021 14:46:18
Andrey_Shutkin писал(а):тактирование идет от внешних сигналов
на XTAL1
или по любой другой схеме
Сб май 08, 2021 15:51:21
Пробовал от другого МК сделать сигналы 500 ГГц
пятьсот гигагерц???
Частота тактирования при программировании должна быть в 4 раза меньше, чем частота тактирования МК.
Сб май 08, 2021 16:29:36
я яму предлагал повэсить 12-14.3-16 -18метровый кваррк с капами 22 прям на ноги мк...
Сб май 08, 2021 19:08:59
Пробовал от другого МК сделать сигналы 500 ГГц, подключал сигналы к XTAL1, делал общую землю, и, одновремменно подключал программатор, но, увы, ничерта не помогло, AVDdude по прежнему выдает ошибку.
Сделай тактирование МК 8 МГц от внутреннего генератора. Напиши циклическое переключение любого вывода в режиме генератора. Подай этот сигнал на вывод XTAL1 (24) и твои МК ATmega128 начнёт отзываться на программатор… верни биты CKSEL0…3 в исходное состояние и будет тебе счастье.
Если хочешь я тебе напишу такую прогу.
ЗЫ. Подключение кварца на выводы XTAL0; XTAL1 для вывода из этого состояния (внешняя синхронизация) проблему не решит – МК по-прежнему не будет отзываться на запросы программатора.
Сб май 08, 2021 19:15:21
чет я не понял чем свой кварк хуже внешнего тактера подаваемого XTAL1??
кстати некоторы мк требуют переворота фазы на обоих ногах
Вт май 11, 2021 20:20:05
Пробовал от другого МК сделать сигналы 500 ГГц, подключал сигналы к XTAL1, делал общую землю, и, одновремменно подключал программатор, но, увы, ничерта не помогло, AVDdude по прежнему выдает ошибку.
Сделай тактирование МК 8 МГц от внутреннего генератора. Напиши циклическое переключение любого вывода в режиме генератора. Подай этот сигнал на вывод XTAL1 (24) и твои МК ATmega128 начнёт отзываться на программатор… верни биты CKSEL0…3 в исходное состояние и будет тебе счастье.
Если хочешь я тебе напишу такую прогу.
ЗЫ. Подключение кварца на выводы XTAL0; XTAL1 для вывода из этого состояния (внешняя синхронизация) проблему не решит – МК по-прежнему не будет отзываться на запросы программатора.
А можете дать ссылку на пример как сделать циклическое переключение любого из выводов в режиме генератора?
Вт май 11, 2021 21:53:06
- Код:
int main() {
DDRB = 1 << DDB0;
while(1) {
PORTB = 1 << PB0;
PORTB = 0;
}
}
Будет дергать ногу PB0.
Вт май 11, 2021 22:12:00
Пробовал от другого МК сделать сигналы 500 ГГц, подключал сигналы к XTAL1, делал общую землю, и, одновремменно подключал программатор, но, увы, ничерта не помогло, AVDdude по прежнему выдает ошибку.
Сделай тактирование МК 8 МГц от внутреннего генератора. Напиши циклическое переключение любого вывода в режиме генератора. Подай этот сигнал на вывод XTAL1 (24) и твои МК ATmega128 начнёт отзываться на программатор… верни биты CKSEL0…3 в исходное состояние и будет тебе счастье.
Если хочешь я тебе напишу такую прогу.
ЗЫ. Подключение кварца на выводы 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);
}
}
Вт май 11, 2021 22:19:17
Andrey_Shutkin, сделайте как в моем примере, так быстрее будет.
Добавлено after 51 second:
PS: А точно только CKSEL кривой? Как полностью фьюз байты выглядели?
Ср май 12, 2021 02:14:10
любого из выводов в режиме генератора?
Вот прошивка:
G_PC5.hex
МК мега8А, тактируется от внутреннего генератора 8 МГц. Вывод РС5 – генератор.
Вывод РС5 подключай к XTAL1.
Подключил программатор правильно? Вывод мега128 - к программатору: РЕ0 – MOSI; PE1 – MISO; PB1 – SCK; RESET – RESET. Подключено так?
Чт май 13, 2021 21:44:12
любого из выводов в режиме генератора?
Вот прошивка:
G_PC5.hex
МК мега8А, тактируется от внутреннего генератора 8 МГц. Вывод РС5 – генератор.
Вывод РС5 подключай к XTAL1.
Подключил программатор правильно? Вывод мега128 - к программатору: РЕ0 – MOSI; PE1 – MISO; PB1 – SCK; RESET – RESET. Подключено так?
Сработало! Большое Вам спасибо!
Powered by phpBB © phpBB Group.
phpBB Mobile / SEO by Artodia.