Обновление прошивки USBASP USBISP AVR Programmer

USBASP USBISP AVR Programmer
Данный программатор является одним из вариантов схемы проекта USBasp, вот оригинальный сайт:
USBasp
К слову, мне достался вариант ATMega8L, работающий в режиме разгона, на частоте 12МГц. По документации, должно быть не более 8МГц.
Не вдаваясь в подробности, решил обновить прошивку:
— взял прошивку usbasp.2011-05-28 с вышеуказанного сайта;
— замкнул на плате контакты J2;
— подключил 10pin разъем к другому программатору;
— залил прошивку;
— выставил fuse для atmega8: HFUSE=0xc9 LFUSE=0xef
Программатор определился в системе, но перестал видеть подключенные к нему контроллеры.
Процесс поиска решения проблемы описан здесь:
Форум
В итоге решение проблемы следующее:
— на всякий случай удалил два резистора R9 (270 Ом) и R10 (100 Ом), так как не совсем понимаю для чего необходимо подтягивать RXD и TXD сигналы к GND, да ещё при помощи резисторов столь малых номиналов;

— необходимо припаять перемычку с PC2(ADC2) на GND.

После вышеуказанных манипуляций программатор снова в строю.
Для счастливых обладателей вышеуказанного программатора — желаю учиться на чужих ошибках, для остальных — позволю себе напомнить главное правило, которое может помочь во многих житейских ситуациях: «работает — не трожь!» :)
Надеюсь кому-нибудь данная информация поможет.
P.S. Номиналы в схеме вышеуказанного программатора наиболее близки к указанным в следующей схеме:
USB программатор AVR — USBAsp
- 0
- 15 августа 2012, 23:48
- GhostPVV
Тоже имеется такой же дома. Недавно пришли семпли от атмел, и там била аттини9 которая шйется только по протоколу TPI, который стал поддержывать последняя прошивка для данного программатора. Тепер и незнаю нужен ли апгрейд програматора + минимальный гемор.
P.S. Видел где то статейку как превратить такой программатор в STK500 и подцепить к студии.
P.S. Видел где то статейку как превратить такой программатор в STK500 и подцепить к студии.
Пробовал, получаем в системе виртуальный порт COM3, но ни одна из установленных у меня программ не определила, что данный порт можно хотябы выбрать, и я вернулся на стандартную прошивку. Возможно дело в операционке и версии программ, и где-нибудь на windows xp + старые версии программ оно запустится.
— необходимо припаять перемычку с PC2(ADC2) на GND.Это нужно только до смены фузов, когда мк ещё «тормозит» на 1МГц тактовой частоты. После того как переведёте программируемый мк на внешний кварц и уберёте предделитель, лучше вернуть «fast mode», отключив эту перемычку. У меня на большей скорости мк «надёжнее» прошиваются. В «slow mode» же ппри размере прошивки более 500 байт один из 10 раз прошивается удачно. Да и просто долго очень шьётся. Так что воткните джампер туда как в оригинальной схеме.
Дело в том, что я сразу после заливки прошивки перевел контроллер на работу от внешнего кварца, я же выше писал, что прошил LFUSE=0xef, т.е. CKSEL в режиме, цитирую с www.getchip.net:
CKSEL3…0 = 1111 – Внешний тактовый генератор – кварц частотой больше 8 МГц.
CKSEL3…0 = 1111 – Внешний тактовый генератор – кварц частотой больше 8 МГц.
Вы не так поняли.
А когда вы в программируемый мк зашьете фьюзы отключения предделителя, скорости станет достаточно для быстрого режима, и у программатора можно убрать перемычку тормоза.
После того как переведёте программируемый мк на внешний кварц и уберёте предделитель, лучше вернуть «fast mode», отключив эту перемычку.Программируемый мк тормозит изначально на 1МГц и не успевает за программатором, от чего мк и не определяется. Поэтому программатор надо тоже затормозить той перемычкой.
А когда вы в программируемый мк зашьете фьюзы отключения предделителя, скорости станет достаточно для быстрого режима, и у программатора можно убрать перемычку тормоза.
Пользуюсь таким же программатором и оболочкой khazama, не сказать, чтоб предел мечтаний, но работает всё стабильно. Но суть не в этом, сразу по получению программатора, залил в него прошивку «usbasp 2011-05-28», что позволило в широких приделах изменять скорость программирования из самой программы. Так что замедляющая перемычка не актуальна.
Вот спасибо мил человек! Валились у меня купленные до кучи когда-то 2 шт таких программаторов. Ни один не работал нормально. Был у меня еще AVRISP MK2, но сегодня трагически помер с красивым дымком. Тут то я и вспомнил про AVRASP китайские. Благодаря этой статье вернул им жизнь, теперь почти счастлив =)
- prostosergik
- 08 июля 2013, 22:11
- ↓
Вобщем, поигравшись с переделанным девайсом, обнаружилось, что медленные МК оно шьет только в медленном режиме, т.е. с перемычкой как у автора статьи, а быстрые контроллеры — только без перемычки. Тиню 13 с заводскими вьюзами (т.е. 1.2 мгц) в быстром режиме не видит, только в медленном. Но стоит только убрать предделитель на 8, сразу же перестает видеть в медленном режиме, зато замечательно шьет в быстром. Поэтому, обмозговав немного, переделал свои девайсы так:


Думаю, суть переделки ясна из картинки. Теперь появилась перемычка быстро-медленно.


Думаю, суть переделки ясна из картинки. Теперь появилась перемычка быстро-медленно.
- prostosergik
- 11 июля 2013, 02:31
- ↓
Чтобы вернуть программатор в боевое состояние без припаивания перемычки достаточно прошить его прошивкой из этого архива
У меня похожий программатор — usbasp v2 после перепрошивки начал при попытке прошить mega32 выдавать:
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.
Если я все правильно разобрался, то проблема заключается в следующем:
Мега, которая работает на 1МHz, требует, что бы ее прошивали на любой скорости ниже 1/4 от своей (то есть 250 kHz и ниже). Но Usbasp в «нормальном» режиме шьет с частотой 375 kHz, что есть много. Однако, для этого есть джампер JP3, про который в документации прямо и сказано
Китайцы — злодеи. Не знаю, что соединяет этот джампер, но только не PC2 и GND.
Наклевываются 2 решения: 1 — подсоединить таки PC2 на GND, что сделано в посте. 2 — немного поменять прошивку.
В коде я поменял буквально 2 строчки — действия при if и else. Прошил — ура, работает. Теперь по умолчанию медленный режим. Побочный эффект — походу мы теряем режим 375 kHz. Прошивать main.hex
---------------------------------------------------------
Пока разбирался успел написать китайцам, которые сделали этот программатор. Решение они не прислали, но в ответе была фраза
Кто лучше разбирается — гляньте, может это и есть решение. (На этом USBasp стоит mega8a)
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.
Если я все правильно разобрался, то проблема заключается в следующем:
Мега, которая работает на 1МHz, требует, что бы ее прошивали на любой скорости ниже 1/4 от своей (то есть 250 kHz и ниже). Но Usbasp в «нормальном» режиме шьет с частотой 375 kHz, что есть много. Однако, для этого есть джампер JP3, про который в документации прямо и сказано
If the target clock is lower than 1.5 MHz, you need to set this jumper. Then SCK is scaled down from 375 kHz to about 8Если посмотреть устройство программатора, то видно, что этот джампер просто соединяет PC2 и GND.
kHz.
Китайцы — злодеи. Не знаю, что соединяет этот джампер, но только не PC2 и GND.
Наклевываются 2 решения: 1 — подсоединить таки PC2 на GND, что сделано в посте. 2 — немного поменять прошивку.
В коде я поменял буквально 2 строчки — действия при if и else. Прошил — ура, работает. Теперь по умолчанию медленный режим. Побочный эффект — походу мы теряем режим 375 kHz. Прошивать main.hex
---------------------------------------------------------
Пока разбирался успел написать китайцам, которые сделали этот программатор. Решение они не прислали, но в ответе была фраза
The board of us is 9F( low-value) D9(high-value) FF(Extension Digit) FF (Security Bit).Биты отличаются от того, что рекомендуется ставить при прошивании контроллера (H — c9, L — ef). Я только начал разбираться с контроллерами, поэтому не могу нормально проанализировать fuse биты. Но что мне не понравилось — CKSEL все на единицы и SPIEN включен. А с этого же сайта прочитано, что так делать — плохо. Потому рисковать не стал.
Кто лучше разбирается — гляньте, может это и есть решение. (На этом USBasp стоит mega8a)
Обнаружил, что ссылка, данная мною ранее на архив с прошивкой восстанавливающей работоспособность китайского клона usbasp ведёт на другой архив и прошивка из него не поможет.
Поэтому выложил исправную прошивку отдельно http://rgho.st/7DJZb7GSC
Комментарии (20)
RSS свернуть / развернуть