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

Недавно для обучения работе с Atmel AVR микроконтроллерами был куплен один из самых простых и недорогих программаторов 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

Комментарии (20)

RSS свернуть / развернуть
Тоже имеется такой же дома. Недавно пришли семпли от атмел, и там била аттини9 которая шйется только по протоколу TPI, который стал поддержывать последняя прошивка для данного программатора. Тепер и незнаю нужен ли апгрейд програматора + минимальный гемор.
P.S. Видел где то статейку как превратить такой программатор в STK500 и подцепить к студии.
0
… может тута
0
Не тут, но статья вроде копи-пастчена. Картинки одинаковые.
0
Пробовал, получаем в системе виртуальный порт COM3, но ни одна из установленных у меня программ не определила, что данный порт можно хотябы выбрать, и я вернулся на стандартную прошивку. Возможно дело в операционке и версии программ, и где-нибудь на windows xp + старые версии программ оно запустится.
0
для чего необходимо подтягивать RXD и TXD сигналы к GND
… а разве они подключены к земле? по моему они выведены на разъем и все
0
В том-то и дело, что в данном варианте схемы программатора они не выведены на разъем, а через 270 и 100 Ом резисторы подключены на землю. Зачем это было необходимо, и для чего экономные китайцы потратили 2 драгоценных резистора впустую — остается только гадать.
0
— необходимо припаять перемычку с PC2(ADC2) на GND.
Это нужно только до смены фузов, когда мк ещё «тормозит» на 1МГц тактовой частоты. После того как переведёте программируемый мк на внешний кварц и уберёте предделитель, лучше вернуть «fast mode», отключив эту перемычку. У меня на большей скорости мк «надёжнее» прошиваются. В «slow mode» же ппри размере прошивки более 500 байт один из 10 раз прошивается удачно. Да и просто долго очень шьётся. Так что воткните джампер туда как в оригинальной схеме.
0
Дело в том, что я сразу после заливки прошивки перевел контроллер на работу от внешнего кварца, я же выше писал, что прошил LFUSE=0xef, т.е. CKSEL в режиме, цитирую с www.getchip.net:
CKSEL3…0 = 1111 – Внешний тактовый генератор – кварц частотой больше 8 МГц.
0
Вы не так поняли.
После того как переведёте программируемый мк на внешний кварц и уберёте предделитель, лучше вернуть «fast mode», отключив эту перемычку.
Программируемый мк тормозит изначально на 1МГц и не успевает за программатором, от чего мк и не определяется. Поэтому программатор надо тоже затормозить той перемычкой.
А когда вы в программируемый мк зашьете фьюзы отключения предделителя, скорости станет достаточно для быстрого режима, и у программатора можно убрать перемычку тормоза.
0
Пользуюсь таким же программатором и оболочкой khazama, не сказать, чтоб предел мечтаний, но работает всё стабильно. Но суть не в этом, сразу по получению программатора, залил в него прошивку «usbasp 2011-05-28», что позволило в широких приделах изменять скорость программирования из самой программы. Так что замедляющая перемычка не актуальна.
0
Этого не знал. у меня последние прошивки отказывались работать. то ли с дровами несовместились, толи с дудкой. вообщем какая-то не совсем свежая стоит. Работает, но из-за наводок бывают глюки, а чем дольше шьётся, тем больше шанс поймать наводку. Как-то так получается.
0
Вот спасибо мил человек! Валились у меня купленные до кучи когда-то 2 шт таких программаторов. Ни один не работал нормально. Был у меня еще AVRISP MK2, но сегодня трагически помер с красивым дымком. Тут то я и вспомнил про AVRASP китайские. Благодаря этой статье вернул им жизнь, теперь почти счастлив =)
0
Прправочка: AVRASP = USBASP
0
Вобщем, поигравшись с переделанным девайсом, обнаружилось, что медленные МК оно шьет только в медленном режиме, т.е. с перемычкой как у автора статьи, а быстрые контроллеры — только без перемычки. Тиню 13 с заводскими вьюзами (т.е. 1.2 мгц) в быстром режиме не видит, только в медленном. Но стоит только убрать предделитель на 8, сразу же перестает видеть в медленном режиме, зато замечательно шьет в быстром. Поэтому, обмозговав немного, переделал свои девайсы так:




Думаю, суть переделки ясна из картинки. Теперь появилась перемычка быстро-медленно.
0
Обновление поможет исправить ошибку: avrdude: warning: cannot set sck period. please check for usbasp firmware update.
?
0
Чтобы вернуть программатор в боевое состояние без припаивания перемычки достаточно прошить его прошивкой из этого архива
0
У меня похожий программатор — 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, про который в документации прямо и сказано
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
kHz.
Если посмотреть устройство программатора, то видно, что этот джампер просто соединяет PC2 и GND.
Китайцы — злодеи. Не знаю, что соединяет этот джампер, но только не 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)
0
Хм… Ну, или со стандартной прошивкой использовать опцию -B в avrdude. Например, для контроллера с 1MHz -B 3.
0
Обнаружил, что ссылка, данная мною ранее на архив с прошивкой восстанавливающей работоспособность китайского клона usbasp ведёт на другой архив и прошивка из него не поможет.
0
Поэтому выложил исправную прошивку отдельно http://rgho.st/7DJZb7GSC
0
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.