Site Loader

Обновление прошивки USBASP USBISP AVR Programmer / Блог им. GhostPVV / Сообщество EasyElectronics.ru

Недавно для обучения работе с 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

Как обновить прошивку USBAsp через Arduino Uno

Прошивка USBASP

Я купил программатор USBasp на Dx.com чтобы использовать с Arduino IDE для прошивки Arduino Pro mini.

Всё работало нормально, но выдавало вот такую ошибку:



〉 avrdude: warning: cannot set sck period. please check for usbasp firmware update

В-общем требовалось обновление прошивки программатора USBasp.

Гугление в Интернете выдало вот такое решение:

    1. Качаем обновление прошивки отсюда.
    2. Распаковываем, и лучше сразу положить новую прошивку в папку с avrdude (у меня это было здесь: C:\Program Files (x86)\Arduino\hardware\tools\avr\bin).
    3. Подключаем USBasp программатор к Arduino Uno по схеме:
      arduino-usbasp
    4. На программаторе ставим джампер в позицию J1 (для этого я воспользовался скрепкой). Стоит отметить, что программаторы бывают разные, а значит и джампер может отличаться:
      USBasp2
    5. Подключаем Arduino Uno, запускаем Arduino IDE, выбираем ArduinoISP и загружаем
      2016-01-26 23-35-49 Скриншот экрана
    6. И нужно запомнить com-порт, к которому подключена Arduino Uno (Инструменты ⇒ Порт).
  1. Запускаем командную строку. Переходим в папку C:\Program Files (x86)\Arduino\hardware\tools\avr\bin. Проверяем подключение к USBasp, для этого вводим следующую команду: avrdude -C ../etc/avrdude.conf -c avrisp -P COM2 -b 19200 -p m8 -v (замените com-порт на ваш). Если всё в порядке, Вы получите вот такой результат:
    Connect USBasp
  2. Теперь прошиваем наш программатор вот этой командой: 
    avrdude –C ../etc/avrdude.conf –c avrisp –P COM2 –b 19200 –p m8 –U flash:w:usbasp.atmega8.2011-05-28.hex
    и должны получить вот такой результат:
    Flash
  3. Поздравляю! Теперь можно использовать программатор по назначению!

 

Программатор USBasp. | Маленький блог скромного айтишника.

Для прошивки своих поделок на AVR я использую программатор USBasp, купленный сто лет назад за 100р на AliExpress. Пользоваться очень удобно, никаких тебе древних COM или LTP портов, современный USB!
Вот так выглядит это чудо китайской промышленности!

 

Ну а теперь по подробнее)

Железо.

Автором данного программатора является немец Thomas Fichl, страничка его разработки со схемами, файлами печатных плат и драйверами.
Работает этот программатор через ISP.

Распиновка контактов на самом программаторе

Поэтому я всегда стараюсь выводить этот разъем если сам развожу плату. Очень удобно, прошивать и отлаживать можно на ходу. Прошил, не заработало, подправил код, прошил еще раз. Не нужно снимать контроллер вставлять в программатор….
В работе и железе выглядит примерно так

Софт

Ну а теперь рассмотрим с каким же софтом работает данная поделка!
Скачиваем драйвера с офф сайта, страничка для загрузки.
Устанавливаем. Внимание! Компьютер будет ругаться на то что драйвер без цифровой подписи. В Windows 7 просто подтверждаем что хотим продолжить,

а для Windows 8 и новее используем инструкцию.

Все теперь программатор готов к работе.
Я использую бесплатный прошивальщик Khazama AVR Programmer.  Отличная прога с минималистичным дизайном!
Выбираем чип и поехали!

Тут можно поиграться с FUSES битами, все с описаниями за что отвечают!

Ну вот пожалуй и все!

З.Ы.

Не знаю как у всех, но именно на мой экземпляр USBASP v2.0, Khazama ругается при перепрошивке Error Setting USBASP ISP Clock…

Игра с выставлением разной частоты не дает результатов.

После недолгих поисков в интернете наткнулся таки на такую же проблему у других людей.

