Avr910 usb программатор распиновка

Обновлено: 07.07.2024

Этот простой программатор - по-моему, лучшый вариант для быстрого старта начинающему. Однако он обладает и минусами: работает только через com- или lpt- порты, скорость заливки прошивки относительно небольшая.

Поигравшись, мне захотелось сделать что-нибудь более практичное и удобное.

AVR910 usb был моим следующим программатором. Его схема:

Данную схему можно собрать на макетке или использовать печатную плату

Джампер j1 необходим для начального программирования управляющего МК программатора. При его замыкании к разъёму ISP подключается внешний программатор (я использовал программатор из 5 проводков). После прошивки управляющего МК программатора этот джампер необходимо разомкнуть и замкнуть джампер J2.

Джампер J3 используется для понижения тактовой частоты порта SPI МК программатора до

20 кГц. Это необходимо для программирования МК AVR, тактируемых от внутреннего генератора 128 кГц. Нельзя переключать джампер в процессе прошивки

На ножку LED выведен меандр частотой 1 Mhz для оживления МК с ошибочно зашитыми fuse-битами, которые отвечают за источник тактирования МК

В данной версии программатора предусмотрена перемычка J5 для питания прошивающего контроллера. Если ее разомкнуть, то необходимо будет на прошивающий МК подавать внешнее питание

Программатор тестировался с программами AVRStudio, ChipBlasterAVR v.1.07 Evaluation, CodeVisionAVR, AVROSP, AVRDUDE

Итак, за дело. Для сборки нам понадобится:

После сборки схемы нам нужно запрограммировать управляющий МК программатора. Для этого берем программатор из пяти проводков, подключаем к ISP порту, переключаем джампер на J1. Качаем прошивку и заливаем ее. Для этого я использовал программу CodeVisionAVR как самую простую, на мой взгляд.

устанавливаем fuse-биты, как показано на рисунке

нажимаем Program All

Распиновка разьема ISP программатора Всё, теперь наш программатор готов к использованию, и мы можем приступать к первому проекту на микроконтроллерах (мигания светодиодом)
Также имеются альтернативные прошивки для превращения avr910 usb в Stk500 или USBAsp


Программатор выполнен на основе драйвера от Objective Development и полностью совместим по командам с оригинальным программатором AVR910 от ATMEL. Описание оригинальной схемы программатора можно взять в Application Note AVR910: In-System Programming, а список поддерживаемых команд можно посмотреть в Application Note AVR109: Self Programming.

Для программатора UniProf установка бит следующая:

Собираем программатор по предложенной схеме, разводку платы делал под ATMega8 – 16AU, поэтому брать нужно именно его, а не 16PI, все SMD компоненты размера 0508. В эту схему можно добавить стабилитроны для защиты линий данных USB порта, т.к. по инструкции напряжение не должно превышать 3.6 вольта, это не обязательно, может работать и так, однако есть вероятность ушатать порт.
Собранный программатор подключаем через пять проводков к LPT, перемычку ставим в режим MODIFY, запускаем UniProf, проверяем почему не заработало, материмся и идём собирать примочку к COM порту, может случиться и так, что через LPT шиться не станет, не вытянет уровни.

Допустим что UniProf радостно сообщил нам что mega8 найдена. После этого нужно снять галку EEPROM (его шить не нужно), нажать кнопку ERASE, Open HEX, выбрать прошивку, нажать Prog. После успешного программирования необходимо выставить FUSE биты, как показано на рисунке. LOCK-биты трогать вообще не нужно.
Теперь для проверки закрываем программатор и заново его запускаем, если контроллер не определился, то не работает кварцевый резонатор. Проверяем генерацию осциллографом, смываем лишний флюс, проверяем номиналы конденсаторов (у меня заработало с номиналом 4,7pf).
Если всё заработало, то ставим перемычку в режим NORM, подключаем к компьютеру. Венда сразу должна определить USB Programmator и предложить поискать драйверы в интернетах, на что указываем ей путь к файлу inf. Теперь в системе появится виртуальный COM порт, на который можно настроить CodeVisionAVR.

Это устройство поддерживает пословную и постраничную запись, используемую при программировании МК семейства AVR, и побайтную запись для МК AT89S53 и AT89S8252 семейства AT89S. Таким образом, с помощью данного USB программатора можно программировать все ныне существующие МК семейства AVR и МК AT89S53 и AT89S8252 семейства AT89S при поддержке этих МК со стороны управляющего программного обеспечения, установленного в компьютере. Программатор выполнен на основе драйвера от Objective Development и полностью совместим по командам с оригинальным программатором AVR910 от ATMEL. Рекомендую повторять его точно по схеме, показанной на рисунке. Удаление "лишних", на первый взгляд, деталей может привести либо к неправильному функционированию программатора, либо к выходу из строя порта USB компьютера.

USB программатор AVR и AT89S

Разъем Х1 соединяют стандартным кабелем с одним из имеющихся в компьютере гнезд порта USB. Плавкая вставка FU1 служит для защиты линий питания этого порта от случайного замыкания по цепям программатора. Диоды VD1 и VD2 - обычные выпрямительные с прямым падением напряжения 0,6. 0,7 В - предназначены для понижения питания микроконтроллера DD1 до 3,6 В. Согласно документации, он может работать при таком напряжении питания с тактовой частотой вплоть до 14 МГц или немногим более.

Разъем Х2 соединяют с разъемом ISP программируемого устройства или с панелью программируемой микросхемы, напряжение питания на которую необходимо подать отдельно. На контакт 3 разъема Х2 выведены прямоугольные импульсы с частотой 1 МГц для "оживления" МК, у которого были ошибочно запрограммированы разряды конфигурации (fuses), отвечающие за тактирование. Этот сигнал генерируется постоянно и не зависит от режима работы программатора. Светодиоды HL1 и HL2 сигнализируют о текущих действиях программатора - соответственно о чтении информации из памяти программируемого микроконтроллера и о записи в нее. Светодиод HL3 включен, когда на программатор подано питание. Резисторы R11- R15 предназначены для согласования уровней сигналов МК DD1 с действующими во внешних цепях.

Перемычку S1 при начальном программировании МК DD1 устанавливают в положение "Мод." (противоположное ее положению на схеме). Подключив к разъему Х2 внешний программатор, выполняют загрузку управляющей программы в МК. После этого перемычку следует вернуть в показанное на схеме положение "Норм.". Для нормальной работы загруженной программы необходимо, чтобы в МК DD1 были запрограммированы (установлены в 0) разряды конфигурации SPIEN, CKOPT, SUT0 и BODEN, а остальные оставлены установленными в 1. Обычно в МК АТmega8, полученных непосредственно от изготовителя, разряд SPIEN уже запрограммирован.

Установив перемычку S2, возможно понизить тактовую частоту интерфейса SPI МК DD1 приблизительно до 20 кГц. Это необходимо для программирования МК семейства AVR, тактируемых от внутреннего генератора частотой 128 кГц. При отсутствующей перемычке S2 интерфейс SPI работает с частотой около 187,5 кГц. Это позволяет программировать МК с минимальной тактовой частотой 570 кГц (семейств ATtiny и ATmega), 750 кГц (семейства AT90S) и 7,5 МГц (семейства AT89S). Снимать и устанавливать перемычку S2 можно "на ходу", потому что при каждом обращении к интерфейсу SPI программа МК DD1 проверяет ее наличие. Не рекомендуется этого делать лишь при запущенном процессе записи/чтения программируемого МК, что может привести к искажению записываемой или читаемой информации.

Программирование МК при использовании утилиты AVRProg v.1.4 из пакета AVR Studio занимает вместе с верификацией 10. 30 с в зависимости от объема памяти и тактовой частоты. Программатор был успешно протестирован и с программами ChipBlasterAVR v.1.07 Evaluation, CodeVisionAVR, AVROSP. Были запрограммированы МК AT89S53, AT89S8252, AT90S2313, AT90S8515, ATtiny13, ATtiny26, ATtiny45, ATtiny2313, ATmega48, ATmega8, ATmega8515, ATmega8535, ATmega16, ATmega32, ATmega64, ATmega128, AT90CAN128. Программа AVRDUDE оказалась с данным программатором несовместимой, она не все команды протокола AVR910 отрабатывает корректно.

При первом подключении изготовленного USB-программатора с правильно запрограммированным МК DD1 к компьютеру операционная система найдет новое устройство - AVR910 USB Programmer. Необходимо заметить, что этого не произойдет, если номинальная частота резонатора ZQ1 в программаторе отличается от 12 МГц. Это связано с особенностями работы USB и программы МК DD1. От предложения системы автоматически найти драйвер нужно отказаться и указать ей путь к файлу prottoss.avr910.usb.inf. Предупреждение, что драйвер не имеет цифровой подписи, следует проигнорировать. У меня возникли проблемы, когда после установки программатора в системе программа AVRProg v. 1.4 не смогла его обнаружить. Оказалось, что операционная система выбрала для программатора виртуальный порт СОМ9, а программа AVRProg способна работать только с портами СОМ 1-COM4. Изменить номер порта можно с помощью "Диспетчера устройств" Windows, пройдя по пути "AVR910 USB Programmer->Свойства->Параметры порта->Дополнительно->Номер->СОМ-порта".

Инсталляция программатора в системе Windows 2000 не отличается, в принципе, от описанной выше для Windows XP, но есть одна особенность: задержки в драйвере usbser.sys данной ОС искажают формируемые компьютером команды программатору и посылаемые программатором ответы на них. В чем дело, я пока не выяснил, но надежный способ устранения проблемы нашел. Достаточно заменить в системных папках Windows 2000 ..\winnt\system32\drivers\ и ..\winnt\ system32\dllcashe\ файл usbser.sys одноименным из Windows XP. Естественно, его придется подменять, загрузившись под другой ОС (например, с загрузочного диска).

Как правило, правильно собранный программатор с правильно запрограммированным МК DD1 в налаживании не нуждается. Единственное замечание: вход RESET программируемого МК может быть соединен с плюсом питания резистором номиналом не менее 10 кОм. Это связано с пониженным напряжением питания МК DD1 и наличием ограничительных резисторов в цепях управляющих сигналов. Если программатор не работает, прежде всего следует убедиться в отсутствии ошибок монтажа, обрывов и замыканий на его плате. Затем измерить напряжение между выводами питания МК DD1 (7 и 8). Оно должно находиться в пределах 3,5. 3,8 В. Далее проверьте, работает ли тактовый генератор МК. Это можно сделать с помощью осциллографа, подключив его к выводу 10 DD1. Если осциллографа нет, подключите между выводом 10 и общим проводом через ограничительный резистор 330. 510 Ом обычный светодиод (катодом к общему проводу). Если генератор работает, светодиод будет слабо светиться. Остается проверить, запустилась ли загруженная в МК DD1 программа. Один из признаков ее работы - наличие импульсов частотой 1 МГц на контакте 3 разъема Х2. Это можно сделать с помощью осциллографа или светодиода по методике, описанной выше. При замыкании пинцетом выводов кварцевого резонатора ZQ1 слабо светящийся светодиод должен случайным образом либо увеличивать яркость, либо гаснуть вовсе.

Официальный сайт проекта - там сможете найти актуальное ПО, прошивки, драйвера


Данная схема USB программатора, построенного на микроконтроллере Atmega8, довольно проста в изготовлении, ее можно собрать своими руками буквально за один вечер.

Фактически это AVR-910 популярной схемы Prottoss-a. USB программатор надежен и имеет в своем арсенале функцию, позволяющая восстанавливать микроконтроллеры с неверно установленными фьюзами.

Следует отметить, что для прошивки самого микроконтроллера Atmega8 программатора понадобится простой LPT-программатор.

Печатную плату можно сделать своими руками по известной технологии ЛУТ. Поэтому на описании изготовления платы останавливаться не будем, а перейдем сразу к описанию.

Итак, у нас все детали схемы припаяны без ошибок и коротких замыканий, плата очищена от остатков флюса. Теперь переводим переключатель SA2 в положение «МОД», подсоединяем наше устройство к простому LPT-программатору и включаем питание.

Теперь необходимо занести программу в память Atmega8. В качестве программного обеспечения можно применить Uniprof или Code Vision AVR. Перед программированием необходимо выставить следующие фьюзы (для Uniprof):

По завершению прошивки Atmega8, переводим переключатель SA2 в положение «НОРМ», подсоединяем программатора к USB разъему компьютера. Если все шаги выполнены верно, то компьютер должен без проблем обнаружить новое подключенное устройство.

Поговорим о программном обеспечении которое необходимо для работы с данным программатором. Он поддерживает такие оболочки как: AVR Prog, AVR Studio, ChipBlasterAVR и, конечно же, Code Vision AVR.

Достаточно удобной программой, я считаю, является Code Vision AVR, пример работы, которой подробно написано здесь.

Для справки, приведем типовую распиновку USB:

Список необходимых деталей:

Похожие записи:

редактор

64 комментария

Обработал протокол USB на обычтном AVR через внешние прерывания?! Браво!

На программе Code Vision AVR какие фюзи поставит

Здравствует админ я собрал программатор и у меня в запасе есть ltp программатор чтобы прошить мк провода от ltp на собранную программатор под соединять или просто к мк надо соединять

LPT программатор подключите к ISP разъему. Не забудьте переключатель SA2 перевести в положение МОД

Можно изменить резисторы R3, R6, R9-R15 330Ом на другую?
И конденсаторов С1, С4, С6 0,1Мкф?

Извиняюсь за драйвера не ту папку глянул. Всё равно не обновляются.

Добрый вечер.
Объясните почему после прошивки атмеги 8 и установки Fuse как показано на фотке, программатор перестает видеть контроллер вообще, все проги выдают ошибку, что не могут связаться с контроллером, что я сделал не так.

Все дело в том, что после прошивки, микроконтроллер начинает работать от внешнего задающего генератора (кварца). Подключите кварц (можно на 8МГц) на выводы 9 и 10.

Спасибо, заработало)) Подскажите с какими программами avr910 работает?

Я использую Khazama AVR Programmer

В Usbasp (китайский) применен кварц 12 мгц, можно его заменить на кварц 8мгц?

Здравствуйте!
В программаторе ATmega8A-PU, будет работать?
Программатор поддерживает ATmega328P-PU ?

Подскажите, как в Proteus поставить ISP.

спасибо большой уважаемый админ

день добрый ребят размер печатной платы какой

ширина 80мм, высота 55мм

Добрый вечер, спасибо за статью.
Подскажите можно ли в место Atmega8
использовать Atmega328p-pu

можно ли вместо LTP программатора прошить COM-программатором Громова?

Можно ли им прошить Pic 18f 2685?

Подскажите, в чем может быть проблема, все сделал правильно, перепроверил раз 10. При подключении 3 раза мигают лампочки чтения и записи и на компе определяется как неизвестное устройство с ошибкой дескриптора. Кстати, я так понял нужна Атмега8 16pu, у меня Atmega8A-pu, это ни на что не влияет?

Скажите люди,зачем в списке деталей присутствует резистор 1.5 Ом,если в схеме его нет? И Рез. 330 Ом там 9 а не 8 судя по схеме.

Вроде все на месте:
Резистор 330 Ом (R3,R5,R8,R9,R11,R12,R13,R14,R15).
Резистор на плате указан 1,5к (R4).

В архиве есть схемка переходника,на ней есть кондеры и кварц. Но какие?? Кто подскажет?

Добрый вечер.
Объясните почему после прошивки атмеги 8 и установки Fuse как показано на фотке, программатор перестает видеть контроллер вообще, все проги выдают ошибку, что не могут связаться с контроллером, что я сделал не так.

А какие меги он может шить, конкретного списка нет?Буду очень признателен.

Какой тип программатора выбирать в Codevision, com порт порт смотреть в системе?

ПРОШИВАЙТЕ ПРОШИВКУ АВРДОПЕР ДЛЯ АВР 910, (перезагруска)

подскажите новичку!! тока без умничания) куда подключается разъем ISP? и зачем его подключили к простому LPT-программатору.

Читайте также: