| AVR Раздел по микроконтроллерам компании Atmel - AVR / ATtiny / ATmega / ATMega128 / ATxmega, вопросы по программированию в AVR studio и все, относящееся к AVR... |
atmega128a больше не шьётся
01.11.2024, 22:24
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 20.03.2007
Адрес: "Братское кольцо враждебности", т.е. ближайшее заМКАДье.
Сообщений: 7,457
Сказал спасибо: 3,225
Сказали Спасибо 3,511 раз(а) в 2,392 сообщении(ях)
|
Re: atmega128a больше не шьётся
Да. Если программатор имеет такую возможность. В "фирменных" - указывается через меню или параметром вызова atprog(?). USBASP - имеет джампер.
__________________
Экзорцист 40-го уровня.
|
|
|
|
01.11.2024, 22:26
|
|
|
Гражданин KAZUS.RUN
Регистрация: 17.06.2008
Адрес: Украина
Сообщений: 839
Сказал спасибо: 379
Сказали Спасибо 942 раз(а) в 451 сообщении(ях)
|
Re: atmega128a больше не шьётся
Помимо прочих, есть еще оболочка AVRDUDESS
Вот тут можно скачать версию 2.18 portable
--https://github.com/ZakKemble/AVRDUDESS/releases/--
Там в оболочке можно явно задать скорость Bit clock ( по крайней мере для программатора USBASP )
|
|
|
|
03.11.2024, 11:07
|
|
|
Прописка
Регистрация: 07.08.2005
Сообщений: 155
Сказал спасибо: 71
Сказали Спасибо 3 раз(а) в 3 сообщении(ях)
|
Re: atmega128a больше не шьётся
Я правильно понимаю, что AVRDUDE попытался прошить МК на частоте 4 кГц?
На скрине ещё фьюзы, как я вижу должны быть сконфигурированы... на плате кварц на 8МГц.
|
|
|
|
03.11.2024, 14:14
|
|
|
Гражданин KAZUS.RUN
Регистрация: 17.06.2008
Адрес: Украина
Сообщений: 839
Сказал спасибо: 379
Сказали Спасибо 942 раз(а) в 451 сообщении(ях)
|
Re: atmega128a больше не шьётся
Сообщение от raptor37
|
|
Я правильно понимаю, что AVRDUDE попытался прошить МК на частоте 4 кГц?
|
Правильно, но нет уверенности, что данный экземпляр USBASP это умеет - если судить по его логам.
Для начала стоило бы добиться безошибочного ЧТЕНИЯ фьюзов.
Придется выполнить следующий алгоритм ( все или часть пунктов ) :
1) проверить все соединения
2) последовательно перебирать варианты с тактированием МК ( RC-цепь, внешнее... )
3) поиск программатора, "умеющего в JTAG" для AVR
4) поиск/изготовление вот такого устройства :
Сообщение от jump
|
|
волшебные слова - FUSE BIT DOCTOR
|
5) помощь друга, у которого есть 3) или 4)
Тут в конце страницы участником GoldenAndy довольно подробно ( и относительно полно ) расписано.
|
|
|
|
Сказали "Спасибо" j-Roger
|
|
|
16.11.2024, 08:54
|
|
|
Прописка
Регистрация: 07.08.2005
Сообщений: 155
Сказал спасибо: 71
Сказали Спасибо 3 раз(а) в 3 сообщении(ях)
|
Re: atmega128a больше не шьётся
Наконец-то приехала точно такая же новая плата с Али с Atmega128A.
Но при подключении ЖК информация выводится гораздо медленнее.
Прочитал фьюзы. Скриншот прилагаю.
Из калькулятора фьюзов: https://tehnopage.ru/fusecalc?prog=a...part=ATmega128
понимаю что (SUT0 SUT1 CKSEL0 CKSEL1 CKSEL2 и CKSEL3) задано чтобы МК тактировался от внутреннего RC генератора с частотой 1 МГц, плюс задержка 6 СК + 64 мс.
где: 6 СК - это 6 первых тактов от генератора просто пропускает, затем осуществляется задержка в 64 мс, и только после этого МК начнёт выполнять заданную программу.
Боюсь накосячить, но на плате стоит внешний кварцевый резонатор на 8 МГц... и хотелось бы чтобы МК стал тактироваться от него.
Как правильно изменить галочки?
Последний раз редактировалось raptor37; 16.11.2024 в 09:00.
|
|
|
|
16.11.2024, 10:30
|
|
|
Гражданин KAZUS.RUN
Регистрация: 17.06.2008
Адрес: Украина
Сообщений: 839
Сказал спасибо: 379
Сказали Спасибо 942 раз(а) в 451 сообщении(ях)
|
Re: atmega128a больше не шьётся
Для тактирования от генератора с внешним кварцевым резонатором Fuse Low Byte нужно установить так :
CKSEL[3:0] = 1111
Для тактирования от внутреннего RC генератора с частотой 8 МГц Fuse Low Byte нужно установить так :
CKSEL[3:0] = 0100
Чтобы задействовать в своих целях порты, по умолчанию занятые JTAG-ом, во Fuse High Byte можно запретить JTAG :
JTAG = 1
По значениям фьюзов подразумевается, что PROGRAMMED = 0, UNPROGRAMMED = 1 ( строго по тугоментации )
P. S.
raptor37,
дык а предыдущего пациента удалось реанимировать?
"Вдуть" ему меандр эдак под 500кГц через резистор на пару сотен Ом на вход XTAL1 и попробовать прочитать фьюзы?..
Последний раз редактировалось j-Roger; 16.11.2024 в 10:44.
|
|
|
|
Сказали "Спасибо" j-Roger
|
|
|
18.11.2024, 21:34
|
|
|
Прописка
Регистрация: 07.08.2005
Сообщений: 155
Сказал спасибо: 71
Сказали Спасибо 3 раз(а) в 3 сообщении(ях)
|
Re: atmega128a больше не шьётся
Сообщение от j-Roger
|
Для тактирования от генератора с внешним кварцевым резонатором Fuse Low Byte нужно установить так :
CKSEL[3:0] = 1111
Вложение 184262
Для тактирования от внутреннего RC генератора с частотой 8 МГц Fuse Low Byte нужно установить так :
CKSEL[3:0] = 0100
Вложение 184263
|
Проверил, работает  оставил с кварцевым резонатором. Спасибо!
Сообщение от j-Roger
|
P. S.
raptor37,
дык а предыдущего пациента удалось реанимировать?
"Вдуть" ему меандр эдак под 500кГц через резистор на пару сотен Ом на вход XTAL1 и попробовать прочитать фьюзы?..
|
Хотелось бы попробовать реанимировать пациента 
Правильно я понимаю, что с другого МК выдать прямоугольные импульсы через резистор на XTAL1 пациенту и попытаться вычитать фьюзы внутрисхемным программатором?
Схемку накидал...
Если у генератора на МК кварц на 4МГц, и код такой:
|
Код:
|
for (;;) {OUT ^= 1;} |
то какая примерно частота будет на выводе МК? Вокурат или 500 КГц или 1 МГц?
Последний раз редактировалось raptor37; 18.11.2024 в 21:38.
|
|
|
|
18.11.2024, 22:09
|
|
|
Гражданин KAZUS.RUN
Регистрация: 17.06.2008
Адрес: Украина
Сообщений: 839
Сказал спасибо: 379
Сказали Спасибо 942 раз(а) в 451 сообщении(ях)
|
Re: atmega128a больше не шьётся
Всё поняли правильно, и схема правильная.
Частота зависит от того, какой МК будет "генератором" и поведения компилятора.
Для ATmega88 и подобных получается 5 тактов на импульс, т.е. около 800 кГц - нормально. Главное, чтобы эта частота была в 4 и более раз выше, чем тот "Bit clock" - т.е. той скорости, с которой программатор общается с МК.
|
|
|
|
18.11.2024, 22:59
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 20.03.2007
Адрес: "Братское кольцо враждебности", т.е. ближайшее заМКАДье.
Сообщений: 7,457
Сказал спасибо: 3,225
Сказали Спасибо 3,511 раз(а) в 2,392 сообщении(ях)
|
Re: atmega128a больше не шьётся
А ещё - есть альтернативный выход CKOUT.
__________________
Экзорцист 40-го уровня.
|
|
|
|
21.11.2024, 21:27
|
|
|
Прописка
Регистрация: 07.08.2005
Сообщений: 155
Сказал спасибо: 71
Сказали Спасибо 3 раз(а) в 3 сообщении(ях)
|
Re: atmega128a больше не шьётся
Сообщение от j-Roger
|
|
Всё поняли правильно, и схема правильная.
|
К сожалению вычитать фьюзы у меня не получилось.
С одной рабочей платы на Atmega128 подавались импульсы (через резистор 270 Ом) на XTAL1 на вторую плату тоже с Atmega128.
Фото прилагаю.
Нижняя плата на фото с рабочим МК. На эту плату подано питание 5В.
Синим и красным проводом подключено питание на верхнюю плату с не исправным МК.
Белый провод с нижней платы с вывода PC0 (генерирует импульсы) через резистор заведён на XTAL1 верхней платы. Но на верхней плате к XTAL1 ещё припаян вывод кварцевого резонатора (второй вывод кварцевого резонатора отключен и "болтается в воздухе"). Не знаю насколько это критично.
Провода тоже вроде не сильно длинные...
При попытке прочитать фьюзы выдаёт ошибку. Частоту программирования выбирал разную.
Последний раз редактировалось raptor37; 21.11.2024 в 21:39.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 13:32.
|
|