Для исправления этого досадного косяка, нужно перепрошить программатор)) Для такого трюка нам понадобится еще один USBasp!

Вот так нужно все соеденить. Теперь заливаем прошивку

файл: usbasp.atmega8.2011-05-28

Выставляем Fuse биты и прошиваем!

 

После этого доставучие ошибки пропадут!

 

Update 2016

После отличной работы программатора, внезапно стала вываливаться новая ошибка вот такого вида

error: usbasp_transmit: libusb0-dll:err [contorl_msg]

Решение было найдено не незамедлительно, нужно понизить частоту программирования. Идем в Command — > Program Options — > ISP CLK Speed и выставляем 187.5 KHZ (или AUTO).

После этого все снова работает!

Update 2017

Вставляем новую не разу не прошитую Atmega8 и видим такое!

100500 раз проверяем схему и программатор, все в норме! И у же почти сдавшись, находим косяк! При  первом включении Atmega8 работает от внутреннего генератора на частоте 1 Mhz, она просто не успевает определиться в программе. Решение простое, нужно уменьшить частоту чтения в Khazama.

После этого прошиваем контроллер на 8 Mhz и выставляем AUTO.

И решение еще проще))) Нужно замкнуть контакты на программаторе JP3, для понижения частоты, а после выставления фьюзов на более высокую частоту работы atmega, разомкнуть.

Post Views: 2 246

ПЕРЕПРОШИВКА USBISP В USBASP

Примерно года два назад я заинтересовался программированием микроконтроллеров AVR. Изучение шло не слишком быстро, так как тема достаточно сложная, но все-таки, мной были собраны и доведены до ума несколько устройств в корпусах, с применением микроконтроллеров семейства Tiny. За это время успел обзавестись двумя программаторами, один собрал сам, это простой и всем известный программатор Громова, второй заказал с Али экспресс, по цене 3 доллара это программатор USBISP. 

Программатор USBISP новая версия

Для того чтобы найти и заказать его на Али-экспресс, достаточно набрать в строчке поиска USBASP USBISP. Этот программатор шел сразу в алюминиевом корпусе, аналогичном корпусе флешки, в комплекте с ним был шлейф для программирования 10 Pin. Про перепрошивку его в полноценный USBASP мы и поговорим в этой статье. Для чего это делать и в чем отличия этих программаторов, USBASP и USBISP ? Дело в том, что Китайский программатор работает только со своей оболочкой, Prog ISP, и не поддерживается, в отличие от USBASP программой AVR Studio. Несмотря на то, что Prog ISP оболочка, идет на английском языке, пользоваться ей менее удобно, чем оболочкой для USBASP Khazama. 

Программатор без корпуса

Для USBASP существуют и другие графические оболочки, помимо Khazama работающие с консольным AVR DUDE. От себя скажу, что разница в удобстве пользования после перепрошивки сильно заметна. Например, в той же Prog ISP неудобное выставление фьюзов, с этим у Khazama полный порядок. Можно выбирать запись конфигурации фьюзов для МК по умолчанию одним кликом есть возможность выставления фьюзов, как галочками, так и из выпадающего списка. 

Внешний вид программатор юсб

Также присутствует функция Auto programm,  в которой можно установить порядок действий, запускаемых впоследствии в один клик. Например, стирание файла, последующая запись и верификация. Есть и другие функции на выбор. 

KHAZAMA рабочее окно

Перейдем к делу, что же нам требуется сделать для того, чтобы перепрошить программатор? Программаторы могут идти в двух вариантах, в алюминиевом корпусе, и без корпуса. Если со вторым вариантом все понятно, то с первым, если программатор в корпусе, нужно аккуратно стянуть его в сторону разъема USB на программаторе. Снимается он довольно легко, и с этим проблем быть не должно. На контакты разъема программирования с обратной стороны будет наклеена резиновая изоляционная прокладка, отклеиваем её, она нам будет мешать при пайке. При сборке в корпус не забываем приклеить её обратно, во избежание замыкания корпуса с разъемом для программирования. Далее переворачиваем и смотрим на программатор с обратной стороны. Вы должны увидеть в зависимости от разводки вашей платы следующее:

Места где нужно удалить припой

Но возможно существуют и другие варианты разводки программаторов у китайцев. Что нам требуется здесь сделать? Требуется удалить припой с двух или трех контактов на плате программатора, в зависимости от разводки вашей платы. По информации с того сайта по которой я перепрошивал свой программатор, была представлена следующая разводка:

Места где нужно удалить припой программатора

Здесь, как мы видим на рисунке, требуется удалить припой с трех контактов, а также поставить (запаять) проволочную перемычку, чтобы перевести программатор в режим самопрограммирования.

Перемычка на программаторе

Я воспользовался вместо кусочка провода, выводом, откушенным от резистора. И разумеется, также удалил припой с контактов на программаторе, обозначенных буквами А и В. Только в моем случае таких контактов было два.

Места где нужно удалить припой на моей версии

Как мы видим на фото выше, перемычка из вывода резистора уже запаяна мной к контактам самопрограммирования программатора UP. На фото ниже можно убедиться в этом. Заодно мы можем видеть, что на контактах А и В отсутствует припой.

Новая версия программатора фото

Припой удаляется с помощью демонтажной оплетки. Мы вытягиваем кусочек оплетки, обмакиваем его в спирто канифольный флюс, и, прогревая жалом паяльника, кладем на контакт, придавливая сверху паяльником. В результате припой с контактов должен полностью перейти на оплетку так, чтобы между ними не было замыкания. В чем и нужно убедиться, прозвонив мультиметром в режиме звуковой прозвонки. Для использования совместно с программаторами  USBISP и USBASP мной был сделан переходник, который оказался удобен для программирования микроконтроллеров при отлаживании на цанговых макетных платах, и который я использовал для программирования микроконтроллера этого программатора:

Переходник для макетной платы

К чему я писал в начале статьи о программаторе Громова? К тому, что для прошивки нам потребуется любой другой программатор. Можно точно такой же USBISP. То есть, если у вас нет второго программатора, о перепрошивке USBISP в USBASP можно забыть. А можно спаять по такому случаю программатор Громова, и прошить им микроконтроллер этого программатора. Схема программатора Громова простая, и детали необходимые для сборки, довольно дешевые. Допустим, у вас есть второй программатор. Тогда нам нужно подключить свой программатор к шлейфу программатора USBISP в соответствии с рапиновкой разъема. Её мы можем видеть на следующем рисунке:

Распиновка шлейфа программатора

Контакты в шлейфе идут одинаково с обоих концов. Нам потребуются соединить программаторы между собой, аналогично обычному прошиванию микроконтроллера. То есть выводы VCC, GND, MISO, MOSI, RESET и SCK обоих программаторов нужно соединить. Дополнительное питание, если прошиваем через USB программатор, USBISP, USBASP или другой с которого приходит питание с USB на прошиваемый микроконтроллер, можно не подавать. Если прошиваем через программатор Громова, то питание нужно подать. После прошивания выпаиваем перемычку, замыкаем те два или три контакта, с которых мы удаляли припой капелькой припоя, и, не собирая в корпус, подключаем наш новоиспеченный программатор USBASP к USB порту компьютера. Операционная система должна запросить драйвера. Появится следующее окно:

Определение USBASP в системе

Соглашаемся с установкой и указываем вручную путь к папке libusb_0.1.12.1, которую можно будет скачать в архиве в конце статьи. В ней находится драйвер для USBASP. После установки в системе появится устройство USBASP:

Диспетчер устройств установлены драйвера программатора

После того, как убедимся, что все заработало, программатор определился, приклеиваем изоляционную резинку назад на место, и собираем программатор. В одной из статей про оболочку Khazama, было написано, что иногда Khazama работает некорректно без установки дополнительной программы – фильтра libusb-win32-devel-filter-1.2.6.0. Так ли это или нет — не знаю, у меня эта программа была установлена. Скачать её также можно будет в архиве в конце статьи. Сначала Khazama действительно отказывалась работать с моим программатором. Погуглив по этому вопросу на различных форумах, нашел информацию, что нужно установить частоту в программе 187.5 килогерц, что и сделал. Проблема сразу пропала. Эта функция есть только в свежих версиях Khazama, в частности Khazama AVR Programmer 1.7. Скачать её также можно в архиве в конце статьи.

Khazama AVR Programmer

Как уже писал выше про установку фьюзов, здесь с этим все отлично, можно, как выбирать из ниспадающего списка, так и устанавливать вручную галочками. 

Выставление фьюзов в программе Khazama

Я прошивал Tiny-2313, но эта оболочка поддерживает, помимо этого микроконтроллера, еще множество других типов МК. После запуска программы нам нужно выбрать наш микроконтроллер из списка, у меня как мы видим на скрине, выбран Tiny2313. Также в ней есть функция размещать окно поверх остальных, это расположенная справа с краю пиктограмма канцелярской кнопки. Прошивка для микроконтроллера программатора MEGA-8, HEX файл, также прикреплена в общем архиве. Фьюзы при прошивке изменять не нужно. Желаю всем удачной прошивки! Автор AKV.

Как «перепрошить» китайский программатор USBasp

«Перепрошить» китайский программатор USBasp может даже новичок. Для этого достаточно:

1. Перевести USBasp в режим, разрешающий программирование встроенного микроконтроллера!  Обычно это делается установкой соответствующей перемычки или замыканием определенных контактов на плате!

Например, у программатора на фото — это контакты, отмеченные линией!

2. Подключить USBasp к любому программатору, который поддерживает программирование AVR контроллеров!
Выходы контактного разъема USBasp должны быть соединены в точности так же, как и при «прошивке» обычного микроконтроллера! То есть:

GROUND (GND) — общий провод    GND <—>GND

VCC (питание) должно быть не больше 5V!   VCC <—> VCC

SCK (serial clock)  — последовательная синхронизация! Импульсы генерирует MASTER (ведущее устройство)  SCK <—> SCK

MOSI (MASTER OUT SLAVE IN) – это выход сигнала с MASTER (ведущего) устройства на SLAVE (ведомое)

MISO (MASTER IN SLAVE OUT) – вход для ведущего устройства, на который сигнал приходит с выхода ведомого!

RESET (сброс) – обратите внимание именно на этот контакт поступает сигнал для начала программирования! По умолчанию вывод RESET встроенного в USBasp контроллера не подключен – подключается он замыканием соответствующих выводов (установкой перемычки) см. фото!

Внимание, если ваш  USBasp работает нормально, не спешите его сразу «перепрошивать» – сделайте вначале резервную копию «прошивки»!
Перед «прошивкой» желательно полностью стереть чип, не изменяя FUSE Bits!
Фьюз биты AVR микроконтроллера – это специальные ячейки памяти для конфигурации его работы. Помните, что неправильная установка даже одного фьюз бита, может привести к тому, что контроллер начнет работать совсем не так, как ожидалось, и возможно даже перестанет реагировать на команды с обычного ISP программатора!
Если «прошить» USBasp у вас не получается, скорее всего:
— неправильно подсоединены выводы – попробуйте поменять местами MOSI и MISO, предварительно убедившись, что всё соединения имеют надежный контакт!
— неправильно выбран тип микроконтроллера – выберите его вручную!

После загрузки в USBasp новой прошивки обязательно разомкните выводы (снимите перемычку), чтобы программатор смог работать в обычном режиме!

Стоит также заметить, что для «перепрошивки» USBasp не обязательно использовать программатор – его можно заменить даже дешевой платой Arduino, поддерживающей USB! Например, китайским аналогом Arduino Nano! Разумеется, предварительно в плату Arduino необходимо загрузить скетч (программу) «Arduino ISP».

Обзор программатора USBAsp v.2.0 – RobotChip

Сегодня расскажу, о недорогим и очень простом программаторе USBAsp v.2.0 для микроконтроллеров AVR (основанный на дизайне Томаса Фишла), с его помощью можно прошивать контроллеры AVR по интерфейсу ISP (не выпаивая его с платы), а самое главное, можно прошить загрузочный сектор на контроллерах Arduino.

Обзор программатора USBAsp v.2.0Технические параметры

► Напряжение питания: 5 В, DC
► Интерфейс: USB 2.0
► Программирование/ чтение: Atmel (AVR)
► Габариты: 70 мм x 18 мм x 10 мм
►  Поддержка операционных систем: Windows XP / 7 / 8 / 8.1 / 10.

Общие сведения

Программатор USBAsp распространяется и открытым исходным кодом, так что при желании можно изготовить самому, скачав печатную плату и прошивку с сайта Thomas, из-за этого в различных интернет магазинах существует различные варианты программатора с одинаковым функционалом. В моем случае буду рассказывать о USBAsp V2.0 китайского производителя LC Technelogy.

Обзор программатора USBAsp v.2.0

Программатор собран на синий печатной плате, слева расположен USB-разъем необходимый для подключения к компьютеру. В центре располагается контроллер ATmega8A, рядом установлен кварцевый резонатор на 12 МГц и электрическая обвязка (резисторы, конденсаторы). Справа расположен 10-контактный разъем (два ряда, по пять выводов, шагом 2.54 мм), обеспечивающий обмен данными с прошиваемым микроконтроллером (интерфейс ISP). В комплекте поставляется кабель, с каждой стороны которого, установлен разъем IDC (10 выводов), для простоты прошивки некоторых плат (например Arduino), советую приобрести адаптер-переходник с 10-pin на 6-pin. Назначение выводов программатора USBAsp можно посмотреть на рисунке ниже, вид на стороне программатора.

Обзор программатора USBAsp v.2.0

Назначение выводов:
►  1 – MOSI
►  2 – VCC
►  3, 8, 10 –  GND
►  4 – TXD
►  5 – RESET
►  6 – RXD
►  7 – SCK
►  9 – MISO

Световая индикация
►  Красный светодиод G — Включен
►  Красный светодиод R — Обмен данными

Перемычки
►  JP1 — POWER, управляет напряжением на разъеме ISP VCC (вывод 2), можно установить на + 3.3В, + 5В или вовсе убрать перемычку, если программируемое устройство, имеет собственный источник питания.
►  JP2 — SERVICE, обновления прошивки USBasp.
►  JP3 — SLOW, программирования на низких скоростях, если программируемое устройство, работает на частоте ниже 1.5 МГц, SCK (вывод 7) уменьшит частоту с 375 кГц до 8 кГц.

Принципиальная схема программатора USBAsp V2.0 можно посмотреть на рисунке ниже.

Принципиальная схема программатора USBAsp v.2.0

Список поддерживаемых AVR микроконтроллеров:
►  Mega Series: 
ATmega8, ATmega8A, ATmega48, ATmega48A, ATmega48P, ATmega48PA, ATmega88, ATmega88A, ATmega88P, ATmega88PA, ATmega168, ATmega168A, ATmega168P, ATmega168PA, ATmega328, ATmega328P, ATmega103, ATmega128, ATmega128P, ATmega1280, ATmega1281, ATmega16, ATmega16A, ATmega161, ATmega162, ATmega163, ATmega164, ATmega164A, ATmega164P, ATmega164PA, ATmega169, ATmega169A, ATmega169P, ATmega169PA, ATmega2560, ATmega2561, ATmega32, ATmega32A, ATmega324, ATmega324A, ATmega324P, ATmega324PA, ATmega329, ATmega329A, ATmega329P, ATmega329PA, ATmega3290, ATmega3290A, ATmega3290P, ATmega64, ATmega64A, ATmega640, ATmega644, ATmega644A, ATmega644P, ATmega644PA, ATmega649, ATmega649A, ATmega649P, ATmega6490, ATmega6490A, ATmega6490P, ATmega8515, ATmega8535,
►  Tiny Series: ATtiny12, ATtiny13, ATtiny13A, ATtiny15, ATtiny25, ATtiny26, ATtiny45, ATtiny85, ATtiny2313, ATtiny2313A
►  Classic Series: AT90S1200, AT90S2313, AT90S2333, AT90S2343, AT90S4414, AT90S4433, AT90S4434, AT90S8515, AT90S8535
►  Can Series: AT90CAN128
►  PWN Series: AT90PWM2, AT90PWM3

Установка драйвера USBAsp на Windows 8/10

Подключаем программатор к USB порту на компьютере, если все нормально, на плате загорится красный светодиод. Далее операционная система начнет поиск драйвера

Установка драйвера USBAsp v.2.0

Так как, в операционной системе нету необходимого драйвера, в «Диспетчере устройств» появится устройство «USBAsp» с восклицательным знаком.

Установка драйвера USBAsp v.2.0

Скачиваем архив с цифровой подписью, разархивируем и запускаем «InstallDriver.exe» 

Установка драйвера USBAsp v.2.0

Драйвер установлен, в «Диспетчере устройств» пропадет восклицательный знак с «USBAsp».

Установка драйвера USBAsp v.2.0

Установка драйвера на Windows XP и Windows 7 аналогичная, программатор готов к работе.

Программа для USBAsp V2.0

Программу разработал «Боднар Сергей», работает не только с китайским программатором USBAsp v.2.0, но и другими программаторами. Первым делом скачиваем программу, разархивируем и запускаем «AVRDUDEPROG.exe».
В качестве примера, прошью китайскую плату Arduino UNO R3 в которой установлен микросхема ATmega328P. В программе, жмем на вкладку «Микроконтроллеры» и выбираем ATmega328P.

Программа для USBAsp V2.0

Далее, необходимо выбрать прошивку, в строке «Flash» нажимаем «. . .», переходим в папку «C:\Program Files\Arduino\hardware\arduino\avr\bootloaders\atmega» и выбираем «ATmegaBOOT_168_atmega328.hex», жмем «Открыть»

Программа для USBAsp V2.0

Подключаем программатор к плате «Arduino UNO R3», и нажимаем кнопку «Программирование».

Программа для USBAsp V2.0

В конце, выйдет диалоговое окно, о удачном окончании программировании.

Программа для USBAsp V2.0

Обзор программатора USBAsp v.2.0

 

Ссылки
Обзор программатора USBAsp v.2.0  Скачать драйвер для программатора USBASP v2.0 (LC Technology, ATMEL)
Обзор программатора USBAsp v.2.0  Скачать программу AVRDUDE_PROG v.3.3

Купить на Aliexpress
Обзор программатора USBAsp v.2.0  Программатор USBASP v2.0 (LC Technology, ATMEL)
Обзор программатора USBAsp v.2.0  Адаптер для ATMEL AVRISP, USBASP, STK500 (10 pin на 6 pin)

Купить в Самаре и области
Обзор программатора USBAsp v.2.0  Программатор USBASP v2.0 (LC Technology, ATMEL)
Обзор программатора USBAsp v.2.0  Адаптер для ATMEL AVRISP, USBASP, STK500 (10 pin на 6 pin)

USB программатор AVR — USBAsp

Вид сверху

!!! ЭТЕНШН !!!
Появилась схема USB программатора которая НЕ требует предварительной прошивки управляющего микроконтроллера.

Так как у многих уже давным давно нет ни COM ни LPT порта, то я решил выложить схему USB программатора для AVR. Это будет широко известный в узких кругах USBASP. Схема простая как три копейки, но COM или LPT порт все же потребуется — для того, чтобы прошить управляющий контроллер. Так что можешь сходить к другану. Программатор строится на контроллере ATMega48 или ATMega8. Нужна именно 8 или 48, без всяких индексов L. Так как у нас требуется частота выше чем 8 Мгц.

Сборка

Так как я стараюсь не выкладывать непроверенные решения, то я повторил этот программатор. Чисто для себя, поприколу. Подобрал наиболее компактную схему и перевел ее в формат Sprint Layout. Изготовил печатную плату, стравил. Засверловал и напаял компоненты. Микросхему рекомендую ставить на панельку.

Прошивка программатора
Далее замыкаем перемычку J1 и J2 и подключаем к разьему стандартный последовательный программатор, да хоть тот же программатор Громова. Программатор должен иметь свое питание, иначе нужно подать его на схему.

И заливаем в проц прошивку. Для ATMega8 одна прошивка, для ATmega48 другая. Дальше нужно выставить биты конфигурации.

Для ATMega48:
Старший байт FUSE выставляется как 0хDD, младший 0xFF. На картинке я привел скриншот из UniProf с правильно расставлеными битами конфигурации для контроллера ATMega48.

Если применяется контроллер ATmega8, то байты FUSE таковы:
Старший 0xC9, младший 0xEF

Настройка в работу
После прошивки нужно снять перемычку J1 и все, можно втыкать в комп. Сразу же должно обнаружитсья USB устройство. Скармливаем ему дрова и у нас в системе появляется новый девайс — USBAsp. Если система ругается на драйвера, говорит, что это не драйвер, а фуфел какой то. Значит контроллер либо криво прошился, либо ты забыл снять перемычку J1.

Перемычка J3 используется для прошивки контроллеров у которых частота не превышает 1.5 МГц. Я ее поставил, без нее у меня мега 8 не хотела определяться. Потом подправил меге Fuse биты, чтобы она заработала на 8 Мгц, перемычку не снял, но работает. Слышал, что подправили и теперь перемычку можно не дергать туда сюда.

Красный светодиод показывает, что программатор подключен к USB и запитан. Зеленый, что идет обращение к прошиваемому контроллеру.

Прошивающий софт
Все, теперь можно подключать к программатору провод и тыкать им в прошиваемые контроллеры.
Единственная софтина которая поддерживает этот программатор это AVR-чувак, она же дудка, она же AVRDUDE. Мощнейший консольный программатор. Не стоит пугаться его консольности, во первых батники никто не отменял, а во вторых не него существует несколько оболочек.

ВНИМАНИЕ! В той GUI оболочке что находится в архиве ИНВЕРСНЫЕ FUSE!!! То есть если в даташите написано, что дефолтные SCKEL3..0 = 0100 то тут будет показан 1011!!! Короче, как в PoniProg. Чего эти утырки так вертят эти несчастные FUSE я понять не могу, хоть бы предупреждали, а то бы залочил кристалл нахрен.

Вот, пример командной строки для прошивки через USBAsp — Записываем main.hex во флеш ATmega8:

   avrdude -c usbasp -p atmega8 -U flash:w:main.hex
В архив usbasp.rar я сложил все файлы необходимые для этого программатора:
  • Прошивка для ATMega 48 и ATMega 8
  • Драйвер для винды
  • Схема
  • Печатная плата в формате Sprint Layout
  • Фотки
  • AVRDUDE
  • GUI к AVRDUDE

UPD:
Для тех у кого вдруг пишет, что архив битый, я выложил то же самое в ZIP —USBASP.ZIP

Проверено — работает! Пользуйтесь 🙂

Страничка автора USBASP — там обновления прошивок, драйверов и варианты разводок плат.

Страничка разработчика GUI оболочки для AVRDude

!!!WARNING!!!
Тут появилась подтвержденная инфа, что новая прошивка (с оригинального сайта автора) может не работать на некоторых компах. У меня в архивах лежит старая прошивка, от 2007 или даже 2006 года. Она может не работать на самых новых компах. Короче, не работает — попробуй другую версию прошивки. С сайта автора или из моего архива.

З.Ы.
Также существует программатор AVR910, работающий также через USB и имеющий практически идентичную конструкцию. Чем он лучше/хуже я не знаю. Но можете попробовать сделать его. А я в скором времени выложу описание изготовления и использования JTAG адаптера для внутрисхемной отладки AVR.

alexxlab

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *